1/**************************************************************************; 2;* *; 3;* *; 4;* Intel Corporation - ACPI Reference Code for the Baytrail *; 5;* Family of Customer Reference Boards. *; 6;* *; 7;* *; 8;* Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved *; 9; 10; This program and the accompanying materials are licensed and made available under 11; the terms and conditions of the BSD License that accompanies this distribution. 12; The full text of the license may be found at 13; http://opensource.org/licenses/bsd-license.php. 14; 15; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 16; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 17; 18;* *; 19;* *; 20;**************************************************************************/ 21// 22// LPIO1 DMA#1 (Synopsis GP DMA) 23// 24Device (GDM1) 25{ 26 Name (_HID, "INTL9C60") 27 Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60") 28 Name (_UID, 1) 29 30 Name (RBUF, ResourceTemplate () 31 { 32 Memory32Fixed (ReadWrite, 0x00000000, 0x00004000, BAR0) 33 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {42} // DMA #1 IRQ 34 }) 35 Method (_CRS, 0x0, NotSerialized) 36 { 37 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 38 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 39 Store(D10A, B0BA) 40 Store(D10L, B0LN) 41 Return (RBUF) 42 } 43 Method (_STA, 0x0, NotSerialized) 44 { 45 // 46 // PCIM>> 0:ACPI mode 1:PCI mode 47 // 48 If (LEqual(PCIM, 1)) { 49 Return (0x0) 50 } 51 52 If (LOr(LEqual(D10A, 0), LEqual(L10D, 1))) 53 { 54 Return (0x0) 55 } 56 Return (0xF) 57 } 58} 59 60// 61// LPIO1 DMA#2 (Synopsis GP DMA) 62// 63Device (GDM2) 64{ 65 Name (_HID, "INTL9C60") 66 Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60") 67 Name (_UID, 2) 68 69 Name (RBUF, ResourceTemplate () 70 { 71 Memory32Fixed (ReadWrite, 0x00000000, 0x00004000, BAR0) 72 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {43} // DMA #2 IRQ 73 }) 74 Method (_CRS, 0x0, NotSerialized) 75 { 76 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 77 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 78 Store(D20A, B0BA) 79 Store(D20L, B0LN) 80 Return (RBUF) 81 } 82 Method (_STA, 0x0, NotSerialized) 83 { 84 // 85 // PCIM>> 0:ACPI mode 1:PCI mode 86 // 87 If (LEqual(PCIM, 1)) { 88 Return (0x0) 89 } 90 91 If (LOr(LEqual(D20A, 0), LEqual(L20D, 1))) 92 { 93 Return (0x0) 94 } 95 Return (0xF) 96 } 97} 98 99// 100// LPIO1 PWM #1 101// 102Device(PWM1) 103{ 104 Name (_ADR, 0) 105 Name (_HID, "80860F09") 106 Name (_CID, "80860F09") 107 Name (_DDN, "Intel(R) PWM Controller #1 - 80860F08") 108 Name (_UID, 1) 109 110 Name (RBUF, ResourceTemplate () 111 { 112 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 113 }) 114 Method (_CRS, 0x0, NotSerialized) 115 { 116 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 117 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 118 Store(P10A, B0BA) 119 Store(P10L, B0LN) 120 Return (RBUF) 121 } 122 Method (_STA, 0x0, NotSerialized) 123 { 124 // 125 // PCIM>> 0:ACPI mode 1:PCI mode 126 // 127 If (LEqual(PCIM, 1)) { 128 Return (0x0) 129 } 130 131 If (LOr(LEqual(P10A, 0), LEqual(L11D, 1))) 132 { 133 Return (0x0) 134 } 135 Return (0xF) 136 } 137} 138 139// 140// LPIO1 PWM #2 141// 142Device(PWM2) 143{ 144 Name (_ADR, 0) 145 Name (_HID, "80860F09") 146 Name (_CID, "80860F09") 147 Name (_DDN, "Intel(R) PWM Controller #2 - 80860F09") 148 Name (_UID, 2) 149 150 Name (RBUF, ResourceTemplate () 151 { 152 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 153 }) 154 Method (_CRS, 0x0, NotSerialized) 155 { 156 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 157 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 158 Store(P20A, B0BA) 159 Store(P20L, B0LN) 160 Return (RBUF) 161 } 162 Method (_STA, 0x0, NotSerialized) 163 { 164 // 165 // PCIM>> 0:ACPI mode 1:PCI mode 166 // 167 If (LEqual(PCIM, 1)) { 168 Return (0x0) 169 } 170 171 If (LOr(LEqual(P20A, 0), LEqual(L12D, 1))) 172 { 173 Return (0x0) 174 } 175 Return (0xF) 176 } 177} 178 179// 180// LPIO1 HS-UART #1 181// 182Device(URT1) 183{ 184 Name (_ADR, 0) 185 Name (_HID, "80860F0A") 186 Name (_CID, "80860F0A") 187 Name (_DDN, "Intel(R) HS-UART Controller #1 - 80860F0A") 188 Name (_UID, 1) 189 Name(_DEP, Package(0x1) 190 { 191 PEPD 192 }) 193 Name (RBUF, ResourceTemplate () 194 { 195 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 196 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {39} // HS-UART #1 IRQ 197 198 FixedDMA(0x2, 0x2, Width32Bit, ) 199 FixedDMA(0x3, 0x3, Width32Bit, ) 200 }) 201 Method (_HRV, 0x0, NotSerialized) 202 { 203 Return (SOCS) 204 } 205 Method (_CRS, 0x0, NotSerialized) 206 { 207 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 208 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 209 Store(U10A, B0BA) 210 Store(U10L, B0LN) 211 Return (RBUF) 212 } 213 214 Method (_STA, 0x0, NotSerialized) 215 { 216 // 217 // PCIM>> 0:ACPI mode 1:PCI mode 218 // 219 If (LEqual(PCIM, 1)) { 220 Return (0x0) 221 } 222 223 If (LOr(LEqual(U10A, 0), LEqual(L13D, 1))) 224 { 225 Return (0x0) 226 } 227 Return (0xF) 228 } 229 230 Method (_PS3, 0, NotSerialized) 231 { 232 OR(PSAT, 0x00000003, PSAT) 233 OR(PSAT, 0X00000000, PSAT) 234 } 235 236 Method (_PS0, 0, NotSerialized) 237 { 238 And(PSAT, 0xfffffffC, PSAT) 239 OR(PSAT, 0X00000000, PSAT) 240 } 241 242 OperationRegion (KEYS, SystemMemory, U11A, 0x100) 243 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 244 { 245 Offset (0x84), 246 PSAT, 32 247 } 248}// Device (URT1) 249 250// 251// LPIO1 HS-UART #2 252// 253Device(URT2) 254{ 255 Name (_ADR, 0) 256 Name (_HID, "80860F0A") 257 Name (_CID, "80860F0A") 258 Name (_DDN, "Intel(R) HS-UART Controller #2 - 80860F0C") 259 Name (_UID, 2) 260 261 Name(_DEP, Package(0x1) 262 { 263 PEPD 264 }) 265 266 Name (RBUF, ResourceTemplate () 267 { 268 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 269 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {40} // HS-UART #2 IRQ 270 271 FixedDMA(0x4, 0x4, Width32Bit, ) 272 FixedDMA(0x5, 0x5, Width32Bit, ) 273 }) 274 275 Method (_HRV, 0x0, NotSerialized) 276 { 277 Return (SOCS) 278 } 279 280 Method (_CRS, 0x0, NotSerialized) 281 { 282 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 283 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 284 Store(U20A, B0BA) 285 Store(U20L, B0LN) 286 Return (RBUF) 287 } 288 289 Method (_STA, 0x0, NotSerialized) 290 { 291 // 292 // PCIM>> 0:ACPI mode 1:PCI mode 293 // 294 If (LEqual(PCIM, 1)) { 295 Return (0x0) 296 } 297 298 If (LOr(LEqual(U20A, 0), LEqual(L14D, 1))) 299 { 300 Return (0x0) 301 } 302 Return (0xF) 303 } 304 305 Method (_PS3, 0, NotSerialized) 306 { 307 OR(PSAT, 0x00000003, PSAT) 308 OR(PSAT, 0X00000000, PSAT) 309 } 310 311 Method (_PS0, 0, NotSerialized) 312 { 313 And(PSAT, 0xfffffffC, PSAT) 314 OR(PSAT, 0X00000000, PSAT) 315 } 316 317 OperationRegion (KEYS, SystemMemory, U21A, 0x100) 318 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 319 { 320 Offset (0x84), 321 PSAT, 32 322 } 323}// Device (URT2) 324 325// 326// LPIO1 SPI 327// 328Device(SPI1) 329{ 330 Name (_ADR, 0) 331 Name (_HID, "80860F0E") 332 Name (_CID, "80860F0E") 333 Name (_UID, "0") // Static bus number assignment 334 Name(_DEP, Package(0x1) 335 { 336 PEPD 337 }) 338 Name (_DDN, "Intel(R) SPI Controller - 80860F0E") 339 340 Name (RBUF, ResourceTemplate () 341 { 342 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 343 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {41} // SPI IRQ 344 345 FixedDMA(0x0, 0x0, Width32Bit, ) 346 FixedDMA(0x1, 0x1, Width32Bit, ) 347 }) 348 349 Method (_HRV, 0x0, NotSerialized) 350 { 351 Return (SOCS) 352 } 353 354 Method (_CRS, 0x0, NotSerialized) 355 { 356 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 357 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 358 Store(SP0A, B0BA) 359 Store(SP0L, B0LN) 360 Return (RBUF) 361 } 362 363 Method (_STA, 0x0, NotSerialized) 364 { 365 // 366 // PCIM>> 0:ACPI mode 1:PCI mode 367 // 368 If (LEqual(PCIM, 1)) { 369 Return (0x0) 370 } 371 372 If (LOr(LEqual(SP0A, 0), LEqual(L15D, 1))) 373 { 374 Return (0x0) 375 } 376 Return (0xF) 377 } 378 379 Method (_PS3, 0, NotSerialized) 380 { 381 OR(PSAT, 0x00000003, PSAT) 382 OR(PSAT, 0X00000000, PSAT) 383 } 384 385 Method (_PS0, 0, NotSerialized) 386 { 387 And(PSAT, 0xfffffffC, PSAT) 388 OR(PSAT, 0X00000000, PSAT) 389 } 390 391 OperationRegion (KEYS, SystemMemory, SP1A, 0x100) 392 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 393 { 394 Offset (0x84), 395 PSAT, 32 396 } 397}// Device (SPI1) 398 399// 400// LPIO2 I2C #1 401// 402Device(I2C1) 403{ 404 Name (_ADR, 0) 405 Name (_HID, "80860F41") 406 Name (_CID, "80860F41") 407 Name(_DEP, Package(0x1) 408 { 409 PEPD 410 }) 411 Name (_DDN, "Intel(R) I2C Controller #1 - 80860F41") 412 Name (_UID, 1) 413 414 Name (RBUF, ResourceTemplate () 415 { 416 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 417 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {32} // I2C #1 IRQ 418 419 FixedDMA(0x10, 0x0, Width32Bit, ) 420 FixedDMA(0x11, 0x1, Width32Bit, ) 421 }) 422 423 Method (SSCN, 0x0, NotSerialized) 424 { 425 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 426 Return (PKG) 427 } 428 Method (FMCN, 0x0, NotSerialized) 429 { 430 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 431 Return (PKG) 432 } 433 Method (FPCN, 0x0, NotSerialized) 434 { 435 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 436 Return (PKG) 437 } 438 439 Method (_HRV, 0x0, NotSerialized) 440 { 441 Return (SOCS) 442 } 443 Method (_CRS, 0x0, NotSerialized) 444 { 445 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 446 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 447 Store(I10A, B0BA) 448 Store(I10L, B0LN) 449 Return (RBUF) 450 } 451 Method (_STA, 0x0, NotSerialized) 452 { 453 // 454 // PCIM>> 0:ACPI mode 1:PCI mode 455 // 456 If (LEqual(PCIM, 1)) { 457 Return (0x0) 458 } 459 460 If (LOr(LEqual(I10A, 0), LEqual(L21D, 1))) 461 { 462 Return (0x0) 463 } 464 Return (0xF) 465 466 } 467 468 Method (_PS3, 0, NotSerialized) 469 { 470 OR(PSAT, 0x00000003, PSAT) 471 OR(PSAT, 0X00000000, PSAT) 472 } 473 Method (_PS0, 0, NotSerialized) 474 { 475 And(PSAT, 0xfffffffC, PSAT) 476 OR(PSAT, 0X00000000, PSAT) 477 } 478 OperationRegion (KEYS, SystemMemory, I11A, 0x100) 479 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 480 { 481 Offset (0x84), 482 PSAT, 32 483 } 484 485} 486 487// 488// LPIO2 I2C #2 489// 490Device(I2C2) 491{ 492 Name (_ADR, 0) 493 Name (_HID, "80860F41") 494 Name (_CID, "80860F41") 495 Name(_DEP, Package(0x1) 496 { 497 PEPD 498 }) 499 Name (_DDN, "Intel(R) I2C Controller #2 - 80860F42") 500 Name (_UID, 2) 501 502 Name (RBUF, ResourceTemplate () 503 { 504 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 505 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {33} // I2C #2 IRQ 506 507 FixedDMA(0x12, 0x2, Width32Bit, ) 508 FixedDMA(0x13, 0x3, Width32Bit, ) 509 }) 510 511 Method (SSCN, 0x0, NotSerialized) 512 { 513 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 514 Return (PKG) 515 } 516 Method (FMCN, 0x0, NotSerialized) 517 { 518 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 519 Return (PKG) 520 } 521 Method (FPCN, 0x0, NotSerialized) 522 { 523 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 524 Return (PKG) 525 } 526 527 Method (_HRV, 0x0, NotSerialized) 528 { 529 Return (SOCS) 530 } 531 Method (_CRS, 0x0, NotSerialized) 532 { 533 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 534 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 535 Store(I20A, B0BA) 536 Store(I20L, B0LN) 537 Return (RBUF) 538 } 539 Method (_STA, 0x0, NotSerialized) 540 { 541 // 542 // PCIM>> 0:ACPI mode 1:PCI mode 543 // 544 If (LEqual(PCIM, 1)) { 545 Return (0x0) 546 } 547 548 If (LOr(LEqual(I20A, 0), LEqual(L22D, 1))) 549 { 550 Return (0x0) 551 } 552 Return (0xF) 553 } 554 555 Method (_PS3, 0, NotSerialized) 556 { 557 OR(PSAT, 0x00000003, PSAT) 558 OR(PSAT, 0X00000000, PSAT) 559 560 } 561 Method (_PS0, 0, NotSerialized) 562 { 563 And(PSAT, 0xfffffffC, PSAT) 564 OR(PSAT, 0X00000000, PSAT) 565 } 566 OperationRegion (KEYS, SystemMemory, I21A, 0x100) 567 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 568 { 569 Offset (0x84), 570 PSAT, 32 571 } 572 573 574 // 575 // Realtek Audio Codec 576 // 577 Device (RTEK) //Audio Codec driver I2C 578 { 579 Name (_ADR, 0) 580 Name (_HID, "10EC5640") 581 Name (_CID, "10EC5640") 582 Name (_DDN, "RTEK Codec Controller " ) 583 Name (_UID, 1) 584 585 586 Method(_CRS, 0x0, Serialized) 587 { 588 Name(SBUF,ResourceTemplate () 589 { 590 I2CSerialBus(0x1C, //SlaveAddress: bus address 591 , //SlaveMode: default to ControllerInitiated 592 400000, //ConnectionSpeed: in Hz 593 , //Addressing Mode: default to 7 bit 594 "\\_SB.I2C2", //ResourceSource: I2C bus controller name 595 , //ResourceSourceIndex: defaults to 0 596 , //ResourceUsage: Defaults to ResourceConsumer 597 , //Descriptor Name: creates name for offset of resource descriptor 598 ) //VendorData 599 GpioInt(Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0,"\\_SB.GPO2") {4} // AUD_INT 600 }) 601 Return (SBUF) 602 } 603 604 Method (_STA, 0x0, NotSerialized) 605 { 606 607 If (LEqual(LPEE, 2)) { // LPE enable/disable 608 If (LEqual(LPAD, 1)) 609 { 610 Return(0xF) 611 } 612 } 613 Return(0) 614 } 615 616 Method (_DIS, 0x0, NotSerialized) 617 { 618 619 } 620 } // Device (RTEK) 621} // Device (I2C2) 622 623// 624// LPIO2 I2C #3 625// 626Device(I2C3) 627{ 628 Name (_ADR, 0) 629 Name (_HID, "80860F41") 630 Name (_CID, "80860F41") 631 Name (_DDN, "Intel(R) I2C Controller #3 - 80860F43") 632 Name (_UID, 3) 633 Name(_DEP, Package(0x1) 634 { 635 PEPD 636 }) 637 Name (RBUF, ResourceTemplate () 638 { 639 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 640 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {34} // I2C #3 IRQ 641 642 FixedDMA(0x14, 0x4, Width32Bit, ) 643 FixedDMA(0x15, 0x5, Width32Bit, ) 644 }) 645 646 Method (SSCN, 0x0, NotSerialized) 647 { 648 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 649 Return (PKG) 650 } 651 Method (FMCN, 0x0, NotSerialized) 652 { 653 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 654 Return (PKG) 655 } 656 Method (FPCN, 0x0, NotSerialized) 657 { 658 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 659 Return (PKG) 660 } 661 662 Method (_HRV, 0x0, NotSerialized) 663 { 664 Return (SOCS) 665 } 666 Method (_CRS, 0x0, NotSerialized) 667 { 668 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 669 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 670 Store(I30A, B0BA) 671 Store(I30L, B0LN) 672 Return (RBUF) 673 } 674 675 Method (_STA, 0x0, NotSerialized) 676 { 677 // 678 // PCIM>> 0:ACPI mode 1:PCI mode 679 // 680 If (LEqual(PCIM, 1)) { 681 Return (0x0) 682 } 683 684 If (LOr(LEqual(I30A, 0), LEqual(L23D, 1))) 685 { 686 Return (0x0) 687 } 688 Return (0xF) 689 } 690 691 Method (_PS3, 0, NotSerialized) 692 { 693 OR(PSAT, 0x00000003, PSAT) 694 OR(PSAT, 0X00000000, PSAT) 695 696 } 697 Method (_PS0, 0, NotSerialized) 698 { 699 And(PSAT, 0xfffffffC, PSAT) 700 OR(PSAT, 0X00000000, PSAT) 701 } 702 OperationRegion (KEYS, SystemMemory, I31A, 0x100) 703 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 704 { 705 Offset (0x84), 706 PSAT, 32 707 } 708 709 710} 711 712// 713// LPIO2 I2C #4 714// 715Device(I2C4) 716{ 717 Name (_ADR, 0) 718 Name (_HID, "80860F41") 719 Name (_CID, "80860F41") 720 Name (_DDN, "Intel(R) I2C Controller #4 - 80860F44") 721 Name (_UID, 4) 722 Name(_DEP, Package(0x1) 723 { 724 PEPD 725 }) 726 Name (RBUF, ResourceTemplate () 727 { 728 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 729 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {35} // I2C #4 IRQ 730 731 FixedDMA(0x16, 0x6, Width32Bit, ) 732 FixedDMA(0x17, 0x7, Width32Bit, ) 733 }) 734 735 Method (SSCN, 0x0, NotSerialized) 736 { 737 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 738 Return (PKG) 739 } 740 Method (FMCN, 0x0, NotSerialized) 741 { 742 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 743 Return (PKG) 744 } 745 Method (FPCN, 0x0, NotSerialized) 746 { 747 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 748 Return (PKG) 749 } 750 751 752 Method (_HRV, 0x0, NotSerialized) 753 { 754 Return (SOCS) 755 } 756 Method (_CRS, 0x0, NotSerialized) 757 { 758 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 759 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 760 Store(I40A, B0BA) 761 Store(I40L, B0LN) 762 Return (RBUF) 763 } 764 765 Method (_STA, 0x0, NotSerialized) 766 { 767 // 768 // PCIM>> 0:ACPI mode 1:PCI mode 769 // 770 If (LEqual(PCIM, 1)) { 771 Return (0x0) 772 } 773 774 If (LOr(LEqual(I40A, 0), LEqual(L24D, 1))) 775 { 776 Return (0x0) 777 } 778 Return (0xF) 779 } 780 781 Method (_PS3, 0, NotSerialized) 782 { 783 OR(PSAT, 0x00000003, PSAT) 784 OR(PSAT, 0X00000000, PSAT) 785 786 } 787 Method (_PS0, 0, NotSerialized) 788 { 789 And(PSAT, 0xfffffffC, PSAT) 790 OR(PSAT, 0X00000000, PSAT) 791 } 792 OperationRegion (KEYS, SystemMemory, I41A, 0x100) 793 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 794 { 795 Offset (0x84), 796 PSAT, 32 797 } 798 799 PowerResource (CLK0, 0x00, 0x0000) 800 { 801 Method (_STA, 0, NotSerialized) // _STA: Status 802 { 803 Return (CKC0) 804 } 805 806 Method (_ON, 0, NotSerialized) // _ON_: Power On 807 { 808 Store (One, CKC0) 809 Store (One, CKF0) 810 Sleep (0x20) 811 } 812 813 Method (_OFF, 0, NotSerialized) // _OFF: Power Off 814 { 815 Store (0x02, CKC0) 816 } 817 } 818 PowerResource (CLK1, 0x00, 0x0000) 819 { 820 Method (_STA, 0, NotSerialized) // _STA: Status 821 { 822 Return (CKC1) 823 } 824 825 Method (_ON, 0, NotSerialized) // _ON_: Power On 826 { 827 Store (One, CKC1) 828 Store (One, CKF1) 829 Sleep (0x20) 830 } 831 832 Method (_OFF, 0, NotSerialized) // _OFF: Power Off 833 { 834 Store (0x02, CKC1) 835 } 836 } 837} 838 839// 840// LPIO2 I2C #5 841// 842Device(I2C5) 843{ 844 Name (_ADR, 0) 845 Name (_HID, "80860F41") 846 Name (_CID, "80860F41") 847 Name (_DDN, "Intel(R) I2C Controller #5 - 80860F45") 848 Name (_UID, 5) 849 Name(_DEP, Package(0x1) 850 { 851 PEPD 852 }) 853 Name (RBUF, ResourceTemplate () 854 { 855 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 856 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {36} // I2C #5 IRQ 857 858 FixedDMA(0x18, 0x0, Width32Bit, ) 859 FixedDMA(0x19, 0x1, Width32Bit, ) 860 }) 861 862 Method (SSCN, 0x0, NotSerialized) 863 { 864 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 865 Return (PKG) 866 } 867 Method (FMCN, 0x0, NotSerialized) 868 { 869 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 870 Return (PKG) 871 } 872 Method (FPCN, 0x0, NotSerialized) 873 { 874 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 875 Return (PKG) 876 } 877 878 Method (_HRV, 0x0, NotSerialized) 879 { 880 Return (SOCS) 881 } 882 Method (_CRS, 0x0, NotSerialized) 883 { 884 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 885 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 886 Store(I50A, B0BA) 887 Store(I50L, B0LN) 888 Return (RBUF) 889 } 890 Method (_STA, 0x0, NotSerialized) 891 { 892 // 893 // PCIM>> 0:ACPI mode 1:PCI mode 894 // 895 If (LEqual(PCIM, 1)) { 896 Return (0x0) 897 } 898 899 If (LOr(LEqual(I50A, 0), LEqual(L25D, 1))) 900 { 901 Return (0x0) 902 } 903 Return (0xF) 904 } 905 906 Method (_PS3, 0, NotSerialized) 907 { 908 OR(PSAT, 0x00000003, PSAT) 909 OR(PSAT, 0X00000000, PSAT) 910 } 911 Method (_PS0, 0, NotSerialized) 912 { 913 And(PSAT, 0xfffffffC, PSAT) 914 OR(PSAT, 0X00000000, PSAT) 915 } 916 OperationRegion (KEYS, SystemMemory, I51A, 0x100) 917 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 918 { 919 Offset (0x84), 920 PSAT, 32 921 } 922} 923 924// 925// LPIO2 I2C #6 926// 927Device(I2C6) 928{ 929 Name (_ADR, 0) 930 Name (_HID, "80860F41") 931 Name (_CID, "80860F41") 932 Name (_DDN, "Intel(R) I2C Controller #6 - 80860F46") 933 Name (_UID, 6) 934 Name(_DEP, Package(0x1) 935 { 936 PEPD 937 }) 938 Name (RBUF, ResourceTemplate () 939 { 940 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 941 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {37} // I2C #6 IRQ 942 943 FixedDMA(0x1A, 0x02, Width32Bit, ) 944 FixedDMA(0x1B, 0x03, Width32Bit, ) 945 }) 946 947 Method (SSCN, 0x0, NotSerialized) 948 { 949 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 950 Return (PKG) 951 } 952 Method (FMCN, 0x0, NotSerialized) 953 { 954 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 955 Return (PKG) 956 } 957 Method (FPCN, 0x0, NotSerialized) 958 { 959 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 960 Return (PKG) 961 } 962 963 Method (_HRV, 0x0, NotSerialized) 964 { 965 Return (SOCS) 966 } 967 Method (_CRS, 0x0, NotSerialized) 968 { 969 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 970 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 971 Store(I60A, B0BA) 972 Store(I60L, B0LN) 973 Return (RBUF) 974 } 975 Method (_STA, 0x0, NotSerialized) 976 { 977 // 978 // PCIM>> 0:ACPI mode 1:PCI mode 979 // 980 If (LEqual(PCIM, 1)) { 981 Return (0x0) 982 } 983 984 If (LOr(LEqual(I60A, 0), LEqual(L26D, 1))) 985 { 986 Return (0x0) 987 } 988 Return (0xF) 989 } 990 991 Method (_PS3, 0, NotSerialized) 992 { 993 OR(PSAT, 0x00000003, PSAT) 994 OR(PSAT, 0X00000000, PSAT) 995 } 996 Method (_PS0, 0, NotSerialized) 997 { 998 And(PSAT, 0xfffffffC, PSAT) 999 OR(PSAT, 0X00000000, PSAT) 1000 } 1001 OperationRegion (KEYS, SystemMemory, I61A, 0x100) 1002 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 1003 { 1004 Offset (0x84), 1005 PSAT, 32 1006 } 1007} 1008 1009// 1010// LPIO2 I2C #7 1011// 1012Device(I2C7) 1013{ 1014 Name (_ADR, 0) 1015 Name (_HID, "80860F41") 1016 Name (_CID, "80860F41") 1017 //Name (_CLS, Package (3) {0x0C, 0x80, 0x00}) 1018 Name (_DDN, "Intel(R) I2C Controller #7 - 80860F47") 1019 Name (_UID, 7) 1020 Name(_DEP, Package(0x1) 1021 { 1022 PEPD 1023 }) 1024 Name (RBUF, ResourceTemplate () 1025 { 1026 Memory32Fixed (ReadWrite, 0x00000000, 0x00001000, BAR0) 1027 Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {38} // I2C #7 IRQ 1028 1029 FixedDMA(0x1C, 0x4, Width32Bit, ) 1030 FixedDMA(0x1D, 0x5, Width32Bit, ) 1031 }) 1032 1033 Method (SSCN, 0x0, NotSerialized) 1034 { 1035 Name (PKG, Package(3) { 0x200, 0x200, 0x06 }) 1036 Return (PKG) 1037 } 1038 Method (FMCN, 0x0, NotSerialized) 1039 { 1040 Name (PKG, Package(3) { 0x55, 0x99, 0x06 }) 1041 Return (PKG) 1042 } 1043 Method (FPCN, 0x0, NotSerialized) 1044 { 1045 Name (PKG, Package(3) { 0x1b, 0x3a, 0x06 }) 1046 Return (PKG) 1047 } 1048 1049 Method (_HRV, 0x0, NotSerialized) 1050 { 1051 Return (SOCS) 1052 } 1053 1054 Method (_CRS, 0x0, NotSerialized) 1055 { 1056 CreateDwordField(^RBUF, ^BAR0._BAS, B0BA) 1057 CreateDwordField(^RBUF, ^BAR0._LEN, B0LN) 1058 Store(I70A, B0BA) 1059 Store(I70L, B0LN) 1060 Return (RBUF) 1061 } 1062 1063 Method (_STA, 0x0, NotSerialized) 1064 { 1065 // 1066 // PCIM>> 0:ACPI mode 1:PCI mode 1067 // 1068 If (LEqual(PCIM, 1)) { 1069 Return (0x0) 1070 } 1071 1072 If (LOr(LEqual(I70A, 0), LEqual(L27D, 1))) 1073 { 1074 Return (0x0) 1075 } 1076 Return (0xF) 1077 } 1078 1079 Method (_PS3, 0, NotSerialized) 1080 { 1081 OR(PSAT, 0x00000003, PSAT) 1082 OR(PSAT, 0X00000000, PSAT) 1083 } 1084 1085 Method (_PS0, 0, NotSerialized) 1086 { 1087 And(PSAT, 0xfffffffC, PSAT) 1088 OR(PSAT, 0X00000000, PSAT) 1089 } 1090 1091 OperationRegion (KEYS, SystemMemory, I71A, 0x100) 1092 Field (KEYS, DWordAcc, NoLock, WriteAsZeros) 1093 { 1094 Offset (0x84), 1095 PSAT, 32 1096 } 1097 1098} 1099 1100