1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3Device (SDM1) 4{ 5 Name (_HID, "INTL9C60") 6 Name (_UID, 1) 7 Name (_DDN, "DMA Controller #1") 8 9 Name (RBUF, ResourceTemplate() 10 { 11 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 12 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 13 { 14 LPSS_DMA1_IRQ 15 } 16 }) 17 18 Method (_CRS) 19 { 20 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 21 RBAS = \S0B0 22 Return (^RBUF) 23 } 24 25 Method (_STA) 26 { 27 If (\S0EN == 1) { 28 Return (0xF) 29 } Else { 30 Return (0x0) 31 } 32 } 33} 34 35Device (SDM2) 36{ 37 Name (_HID, "INTL9C60") 38 Name (_UID, 2) 39 Name (_DDN, "DMA Controller #2") 40 41 Name (RBUF, ResourceTemplate() 42 { 43 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 44 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 45 { 46 LPSS_DMA2_IRQ 47 } 48 }) 49 50 Method (_CRS) 51 { 52 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 53 RBAS = \S8B0 54 Return (^RBUF) 55 } 56 57 Method (_STA) 58 { 59 If (\S8EN == 1) { 60 Return (0xF) 61 } Else { 62 Return (0x0) 63 } 64 } 65} 66 67Device (I2C1) 68{ 69 Name (_HID, "80860F41") 70 Name (_UID, 1) 71 Name (_DDN, "I2C Controller #1") 72 73 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 74 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 75 76 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 77 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 78 79 Name (RBUF, ResourceTemplate() 80 { 81 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 82 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 83 { 84 LPSS_I2C1_IRQ 85 } 86 FixedDMA (0x10, 0x0, Width32Bit, ) 87 FixedDMA (0x11, 0x1, Width32Bit, ) 88 }) 89 90 Method (_CRS) 91 { 92 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 93 RBAS = \S1B0 94 Return (^RBUF) 95 } 96 97 Method (_HRV, 0, NotSerialized) { Return (0x06) } 98 99 Method (_STA) 100 { 101 If (\S1EN == 1) { 102 Return (0xF) 103 } Else { 104 Return (0x0) 105 } 106 } 107 108 OperationRegion (KEYS, SystemMemory, S1B1, 0x100) 109 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 110 { 111 Offset (0x84), 112 PSAT, 32, 113 } 114 115 Method (_PS3) 116 { 117 PSAT |= 3 118 PSAT |= 0 119 } 120 121 Method (_PS0) 122 { 123 PSAT &= 0xfffffffc 124 PSAT |= 0 125 } 126} 127 128Device (I2C2) 129{ 130 Name (_HID, "80860F41") 131 Name (_UID, 2) 132 Name (_DDN, "I2C Controller #2") 133 134 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 135 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 136 137 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 138 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 139 140 Name (RBUF, ResourceTemplate() 141 { 142 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 143 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 144 { 145 LPSS_I2C2_IRQ 146 } 147 FixedDMA (0x12, 0x2, Width32Bit, ) 148 FixedDMA (0x13, 0x3, Width32Bit, ) 149 }) 150 151 Method (_CRS) 152 { 153 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 154 RBAS = \S2B0 155 Return (^RBUF) 156 } 157 158 Method (_HRV, 0, NotSerialized) { Return (0x06) } 159 160 Method (_STA) 161 { 162 If (\S2EN == 1) { 163 Return (0xF) 164 } Else { 165 Return (0x0) 166 } 167 } 168 169 OperationRegion (KEYS, SystemMemory, S2B1, 0x100) 170 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 171 { 172 Offset (0x84), 173 PSAT, 32, 174 } 175 176 Method (_PS3) 177 { 178 PSAT |= 3 179 PSAT |= 0 180 } 181 182 Method (_PS0) 183 { 184 PSAT &= 0xfffffffc 185 PSAT |= 0 186 } 187} 188 189Device (I2C3) 190{ 191 Name (_HID, "80860F41") 192 Name (_UID, 3) 193 Name (_DDN, "I2C Controller #3") 194 195 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 196 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 197 198 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 199 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 200 201 Name (RBUF, ResourceTemplate() 202 { 203 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 204 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 205 { 206 LPSS_I2C3_IRQ 207 } 208 FixedDMA (0x14, 0x4, Width32Bit, ) 209 FixedDMA (0x15, 0x5, Width32Bit, ) 210 }) 211 212 Method (_HRV, 0, NotSerialized) { Return (0x06) } 213 214 Method (_CRS) 215 { 216 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 217 RBAS = \S3B0 218 Return (^RBUF) 219 } 220 221 Method (_STA) 222 { 223 If (\S3EN == 1) { 224 Return (0xF) 225 } Else { 226 Return (0x0) 227 } 228 } 229 230 OperationRegion (KEYS, SystemMemory, S3B1, 0x100) 231 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 232 { 233 Offset (0x84), 234 PSAT, 32, 235 } 236 237 Method (_PS3) 238 { 239 PSAT |= 3 240 PSAT |= 0 241 } 242 243 Method (_PS0) 244 { 245 PSAT &= 0xfffffffc 246 PSAT |= 0 247 } 248} 249 250Device (I2C4) 251{ 252 Name (_HID, "80860F41") 253 Name (_UID, 4) 254 Name (_DDN, "I2C Controller #4") 255 256 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 257 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 258 259 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 260 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 261 262 Name (RBUF, ResourceTemplate() 263 { 264 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 265 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 266 { 267 LPSS_I2C4_IRQ 268 } 269 FixedDMA (0x16, 0x6, Width32Bit, ) 270 FixedDMA (0x17, 0x7, Width32Bit, ) 271 }) 272 273 Method (_CRS) 274 { 275 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 276 RBAS = \S4B0 277 Return (^RBUF) 278 } 279 280 Method (_HRV, 0, NotSerialized) { Return (0x06) } 281 282 Method (_STA) 283 { 284 If (\S4EN == 1) { 285 Return (0xF) 286 } Else { 287 Return (0x0) 288 } 289 } 290 291 OperationRegion (KEYS, SystemMemory, S4B1, 0x100) 292 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 293 { 294 Offset (0x84), 295 PSAT, 32, 296 } 297 298 Method (_PS3) 299 { 300 PSAT |= 3 301 PSAT |= 0 302 } 303 304 Method (_PS0) 305 { 306 PSAT &= 0xfffffffc 307 PSAT |= 0 308 } 309} 310 311Device (I2C5) 312{ 313 Name (_HID, "80860F41") 314 Name (_UID, 5) 315 Name (_DDN, "I2C Controller #5") 316 317 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 318 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 319 320 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 321 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 322 323 Name (RBUF, ResourceTemplate() 324 { 325 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 326 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 327 { 328 LPSS_I2C5_IRQ 329 } 330 FixedDMA (0x18, 0x0, Width32Bit, ) 331 FixedDMA (0x19, 0x1, Width32Bit, ) 332 }) 333 334 Method (_CRS) 335 { 336 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 337 RBAS = \S5B0 338 Return (^RBUF) 339 } 340 341 Method (_HRV, 0, NotSerialized) { Return (0x06) } 342 343 Method (_STA) 344 { 345 If (\S5EN == 1) { 346 Return (0xF) 347 } Else { 348 Return (0x0) 349 } 350 } 351 352 OperationRegion (KEYS, SystemMemory, S5B1, 0x100) 353 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 354 { 355 Offset (0x84), 356 PSAT, 32, 357 } 358 359 Method (_PS3) 360 { 361 PSAT |= 3 362 PSAT |= 0 363 } 364 365 Method (_PS0) 366 { 367 PSAT &= 0xfffffffc 368 PSAT |= 0 369 } 370} 371 372Device (I2C6) 373{ 374 Name (_HID, "80860F41") 375 Name (_UID, 6) 376 Name (_DDN, "I2C Controller #6") 377 378 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 379 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 380 381 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 382 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 383 384 Name (RBUF, ResourceTemplate() 385 { 386 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 387 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 388 { 389 LPSS_I2C6_IRQ 390 } 391 FixedDMA (0x1A, 0x2, Width32Bit, ) 392 FixedDMA (0x1B, 0x3, Width32Bit, ) 393 }) 394 395 Method (_CRS) 396 { 397 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 398 RBAS = \S6B0 399 Return (^RBUF) 400 } 401 402 Method (_HRV, 0, NotSerialized) { Return (0x06) } 403 404 Method (_STA) 405 { 406 If (\S6EN == 1) { 407 Return (0xF) 408 } Else { 409 Return (0x0) 410 } 411 } 412 413 OperationRegion (KEYS, SystemMemory, S6B1, 0x100) 414 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 415 { 416 Offset (0x84), 417 PSAT, 32, 418 } 419 420 Method (_PS3) 421 { 422 PSAT |= 3 423 PSAT |= 0 424 } 425 426 Method (_PS0) 427 { 428 PSAT &= 0xfffffffc 429 PSAT |= 0 430 } 431} 432 433Device (I2C7) 434{ 435 Name (_HID, "80860F41") 436 Name (_UID, 7) 437 Name (_DDN, "I2C Controller #7") 438 439 /* Standard Mode: HCNT, LCNT, SDA Hold Time */ 440 Name (SSCN, Package () { 0x200, 0x200, 0x6 }) 441 442 /* Fast Mode: HCNT, LCNT, SDA Hold Time */ 443 Name (FMCN, Package () { 0x55, 0x99, 0x6 }) 444 445 Name (RBUF, ResourceTemplate() 446 { 447 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 448 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 449 { 450 LPSS_I2C7_IRQ 451 } 452 FixedDMA (0x1C, 0x4, Width32Bit, ) 453 FixedDMA (0x1D, 0x5, Width32Bit, ) 454 }) 455 456 Method (_CRS) 457 { 458 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 459 RBAS = \S7B0 460 Return (^RBUF) 461 } 462 463 Method (_HRV, 0, NotSerialized) { Return (0x06) } 464 465 Method (_STA) 466 { 467 If (\S7EN == 1) { 468 Return (0xF) 469 } Else { 470 Return (0x0) 471 } 472 } 473 474 OperationRegion (KEYS, SystemMemory, S7B1, 0x100) 475 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 476 { 477 Offset (0x84), 478 PSAT, 32, 479 } 480 481 Method (_PS3) 482 { 483 PSAT |= 3 484 PSAT |= 0 485 } 486 487 Method (_PS0) 488 { 489 PSAT &= 0xfffffffc 490 PSAT |= 0 491 } 492} 493 494Device (SPI1) 495{ 496 Name (_HID, "80860F0E") 497 Name (_UID, 1) 498 Name (_DDN, "SPI Controller #2") 499 500 Name (RBUF, ResourceTemplate() 501 { 502 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 503 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 504 { 505 LPSS_SPI_IRQ 506 } 507 FixedDMA (0x0, 0x0, Width32Bit, ) 508 FixedDMA (0x1, 0x1, Width32Bit, ) 509 }) 510 511 Method (_CRS) 512 { 513 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 514 RBAS = \S9B0 515 Return (^RBUF) 516 } 517 518 Method (_STA) 519 { 520 If (\S9EN == 1) { 521 Return (0xF) 522 } Else { 523 Return (0x0) 524 } 525 } 526 527 OperationRegion (KEYS, SystemMemory, S9B1, 0x100) 528 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 529 { 530 Offset (0x84), 531 PSAT, 32, 532 } 533 534 Method (_PS3) 535 { 536 PSAT |= 3 537 PSAT |= 0 538 } 539 540 Method (_PS0) 541 { 542 PSAT &= 0xfffffffc 543 PSAT |= 0 544 } 545} 546 547Device (PWM1) 548{ 549 Name (_HID, "80860F09") 550 Name (_UID, 1) 551 Name (_DDN, "PWM Controller #1") 552 553 Name (RBUF, ResourceTemplate() 554 { 555 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 556 }) 557 558 Method (_CRS) 559 { 560 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 561 RBAS = \SAB0 562 Return (^RBUF) 563 } 564 565 Method (_STA) 566 { 567 If (\SAEN == 1) { 568 Return (0xF) 569 } Else { 570 Return (0x0) 571 } 572 } 573} 574 575Device (PWM2) 576{ 577 Name (_HID, "80860F09") 578 Name (_UID, 2) 579 Name (_DDN, "PWM Controller #2") 580 581 Name (RBUF, ResourceTemplate() 582 { 583 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 584 }) 585 586 Method (_CRS) 587 { 588 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 589 RBAS = \SBB0 590 Return (^RBUF) 591 } 592 593 Method (_STA) 594 { 595 If (\SBEN == 1) { 596 Return (0xF) 597 } Else { 598 Return (0x0) 599 } 600 } 601} 602 603Device (UAR1) 604{ 605 Name (_HID, "80860F0A") 606 Name (_UID, 1) 607 Name (_DDN, "HS-UART Controller #1") 608 609 Name (RBUF, ResourceTemplate() 610 { 611 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 612 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 613 { 614 LPSS_HSUART1_IRQ 615 } 616 FixedDMA (0x2, 0x2, Width32Bit, ) 617 FixedDMA (0x3, 0x3, Width32Bit, ) 618 }) 619 620 Method (_CRS) 621 { 622 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 623 RBAS = \SCB0 624 Return (^RBUF) 625 } 626 627 Method (_STA) 628 { 629 If (\SCEN == 1) { 630 Return (0xF) 631 } Else { 632 Return (0x0) 633 } 634 } 635 636 OperationRegion (KEYS, SystemMemory, SCB1, 0x100) 637 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 638 { 639 Offset (0x84), 640 PSAT, 32, 641 } 642 643 Method (_PS3) 644 { 645 PSAT |= 3 646 PSAT |= 0 647 } 648 649 Method (_PS0) 650 { 651 PSAT &= 0xfffffffc 652 PSAT |= 0 653 } 654} 655 656Device (UAR2) 657{ 658 Name (_HID, "80860F0A") 659 Name (_UID, 2) 660 Name (_DDN, "HS-UART Controller #2") 661 662 Name (RBUF, ResourceTemplate() 663 { 664 Memory32Fixed (ReadWrite, 0, 0x1000, BAR0) 665 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive,,,) 666 { 667 LPSS_HSUART2_IRQ 668 } 669 FixedDMA (0x4, 0x4, Width32Bit, ) 670 FixedDMA (0x5, 0x5, Width32Bit, ) 671 }) 672 673 Method (_CRS) 674 { 675 CreateDwordField (^RBUF, ^BAR0._BAS, RBAS) 676 RBAS = \SDB0 677 Return (^RBUF) 678 } 679 680 Method (_STA) 681 { 682 If (\SDEN == 1) { 683 Return (0xF) 684 } Else { 685 Return (0x0) 686 } 687 } 688 689 OperationRegion (KEYS, SystemMemory, SDB1, 0x100) 690 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 691 { 692 Offset (0x84), 693 PSAT, 32, 694 } 695 696 Method (_PS3) 697 { 698 PSAT |= 3 699 PSAT |= 0 700 } 701 702 Method (_PS0) 703 { 704 PSAT &= 0xfffffffc 705 PSAT |= 0 706 } 707} 708