Skip to content

Instantly share code, notes, and snippets.

@jprvita
Created August 18, 2016 20:28
Show Gist options
  • Save jprvita/c6373856f6672a06b9031c67e2980bdd to your computer and use it in GitHub Desktop.
Save jprvita/c6373856f6672a06b9031c67e2980bdd to your computer and use it in GitHub Desktop.
Acer Aspire E14 ES1-432-P06A DSDT
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160729-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of dsdt.dat, Thu Aug 18 10:53:11 2016
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000070F2 (28914)
* Revision 0x02
* Checksum 0xA5
* OEM ID "ACRSYS"
* OEM Table ID "ACRPRDCT"
* OEM Revision 0x00000003 (3)
* Compiler ID "1025"
* Compiler Version 0x00040000 (262144)
*/
DefinitionBlock ("", "DSDT", 2, "ACRSYS", "ACRPRDCT", 0x00000003)
{
/*
* iASL Warning: There were 3 external control methods found during
* disassembly, but only 0 were resolved (3 unresolved). Additional
* ACPI tables may be required to properly disassemble the code. This
* resulting disassembler output file may not compile because the
* disassembler did not know how many arguments to assign to the
* unresolved methods. Note: SSDTs can be dynamically loaded at
* runtime and may or may not be available via the host OS.
*
* To specify the tables needed to resolve external control method
* references, the -e option can be used to specify the filenames.
* Example iASL invocations:
* iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
* iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
* iasl -e ssdt*.aml -d dsdt.aml
*
* In addition, the -fe option can be used to specify a file containing
* control method external declarations with the associated method
* argument counts. Each line of the file must be of the form:
* External (<method pathname>, MethodObj, <argument count>)
* Invocation:
* iasl -fe refs.txt -d dsdt.aml
*
* The following methods were unresolved and many not compile properly
* because the disassembler had to guess at the number of arguments
* required for each:
*/
External (_PR_.CPU0._PPC, UnknownObj)
External (_SB_.CHRG, UnknownObj)
External (_SB_.IETM, UnknownObj)
External (_SB_.PCI0.GFX0.AINT, MethodObj) // Warning: Unknown method, guessing 2 arguments
External (_SB_.PCI0.GFX0.BLM0, UnknownObj)
External (_SB_.PCI0.GFX0.BLM1, UnknownObj)
External (_SB_.PCI0.GFX0.BLM2, UnknownObj)
External (_SB_.PCI0.GFX0.BLM3, UnknownObj)
External (_SB_.PCI0.GFX0.BLM4, UnknownObj)
External (_SB_.PCI0.GFX0.BLM5, UnknownObj)
External (_SB_.PCI0.GFX0.BLM6, UnknownObj)
External (_SB_.PCI0.GFX0.BLM7, UnknownObj)
External (_SB_.PCI0.GFX0.BLM8, UnknownObj)
External (_SB_.PCI0.GFX0.BLM9, UnknownObj)
External (_SB_.PCI0.GFX0.BLMX, UnknownObj)
External (_SB_.PCI0.GFX0.CDCL, MethodObj) // Warning: Unknown method, guessing 2 arguments
External (_SB_.PCI0.GFX0.CLID, UnknownObj)
External (_SB_.PCI0.GFX0.DD1F, UnknownObj)
External (_SB_.PCI0.GFX0.GHDS, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_SB_.PCI0.WMID, UnknownObj)
External (_SB_.PCI0.WMID.FEBC, UnknownObj)
External (PDC0, UnknownObj)
External (PDC1, UnknownObj)
External (PDC2, UnknownObj)
External (PDC3, UnknownObj)
External (SEN1, UnknownObj)
External (WMID, UnknownObj)
Name (SP3O, 0x2E)
Name (IO4B, 0x0A20)
Name (IO4L, 0x20)
Name (SP1O, 0x4E)
Name (PMBS, 0x0400)
Name (SMIP, 0xB2)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (PMCB, 0xFED03000)
Name (IBAS, 0xFED08000)
Name (SRCB, 0xFED1C000)
Name (HPTB, 0xFED00000)
Name (PEBS, 0xE0000000)
Name (PELN, 0x10000000)
Name (FMBL, One)
Name (FDTP, 0x02)
Name (GCDD, One)
Name (DSTA, 0x0A)
Name (DSLO, 0x02)
Name (DSLC, 0x03)
Name (PITS, 0x10)
Name (SBCS, 0x12)
Name (SALS, 0x13)
Name (LSSS, 0x2A)
Name (PSSS, 0x2B)
Name (SOOT, 0x35)
Name (ESCS, 0x48)
Name (SDGV, 0x1C)
Name (ACPH, 0xDE)
Name (ASSB, Zero)
Name (AOTB, Zero)
Name (AAXB, Zero)
Name (PEHP, One)
Name (SHPC, Zero)
Name (PEPM, One)
Name (PEER, One)
Name (PECS, One)
Name (ITKE, Zero)
Name (FTBL, 0x04)
Name (SS1, Zero)
Name (SS2, Zero)
Name (SS3, One)
Name (SS4, One)
OperationRegion (GNVS, SystemMemory, 0x7AFB7000, 0x0367)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
LIDS, 8,
PWRS, 8,
ACTT, 8,
CRTT, 8,
DTS1, 8,
DTS2, 8,
APIC, 8,
MPEN, 8,
CADL, 8,
CSTE, 16,
NSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
BLCS, 8,
BRTL, 8,
ALSE, 8,
MORD, 8,
PPRP, 32,
PPRQ, 8,
LPPR, 8,
BDID, 8,
ASLB, 32,
IBTT, 8,
IPAT, 8,
ITVF, 8,
ITVM, 8,
IPSC, 8,
IBLC, 8,
IBIA, 8,
ISSC, 8,
I409, 8,
I509, 8,
I609, 8,
I709, 8,
IDMS, 8,
IF1E, 8,
GSMI, 8,
PAVP, 8,
OSCC, 8,
NEXP, 8,
DSEN, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
DID6, 32,
DID7, 32,
DID8, 32,
DID9, 32,
DIDA, 32,
DIDB, 32,
DIDC, 32,
DIDD, 32,
DIDE, 32,
DIDF, 32,
NHLA, 32,
NHLL, 32,
ADFM, 32,
PFLV, 8,
BREV, 8,
XHCI, 8,
PMEN, 8,
IPUD, 8,
U21A, 32,
GP0A, 32,
GP0L, 32,
GP1A, 32,
GP1L, 32,
GP2A, 32,
GP2L, 32,
GP3A, 32,
GP3L, 32,
GP4A, 32,
GP4L, 32,
EM0A, 32,
EM0L, 32,
EM1A, 32,
EM1L, 32,
DPTE, 8,
S0DE, 8,
S0PT, 8,
S0C3, 8,
S0HT, 8,
S0CT, 8,
CHGE, 8,
DDSP, 8,
DFAN, 8,
DPSR, 8,
DPCT, 32,
DPPT, 32,
DGC0, 32,
DGP0, 32,
DGC1, 32,
DGP1, 32,
DGC2, 32,
DGP2, 32,
DGC3, 32,
DGP3, 32,
DGC4, 32,
DGP4, 32,
DLPM, 8,
DSC0, 32,
DSC1, 32,
DSC2, 32,
DSC3, 32,
DSC4, 32,
Offset (0x10E),
LPOE, 32,
LPPS, 32,
LPST, 32,
LPPC, 32,
LPPF, 32,
DPME, 8,
BCSL, 8,
TPMA, 32,
TPML, 32,
PSSD, 8,
MDMS, 8,
GPSM, 8,
ADPM, 32,
OSSL, 8,
WIFD, 8,
DD1A, 32,
DD1L, 32,
DD3A, 32,
DD3L, 32,
BMDA, 32,
BMIA, 32,
P2BA, 32,
EDPV, 8,
DIDX, 32,
EPCS, 8,
EMNA, 64,
ELNG, 64,
WCAS, 8,
UCAS, 8,
ADOS, 8,
D11A, 32,
D11L, 32,
ECDB, 8,
ECLP, 8,
ECNO, 8,
EMOD, 8,
I21A, 32,
I21L, 32,
I31A, 32,
I31L, 32,
I41A, 32,
I41L, 32,
I51A, 32,
I51L, 32,
I61A, 32,
I61L, 32,
I71A, 32,
I71L, 32,
OTG0, 32,
OTG1, 32,
P10A, 32,
P10L, 32,
P11A, 32,
P11L, 32,
P21A, 32,
P21L, 32,
P80D, 32,
PEP0, 8,
PEPC, 16,
PEPY, 8,
PLCS, 8,
PLVL, 16,
PSCP, 8,
PSVT, 8,
RCG0, 16,
RTD3, 8,
S0ID, 8,
S21A, 32,
S21L, 32,
S31A, 32,
S31L, 32,
SD1A, 32,
SD1L, 32,
SI1A, 32,
SI1L, 32,
SP1A, 32,
SP1L, 32,
SPST, 8,
U11A, 32,
U11L, 32,
U21L, 32,
W381, 8,
ECON, 8,
PB1E, 8,
DBGS, 8,
IPUA, 32,
BNUM, 8,
B0SC, 8,
ECR1, 8,
HVCO, 8,
UBCB, 32,
SBTD, 8,
DPAT, 32,
Offset (0x222),
Offset (0x223),
Offset (0x224),
Offset (0x225),
Offset (0x226),
S1DE, 8,
S1AT, 8,
S1PT, 8,
S1CT, 8,
SSP1, 8,
DPAP, 8,
DPPP, 8,
DPCP, 8,
Offset (0x22F),
TC1V, 8,
TC2V, 8,
TSPV, 8,
DTSE, 8,
Offset (0x234),
IGDS, 8,
HPME, 8,
WWEN, 8,
Offset (0x23D),
PASL, 8,
IRMC, 8,
CPUS, 8,
STEP, 8,
RVD1, 8,
LTR1, 8,
LTR2, 8,
LTR3, 8,
LTR4, 8,
LTR5, 8,
LTR6, 8,
OBF1, 8,
OBF2, 8,
OBF3, 8,
OBF4, 8,
OBF5, 8,
OBF6, 8,
RPA1, 32,
RPA2, 32,
RPA3, 32,
RPA4, 32,
RPA5, 32,
RPA6, 32,
PML1, 16,
PML2, 16,
PML3, 16,
PML4, 16,
PML5, 16,
PML6, 16,
PNL1, 16,
PNL2, 16,
PNL3, 16,
PNL4, 16,
PNL5, 16,
PNL6, 16,
TRTV, 8,
WWPS, 32,
PWRE, 8,
PBPE, 8,
HGEN, 8,
XBAS, 32,
DLPW, 16,
DLHR, 16,
HRCO, 32,
HRPO, 16,
HRAI, 8,
PECO, 32,
PEPO, 16,
PEAI, 8,
SCBN, 8,
EECP, 8,
RPBA, 32,
NVGA, 32,
NVHA, 32,
AMDA, 32,
GN1E, 8,
GN2E, 8,
GN3E, 8,
GN4E, 8,
G1AT, 8,
G1PT, 8,
G1CT, 8,
G1HT, 8,
G1C3, 8,
TSP1, 8,
G2AT, 8,
G2PT, 8,
G2CT, 8,
G2HT, 8,
G2C3, 8,
TSP2, 8,
G3AT, 8,
G3PT, 8,
G3CT, 8,
G3HT, 8,
G3C3, 8,
TSP3, 8,
G4AT, 8,
G4PT, 8,
G4CT, 8,
G4HT, 8,
G4C3, 8,
TSP4, 8,
DPC3, 32,
DPHT, 32,
S1S3, 8,
S1HT, 8,
PCSP, 8,
IOBF, 8,
XDCE, 8,
RSVD, 16,
VTKB, 8,
WGEN, 8,
WGPL, 16,
WGTW, 32,
PSME, 8,
PSD0, 8,
PSP0, 16,
PST0, 32,
PSD1, 8,
PSP1, 16,
PST1, 32,
PDD0, 8,
PDP0, 8,
PDI0, 8,
PDL0, 16,
PDT0, 32,
PDD1, 8,
PDP1, 8,
PDI1, 8,
PDL1, 16,
PDT1, 32,
IS3A, 8,
ISC1, 8,
NFCN, 8,
PSSI, 8,
Offset (0x307),
GSBC, 8,
AG1L, 64,
AG1H, 64,
AG2L, 64,
AG2H, 64,
AG3L, 64,
AG3H, 64,
PPPR, 16,
DCFE, 16,
ODV0, 8,
ODV1, 8,
ODV2, 8,
ODV3, 8,
ODV4, 8,
ODV5, 8,
VSP1, 8,
V1AT, 8,
V1PV, 8,
V1CR, 8,
V1C3, 8,
V1HT, 8,
VSP2, 8,
V2AT, 8,
V2PV, 8,
V2CR, 8,
V2C3, 8,
V2HT, 8,
VSP3, 8,
V3AT, 8,
V3PV, 8,
V3CR, 8,
V3C3, 8,
V3HT, 8,
VSPE, 8,
SDS1, 8,
NFCS, 8,
Offset (0x359),
Offset (0x35D),
PNSL, 8,
EEPI, 8,
ETYC, 8,
WWPT, 8,
WWC3, 8,
WWHT, 8,
WWCT, 8,
DPHL, 8,
DPLL, 8,
IPCE, 8
}
Scope (_SB)
{
Name (PR00, Package (0x0E)
{
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x000AFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x000BFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x000CFFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x000EFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x000FFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0012FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0013FFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x0015FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0015FFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
Zero,
LNKE,
Zero
}
})
Name (AR00, Package (0x20)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x18
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x000DFFFF,
One,
Zero,
0x28
},
Package (0x04)
{
0x000EFFFF,
Zero,
Zero,
0x19
},
Package (0x04)
{
0x000FFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0011FFFF,
Zero,
Zero,
0x1A
},
Package (0x04)
{
0x0012FFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0x0013FFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x0015FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x0015FFFF,
One,
Zero,
0x0D
},
Package (0x04)
{
0x0016FFFF,
Zero,
Zero,
0x1B
},
Package (0x04)
{
0x0016FFFF,
One,
Zero,
0x1C
},
Package (0x04)
{
0x0016FFFF,
0x02,
Zero,
0x1D
},
Package (0x04)
{
0x0016FFFF,
0x03,
Zero,
0x1E
},
Package (0x04)
{
0x0017FFFF,
Zero,
Zero,
0x1F
},
Package (0x04)
{
0x0017FFFF,
One,
Zero,
0x20
},
Package (0x04)
{
0x0017FFFF,
0x02,
Zero,
0x21
},
Package (0x04)
{
0x0017FFFF,
0x03,
Zero,
0x22
},
Package (0x04)
{
0x0018FFFF,
Zero,
Zero,
0x04
},
Package (0x04)
{
0x0018FFFF,
One,
Zero,
0x05
},
Package (0x04)
{
0x0018FFFF,
0x02,
Zero,
0x06
},
Package (0x04)
{
0x0018FFFF,
0x03,
Zero,
0x07
},
Package (0x04)
{
0x0019FFFF,
Zero,
Zero,
0x23
},
Package (0x04)
{
0x0019FFFF,
One,
Zero,
0x24
},
Package (0x04)
{
0x0019FFFF,
0x02,
Zero,
0x25
},
Package (0x04)
{
0x001BFFFF,
Zero,
Zero,
0x03
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x27
},
Package (0x04)
{
0x001EFFFF,
Zero,
Zero,
0x2A
},
Package (0x04)
{
0x001FFFFF,
Zero,
Zero,
0x14
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10,11,12,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
Name (_ADR, Zero) // _ADR: Address
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
{
Return (BN00 ())
}
Name (_UID, Zero) // _UID: Unique ID
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR00) /* \_SB_.AR00 */
}
Return (PR00) /* \_SB_.PR00 */
}
Device (VLVC)
{
Name (_ADR, Zero) // _ADR: Address
OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x48),
MHEN, 1,
, 14,
MHBR, 24,
Offset (0xB0),
BDSM, 32,
Offset (0xBC),
TOLD, 32
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, M1MN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, M1MX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, M1LN) // _LEN: Length
M1MN = (^VLVC.TOLD & 0xFFFFF000)
M1LN = ((M1MX - M1MN) + One)
CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, GSMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, GSMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, GSLN) // _LEN: Length
GSMN = ^VLVC.BDSM /* \_SB_.PCI0.VLVC.BDSM */
GSMX = (^VLVC.TOLD & 0xFFFFF000)
GSMX--
GSLN = ((GSMX - GSMN) + One)
Return (RES0) /* \_SB_.PCI0.RES0 */
}
Name (RES0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
IO (Decode16,
0x0070, // Range Minimum
0x0077, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x006F, // Range Maximum
0x0000, // Translation Offset
0x0070, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0078, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0C80, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0xFFFF, // Range Maximum
0x0000, // Translation Offset
0xF300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x3BE00000, // Range Minimum
0x3FFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x04200000, // Length
,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0xA0000000, // Range Minimum
0xCFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x30000000, // Length
,, _Y00, AddressRangeMemory, TypeStatic)
})
Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
{
Local0 = Arg3
CreateDWordField (Local0, Zero, CDW1)
CreateDWordField (Local0, 0x04, CDW2)
CreateDWordField (Local0, 0x08, CDW3)
If ((Arg0 == GUID) && NEXP)
{
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
If (~(CDW1 & One))
{
If (CTRL & One)
{
NHPG ()
}
If (CTRL & 0x04)
{
NPME ()
}
}
If (Arg1 != One)
{
CDW1 |= 0x08
}
If (CDW3 != CTRL)
{
CDW1 |= 0x10
}
CDW3 = CTRL /* \_SB_.PCI0.CTRL */
OSCC = CTRL /* \_SB_.PCI0.CTRL */
Return (Local0)
}
Else
{
CDW1 |= 0x04
Return (Local0)
}
}
}
}
Scope (_SB)
{
Method (GPC0, 1, Serialized)
{
Local0 = Arg0
OperationRegion (PDW0, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (TEMP) /* \_SB_.GPC0.TEMP */
}
Method (SPC0, 2, Serialized)
{
Local0 = Arg0
OperationRegion (PDW0, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
TEMP = Arg1
}
Method (GPC1, 1, Serialized)
{
Local0 = (Arg0 + 0x04)
OperationRegion (PDW1, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW1, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (TEMP) /* \_SB_.GPC1.TEMP */
}
Method (SPC1, 2, Serialized)
{
Local0 = (Arg0 + 0x04)
OperationRegion (PDW1, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW1, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
TEMP = Arg1
}
Method (GGIV, 1, Serialized)
{
Local0 = Arg0
OperationRegion (PDW0, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 1,
TEMP, 1,
Offset (0x04)
}
Return (TEMP) /* \_SB_.GGIV.TEMP */
}
Method (GGOV, 1, Serialized)
{
Local0 = Arg0
OperationRegion (PDW0, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 1,
Offset (0x04)
}
Return (TEMP) /* \_SB_.GGOV.TEMP */
}
Method (SGOV, 2, Serialized)
{
Local0 = Arg0
OperationRegion (PDW0, SystemMemory, (P2BA | Local0), 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 1,
Offset (0x04)
}
TEMP = Arg1
}
}
Scope (\)
{
OperationRegion (PMIO, SystemIO, PMBS, 0x46)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
PWBS, 1,
Offset (0x20),
, 13,
PMEB, 1,
Offset (0x42),
, 1,
GPEC, 1
}
Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x20),
, 4,
PSCI, 1,
SCIS, 1
}
OperationRegion (PMCR, SystemMemory, (DD1A + 0x1000), 0x80)
Field (PMCR, DWordAcc, Lock, Preserve)
{
Offset (0x34),
, 22,
RP1D, 1,
RP2D, 1,
Offset (0x38),
, 2,
RP3D, 1,
RP4D, 1,
RP5D, 1,
RP6D, 1
}
}
Scope (_SB.PCI0)
{
Name (LTRN, Zero)
Name (OBFN, Zero)
Name (LMSL, Zero)
Name (LNSL, Zero)
Device (LPCB)
{
Name (_ADR, 0x001F0000) // _ADR: Address
OperationRegion (LPC, PCI_Config, Zero, 0x0100)
Field (LPC, AnyAcc, NoLock, Preserve)
{
Offset (0x02),
CDID, 16,
Offset (0x08),
CRID, 8,
Offset (0x80),
IOD0, 8,
IOD1, 8,
Offset (0xA0),
, 9,
PRBL, 1,
Offset (0xAC),
Offset (0xAD),
Offset (0xAE),
XUSB, 1,
Offset (0xB8),
, 22,
GR0B, 2,
Offset (0xBC),
, 2,
GR19, 2,
Offset (0xC0)
}
}
Device (RP01)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If (RPA1 != Zero)
{
Return (RPA1) /* \RPA1 */
}
Else
{
Return (0x00140000)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR1 /* \LTR1 */
LMSL = PML1 /* \PML1 */
LNSL = PNL1 /* \PNL1 */
OBFN = OBF1 /* \OBF1 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x5A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x5B),
Offset (0x60),
Offset (0x62),
PSPX, 1,
Offset (0xA4),
D3HT, 2,
Offset (0xD8),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x07,
0x05
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x07, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04) /* \_SB_.AR04 */
}
Return (PR04) /* \_SB_.PR04 */
}
}
Device (RP02)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If (RPA2 != Zero)
{
Return (RPA2) /* \RPA2 */
}
Else
{
Return (0x00140001)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR2 /* \LTR2 */
LMSL = PML2 /* \PML2 */
LNSL = PNL2 /* \PNL2 */
OBFN = OBF2 /* \OBF2 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x5A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x5B),
Offset (0x60),
Offset (0x62),
PSPX, 1,
Offset (0xA4),
D3HT, 2,
Offset (0xD8),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x07,
0x05
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x07, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05) /* \_SB_.AR05 */
}
Return (PR05) /* \_SB_.PR05 */
}
}
Device (RP03)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If (RPA3 != Zero)
{
Return (RPA3) /* \RPA3 */
}
Else
{
Return (0x00130000)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR3 /* \LTR3 */
LMSL = PML3 /* \PML3 */
LNSL = PNL3 /* \PNL3 */
OBFN = OBF3 /* \OBF3 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x5A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x5B),
Offset (0x60),
Offset (0x62),
PSPX, 1,
Offset (0xA4),
D3HT, 2,
Offset (0xD8),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x07,
0x05
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x07, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06) /* \_SB_.AR06 */
}
Return (PR06) /* \_SB_.PR06 */
}
}
Device (RP04)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If (RPA4 != Zero)
{
Return (RPA4) /* \RPA4 */
}
Else
{
Return (0x00130001)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR4 /* \LTR4 */
LMSL = PML4 /* \PML4 */
LNSL = PNL4 /* \PNL4 */
OBFN = OBF4 /* \OBF4 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x5A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x5B),
Offset (0x60),
Offset (0x62),
PSPX, 1,
Offset (0xA4),
D3HT, 2,
Offset (0xD8),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x07,
0x05
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x07, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR07) /* \_SB_.AR07 */
}
Return (PR07) /* \_SB_.PR07 */
}
}
Device (RP05)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If (RPA5 != Zero)
{
Return (RPA5) /* \RPA5 */
}
Else
{
Return (0x00130002)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR5 /* \LTR5 */
LMSL = PML5 /* \PML5 */
LNSL = PNL5 /* \PNL5 */
OBFN = OBF5 /* \OBF5 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x5A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x5B),
Offset (0x60),
Offset (0x62),
PSPX, 1,
Offset (0xA4),
D3HT, 2,
Offset (0xD8),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x07,
0x05
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x07, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04) /* \_SB_.AR04 */
}
Return (PR04) /* \_SB_.PR04 */
}
}
Device (RP06)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If (RPA6 != Zero)
{
Return (RPA6) /* \RPA6 */
}
Else
{
Return (0x00130003)
}
}
}
Scope (\_SB.PCI0)
{
Device (SATA)
{
Name (_ADR, 0x00120000) // _ADR: Address
Device (PRT0)
{
Name (_ADR, 0xFFFF) // _ADR: Address
}
Device (PRT1)
{
Name (_ADR, 0x0001FFFF) // _ADR: Address
}
OperationRegion (SATR, PCI_Config, 0x74, 0x04)
Field (SATR, WordAcc, NoLock, Preserve)
{
Offset (0x01),
PMEE, 1,
, 6,
PMES, 1
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
PMEE = One
Return (0x0F)
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
If (Arg1)
{
PMEE = Zero
}
ElseIf (Arg0 && Arg2)
{
PMEE = One
}
Else
{
PMEE = Zero
}
}
}
}
Device (XHC)
{
Name (_ADR, 0x00150000) // _ADR: Address
Name (_DDN, "Broxton XHCI controller (Host only)") // _DDN: DOS Device Name
Name (_STR, Unicode ("Broxton XHCI controller (Host only)")) // _STR: Description String
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
Return (0x03)
}
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x0D,
0x03
})
OperationRegion (USBR, PCI_Config, 0x74, 0x04)
Field (USBR, WordAcc, NoLock, Preserve)
{
Offset (0x01),
PMEE, 1,
, 6,
PMES, 1
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
PMEE = Arg0
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Method (TPLD, 2, Serialized)
{
Name (PCKG, Package (0x01)
{
Buffer (0x14) {}
})
CreateField (DerefOf (PCKG [Zero]), Zero, 0x07, REV)
REV = One
CreateField (DerefOf (PCKG [Zero]), 0x40, One, VISI)
VISI = Arg0
CreateField (DerefOf (PCKG [Zero]), 0x57, 0x08, GPOS)
GPOS = Arg1
CreateField (DerefOf (PCKG [Zero]), 0x80, 0x20, VHOS)
VHOS = 0xFFFFFFFF
CreateField (DerefOf (PCKG [Zero]), 0x4A, 0x04, SHAP)
SHAP = One
CreateField (DerefOf (PCKG [Zero]), 0x20, 0x10, WID)
WID = 0x08
CreateField (DerefOf (PCKG [Zero]), 0x30, 0x10, HGT)
HGT = 0x03
Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.TPLD.PCKG */
}
Method (TUPC, 1, Serialized)
{
Name (PCKG, Package (0x04)
{
One,
Zero,
Zero,
Zero
})
PCKG [One] = Arg0
Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.TUPC.PCKG */
}
Name (UPCN, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Name (UPC1, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Name (UPC2, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Name (PLDN, Package (0x01)
{
Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
}
})
Name (PLD1, Package (0x01)
{
Buffer (0x10)
{
/* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
/* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* i....... */
}
})
Name (PLD2, Package (0x01)
{
Buffer (0x10)
{
/* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */
/* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */
}
})
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (UPCN) /* \_SB_.PCI0.XHC_.RHUB.UPCN */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLDN) /* \_SB_.PCI0.XHC_.RHUB.PLDN */
}
}
Device (HS02)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (UPC1) /* \_SB_.PCI0.XHC_.RHUB.UPC1 */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLD1) /* \_SB_.PCI0.XHC_.RHUB.PLD1 */
}
}
Device (HS03)
{
Name (_ADR, 0x03) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x41, 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03._PLD.PLDP */
}
}
Device (HS04)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS04._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x41, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS04._PLD.PLDP */
}
}
Device (HS05)
{
Name (_ADR, 0x05) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS05._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS05._PLD.PLDP */
}
}
Device (HS06)
{
Name (_ADR, 0x06) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS06._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS06._PLD.PLDP */
}
}
Device (HS07)
{
Name (_ADR, 0x07) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS07._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x24, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* $....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS07._PLD.PLDP */
}
Device (WCAM)
{
Name (_ADR, 0x07) // _ADR: Address
Name (_PLD, Package (0x01) // _PLD: Physical Location of Device
{
ToPLD (
PLD_Revision = 0x2,
PLD_IgnoreColor = 0x1,
PLD_Red = 0x0,
PLD_Green = 0x0,
PLD_Blue = 0x0,
PLD_Width = 0x0,
PLD_Height = 0x0,
PLD_UserVisible = 0x0,
PLD_Dock = 0x0,
PLD_Lid = 0x1,
PLD_Panel = "FRONT",
PLD_VerticalPosition = "UPPER",
PLD_HorizontalPosition = "CENTER",
PLD_Shape = "UNKNOWN",
PLD_GroupOrientation = 0x0,
PLD_GroupToken = 0x0,
PLD_GroupPosition = 0x0,
PLD_Bay = 0x0,
PLD_Ejectable = 0x0,
PLD_EjectRequired = 0x0,
PLD_CabinetNumber = 0x0,
PLD_CardCageNumber = 0x0,
PLD_Reference = 0x0,
PLD_Rotation = 0x0,
PLD_Order = 0x0,
PLD_VerticalOffset = 0xFFFF,
PLD_HorizontalOffset = 0xFFFF)
})
}
}
Device (HS08)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS08._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS08._PLD.PLDP */
}
}
Device (SSP1)
{
Name (_ADR, 0x09) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (UPCN) /* \_SB_.PCI0.XHC_.RHUB.UPCN */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLDN) /* \_SB_.PCI0.XHC_.RHUB.PLDN */
}
}
Device (SSP2)
{
Name (_ADR, 0x0A) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (UPC1) /* \_SB_.PCI0.XHC_.RHUB.UPC1 */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLD1) /* \_SB_.PCI0.XHC_.RHUB.PLD1 */
}
}
Device (SSP3)
{
Name (_ADR, 0x0B) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */
}
}
Device (SSP4)
{
Name (_ADR, 0x0C) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */
}
}
Device (SSP5)
{
Name (_ADR, 0x0D) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP5._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP5._PLD.PLDP */
}
}
Device (SSP6)
{
Name (_ADR, 0x0E) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP6._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP6._PLD.PLDP */
}
}
Device (SSP7)
{
Name (_ADR, 0x0F) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP7._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP7._PLD.PLDP */
}
}
Device (SSP8)
{
Name (_ADR, 0x10) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP8._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x40, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP8._PLD.PLDP */
}
}
}
}
Scope (\_SB.PCI0)
{
Device (XDCI)
{
Name (_ADR, 0x00150001) // _ADR: Address
OperationRegion (OTGD, PCI_Config, Zero, 0x0100)
Field (OTGD, DWordAcc, NoLock, Preserve)
{
DVID, 16,
Offset (0x10),
XDCB, 64
}
Field (OTGD, ByteAcc, NoLock, Preserve)
{
Offset (0x74),
D0I3, 2,
Offset (0x75),
PMEE, 1,
, 6,
PMES, 1
}
Name (_DDN, "Broxton XDCI controller") // _DDN: DOS Device Name
Name (_STR, Unicode ("Broxton XDCI controller")) // _STR: Description String
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
Return (0x03)
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
Return (Zero)
}
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x0C,
0x03
})
Method (XDBA, 0, NotSerialized)
{
Return ((XDCB & 0xFFFFFFFFFFFFFF00))
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
If (Arg0 == ToUUID ("732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511"))
{
If (Arg1 == One)
{
Method (SPPS, 2, Serialized)
{
OperationRegion (XDBW, SystemMemory, XDBA (), 0x00110000)
Field (XDBW, WordAcc, NoLock, Preserve)
{
Offset (0x10F810),
Offset (0x10F811),
U2CP, 2,
U3CP, 2,
Offset (0x10F818),
PUPS, 2,
, 1,
PURC, 1,
Offset (0x10F81A),
Offset (0x10F81C),
, 3,
UXPE, 2,
Offset (0x10F81E)
}
Local1 = Arg0
Local2 = Arg1
If (Local1 == Zero)
{
UXPE = Zero
Local0 = Zero
While (Local0 < 0x0A)
{
Stall (0x64)
Local0++
}
PUPS = Zero
Local0 = Zero
While (Local0 < 0x07D0)
{
Stall (0x64)
If ((U2CP == Zero) && (U3CP == Zero))
{
Break
}
Local0++
}
If (U2CP != Zero) {}
If (U3CP != Zero) {}
Return (Zero)
}
If (Local1 == 0x03)
{
If (U2CP != Zero) {}
If (U3CP != Zero) {}
PUPS = 0x03
Local0 = Zero
While (Local0 < 0x07D0)
{
Stall (0x64)
If ((U2CP == 0x03) && (U3CP == 0x03))
{
Break
}
Local0++
}
If (U2CP != 0x03) {}
If (U3CP != 0x03) {}
UXPE = Local2
Return (Zero)
}
Return (Zero)
}
While (One)
{
_T_0 = ToInteger (Arg2)
If (_T_0 == Zero)
{
Return (Buffer (One)
{
0xFB /* . */
})
}
ElseIf (_T_0 == One)
{
Return (One)
}
ElseIf (_T_0 == 0x03)
{
Return (XDCE) /* \XDCE */
}
ElseIf (_T_0 == 0x04)
{
Local1 = DerefOf (Arg3 [Zero])
SPPS (Local1, Zero)
}
ElseIf (_T_0 == 0x05)
{
Return (Zero)
}
ElseIf (_T_0 == 0x06)
{
OperationRegion (XDBD, SystemMemory, XDBA (), 0x00110000)
Field (XDBD, DWordAcc, NoLock, Preserve)
{
Offset (0xC704),
, 30,
CSFR, 1,
Offset (0xC708)
}
OperationRegion (XDW2, SystemMemory, XDBA (), 0x00110000)
Field (XDW2, WordAcc, NoLock, Preserve)
{
Offset (0x10F820),
, 13,
OTHC, 1
}
If (OTHC == Zero)
{
CSFR = One
Local0 = Zero
While (Local0 < 0x64)
{
If (CSFR == Zero)
{
Break
}
Sleep (One)
}
}
Return (Zero)
}
ElseIf (_T_0 == 0x07)
{
OperationRegion (XD22, SystemMemory, XDBA (), 0x00110000)
Field (XD22, WordAcc, NoLock, Preserve)
{
Offset (0x10F818),
P2PS, 2,
Offset (0x10F81A)
}
Local0 = P2PS /* \_SB_.PCI0.XDCI._DSM.P2PS */
Return (Local0)
}
Break
}
}
}
Return (Zero)
}
}
}
Scope (\_SB.PCI0)
{
OperationRegion (SBMM, SystemMemory, ((P2BA | 0x00D60000) | 0x0600), 0x18)
Field (SBMM, DWordAcc, NoLock, Preserve)
{
GENR, 32,
Offset (0x08),
, 5,
GRR3, 1
}
Method (SCPG, 2, Serialized)
{
Name (TMP, Zero)
If (Arg0 == One)
{
TMP = GENR /* \_SB_.PCI0.GENR */
GENR = (TMP | Arg1)
}
ElseIf (Arg0 == Zero)
{
TMP = GENR /* \_SB_.PCI0.GENR */
GENR = (TMP & Arg1)
}
}
Device (SDHA)
{
Name (_ADR, 0x001C0000) // _ADR: Address
Name (_DDN, "Intel(R) eMMC Controller - 80865ACC") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
OperationRegion (PMCS, PCI_Config, 0x84, 0x04)
Field (PMCS, WordAcc, NoLock, Preserve)
{
PMSR, 32
}
OperationRegion (SCPC, PCI_Config, 0xA0, 0x04)
Field (SCPC, WordAcc, NoLock, Preserve)
{
, 17,
I3EN, 1,
DPGE, 1
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.SDHA.RBUF */
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
DPGE = Zero
I3EN = Zero
SCPG (Zero, 0xFFFFFFBE)
Sleep (0x02)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
DPGE = One
I3EN = One
SCPG (One, 0x41)
Local0 = PMSR /* \_SB_.PCI0.SDHA.PMSR */
Local0 &= One
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61"))
{
If (Arg1 == Zero)
{
While (One)
{
_T_0 = ToInteger (Arg2)
If (_T_0 == Zero)
{
Return (Buffer (One)
{
0x61 /* a */
})
}
ElseIf (_T_0 == 0x05)
{
Return (Buffer (One)
{
0x03 /* . */
})
}
ElseIf (_T_0 == 0x06)
{
Return (Buffer (One)
{
0x05 /* . */
})
}
Break
}
Return (Buffer (One)
{
0x00 /* . */
})
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
Device (EMMD)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
}
Device (UFSH)
{
Name (_ADR, 0x001D0000) // _ADR: Address
Name (_DDN, "Intel(R) UFS Controller - 80865ACE") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
OperationRegion (PMCS, PCI_Config, 0x84, 0x04)
Field (PMCS, WordAcc, NoLock, Preserve)
{
PMSR, 32
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
Local0 = PMSR /* \_SB_.PCI0.UFSH.PMSR */
Local0 &= One
}
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.UFSH.RBUF */
}
Device (UFSD)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
}
Device (SDIO)
{
Name (_ADR, 0x001E0000) // _ADR: Address
Name (_DDN, "Intel(R) SDIO Controller - 80865AD0") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Name (RBUF, ResourceTemplate ()
{
})
Name (PSTS, Zero)
OperationRegion (SCPC, PCI_Config, 0xA0, 0x04)
Field (SCPC, WordAcc, NoLock, Preserve)
{
, 17,
I3EN, 1,
DPGE, 1
}
OperationRegion (PMCS, PCI_Config, 0x84, 0x04)
Field (PMCS, WordAcc, NoLock, Preserve)
{
PMSR, 32
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.SDIO.RBUF */
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
ADBG ("SDIO:PS0")
If (PSTS == Zero)
{
ADBG ("SDIO D0 WA")
DPGE = Zero
I3EN = Zero
SCPG (Zero, 0xFFFFFEFE)
Sleep (0x02)
PSTS = One
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
ADBG ("SDIO:PS3")
If (PSTS == One)
{
DPGE = One
I3EN = One
SCPG (One, 0x0101)
Local0 = PMSR /* \_SB_.PCI0.SDIO.PMSR */
Local0 &= One
PSTS = Zero
}
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Device (SDC)
{
Name (_ADR, 0x001B0000) // _ADR: Address
Name (_DDN, "Intel(R) SD Card Controller - 80865ACA") // _DDN: DOS Device Name
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Name (GDW0, Zero)
Name (GDW1, Zero)
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001A
}
GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001A
}
})
Return (RBUF) /* \_SB_.PCI0.SDC_._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (EEPI == One)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
OperationRegion (SCPC, PCI_Config, 0xA0, 0x04)
Field (SCPC, WordAcc, NoLock, Preserve)
{
, 17,
I3EN, 1,
DPGE, 1
}
OperationRegion (PCCS, PCI_Config, 0x84, 0x04)
Field (PCCS, WordAcc, NoLock, Preserve)
{
PMSR, 32
}
OperationRegion (P2CG, SystemMemory, 0xE00680D0, 0x20)
Field (P2CG, DWordAcc, NoLock, Preserve)
{
SBAD, 32,
SBDA, 32,
SBST, 16,
SBID, 16,
SBEA, 32,
Offset (0x11),
P2HD, 8
}
OperationRegion (SCGI, SystemMemory, (GP3A | 0x0100), 0x10)
Field (SCGI, DWordAcc, NoLock, Preserve)
{
GPIS, 32
}
OperationRegion (SCGP, SystemMemory, (GP3A | 0x05D0), 0x2C)
Field (SCGP, DWordAcc, NoLock, Preserve)
{
, 1,
RXST, 1,
, 23,
RXEV, 2,
Offset (0x20),
GPOV, 1
}
Method (WAK, 0, Serialized)
{
If (GPIS == 0x04000000)
{
GPIS = 0x04000000
}
SPC0 (0x00C005D0, GDW0)
SPC1 (0x00C005D0, GDW1)
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
GRR3 = ~RXST /* \_SB_.PCI0.SDC_.RXST */
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GRR3 = ~RXST /* \_SB_.PCI0.SDC_.RXST */
DPGE = Zero
I3EN = Zero
SCPG (Zero, 0xFFFFFBFE)
Sleep (0x02)
SCPG (One, 0x0401)
GPOV = Zero
If ((GDW0 == Zero) && (RXEV == Zero))
{
GDW0 = GPC0 (0x00C005D0)
GDW1 = GPC1 (0x00C005D0)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
Local0 = PMSR /* \_SB_.PCI0.SDC_.PMSR */
GPOV = One
If (GRR3 == One)
{
Local0 = Acquire (_GL, 0x1F40)
If (Local0 == Zero)
{
P2HD = Zero
SBAD &= 0x00F00000
SBAD |= 0xD6000034
SBEA = Zero
SBDA = Zero
SBID &= 0x0800
SBID |= 0x30D8
SBST &= 0x78
SBST |= 0x0101
While (SBST & One)
{
Sleep (One)
}
SBAD &= 0x00F00000
SBAD |= 0xD6000038
SBDA = Zero
SBST &= 0x78
SBST |= 0x0101
While (SBST & One)
{
Sleep (One)
}
P2HD = One
}
Release (_GL)
}
GRR3 = Zero
SCPG (One, 0x0401)
DPGE = One
I3EN = One
Local0 = PMSR /* \_SB_.PCI0.SDC_.PMSR */
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61"))
{
While (One)
{
_T_0 = ToInteger (Arg2)
If (_T_0 == Zero)
{
While (One)
{
_T_1 = ToInteger (Arg1)
If (_T_1 == Zero)
{
Return (Buffer (One)
{
0x19 /* . */
})
}
Break
}
Return (Buffer (One)
{
0x00 /* . */
})
}
ElseIf (_T_0 == One)
{
Return (Zero)
}
ElseIf (_T_0 == 0x02)
{
Return (Buffer (One)
{
0x00 /* . */
})
}
ElseIf (_T_0 == 0x03)
{
Return (Buffer (One)
{
0x00 /* . */
})
}
ElseIf (_T_0 == 0x04)
{
GPOV = One
Sleep (0x32)
GPOV = Zero
Return (Buffer (One)
{
0x00 /* . */
})
}
ElseIf (_T_0 == 0x05)
{
Return (Buffer (One)
{
0x00 /* . */
})
}
ElseIf (_T_0 == 0x06)
{
Return (Buffer (One)
{
0x00 /* . */
})
}
Break
}
Return (Buffer (One)
{
0x01 /* . */
})
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
}
}
Scope (\_SB.PCI0)
{
Device (I2C4)
{
Name (_ADR, 0x00170000) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #4") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C4")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C4.RBUF */
}
Device (TPDS)
{
Name (_ADR, One) // _ADR: Address
Name (_HID, "SYNA7DAB") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x00000075,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFI))
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
{
If (Arg2 == Zero)
{
If (Arg1 == One)
{
Return (Buffer (One)
{
0x03 /* . */
})
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
ElseIf (Arg2 == One)
{
Return (0x20)
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PTPS == Zero)
{
Return (Zero)
}
If (TPVD == 0x53)
{
If (OSYS >= 0x07DD)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
}
Device (TPDE)
{
Name (_ADR, One) // _ADR: Address
Name (_HID, "ELAN0501") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x00000075,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFI))
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
{
If (Arg2 == Zero)
{
If (Arg1 == One)
{
Return (Buffer (One)
{
0x03 /* . */
})
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
ElseIf (Arg2 == One)
{
Return (One)
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PTPS == Zero)
{
Return (Zero)
}
If (TPVD != 0x53)
{
If (OSYS >= 0x07DD)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
}
}
}
Device (HDAS)
{
Name (_ADR, 0x000E0000) // _ADR: Address
OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
Field (HDAR, ByteAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x48),
, 6,
MBCG, 1,
Offset (0x54),
Offset (0x55),
PMEE, 1,
, 6,
PMES, 1
}
Name (NBUF, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y02)
})
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
PMEE = Arg0
}
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x0E,
0x03
})
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
ADBG ("HDAS _INI")
CreateDWordField (NBUF, \_SB.PCI0.HDAS._Y02._BAS, NBAS) // _BAS: Base Address
CreateDWordField (NBUF, \_SB.PCI0.HDAS._Y02._LEN, NLEN) // _LEN: Length
NBAS = NHLA /* \NHLA */
NLEN = NHLL /* \NHLL */
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
ADBG ("HDAS _DSM")
If (Arg0 == ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553"))
{
While (One)
{
_T_0 = ToInteger (Arg2)
If (_T_0 == Zero)
{
Return (Buffer (One)
{
0x0F /* . */
})
}
ElseIf (_T_0 == One)
{
ADBG ("_DSM Fun 1 NHLT")
Return (NBUF) /* \_SB_.PCI0.HDAS.NBUF */
}
ElseIf (_T_0 == 0x02)
{
ADBG ("_DSM Fun 2 FMSK")
Return (ADFM) /* \ADFM */
}
ElseIf (_T_0 == 0x03)
{
ADBG ("_DSM Fun 3 PPMS")
If (Arg3 == ToUUID ("b489c2de-0f96-42e1-8a2d-c25b5091ee49"))
{
Return ((ADPM & One))
}
If (Arg3 == ToUUID ("e1284052-8664-4fe4-a353-3878f72704c3"))
{
Return ((ADPM & 0x02))
}
If (Arg3 == ToUUID ("7c708106-3aff-40fe-88be-8c999b3f7445"))
{
Return ((ADPM & 0x04))
}
If (Arg3 == ToUUID ("e0e018a8-3550-4b54-a8d0-a8e05d0fcba2"))
{
Return ((ADPM & 0x08))
}
If (Arg3 == ToUUID ("202badb5-8870-4290-b536-f2380c63f55d"))
{
Return ((ADPM & 0x10))
}
If (Arg3 == ToUUID ("eb3fea76-394b-495d-a14d-8425092d5cb7"))
{
Return ((ADPM & 0x20))
}
If (Arg3 == ToUUID ("f1c69181-329a-45f0-8eef-d8bddf81e036"))
{
Return ((ADPM & 0x40))
}
If (Arg3 == ToUUID ("b3573eff-6441-4a75-91f7-4281eec4597d"))
{
Return ((ADPM & 0x80))
}
If (Arg3 == ToUUID ("ec774fa9-28d3-424a-90e4-69f984f1eeb7"))
{
Return ((ADPM & 0x0100))
}
If (Arg3 == ToUUID ("f101fef0-ff5a-4ad4-8710-43592a6f7948"))
{
Return ((ADPM & 0x0200))
}
If (Arg3 == ToUUID ("f3578986-4400-4adf-ae7e-cd433cd3f26e"))
{
Return ((ADPM & 0x0400))
}
Return (Zero)
}
Else
{
ADBG ("_DSM Fun NOK")
Return (Buffer (One)
{
0x00 /* . */
})
}
Break
}
}
ADBG ("_DSM UUID NOK")
Return (Buffer (One)
{
0x00 /* . */
})
}
}
}
Scope (_SB)
{
OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
Field (ILBR, AnyAcc, NoLock, Preserve)
{
Offset (0x08),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8,
Offset (0x88),
, 4,
UI4E, 1
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PARC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSA) /* \_SB_.PRSA */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLA, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PARC & 0x0F))
Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PARC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PARC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PBRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSB) /* \_SB_.PRSB */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLB, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PBRC & 0x0F))
Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PBRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PBRC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PCRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSC) /* \_SB_.PRSC */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLC, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PCRC & 0x0F))
Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PCRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PCRC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PDRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSD) /* \_SB_.PRSD */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLD, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PDRC & 0x0F))
Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PDRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PDRC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PERC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSE) /* \_SB_.PRSE */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLE, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PERC & 0x0F))
Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PERC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PERC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PFRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSF) /* \_SB_.PRSF */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLF, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PFRC & 0x0F))
Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PFRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PFRC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x07) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PGRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSG) /* \_SB_.PRSG */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLG, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PGRC & 0x0F))
Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PGRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PGRC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x08) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PHRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSH) /* \_SB_.PRSH */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLH, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PHRC & 0x0F))
Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PHRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (PHRC & 0x80)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
}
Scope (_SB.PCI0.LPCB)
{
OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x40),
C1EN, 1,
Offset (0x44)
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
Method (_GPE, 0, NotSerialized) // _GPE: General Purpose Events
{
Local0 = 0x2B
Return (Local0)
}
Name (SEL0, 0xF0)
Name (BFLG, Zero)
Name (RDBT, Zero)
Name (RDWL, Zero)
Name (RD3G, Zero)
Name (RDRF, Zero)
Name (PB10, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (Arg0 == 0x03)
{
Local0 = Arg1
If (Local0)
{
ECOK = One
}
Else
{
ECOK = Zero
}
}
If (ECOK)
{
Acquire (MUT1, 0xFFFF)
If (OSYS >= 0x07DC)
{
OSW8 = One
^^^^RDWL = One
^^^^RDBT = One
^^^^RD3G = One
}
Else
{
OSW8 = Zero
}
If (OSYS >= 0x07DD)
{
TPRS = 0x55
W81F = One
}
Else
{
TPRS = Zero
W81F = Zero
}
ILID ()
WLST = ^^^^RDWL /* \_SB_.RDWL */
BLTS = ^^^^RDBT /* \_SB_.RDBT */
ED3G = ^^^^RD3G /* \_SB_.RD3G */
CPLE = One
Release (MUT1)
}
If (LINX != One)
{
If ((BBTP == 0x02) && (OSYS == 0x07D9))
{
SSMP = 0xD9
}
}
If (OSYS == 0x07D9)
{
CSBM = 0x07
}
Else
{
CSBM = Zero
}
}
OperationRegion (VERM, EmbeddedControl, Zero, 0xFF)
Field (VERM, ByteAcc, NoLock, Preserve)
{
LNPS, 8
}
OperationRegion (ERAM, SystemMemory, 0xFE708500, 0x0100)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
ECTM, 8,
Offset (0x04),
CMCM, 8,
CMD1, 8,
CMD2, 8,
CMD3, 8,
Offset (0x18),
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 8,
BATD, 16,
ACDF, 1,
Offset (0x41),
, 1,
APBF, 1,
, 3,
FLS4, 1,
Offset (0x42),
FLS3, 1,
, 1,
S0EF, 1,
, 4,
PECE, 1,
, 1,
LMAT, 1,
Offset (0x45),
ECPF, 8,
Offset (0x48),
KBBL, 1,
, 1,
RFST, 1,
Offset (0x49),
ERCT, 8,
Offset (0x4B),
TBLV, 8,
ARCD, 1,
, 3,
DOCK, 1,
LANC, 1,
LIDT, 1,
CRTS, 1,
Offset (0x4E),
TJMX, 3,
, 1,
VGAF, 1,
EDTS, 1,
Offset (0x53),
DOFF, 8,
Offset (0x58),
CTMP, 8,
RG59, 8,
RTMP, 8,
Offset (0x60),
WLAN, 1,
BLTH, 1,
ST3G, 1,
CPLE, 1,
, 1,
ED3G, 1,
WLST, 1,
BLTS, 1,
, 1,
DPBL, 1,
, 4,
NIWM, 1,
TOHP, 1,
Offset (0x63),
WLPH, 1,
BBST, 1,
ODST, 1,
GPSW, 1,
, 2,
EIDL, 1,
Offset (0x70),
BTMD, 8,
MBTS, 1,
MBTF, 1,
, 1,
MFCF, 1,
, 2,
MBDX, 1,
MBAD, 1,
MBTC, 1,
, 4,
MBPC, 1,
Offset (0x77),
BA1C, 8,
MCYC, 16,
MTMP, 16,
MDAT, 16,
MCUR, 16,
MBRM, 16,
MBVG, 16,
BHVC, 16,
BLVC, 16,
LFCC, 16,
BTSN, 16,
BTDC, 16,
BTDV, 16,
BTMN, 8,
Offset (0xBB),
TARU, 8,
TARN, 8,
TARD, 8,
Offset (0xC0),
ROMD, 8,
Offset (0xD0),
EBPL, 1,
, 1,
, 1,
TPRD, 1,
Offset (0xD1),
, 1,
ECS4, 1,
ECS3, 1,
RFAT, 1,
OSW8, 1,
WOLF, 1,
WOWL, 1,
Offset (0xD5),
ECDY, 8,
DBPL, 8,
CPTS, 8
}
Scope (\_SB)
{
OperationRegion (EROM, SystemMemory, 0xFE708900, 0x0100)
Field (EROM, ByteAcc, NoLock, Preserve)
{
Offset (0x29),
SPRG, 8,
Offset (0x40),
BCL0, 8,
BCL1, 8,
BCL2, 8,
BCL3, 8,
BCL4, 8,
BCL5, 8,
BCL6, 8,
BCL7, 8,
BCL8, 8,
BCL9, 8,
Offset (0xF6),
C6SW, 8,
Offset (0xFC),
TPVD, 8,
SIMU, 8,
Offset (0xFF),
PJNA, 8
}
OperationRegion (EMBX, SystemMemory, 0xFE708A00, 0x0100)
Field (EMBX, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
ODB0, 8,
ODB1, 8,
ODB2, 8,
ODB3, 8,
ODB4, 8,
ODB5, 8,
ODB6, 8,
ODB7, 8,
ODB8, 8,
ODB9, 8,
ODBA, 8,
ODBB, 8,
ODBC, 8,
ODBD, 8,
ODBE, 8,
ODBF, 8,
ODX0, 32,
ODX1, 32,
ODX2, 32,
ODX3, 32,
BID0, 1,
BID1, 1,
BID2, 1,
BID3, 1,
BID4, 1,
BID5, 1,
BID6, 1,
BID7, 1,
BID8, 1,
BID9, 1,
BIDA, 1,
BIDB, 1,
BIDC, 1,
BIDD, 1,
BIDE, 1,
BIDF, 1,
VSID, 8,
DRID, 8,
VRID, 8,
Offset (0xA8),
OSS3, 1,
OSS4, 1,
OSS5, 1,
OSWB, 1,
Offset (0xA9),
W81F, 1,
Offset (0xAB),
WUSB, 1,
WPBN, 1,
Offset (0xB0),
AUES, 1,
CRES, 1,
UPES, 1,
BTES, 1,
CDES, 1,
Offset (0xB2),
BBTP, 8,
PTPS, 8,
, 1,
PBWR, 1,
Offset (0xC0),
VSSD, 16,
Offset (0xC3),
Offset (0xC4),
DVID, 16,
Offset (0xC8),
CFID, 8,
CPSI, 8,
PPCD, 8,
CPTB, 1,
DCTB, 1,
Offset (0xCC),
Offset (0xD0),
Offset (0xD1),
Offset (0xD2),
Offset (0xD3),
Offset (0xD4),
VGAD, 2,
Offset (0xD5),
PPDC, 8,
SGST, 8,
EDSP, 8,
Offset (0xE0),
PMNL, 8,
PMNH, 8,
PPDL, 8,
PPDH, 8,
CDSB, 8,
Offset (0xE8),
BLVL, 8,
BL86, 8,
BL87, 8,
BL88, 8,
BL89, 8,
BL8A, 8,
BLVA, 8,
Offset (0xF6),
TPRS, 8,
APS4, 8,
LLCT, 8
}
}
Mutex (MUT1, 0x00)
Mutex (MUT0, 0x00)
Method (APOL, 1, NotSerialized)
{
DBPL = Arg0
EBPL = One
}
OperationRegion (ECIO, SystemIO, 0x60, 0x10)
Field (ECIO, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
EDAT, 8,
Offset (0x06),
CMDS, 8,
Offset (0x08),
EC68, 8,
Offset (0x0A),
EC6A, 8,
Offset (0x0C),
EC6C, 8,
Offset (0x0E),
EC6E, 8
}
Method (IBE2, 0, Serialized)
{
While (EC6E & 0x02)
{
Sleep (0x50)
}
}
Method (ECMD, 1, Serialized)
{
IBE2 ()
EC6E = Arg0
IBE2 ()
}
Method (ILID, 0, NotSerialized)
{
LIDS = One
^^^GFX0.CLID = One
If (IGDS)
{
If (ECTM == 0x08)
{
LIDS = One
^^^GFX0.CLID = One
}
ElseIf (LIDT)
{
LIDS = Zero
^^^GFX0.CLID = Zero
}
Else
{
LIDS = One
^^^GFX0.CLID = One
}
}
}
Method (_Q01, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, One)
}
Method (_Q02, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (0x02, One)
}
Method (_Q04, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x83)
}
Method (_Q05, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x82)
}
Method (_Q06, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x82)
}
Method (_Q0A, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x22)
}
Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x24)
}
Method (_Q0C, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x23)
}
Method (_Q0E, 0, NotSerialized) // _Qxx: EC Query
{
If (LMAT == One)
{
HKEV (One, 0x64)
}
Else
{
HKDS ()
}
}
Method (_Q0F, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (0x02, 0x64)
}
Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x21)
}
Name (BATO, 0x80)
Name (BATN, Zero)
Name (ECEV, 0xC0)
Name (Q29F, Zero)
Method (_Q20, 0, NotSerialized) // _Qxx: EC Query
{
If (SMST & 0x40)
{
Local0 = SMAA /* \_SB_.PCI0.LPCB.EC0_.SMAA */
If (Local0 == 0x14)
{
SELE ()
If (0x40 & ECEV)
{
Notify (BAT1, 0x81) // Information Change
BINH ()
}
If (0x02 & ECEV)
{
Notify (ACAD, Zero) // Bus Check
AINH ()
}
^^^^BAT1.RCAP = Zero
Notify (BAT1, 0x80) // Status Change
BATO = BATD /* \_SB_.PCI0.LPCB.EC0_.BATD */
SMST &= 0xBF
}
}
}
Method (_Q29, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_Q30, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x43)
}
Method (_Q31, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x44)
}
Method (_Q32, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x45)
}
Method (_Q34, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x46)
}
Method (_Q35, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x41)
}
Method (_Q36, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x42)
}
Method (_Q38, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x47)
}
Method (_Q57, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x84)
}
Method (_Q58, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x84)
}
Method (_Q5B, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x24)
}
Method (_Q62, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x25)
}
Method (_Q63, 0, NotSerialized) // _Qxx: EC Query
{
If (LMAT == One)
{
If (OSYS >= 0x07DC) {}
ElseIf (RFST == Zero)
{
RFST = One
If (WLAN == One)
{
WLST = One
}
If (ST3G == One)
{
ED3G = One
}
}
Else
{
RFST = Zero
If (WLAN == One)
{
WLST = Zero
}
If (ST3G == One)
{
ED3G = Zero
}
}
}
HKEV (One, 0x02)
}
Method (_Q68, 0, NotSerialized) // _Qxx: EC Query
{
^^^WMID.FEBC [Zero] = One
Notify (WMID, 0xBD) // Device-Specific
}
Method (_Q80, 0, NotSerialized) // _Qxx: EC Query
{
Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
If (PJNA == 0x4F)
{
Notify (SEN1, 0x90) // Device-Specific
}
}
Method (_Q81, 0, NotSerialized) // _Qxx: EC Query
{
Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
If (PJNA == 0x4F)
{
Notify (SEN1, 0x90) // Device-Specific
}
}
Name (CPUF, Zero)
Mutex (PPCF, 0x00)
Method (_Q83, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_Q84, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_Q85, 0, NotSerialized) // _Qxx: EC Query
{
Notify (BAT1, 0x81) // Information Change
}
Method (_Q8C, 0, NotSerialized) // _Qxx: EC Query
{
UTPS ()
Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
}
Method (_Q8D, 0, NotSerialized) // _Qxx: EC Query
{
UTPS ()
Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
}
Method (_QAC, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_QAD, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (UTPS, 0, NotSerialized)
{
CPUF = One
Acquire (PPCF, 0xFFFF)
If ((CPTS == One) || (CPTS == 0x02))
{
If (PPCD > One)
{
Divide (PPCD, 0x02, Local1, Local0)
\_PR.CPU0._PPC = Local0
}
}
ElseIf ((CPTS == 0x03) || (CPTS == 0x04))
{
If (PPCD > One)
{
Divide (PPCD, 0x02, Local1, Local0)
\_PR.CPU0._PPC = Local0
}
}
Else
{
\_PR.CPU0._PPC = Zero
}
PNOT ()
Release (PPCF)
}
Method (_Q8E, 0, NotSerialized) // _Qxx: EC Query
{
If ((OSYS < 0x07D6) || (LINX == One))
{
If (BLVL < 0x09)
{
BLVL++
}
BRXP ()
}
Else
{
P8XH (Zero, 0x8E)
Notify (^^^GFX0.DD1F, 0x86) // Device-Specific
}
If (LMAT == One)
{
HKEV (One, 0x61)
}
}
Method (_Q8F, 0, NotSerialized) // _Qxx: EC Query
{
If ((OSYS < 0x07D6) || (LINX == One))
{
If (BLVL > Zero)
{
BLVL--
}
BRXP ()
}
Else
{
P8XH (Zero, 0x8F)
Notify (^^^GFX0.DD1F, 0x87) // Device-Specific
}
If (LMAT == One)
{
HKEV (One, 0x62)
}
Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
If (PJNA == 0x4F)
{
Notify (SEN1, 0x90) // Device-Specific
}
}
Method (_Q90, 0, NotSerialized) // _Qxx: EC Query
{
^^^^RDWL = WLST /* \_SB_.PCI0.LPCB.EC0_.WLST */
}
Method (_Q91, 0, NotSerialized) // _Qxx: EC Query
{
^^^^RDWL = WLST /* \_SB_.PCI0.LPCB.EC0_.WLST */
}
Method (_Q92, 0, NotSerialized) // _Qxx: EC Query
{
^^^^RDBT = BLTS /* \_SB_.PCI0.LPCB.EC0_.BLTS */
}
Method (_Q93, 0, NotSerialized) // _Qxx: EC Query
{
^^^^RDBT = BLTS /* \_SB_.PCI0.LPCB.EC0_.BLTS */
}
Method (_Q9B, 0, NotSerialized) // _Qxx: EC Query
{
ILID ()
Notify (LID0, 0x80) // Status Change
}
Method (_Q9C, 0, NotSerialized) // _Qxx: EC Query
{
ILID ()
Notify (LID0, 0x80) // Status Change
}
Method (_Q9D, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x63)
}
Method (_Q9E, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x63)
}
Method (_QA0, 0, NotSerialized) // _Qxx: EC Query
{
^^^^RD3G = ED3G /* \_SB_.PCI0.LPCB.EC0_.ED3G */
}
Method (_QA1, 0, NotSerialized) // _Qxx: EC Query
{
^^^^RD3G = ED3G /* \_SB_.PCI0.LPCB.EC0_.ED3G */
}
Method (_QA6, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_QC1, 0, NotSerialized) // _Qxx: EC Query
{
SSMP = 0xCA
Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
}
Method (SELE, 0, NotSerialized)
{
BATN = BATD /* \_SB_.PCI0.LPCB.EC0_.BATD */
ECEV = Zero
If (0xC0 & BATN)
{
ECEV |= One
If (0x0300 & BATN)
{
ECEV |= 0x04
}
}
Local0 = (BATN & One)
Local1 = (BATO & One)
If (Local0)
{
ECEV |= 0x0100
}
Else
{
ECEV &= 0xFEFF
}
If (~(Local0 == Local1))
{
ECEV |= 0x40
}
Local0 = (BATN & 0x02)
Local1 = (BATO & 0x02)
If (Local0)
{
ECEV |= 0x0200
}
Else
{
ECEV &= 0xFDFF
}
If (~(Local0 == Local1))
{
ECEV |= 0x80
}
Local0 = (BATN & 0xC0)
Local1 = (BATO & 0xC0)
If (~(Local0 == Local1))
{
ECEV |= 0x02
}
If (One & ECEV)
{
If (0x04 & ECEV)
{
If (BATN & 0x20)
{
ECEV |= 0x10
}
Else
{
ECEV |= 0x20
}
}
}
}
Method (BINH, 0, NotSerialized)
{
}
Method (AINH, 0, NotSerialized)
{
If ((OSYS < 0x07D6) || (LINX == One))
{
If (ACDF)
{
If (BLVL < 0x04)
{
BLVL += 0x05
}
Else
{
BLVL = 0x09
}
}
ElseIf (BLVL > 0x05)
{
BLVL -= 0x05
}
Else
{
BLVL = Zero
}
BRXP ()
}
}
Method (_QC0, 0, NotSerialized) // _Qxx: EC Query
{
HKEV (One, 0x8A)
}
Method (HKEV, 2, NotSerialized)
{
^^^WMID.FEBC [Zero] = Arg0
^^^WMID.FEBC [One] = Arg1
^^^WMID.FEBC [0x02] = Zero
^^^WMID.FEBC [0x03] = Zero
Notify (WMID, 0xBC) // Device-Specific
}
Method (HKDS, 0, NotSerialized)
{
^^^GFX0.GHDS (Zero)
}
Method (BRXP, 0, NotSerialized)
{
Local1 = (DerefOf (PNLT [BLVL]) * 0x64)
Local2 = (Local1 / 0x0100)
^^^GFX0.AINT (One, Local2)
}
}
Scope (\_SB)
{
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x00000008,
}
})
Return (RBUF) /* \_SB_.HPET._CRS.RBUF */
}
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (LDRC)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0400, // Range Minimum
0x0400, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0500, // Range Minimum
0x0500, // Range Maximum
0x01, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0600, // Range Minimum
0x0600, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x164E, // Range Minimum
0x164E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
})
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
OperationRegion (PKBS, SystemIO, 0x60, 0x05)
Field (PKBS, ByteAcc, Lock, Preserve)
{
PKBD, 8,
Offset (0x02),
Offset (0x03),
Offset (0x04),
PKBC, 8
}
Device (PS2K)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (OSYS >= 0x07DC)
{
Return ("1025110C")
}
Else
{
Return (0x0303D041)
}
}
Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQ (Edge, ActiveHigh, Exclusive, )
{1}
})
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
}
Device (PS2M)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (TPVD == 0x53)
{
Return (0x811B2E4F)
}
Else
{
Return (0x0A058416)
}
}
Method (_CID, 0, NotSerialized) // _CID: Compatible ID
{
Return (Package (0x01)
{
0x130FD041
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PTPS == Zero)
{
Return (0x0F)
}
If (OSYS >= 0x07DD)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags ()
{12}
}
EndDependentFn ()
})
}
}
Scope (_SB.PCI0)
{
Device (ISH0)
{
Name (_ADR, 0x00110000) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (Zero)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Return (Zero)
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
}
}
Scope (_PR)
{
Processor (CPU0, 0x01, 0x00000000, 0x00) {}
Processor (CPU1, 0x02, 0x00000000, 0x00) {}
Processor (CPU2, 0x03, 0x00000000, 0x00) {}
Processor (CPU3, 0x04, 0x00000000, 0x00) {}
}
Name (ECUP, One)
Mutex (EHLD, 0x00)
Mutex (MUTX, 0x00)
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
Method (P8XH, 2, Serialized)
{
If (Arg0 == Zero)
{
P80D = ((P80D & 0xFFFFFF00) | Arg1)
}
If (Arg0 == One)
{
P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
}
If (Arg0 == 0x02)
{
P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
}
If (Arg0 == 0x03)
{
P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
}
P80H = P80D /* \P80D */
}
Method (ADBG, 1, Serialized)
{
Return (Zero)
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8
}
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
GPIC = Arg0
PICM = Arg0
}
OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
Field (SWC0, ByteAcc, NoLock, Preserve)
{
G1S, 8,
Offset (0x04),
G1E, 8,
Offset (0x0A),
G1S2, 8,
G1S3, 8
}
OperationRegion (SWC1, SystemIO, PMBS, 0x2C)
Field (SWC1, DWordAcc, NoLock, Preserve)
{
Offset (0x20),
G0S, 32,
Offset (0x28),
G0EN, 32
}
OperationRegion (PMCM, SystemMemory, (DD1A + 0x1000), 0x1000)
Field (PMCM, ByteAcc, NoLock, Preserve)
{
Offset (0x94),
DHPD, 32
}
Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
{
P80D = Zero
P8XH (Zero, Arg0)
G1S3 = Ones
G1S2 = Ones
G1S = One
G1E = One
G0S = Ones
If (Arg0 == 0x03)
{
\_SB.PCI0.GFX0.CDCL (Zero, P8XH (Zero, 0x53))
}
If (Arg0 == 0x04)
{
\_SB.PCI0.LPCB.EC0.FLS4 = One
P8XH (Zero, 0x54)
}
\_SB.PTWL = \_SB.PCI0.LPCB.EC0.WLAN
\_SB.PTBT = \_SB.PCI0.LPCB.EC0.BLTH
\_SB.PT3G = \_SB.PCI0.LPCB.EC0.ST3G
\_SB.RDWL = \_SB.PCI0.LPCB.EC0.WLST
\_SB.RDBT = \_SB.PCI0.LPCB.EC0.BLTS
\_SB.RD3G = \_SB.PCI0.LPCB.EC0.ED3G
\_SB.PCI0.LPCB.EC0.CPLE = One
If (Arg0 == 0x05)
{
P8XH (Zero, 0x55)
}
}
Method (_WAK, 1, Serialized) // _WAK: Wake
{
P8XH (One, 0xAB)
If (OSYS >= 0x07DC)
{
\_SB.PCI0.LPCB.EC0.OSW8 = One
}
Else
{
\_SB.PCI0.LPCB.EC0.OSW8 = Zero
}
If (NEXP)
{
If (OSCC & 0x02)
{
\_SB.PCI0.NHPG ()
}
If (OSCC & 0x04)
{
\_SB.PCI0.NPME ()
}
}
If (OSYS == 0x07D9)
{
\_SB.CSBM = 0x07
}
Else
{
\_SB.CSBM = 0x81
}
If ((Arg0 == 0x03) || (Arg0 == 0x04))
{
Notify (\_SB.PWRB, 0x02) // Device Wake
If (PFLV == FMBL)
{
If (Arg0 == 0x04)
{
PNOT ()
}
}
If (Arg0 == 0x03)
{
P8XH (Zero, 0xE3)
}
If (Arg0 == 0x04)
{
P8XH (Zero, 0xE4)
}
If (Arg0 == 0x05)
{
P8XH (Zero, 0xE5)
}
\_SB.PCI0.LPCB.EC0.ILID ()
\_SB.PCI0.LPCB.EC0.WLAN = \_SB.PTWL
\_SB.PCI0.LPCB.EC0.BLTH = \_SB.PTBT
\_SB.PCI0.LPCB.EC0.ST3G = \_SB.PT3G
Sleep (0x0A)
\_SB.PCI0.LPCB.EC0.WLST = \_SB.RDWL
\_SB.PCI0.LPCB.EC0.BLTS = \_SB.RDBT
\_SB.PCI0.LPCB.EC0.ED3G = \_SB.RD3G
\_SB.PCI0.LPCB.EC0.CPLE = One
If (OSYS == 0x07D2)
{
If (\_PR.CPU0._PPC > Zero)
{
\_PR.CPU0._PPC -= One
PNOT ()
\_PR.CPU0._PPC += One
PNOT ()
}
Else
{
\_PR.CPU0._PPC += One
PNOT ()
\_PR.CPU0._PPC -= One
PNOT ()
}
}
}
Return (Package (0x02)
{
Zero,
Zero
})
}
Method (PNOT, 0, Serialized)
{
If (MPEN)
{
If (PDC0 & 0x08)
{
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
If (PDC0 & 0x10)
{
Sleep (0x64)
Notify (\_PR.CPU0, 0x81) // C-State Change
}
}
If (PDC1 & 0x08)
{
Notify (\_PR.CPU1, 0x80) // Performance Capability Change
If (PDC1 & 0x10)
{
Sleep (0x64)
Notify (\_PR.CPU1, 0x81) // C-State Change
}
}
If (PDC2 & 0x08)
{
Notify (\_PR.CPU2, 0x80) // Performance Capability Change
If (PDC2 & 0x10)
{
Sleep (0x64)
Notify (\_PR.CPU2, 0x81) // C-State Change
}
}
If (PDC3 & 0x08)
{
Notify (\_PR.CPU3, 0x80) // Performance Capability Change
If (PDC3 & 0x10)
{
Sleep (0x64)
Notify (\_PR.CPU3, 0x81) // C-State Change
}
}
}
Else
{
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
Sleep (0x64)
Notify (\_PR.CPU0, 0x81) // C-State Change
}
If (DPTE == One)
{
Notify (\_SB.IETM, 0x86) // Device-Specific
If (CHGE == One)
{
Notify (\_SB.CHRG, 0x80) // Status Change
}
}
}
Name (CLMP, Zero)
Name (PLEN, Zero)
Name (PLSV, 0x8000)
Name (CSEM, Zero)
Method (SPL1, 0, Serialized)
{
If (CSEM == One)
{
Return (Zero)
}
CSEM = One
}
Method (RPL1, 0, Serialized)
{
CSEM = Zero
}
Name (DDPS, Zero)
Name (UAMS, Zero)
Method (GUAM, 1, Serialized)
{
If (Arg0 != DDPS)
{
DDPS = Arg0
UAMS = (Arg0 && !PWRS)
If (Arg0)
{
If (ECNO == One)
{
ADBG ("EC Notify")
If (ECDB == One)
{
ADBG ("EC Debug")
}
If (ECLP == One)
{
ECUP = Zero
}
}
If (PLCS)
{
SPL1 ()
}
}
Else
{
If (ECNO == One)
{
ADBG ("EC Notify")
Local0 = Acquire (EHLD, 0xFFFF)
If (Local0 == Zero)
{
If (ECLP == One)
{
ECUP = One
}
Release (EHLD)
}
If (ECDB == One)
{
ADBG ("EC Debug")
}
}
P8XH (Zero, 0xC5)
P8XH (One, 0xAB)
}
}
}
Method (P_CS, 0, Serialized)
{
}
Scope (_SB)
{
Scope (PCI0)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
P8XH (Zero, 0xA8)
OSYS = 0x07D0
^LPCB.EC0.EIDL = Zero
If (CondRefOf (\_OSI))
{
If (_OSI ("Windows 2001"))
{
OSYS = 0x07D1
}
If (_OSI ("Windows 2001 SP1"))
{
OSYS = 0x07D1
}
If (_OSI ("Windows 2001 SP2"))
{
OSYS = 0x07D2
}
If (_OSI ("Windows 2006"))
{
OSYS = 0x07D6
}
If (_OSI ("Windows 2009"))
{
OSYS = 0x07D9
}
If (_OSI ("Windows 2012"))
{
OSYS = 0x07DC
}
If (_OSI ("Windows 2013"))
{
OSYS = 0x07DD
}
If (_OSI ("Windows 2015"))
{
OSYS = 0x07DF
}
If (OSYS == 0x07D9)
{
CSBM = 0x07
}
Else
{
CSBM = 0x81
}
}
}
Method (NHPG, 0, Serialized)
{
^RP01.HPEX = Zero
^RP02.HPEX = Zero
^RP03.HPEX = Zero
^RP04.HPEX = Zero
^RP05.HPEX = Zero
^RP01.HPSX = One
^RP02.HPSX = One
^RP03.HPSX = One
^RP04.HPSX = One
^RP05.HPSX = One
}
Method (NPME, 0, Serialized)
{
^RP01.PMEX = Zero
^RP02.PMEX = Zero
^RP03.PMEX = Zero
^RP04.PMEX = Zero
^RP05.PMEX = Zero
^RP01.PMSX = One
^RP02.PMSX = One
^RP03.PMSX = One
^RP04.PMSX = One
^RP05.PMSX = One
}
}
Device (GPO0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT3452") // _HID: Hardware ID
Name (_CID, "INT3452") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) Controller - North") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (LINK, "\\_SB.GPO0")
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y03)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO0._Y03._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO0._Y03._LEN, B0LN) // _LEN: Length
B0BA = GP0A /* \GP0A */
B0LN = GP0L /* \GP0L */
Return (RBUF) /* \_SB_.GPO0.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
Device (GPO1)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT3452") // _HID: Hardware ID
Name (_CID, "INT3452") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) Controller - Northwest") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y04)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO1._Y04._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO1._Y04._LEN, B0LN) // _LEN: Length
B0BA = GP1A /* \GP1A */
B0LN = GP1L /* \GP1L */
Return (RBUF) /* \_SB_.GPO1.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (OSYS < 0x07DC)
{
Return (Zero)
}
Return (0x0F)
}
}
Device (GPO2)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT3452") // _HID: Hardware ID
Name (_CID, "INT3452") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) Controller - West") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y05)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO2._Y05._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO2._Y05._LEN, B0LN) // _LEN: Length
B0BA = GP2A /* \GP2A */
B0LN = GP2L /* \GP2L */
Return (RBUF) /* \_SB_.GPO2.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (OSYS < 0x07DC)
{
Return (Zero)
}
Return (0x0F)
}
}
Device (GPO3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT3452") // _HID: Hardware ID
Name (_CID, "INT3452") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) Controller - Southwest") // _DDN: DOS Device Name
Name (_UID, 0x04) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y06)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO3._Y06._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO3._Y06._LEN, B0LN) // _LEN: Length
B0BA = GP3A /* \GP3A */
B0LN = GP3L /* \GP3L */
Return (RBUF) /* \_SB_.GPO3.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (OSYS < 0x07DC)
{
Return (Zero)
}
Return (0x0F)
}
Name (AVBL, Zero)
}
}
Scope (\)
{
Name (PICM, Zero)
Name (PRWP, Package (0x02)
{
Zero,
Zero
})
Method (GPRW, 2, NotSerialized)
{
PRWP [Zero] = Arg0
Local0 = (SS1 << One)
Local0 |= (SS2 << 0x02)
Local0 |= (SS3 << 0x03)
Local0 |= (SS4 << 0x04)
If ((One << Arg1) & Local0)
{
PRWP [One] = Arg1
}
Else
{
Local0 >>= One
FindSetLeftBit (Local0, PRWP [One])
}
Return (PRWP) /* \PRWP */
}
}
Scope (_SB)
{
Name (OSCI, Zero)
Name (OSCO, Zero)
Name (OSCP, Zero)
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
}
Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
{
CreateDWordField (Arg3, Zero, STS0)
CreateDWordField (Arg3, 0x04, CAP0)
If (Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */)
{
If (Arg1 == One)
{
OSCP = CAP0 /* \_SB_._OSC.CAP0 */
If (CAP0 & 0x04)
{
OSCO = 0x04
If (RTD3 == Zero)
{
CAP0 &= 0x3B
STS0 |= 0x10
}
}
}
Else
{
STS0 &= 0xFFFFFF00
STS0 |= 0x0A
}
}
Else
{
STS0 &= 0xFFFFFF00
STS0 |= 0x06
}
Return (Arg3)
}
}
Scope (_SB.PCI0)
{
Device (PDRC)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xE0000000, // Address Base
0x10000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEA00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED01000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED03000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED06000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED08000, // Address Base
0x00002000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED80000, // Address Base
0x00040000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
}
}
}
Method (BRTN, 1, Serialized)
{
If ((DIDX & 0x0F00) == 0x0400)
{
Notify (\_SB.PCI0.GFX0.DD1F, Arg0)
}
}
If ((S0ID == One) || (OSYS >= 0x07DF))
{
Scope (_SB.PCI0.SATA)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C4)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.XHC)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_PR.CPU0)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PEPD
})
}
Scope (_PR.CPU1)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PEPD
})
}
Scope (_PR.CPU2)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PEPD
})
}
Scope (_PR.CPU3)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PEPD
})
}
}
Scope (_SB)
{
Device (PEPD)
{
Name (_HID, "INT33A1" /* Intel Power Engine */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (PEPP, Zero)
Name (DEVS, Package (0x02)
{
0x02,
Package (0x01)
{
"\\_SB.PCI0.GFX0"
}
})
Name (DEVY, Package (0x0A)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SATA",
One,
Package (0x02)
{
Zero,
Package (0x03)
{
0xFF,
Zero,
0x81
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SATA.PRT0",
Zero,
Package (0x02)
{
Zero,
Package (0x03)
{
0xFF,
Zero,
0x81
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SATA.PRT1",
Zero,
Package (0x02)
{
Zero,
Package (0x03)
{
0xFF,
Zero,
0x81
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
}
})
Name (BCCD, Package (0x03)
{
Package (0x02)
{
"\\_SB.PCI0.SATA",
Package (0x01)
{
Package (0x03)
{
Package (0x05)
{
One,
0x08,
Zero,
One,
0xB2
},
Package (0x03)
{
Zero,
0xCD,
One
},
0x3E80
}
}
},
Package (0x02)
{
"\\_SB.PCI0.SATA.PRT0",
Package (0x01)
{
Package (0x03)
{
Package (0x05)
{
One,
0x08,
Zero,
One,
0xB2
},
Package (0x03)
{
Zero,
0xCD,
One
},
0x3E80
}
}
},
Package (0x02)
{
"\\_SB.PCI0.SATA.PRT1",
Package (0x01)
{
Package (0x03)
{
Package (0x05)
{
One,
0x08,
Zero,
One,
0xB2
},
Package (0x03)
{
Zero,
0xCD,
One
},
0x3E80
}
}
}
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSYS >= 0x07DF) || ((OSYS >= 0x07DC) && (
S0ID == One)))
{
Return (0x0F)
}
Return (Zero)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
ADBG (Concatenate ("PEPY = ", ToHexString (PEPY)))
ADBG (Concatenate ("PEPC = ", ToHexString (PEPC)))
If (Arg0 == ToUUID ("b8febfe0-baf8-454b-aecd-49fb91137b21"))
{
If (Arg2 == Zero)
{
Return (Buffer (One)
{
0x07 /* . */
})
}
If (Arg2 == One)
{
PEPP = One
Return (0x0F)
}
If (Arg2 == 0x02)
{
If (Arg1 == Zero)
{
While (One)
{
_T_0 = ToInteger (PEPY)
If (_T_0 == One)
{
Return (Package (0x02)
{
One,
Package (0x01)
{
"\\_SB.PCI0.GFX0"
}
})
}
ElseIf (_T_0 == 0x02) {}
ElseIf (_T_0 == 0x03)
{
Return (DEVS) /* \_SB_.PEPD.DEVS */
}
Else
{
Return (Package (0x01)
{
Zero
})
}
Break
}
}
}
}
If (Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66"))
{
If (Arg2 == Zero)
{
Return (Buffer (One)
{
0x07 /* . */
})
}
If (Arg2 == One)
{
If (S0ID == One)
{
Return (DEVY) /* \_SB_.PEPD.DEVY */
}
Return (Package (0x01)
{
Zero
})
}
If (Arg2 == 0x02)
{
Return (BCCD) /* \_SB_.PEPD.BCCD */
}
}
Return (One)
}
}
}
Scope (_GPE)
{
Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
\_SB.PCI0.RP03.HPME ()
\_SB.PCI0.RP05.HPME ()
}
Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
}
Method (_L0F, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
}
}
Name (NLID, Zero)
Name (LINX, Zero)
Scope (_SB)
{
Name (ECOK, Zero)
Name (SEL0, 0xF0)
Name (BFLG, Zero)
Method (VTOB, 1, NotSerialized)
{
Local0 = One
Local0 <<= Arg0
Return (Local0)
}
Method (BTOV, 1, NotSerialized)
{
Local0 = (Arg0 >> One)
Local1 = Zero
While (Local0)
{
Local1++
Local0 >>= One
}
Return (Local1)
}
Method (MKWD, 2, NotSerialized)
{
If (Arg1 & 0x80)
{
Local0 = 0xFFFF0000
}
Else
{
Local0 = Zero
}
Local0 |= Arg0
Local0 |= (Arg1 << 0x08)
Return (Local0)
}
Method (POSW, 1, NotSerialized)
{
If (Arg0 & 0x8000)
{
If (Arg0 == 0xFFFF)
{
Return (0xFFFFFFFF)
}
Else
{
Local0 = ~Arg0
Local0++
Local0 &= 0xFFFF
Return (Local0)
}
}
Else
{
Return (Arg0)
}
}
Method (GBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
Arg2 = TIDX /* \_SB_.GBFE.TIDX */
}
Method (PBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
TIDX = Arg2
}
Method (ITOS, 1, NotSerialized)
{
Local0 = Buffer (0x09)
{
/* 0000 */ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0008 */ 0x00 /* . */
}
Local7 = Buffer (0x11)
{
"0123456789ABCDEF"
}
Local1 = 0x08
Local2 = Zero
Local3 = Zero
While (Local1)
{
Local1--
Local4 = ((Arg0 >> (Local1 << 0x02)) & 0x0F)
If (Local4)
{
Local3 = Ones
}
If (Local3)
{
GBFE (Local7, Local4, RefOf (Local5))
PBFE (Local0, Local2, Local5)
Local2++
}
}
Return (Local0)
}
}
Scope (_SB)
{
Device (ACAD)
{
Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
_SB
})
Name (ACST, Zero)
Name (ACWT, Zero)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (SIMU == 0x53)
{
ACST = Zero
}
ElseIf (ECOK)
{
ACST = ^^PCI0.LPCB.EC0.ACDF /* \_SB_.PCI0.LPCB.EC0_.ACDF */
}
Else
{
ACST = One
}
PWRS = ACST /* \_SB_.ACAD.ACST */
}
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
{
ACWT = ACST /* \_SB_.ACAD.ACST */
If (SIMU == 0x53)
{
ACST = Zero
}
ElseIf (ECOK)
{
ACST = ^^PCI0.LPCB.EC0.ACDF /* \_SB_.PCI0.LPCB.EC0_.ACDF */
}
Else
{
ACST = One
}
If (ACST)
{
Local0 = One
^^BAT1.BCRI = Zero
}
Else
{
Local0 = Zero
}
PWRS = ACST /* \_SB_.ACAD.ACST */
If (ACWT != ACST)
{
PNOT ()
}
Return (Local0)
}
}
}
Scope (_SB)
{
Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (CBTI, Zero)
Name (PBTI, Zero)
Name (BTIN, Zero)
Name (BTCH, Zero)
Name (BIFI, Zero)
Name (SEL0, Zero)
Name (BCRI, Zero)
Name (PBIF, Package (0x0D)
{
One,
0x1130,
0x1130,
One,
0x2B5C,
0x012C,
0x84,
0x20,
0x20,
"BAT1 ",
"11 ",
"11 ",
"11 "
})
Name (PBIX, Package (0x14)
{
Zero,
One,
0x1130,
0x1130,
One,
0x2B5C,
0x012C,
0x84,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
0x20,
0x20,
"BAT1 ",
"11 ",
"11 ",
"11 "
})
Name (PBST, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0x2710
})
Name (ERRC, Zero)
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
_SB
})
Name (BTPF, Zero)
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
{
BTPF = Arg0
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (ECOK)
{
If (^^PCI0.LPCB.EC0.MBTS)
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Else
{
Return (0x0F)
}
}
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
{
IVBI ()
If (ECOK)
{
If (^^PCI0.LPCB.EC0.MBTS)
{
UBIF ()
}
}
Return (PBIF) /* \_SB_.BAT1.PBIF */
}
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
IVBX ()
If (ECOK)
{
If (^^PCI0.LPCB.EC0.MBTS)
{
UBIX ()
}
}
Return (PBIX) /* \_SB_.BAT1.PBIX */
}
Method (IVBI, 0, NotSerialized)
{
PBIF [One] = 0xFFFFFFFF
PBIF [0x02] = 0xFFFFFFFF
PBIF [0x04] = 0xFFFFFFFF
PBIF [0x09] = "Bad"
PBIF [0x0A] = " "
PBIF [0x0B] = "Bad"
PBIF [0x0C] = "Bad"
}
Name (LFCC, 0x1130)
Method (UBIF, 0, Serialized)
{
Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (ECOK)
{
Acquire (^^PCI0.LPCB.EC0.MUT1, 0xFFFF)
Local0 = ^^PCI0.LPCB.EC0.BTDC /* \_SB_.PCI0.LPCB.EC0_.BTDC */
Local1 = ^^PCI0.LPCB.EC0.LFCC /* \_SB_.PCI0.LPCB.EC0_.LFCC */
Local2 = ^^PCI0.LPCB.EC0.BTDV /* \_SB_.PCI0.LPCB.EC0_.BTDV */
Local3 = ^^PCI0.LPCB.EC0.BTMD /* \_SB_.PCI0.LPCB.EC0_.BTMD */
Local4 = ^^PCI0.LPCB.EC0.BTMN /* \_SB_.PCI0.LPCB.EC0_.BTMN */
Local5 = ^^PCI0.LPCB.EC0.BTSN /* \_SB_.PCI0.LPCB.EC0_.BTSN */
Release (^^PCI0.LPCB.EC0.MUT1)
PBIF [One] = Local0
PBIF [0x02] = Local1
PBIF [0x04] = Local2
LFCC = Local1
Local7 = (Local1 * 0x04)
Local7 /= 0x64
PBIF [0x06] = Local7
PBIF [0x0B] = "LION"
While (One)
{
_T_0 = Local3
If (_T_0 == One)
{
PBIF [0x09] = "AC14B3K"
}
ElseIf (_T_0 == 0x02)
{
PBIF [0x09] = "AS16A5K"
}
ElseIf (_T_0 == 0x03)
{
PBIF [0x09] = "AC14B13J"
}
ElseIf (_T_0 == 0x04)
{
PBIF [0x09] = "AC14B18J"
}
ElseIf (_T_0 == 0x05)
{
PBIF [0x09] = "AS16A8K"
}
ElseIf (_T_0 == 0x06)
{
PBIF [0x09] = "AC14B8K"
}
ElseIf (_T_0 == 0x07)
{
PBIF [0x09] = "AC14B3K"
}
ElseIf (_T_0 == 0x08)
{
PBIF [0x09] = "AC14B18J"
}
ElseIf (_T_0 == 0x09)
{
PBIF [0x09] = "AC14B13J"
}
ElseIf (_T_0 == 0x0A)
{
PBIF [0x09] = "AC14B17J"
}
Else
{
PBIF [0x09] = "xxxxx"
}
Break
}
While (One)
{
_T_1 = Local4
If (_T_1 == 0x03)
{
PBIF [0x0C] = "SANYO"
}
ElseIf (_T_1 == 0x04)
{
PBIF [0x0C] = "SONY"
}
ElseIf (_T_1 == 0x05)
{
PBIF [0x0C] = "PANASONIC"
}
ElseIf (_T_1 == 0x06)
{
PBIF [0x0C] = "SAMSUNG"
}
ElseIf (_T_1 == 0x07)
{
PBIF [0x0C] = "SIMPLO"
}
ElseIf (_T_1 == 0x08)
{
PBIF [0x0C] = "MOTOROLA"
}
ElseIf (_T_1 == 0x09)
{
PBIF [0x0C] = "CELXPERT"
}
ElseIf (_T_1 == 0x0A)
{
PBIF [0x0C] = "LGC"
}
Else
{
PBIF [0x0C] = "UNKNOWN"
}
Break
}
PBIF [0x0A] = ITOS (ToBCD (Local5))
}
}
Method (IVBX, 0, NotSerialized)
{
PBIX [0x02] = 0xFFFFFFFF
PBIX [0x03] = 0xFFFFFFFF
PBIX [0x05] = 0xFFFFFFFF
PBIX [0x10] = "Bad"
PBIX [0x11] = " "
PBIX [0x12] = "Bad"
PBIX [0x13] = "Bad"
}
Method (UBIX, 0, Serialized)
{
Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (ECOK)
{
Acquire (^^PCI0.LPCB.EC0.MUT1, 0xFFFF)
Local0 = ^^PCI0.LPCB.EC0.BTDC /* \_SB_.PCI0.LPCB.EC0_.BTDC */
Local1 = ^^PCI0.LPCB.EC0.LFCC /* \_SB_.PCI0.LPCB.EC0_.LFCC */
Local2 = ^^PCI0.LPCB.EC0.BTDV /* \_SB_.PCI0.LPCB.EC0_.BTDV */
Local3 = ^^PCI0.LPCB.EC0.BTMD /* \_SB_.PCI0.LPCB.EC0_.BTMD */
Local4 = ^^PCI0.LPCB.EC0.BTMN /* \_SB_.PCI0.LPCB.EC0_.BTMN */
Local5 = ^^PCI0.LPCB.EC0.BTSN /* \_SB_.PCI0.LPCB.EC0_.BTSN */
Release (^^PCI0.LPCB.EC0.MUT1)
PBIX [0x02] = Local0
PBIX [0x03] = Local1
PBIX [0x05] = Local2
LFCC = Local1
Local7 = (Local1 * 0x04)
Local7 /= 0x64
PBIX [0x07] = Local7
PBIX [0x12] = "LION"
While (One)
{
_T_0 = Local3
If (_T_0 == One)
{
PBIX [0x10] = "AC14B3K"
}
ElseIf (_T_0 == 0x02)
{
PBIX [0x10] = "AS16A5K"
}
ElseIf (_T_0 == 0x03)
{
PBIX [0x10] = "AC14B13J"
}
ElseIf (_T_0 == 0x04)
{
PBIX [0x10] = "AC14B18J"
}
ElseIf (_T_0 == 0x05)
{
PBIX [0x10] = "AS16A8K"
}
ElseIf (_T_0 == 0x06)
{
PBIX [0x10] = "AC14B8K"
}
ElseIf (_T_0 == 0x07)
{
PBIX [0x10] = "AC14B3K"
}
ElseIf (_T_0 == 0x08)
{
PBIX [0x10] = "AC14B18J"
}
ElseIf (_T_0 == 0x09)
{
PBIX [0x10] = "AC14B13J"
}
ElseIf (_T_0 == 0x0A)
{
PBIX [0x10] = "AC14B17J"
}
Else
{
PBIX [0x10] = "UNKNOWN"
}
Break
}
While (One)
{
_T_1 = Local4
If (_T_1 == 0x03)
{
PBIX [0x13] = "SANYO"
}
ElseIf (_T_1 == 0x04)
{
PBIX [0x13] = "SONY"
}
ElseIf (_T_1 == 0x05)
{
PBIX [0x13] = "PANASONIC"
}
ElseIf (_T_1 == 0x06)
{
PBIX [0x13] = "SAMSUNG"
}
ElseIf (_T_1 == 0x07)
{
PBIX [0x13] = "SIMPLO"
}
ElseIf (_T_1 == 0x08)
{
PBIX [0x13] = "MOTOROLA"
}
ElseIf (_T_1 == 0x09)
{
PBIX [0x13] = "CELXPERT"
}
ElseIf (_T_1 == 0x0A)
{
PBIX [0x13] = "LGC"
}
Else
{
PBIX [0x13] = "UNKNOWN"
}
Break
}
PBIX [0x11] = ITOS (ToBCD (Local5))
}
}
Name (RCAP, Zero)
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
If (ECOK)
{
Local0 = ^^PCI0.LPCB.EC0.MBTS /* \_SB_.PCI0.LPCB.EC0_.MBTS */
If (Local0 == Zero)
{
PBST [Zero] = Zero
PBST [One] = 0xFFFFFFFF
PBST [0x02] = 0xFFFFFFFF
PBST [0x03] = 0xFFFFFFFF
RCAP = Zero
Return (PBST) /* \_SB_.BAT1.PBST */
}
Local1 = ^^PCI0.LPCB.EC0.MBRM /* \_SB_.PCI0.LPCB.EC0_.MBRM */
PBST [0x02] = Local1
RCAP = Local1
Local3 = ^^PCI0.LPCB.EC0.MCUR /* \_SB_.PCI0.LPCB.EC0_.MCUR */
PBST [One] = POSW (Local3)
If (^^PCI0.LPCB.EC0.MFCF)
{
PBST [Zero] = Zero
}
ElseIf (^^PCI0.LPCB.EC0.MBPC)
{
PBST [Zero] = 0x02
}
ElseIf (^^PCI0.LPCB.EC0.MBDX)
{
PBST [Zero] = One
}
Else
{
PBST [Zero] = Zero
}
PBST [0x03] = ^^PCI0.LPCB.EC0.MBVG /* \_SB_.PCI0.LPCB.EC0_.MBVG */
}
Else
{
PBST [Zero] = Zero
PBST [One] = 0xFFFFFFFF
PBST [0x02] = 0xFFFFFFFF
PBST [0x03] = 0xFFFFFFFF
RCAP = Zero
}
Return (PBST) /* \_SB_.BAT1.PBST */
}
}
}
Scope (_SB)
{
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
If ((^^PCI0.LPCB.EC0.ECTM & 0x08) == 0x08)
{
Return (One)
}
If (^^PCI0.LPCB.EC0.LIDT)
{
Return (Zero)
}
Else
{
Return (One)
}
}
}
}
Scope (_TZ)
{
Name (LEGA, One)
Name (LEGP, One)
Name (LEGC, One)
ThermalZone (TZ01)
{
Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
{
If (LEGC == Zero)
{
Return (0x12E0)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == Zero)
{
Return (0x0EBC)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == One)
{
Return (0x0EBC)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == 0x02)
{
Return (0x0EBC)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == 0x03)
{
Return (0x0EBC)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == 0x04)
{
Return (0x0EBC)
}
Else
{
Return (0x0EBC)
}
}
Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy
{
CTYP = Arg0
}
Method (_TMP, 0, Serialized) // _TMP: Temperature
{
If (\_SB.ECOK)
{
Local0 = \_SB.PCI0.LPCB.EC0.CTMP
Return (((Local0 * 0x0A) + 0x0AAC))
}
Else
{
Return (0x0C3C)
}
}
Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
{
If (LEGP == Zero)
{
Return (0x0EF8)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == Zero)
{
Return (0x0E94)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == One)
{
Return (0x0E94)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == 0x02)
{
Return (0x0E94)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == 0x03)
{
Return (0x0E94)
}
ElseIf (\_SB.PCI0.LPCB.EC0.TJMX == 0x04)
{
Return (0x0E94)
}
Else
{
Return (0x0E94)
}
}
Name (_PSL, Package (0x01) // _PSL: Passive List
{
\_PR.CPU0
})
Name (_TSP, 0x28) // _TSP: Thermal Sampling Period
Name (_TC1, 0x02) // _TC1: Thermal Constant 1
Name (_TC2, 0x03) // _TC2: Thermal Constant 2
}
}
Scope (_SB.PCI0)
{
Name (PNLT, Buffer (0x0B)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x00, 0x00, 0x00 /* ... */
})
Name (PNL7, Buffer (0x0A)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x00, 0x00 /* .. */
})
Method (CRBL, 0, NotSerialized)
{
If (OSYS >= 0x07DC)
{
PNLT [Zero] = BCL0 /* \_SB_.BCL0 */
PNLT [One] = BCL1 /* \_SB_.BCL1 */
PNLT [0x02] = BCL2 /* \_SB_.BCL2 */
PNLT [0x03] = BCL3 /* \_SB_.BCL3 */
PNLT [0x04] = BCL4 /* \_SB_.BCL4 */
PNLT [0x05] = BCL5 /* \_SB_.BCL5 */
PNLT [0x06] = BCL6 /* \_SB_.BCL6 */
PNLT [0x07] = BCL7 /* \_SB_.BCL7 */
PNLT [0x08] = BCL8 /* \_SB_.BCL8 */
PNLT [0x09] = BCL9 /* \_SB_.BCL9 */
^GFX0.BLM0 = (BCL0 | 0x8A00)
^GFX0.BLM1 = (BCL1 | 0x9400)
^GFX0.BLM2 = (BCL2 | 0x9E00)
^GFX0.BLM3 = (BCL3 | 0xA800)
^GFX0.BLM4 = (BCL4 | 0xB200)
^GFX0.BLM5 = (BCL5 | 0xBC00)
^GFX0.BLM6 = (BCL6 | 0xC600)
^GFX0.BLM7 = (BCL7 | 0xD000)
^GFX0.BLM8 = (BCL8 | 0xDA00)
^GFX0.BLM9 = (BCL9 | 0xE400)
^GFX0.BLMX = Zero
}
Else
{
PNL7 [Zero] = BCL0 /* \_SB_.BCL0 */
PNL7 [One] = BCL1 /* \_SB_.BCL1 */
PNL7 [0x02] = BCL2 /* \_SB_.BCL2 */
PNL7 [0x03] = BCL3 /* \_SB_.BCL3 */
PNL7 [0x04] = BCL4 /* \_SB_.BCL4 */
PNL7 [0x05] = BCL5 /* \_SB_.BCL5 */
PNL7 [0x06] = BCL6 /* \_SB_.BCL6 */
PNL7 [0x07] = BCL7 /* \_SB_.BCL7 */
PNL7 [0x08] = BCL8 /* \_SB_.BCL8 */
PNL7 [0x09] = BCL9 /* \_SB_.BCL9 */
^GFX0.BLM0 = (BCL0 | 0x8A00)
^GFX0.BLM1 = (BCL1 | 0x9400)
^GFX0.BLM2 = (BCL2 | 0x9E00)
^GFX0.BLM3 = (BCL3 | 0xA800)
^GFX0.BLM4 = (BCL4 | 0xB200)
^GFX0.BLM5 = (BCL5 | 0xBC00)
^GFX0.BLM6 = (BCL6 | 0xC600)
^GFX0.BLM7 = (BCL7 | 0xD000)
^GFX0.BLM8 = (BCL8 | 0xDA00)
^GFX0.BLM9 = (BCL9 | 0xE400)
^GFX0.BLMX = Zero
}
}
}
Scope (_SB)
{
OperationRegion (EXCO, SystemIO, 0x72, 0x02)
Field (EXCO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x11),
DRAM, 8,
Offset (0x87),
RDWL, 1,
RDBT, 1,
RD3G, 1,
TPDS, 1,
PTWL, 1,
PTBT, 1,
PT3G, 1,
RDTS, 1,
Offset (0xEE),
CSBM, 8,
Offset (0xFF),
Offset (0x100)
}
}
Scope (_SB)
{
OperationRegion (GPM2, SystemMemory, 0xD0C50518, 0x04)
Field (GPM2, DWordAcc, Lock, Preserve)
{
, 1,
GSSE, 1
}
Device (A_CC)
{
Name (_HID, "SMO8820") // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (GSSE == One)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (_UID, One) // _UID: Unique ID
Name (BUF2, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive, ,, )
{
0x00000069,
}
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Return (BUF2) /* \_SB_.A_CC.BUF2 */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
Return (BUF2) /* \_SB_.A_CC.BUF2 */
}
}
}
If (ECR1 == One)
{
Scope (_SB.PCI0)
{
Name (PCIG, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)
Method (PCID, 4, Serialized)
{
If (Arg0 == PCIG)
{
If (Arg1 >= 0x03)
{
If (Arg2 == Zero)
{
Return (Buffer (0x02)
{
0x01, 0x03 /* .. */
})
}
If (Arg2 == 0x08)
{
Return (One)
}
If (Arg2 == 0x09)
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
Return (Buffer (One)
{
0x00 /* . */
})
}
}
}
Scope (_SB.PCI0)
{
Method (PCIC, 1, Serialized)
{
If (ECR1 == One)
{
If (Arg0 == PCIG)
{
Return (One)
}
}
Return (Zero)
}
}
Name (_S0, Package (0x04) // _S0_: S0 System State
{
Zero,
Zero,
Zero,
Zero
})
If (SS1)
{
Name (_S1, Package (0x04) // _S1_: S1 System State
{
One,
Zero,
Zero,
Zero
})
}
If (SS3)
{
Name (_S3, Package (0x04) // _S3_: S3 System State
{
0x05,
Zero,
Zero,
Zero
})
}
If (SS4)
{
Name (_S4, Package (0x04) // _S4_: S4 System State
{
0x06,
Zero,
Zero,
Zero
})
}
Name (_S5, Package (0x04) // _S5_: S5 System State
{
0x07,
Zero,
Zero,
Zero
})
Method (PTS, 1, NotSerialized)
{
If (Arg0) {}
}
Method (WAK, 1, NotSerialized)
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment