Home | History | Annotate | Download | only in AcpiTablesPCAT
      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 
     23 Scope(\)
     24 {
     25   //
     26   // Define VLV ABASE I/O as an ACPI operating region. The base address
     27   // can be found in Device 31, Registers 40-43h.
     28   //
     29   OperationRegion(PMIO, SystemIo, \PMBS, 0x46)
     30   Field(PMIO, ByteAcc, NoLock, Preserve)
     31   {
     32     ,      8,
     33     PWBS,  1,       // Power Button Status
     34     Offset(0x20),
     35     ,      13,
     36     PMEB,  1,     // PME_B0_STS
     37     Offset(0x42),     // General Purpose Control
     38     ,      1,
     39     GPEC,  1
     40   }
     41   Field(PMIO, ByteAcc, NoLock, WriteAsZeros)
     42   {
     43     Offset(0x20),     // GPE0 Status
     44     ,      4,
     45     PSCI,  1,       // PUNIT SCI Status
     46     SCIS,  1        // GUNIT SCI Status
     47   }
     48 
     49 
     50 
     51   //
     52   // Define a Memory Region that will allow access to the PMC
     53   // Register Block.  Note that in the Intel Reference Solution, the PMC
     54   // will get fixed up dynamically during POST.
     55   //
     56   OperationRegion(PMCR, SystemMemory, \PFDR, 0x04)// PMC Function Disable Register
     57   Field(PMCR,DWordAcc,Lock,Preserve)
     58   {
     59     Offset(0x00),   //  Function Disable Register
     60     L10D,  1,         //  (0) LPIO1 DMA Disable
     61     L11D,  1,         //  (1) LPIO1 PWM #1 Disable
     62     L12D,  1,         //  (2) LPIO1 PWM #2 Disable
     63     L13D,  1,         //  (3) LPIO1 HS-UART #1 Disable
     64     L14D,  1,         //  (4) LPIO1 HS-UART #2 Disable
     65     L15D,  1,         //  (5) LPIO1 SPI Disable
     66     ,          2,     //  (6:7) Reserved
     67     SD1D,  1,         //  (8) SCC SDIO #1 Disable
     68     SD2D,  1,         //  (9) SCC SDIO #2 Disable
     69     SD3D,  1,         //  (10) SCC SDIO #3 Disable
     70     HSID,  1,         //  (11)
     71     HDAD,  1,         //  (12) Azalia Disable
     72     LPED,  1,         //  (13) LPE Disable
     73     OTGD,  1,         //  (14) USB OTG Disable
     74     ,          1,     //  (15) USH Disable
     75     ,          1,     //  (16)
     76     ,          1,     //  (17)
     77     ,          1,     //  (18) USB Disable
     78     ,          1,     //  (19) SEC Disable
     79     RP1D,  1,         //  (20) Root Port 0 Disable
     80     RP2D,  1,         //  (21) Root Port 1 Disable
     81     RP3D,  1,         //  (22) Root Port 2 Disable
     82     RP4D,  1,         //  (23) Root Port 3 Disable
     83     L20D,  1,         //  (24) LPIO2 DMA Disable
     84     L21D,  1,         //  (25) LPIO2 I2C #1 Disable
     85     L22D,  1,         //  (26) LPIO2 I2C #2 Disable
     86     L23D,  1,         //  (27) LPIO2 I2C #3 Disable
     87     L24D,  1,         //  (28) LPIO2 I2C #4 Disable
     88     L25D,  1,         //  (29) LPIO2 I2C #5 Disable
     89     L26D,  1,         //  (30) LPIO2 I2C #6 Disable
     90     L27D,  1          //  (31) LPIO2 I2C #7 Disable
     91   }
     92 
     93 
     94   OperationRegion(CLKC, SystemMemory, \PCLK, 0x18)// PMC CLK CTL Registers
     95   Field(CLKC,DWordAcc,Lock,Preserve)
     96   {
     97     Offset(0x00),   //  PLT_CLK_CTL_0
     98     CKC0, 2,
     99     CKF0, 1,
    100     ,     29,
    101     Offset(0x04),   //  PLT_CLK_CTL_1
    102     CKC1, 2,
    103     CKF1, 1,
    104     ,     29,
    105     Offset(0x08),   //  PLT_CLK_CTL_2
    106     CKC2,  2,
    107     CKF2, 1,
    108     ,     29,
    109     Offset(0x0C),   //  PLT_CLK_CTL_3
    110     CKC3,  2,
    111     CKF3, 1,
    112     ,     29,
    113     Offset(0x10),   //  PLT_CLK_CTL_4
    114     CKC4,  2,
    115     CKF4, 1,
    116     ,     29,
    117     Offset(0x14),   //  PLT_CLK_CTL_5
    118     CKC5,  2,
    119     CKF5, 1,
    120     ,     29,
    121   }
    122 } //end Scope(\)
    123 
    124 scope (\_SB)
    125 {
    126   Device(LPEA)
    127   {
    128     Name (_ADR, 0)
    129     Name (_HID, "80860F28")
    130     Name (_CID, "80860F28")
    131     //Name (_CLS, Package (3) {0x04, 0x01, 0x00})
    132     Name (_DDN, "Intel(R) Low Power Audio Controller - 80860F28")
    133     Name (_SUB, "80867270")
    134     Name (_UID, 1)
    135     Name (_DEP, Package() {\_SB.I2C2.RTEK})
    136     Name(_PR0,Package() {PLPE})
    137 
    138     Method (_STA, 0x0, NotSerialized)
    139     {
    140       If (LAnd(LAnd(LEqual(LPEE, 2), LEqual(LPED, 0)), LEqual(OSEL, 0)))
    141       {
    142         If(LEqual(LPAD, 1))
    143         {
    144           Return (0xF)
    145         }
    146       }
    147       Return (0x0)
    148     }
    149 
    150     Method (_DIS, 0x0, NotSerialized)
    151     {
    152       //Add a dummy disable function
    153     }
    154 
    155     Name (RBUF, ResourceTemplate ()
    156       {
    157         Memory32Fixed (ReadWrite, 0xFE400000, 0x00200000, BAR0)  // MMIO 1 - LPE MMIO
    158         Memory32Fixed (ReadWrite, 0xFE830000, 0x00001000, BAR1)  // MMIO 2 - Shadowed PCI Config Space
    159         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00100000, BAR2)  // LPE Memory Bar Allocate during post
    160         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {24}
    161         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {25}
    162         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {26}
    163         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {27}
    164         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {28}
    165         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {29}
    166         GpioInt(Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0,"\\_SB.GPO2") {28} //  Audio jack interrupt
    167       }
    168     )
    169 
    170     Method (_CRS, 0x0, NotSerialized)
    171     {
    172       CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
    173       Store(LPE0, B0BA)
    174       CreateDwordField(^RBUF, ^BAR1._BAS, B1BA)
    175       Store(LPE1, B1BA)
    176       CreateDwordField(^RBUF, ^BAR2._BAS, B2BA)
    177       Store(LPE2, B2BA)
    178       Return (RBUF)
    179     }
    180 
    181     OperationRegion (KEYS, SystemMemory, LPE1, 0x100)
    182     Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
    183     {
    184       Offset (0x84),
    185       PSAT,   32
    186     }
    187 
    188     PowerResource(PLPE, 0, 0)   // Power Resource for LPEA
    189     {
    190       Method (_STA)
    191       {
    192         Return (1)      // Power Resource is always available.
    193       }
    194 
    195       Method (_ON)
    196       {
    197         And(PSAT, 0xfffffffC, PSAT)
    198         OR(PSAT, 0X00000000, PSAT)
    199       }
    200 
    201       Method (_OFF)
    202       {
    203         OR(PSAT, 0x00000003, PSAT)
    204         OR(PSAT, 0X00000000, PSAT)
    205       }
    206     } // End PLPE
    207   } // End "Low Power Engine Audio"
    208 
    209   Device(LPA2)
    210   {
    211     Name (_ADR, 0)
    212     Name (_HID, "LPE0F28")  // _HID: Hardware ID
    213     Name (_CID, "LPE0F28")  // _CID: Compatible ID
    214     Name (_DDN, "Intel(R) SST Audio - LPE0F28")  // _DDN: DOS Device Name
    215     Name (_SUB, "80867270")
    216     Name (_UID, 1)
    217     Name (_DEP, Package() {\_SB.I2C2.RTEK})
    218     Name(_PR0,Package() {PLPE})
    219 
    220     Method (_STA, 0x0, NotSerialized)
    221     {
    222       If (LAnd(LAnd(LEqual(LPEE, 2), LEqual(LPED, 0)), LEqual(OSEL, 1)))
    223       {
    224         If(LEqual(LPAD, 1))
    225         {
    226           Return (0xF)
    227         }
    228       }
    229       Return (0x0)
    230     }
    231 
    232     Method (_DIS, 0x0, NotSerialized)
    233     {
    234       //Add a dummy disable function
    235     }
    236 
    237     Name (RBUF, ResourceTemplate ()
    238       {
    239         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00100000, BAR2)  // LPE Memory Bar Allocate during post
    240         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00000100, SHIM)
    241         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00001000, MBOX)
    242         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00014000, IRAM)
    243         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00028000, DRAM)
    244         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {29}
    245         Memory32Fixed (ReadWrite, 0xFE830000, 0x00001000, BAR1)  // MMIO 2 - Shadowed PCI Config Space
    246       }
    247     )
    248 
    249     Method (_CRS, 0x0, NotSerialized)
    250     {
    251       CreateDwordField(^RBUF, ^SHIM._BAS, SHBA)
    252       Add(LPE0, 0x140000, SHBA)
    253       CreateDwordField(^RBUF, ^MBOX._BAS, MBBA)
    254       Add(LPE0, 0x144000, MBBA)
    255       CreateDwordField(^RBUF, ^IRAM._BAS, IRBA)
    256       Add(LPE0, 0xC0000, IRBA)
    257       CreateDwordField(^RBUF, ^DRAM._BAS, DRBA)
    258       Add(LPE0, 0x100000, DRBA)
    259       CreateDwordField(^RBUF, ^BAR1._BAS, B1BA)
    260       Store(LPE1, B1BA)
    261       CreateDwordField(^RBUF, ^BAR2._BAS, B2BA)
    262       Store(LPE2, B2BA)
    263       Return (RBUF)
    264     }
    265 
    266     OperationRegion (KEYS, SystemMemory, LPE1, 0x100)
    267     Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
    268     {
    269       Offset (0x84),
    270       PSAT,   32
    271     }
    272 
    273     PowerResource(PLPE, 0, 0)   // Power Resource for LPEA
    274     {
    275       Method (_STA)
    276       {
    277         Return (1)      // Power Resource is always available.
    278       }
    279 
    280       Method (_ON)
    281       {
    282         And(PSAT, 0xfffffffC, PSAT)
    283         OR(PSAT, 0X00000000, PSAT)
    284       }
    285 
    286       Method (_OFF)
    287       {
    288         OR(PSAT, 0x00000003, PSAT)
    289         OR(PSAT, 0X00000000, PSAT)
    290       }
    291     } // End PLPE
    292 
    293     Device (ADMA)
    294     {
    295       Name (_ADR, Zero)  // _ADR: Address
    296       Name (_HID, "DMA0F28")  // _HID: Hardware ID
    297       Name (_CID, "DMA0F28")  // _CID: Compatible ID
    298       Name (_DDN, "Intel(R) Audio  DMA0 - DMA0F28")  // _DDN: DOS Device Name
    299       Name (_UID, One)  // _UID: Unique ID
    300       Name (RBUF, ResourceTemplate ()
    301       {
    302         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00001000, DMA0)  // LPE BASE + LPE DMA0 offset
    303         Memory32Fixed (ReadWrite, 0x55AA55AA, 0x00001000, SHIM)  // LPE BASE + LPE SHIM offset
    304         Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {24}
    305       })
    306 
    307       Method (_CRS, 0, NotSerialized)   // _CRS: Current Resource Settings
    308       {
    309         CreateDwordField(^RBUF, ^DMA0._BAS, D0BA)
    310         Add(LPE0, 0x98000, D0BA)
    311         CreateDwordField(^RBUF, ^SHIM._BAS, SHBA)
    312         Add(LPE0, 0x140000, SHBA)
    313         Return (RBUF)
    314       }
    315     }
    316   } // End "Low Power Engine Audio" for Android
    317 }
    318 
    319 scope (\_SB.PCI0)
    320 {
    321 
    322   //
    323   // Serial ATA Host Controller - Device 19, Function 0
    324   //
    325 
    326   Device(SATA)
    327   {
    328     Name(_ADR,0x00130000)
    329     //
    330     // SATA Methods pulled in via SSDT.
    331     //
    332 
    333     OperationRegion(SATR, PCI_Config, 0x74,0x4)
    334     Field(SATR,WordAcc,NoLock,Preserve)
    335     {
    336       Offset(0x00), // 0x74, PMCR
    337       ,   8,
    338       PMEE,   1,    //PME_EN
    339       ,   6,
    340       PMES,   1     //PME_STS
    341     }
    342 
    343     Method (_STA, 0x0, NotSerialized)
    344     {
    345       Return(0xf)
    346     }
    347 
    348     Method(_DSW, 3)
    349     {
    350     } // End _DSW
    351   }
    352 
    353   //
    354   // For eMMC 4.41 PCI mode in order to present non-removable device under Windows environment
    355   //
    356   Device(EM41)
    357   {
    358     Name(_ADR,0x00100000)
    359     OperationRegion(SDIO, PCI_Config, 0x84,0x4)
    360     Field(SDIO,WordAcc,NoLock,Preserve)
    361     {
    362       Offset(0x00), // 0x84, PMCR
    363       ,   8,
    364       PMEE,   1,    //PME_EN
    365       ,   6,
    366       PMES,   1     //PME_STS
    367     }
    368 
    369     Method (_STA, 0x0, NotSerialized)
    370     {
    371       If (LAnd(LEqual(PCIM, 1), LEqual(SD1D, 0)))
    372       {
    373         Return(0xF)
    374       }
    375       Else
    376       {
    377         Return(0x0)
    378       }
    379     }
    380 
    381     Method(_DSW, 3)
    382     {
    383     } // End _DSW
    384 
    385     Device (CARD)
    386     {
    387       Name (_ADR, 0x00000008)
    388       Method(_RMV, 0x0, NotSerialized)
    389       {
    390         Return (0)
    391       } // End _DSW
    392     }
    393   }
    394 
    395   //
    396   // For eMMC 4.5 PCI mode in order to present non-removable device under Windows environment
    397   //
    398   Device(EM45)
    399   {
    400     Name(_ADR,0x00170000)
    401     OperationRegion(SDIO, PCI_Config, 0x84,0x4)
    402     Field(SDIO,WordAcc,NoLock,Preserve)
    403     {
    404       Offset(0x00), // 0x84, PMCR
    405       ,   8,
    406       PMEE,   1,    //PME_EN
    407       ,   6,
    408       PMES,   1     //PME_STS
    409     }
    410 
    411     Method (_STA, 0x0, NotSerialized)
    412     {
    413       If (LAnd(LEqual(PCIM, 1), LEqual(HSID, 0)))
    414       {
    415         Return(0xF)
    416       }
    417       Else
    418       {
    419         Return(0x0)
    420       }
    421     }
    422 
    423     Method(_DSW, 3)
    424     {
    425     } // End _DSW
    426 
    427     Device (CARD)
    428     {
    429       Name (_ADR, 0x00000008)
    430       Method(_RMV, 0x0, NotSerialized)
    431       {
    432         Return (0)
    433       } // End _DSW
    434     }
    435   }
    436   //
    437   // For SD Host Controller (Bus 0x00 : Dev 0x12 : Func 0x00) PCI mode in order to present non-removable device under Windows environment
    438   //
    439   Device(SD12)
    440   {
    441     Name(_ADR,0x00120000)
    442 
    443     Method (_STA, 0x0, NotSerialized)
    444     {
    445       //
    446       // PCIM>> 0:ACPI mode           1:PCI mode
    447       //
    448       If (LEqual(PCIM, 0)) {
    449         Return (0x0)
    450       }
    451 
    452       //
    453       // If device is disabled.
    454       //
    455       If (LEqual(SD3D, 1))
    456       {
    457         Return (0x0)
    458       }
    459 
    460       Return (0xF)
    461     }
    462 
    463     Device (CARD)
    464     {
    465       Name (_ADR, 0x00000008)
    466       Method(_RMV, 0x0, NotSerialized)
    467       {
    468         // SDRM = 0 non-removable;
    469         If (LEqual(SDRM, 0))
    470         {
    471           Return (0)
    472         }
    473 
    474         Return (1)
    475       }
    476     }
    477   }
    478 
    479   // xHCI Controller - Device 20, Function 0
    480   include("PchXhci.asl")
    481 
    482   //
    483   // High Definition Audio Controller - Device 27, Function 0
    484   //
    485   Device(HDEF)
    486   {
    487     Name(_ADR, 0x001B0000)
    488     include("PchAudio.asl")
    489 
    490     Method (_STA, 0x0, NotSerialized)
    491     {
    492       If (LEqual(HDAD, 0))
    493       {
    494         Return(0xf)
    495       }
    496       Return(0x0)
    497     }
    498 
    499     Method(_DSW, 3)
    500     {
    501     } // End _DSW
    502   } // end "High Definition Audio Controller"
    503 
    504 
    505 
    506   //
    507   // PCIE Root Port #1
    508   //
    509   Device(RP01)
    510   {
    511     Name(_ADR, 0x001C0000)
    512     include("PchPcie.asl")
    513     Name(_PRW, Package() {9, 4})
    514 
    515     Method(_PRT,0)
    516     {
    517       If(PICM) { Return(AR04) }// APIC mode
    518       Return (PR04) // PIC Mode
    519     } // end _PRT
    520   } // end "PCIE Root Port #1"
    521 
    522   //
    523   // PCIE Root Port #2
    524   //
    525   Device(RP02)
    526   {
    527     Name(_ADR, 0x001C0001)
    528     include("PchPcie.asl")
    529     Name(_PRW, Package() {9, 4})
    530 
    531     Method(_PRT,0)
    532     {
    533       If(PICM) { Return(AR05) }// APIC mode
    534       Return (PR05) // PIC Mode
    535     } // end _PRT
    536 
    537   } // end "PCIE Root Port #2"
    538 
    539   //
    540   // PCIE Root Port #3
    541   //
    542   Device(RP03)
    543   {
    544     Name(_ADR, 0x001C0002)
    545     include("PchPcie.asl")
    546     Name(_PRW, Package() {9, 4})
    547     Method(_PRT,0)
    548     {
    549       If(PICM) { Return(AR06) }// APIC mode
    550       Return (PR06) // PIC Mode
    551     } // end _PRT
    552 
    553   } // end "PCIE Root Port #3"
    554 
    555   //
    556   // PCIE Root Port #4
    557   //
    558   Device(RP04)
    559   {
    560     Name(_ADR, 0x001C0003)
    561     include("PchPcie.asl")
    562     Name(_PRW, Package() {9, 4})
    563     Method(_PRT,0)
    564     {
    565       If(PICM) { Return(AR07) }// APIC mode
    566       Return (PR07) // PIC Mode
    567     } // end _PRT
    568 
    569   } // end "PCIE Root Port #4"
    570 
    571 
    572   Scope(\_SB)
    573   {
    574     //
    575     // Dummy power resource for USB D3 cold support
    576     //
    577     PowerResource(USBC, 0, 0)
    578     {
    579       Method(_STA) { Return (0xF) }
    580       Method(_ON) {}
    581       Method(_OFF) {}
    582     }
    583   }
    584   //
    585   // EHCI Controller - Device 29, Function 0
    586   //
    587   Device(EHC1)
    588   {
    589     Name(_ADR, 0x001D0000)
    590     Name(_DEP, Package(0x1)
    591     {
    592       PEPD
    593     })
    594     include("PchEhci.asl")
    595     Name(_PRW, Package() {0x0D, 4})
    596 
    597     OperationRegion(USBR, PCI_Config, 0x54,0x4)
    598     Field(USBR,WordAcc,NoLock,Preserve)
    599     {
    600       Offset(0x00), // 0x54, PMCR
    601       ,   8,
    602       PMEE,   1,    //PME_EN
    603       ,   6,
    604       PMES,   1     //PME_STS
    605     }
    606 
    607     Method (_STA, 0x0, NotSerialized)
    608     {
    609       If(LEqual(XHCI, 0))      //XHCI is not present. It means EHCI is there
    610       {
    611         Return (0xF)
    612       } Else
    613       {
    614         Return (0x0)
    615       }
    616     }
    617 
    618     Method (_RMV, 0, NotSerialized)
    619     {
    620       Return (0x0)
    621     }
    622     //
    623     // Create a dummy PR3 method to indicate to the PCI driver
    624     // that the device is capable of D3 cold
    625     //
    626     Method(_PR3, 0x0, NotSerialized)
    627     {
    628       return (Package() {\_SB.USBC})
    629     }
    630 
    631   } // end "EHCI Controller"
    632 
    633   //
    634   // SMBus Controller - Device 31, Function 3
    635   //
    636   Device(SBUS)
    637   {
    638     Name(_ADR,0x001F0003)
    639     Include("PchSmb.asl")
    640   }
    641 
    642   Device(SEC0)
    643   {
    644     Name (_ADR, 0x001a0000)                     // Device 0x1a, Function 0
    645     Name(_DEP, Package(0x1)
    646     {
    647       PEPD
    648     })
    649 
    650 
    651     OperationRegion (PMEB, PCI_Config, 0x84, 0x04)  //PMECTRLSTATUS
    652     Field (PMEB, WordAcc, NoLock, Preserve)
    653     {
    654       ,   8,
    655       PMEE,   1,    //bit8 PMEENABLE
    656       ,   6,
    657       PMES,   1     //bit15 PMESTATUS
    658     }
    659 
    660     // Arg0 -- integer that contains the device wake capability control (0-disable 1- enable)
    661     // Arg1 -- integer that contains target system state (0-4)
    662     // Arg2 -- integer that contains the target device state
    663     Method (_DSW, 3, NotSerialized)   // _DSW: Device Sleep Wake
    664     {
    665     }
    666 
    667     Method (_CRS, 0, NotSerialized)
    668     {
    669       Name (RBUF, ResourceTemplate ()
    670       {
    671         Memory32Fixed (ReadWrite, 0x1e000000, 0x2000000)
    672       })
    673 
    674       If (LEqual(PAVP, 2))
    675       {
    676         Return (RBUF)
    677       }
    678       Return (ResourceTemplate() {})
    679     }
    680 
    681     Method (_STA)
    682     {
    683       If (LNotEqual(PAVP, 0))
    684       {
    685         Return (0xF)
    686       }
    687       Return (0x0)
    688     }
    689   }   // Device(SEC0)
    690 
    691 } // End scope (\_SB.PCI0)
    692 
    693