Skip to content

Instantly share code, notes, and snippets.

@dsd
Created October 5, 2017 08:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dsd/62293b6d8c30a5204128709813a55ffb to your computer and use it in GitHub Desktop.
Save dsd/62293b6d8c30a5204128709813a55ffb to your computer and use it in GitHub Desktop.
Acer ES1-732 DSDT
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160831-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of DSDT, Thu Oct 5 12:58:03 2017
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000074D4 (29908)
* Revision 0x02
* Checksum 0xA6
* 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 2 external control methods found during
* disassembly, but only 0 were resolved (2 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 (_PR_.DTS1, IntObj)
External (_PR_.DTS2, IntObj)
External (_PR_.DTSF, UnknownObj)
External (_PR_.NLPC, UnknownObj)
External (_SB_.CHRG, UnknownObj)
External (_SB_.IETM, UnknownObj)
External (_SB_.PCI0.GFX0.CLID, UnknownObj)
External (_SB_.PCI0.GFX0.DD1F, UnknownObj)
External (_SB_.PCI0.GFX0.GLID, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_SB_.PCI0.WMID, UnknownObj)
External (_SB_.PCI0.WMID.FEBC, UnknownObj)
External (_SB_.TPM_.PTS_, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (PDC0, UnknownObj)
External (PDC1, UnknownObj)
External (PDC2, UnknownObj)
External (PDC3, 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, 0x7AF8E000, 0x036A)
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,
ODBG, 8,
P2ME, 8,
P2MK, 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, GSMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, GSMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._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
,, _Y00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x80000000, // Range Minimum
0xBFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x40000000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xE0000000, // Range Minimum
0xEFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x10000000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFEA00000, // Range Minimum
0xFEAFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00100000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED00000, // Range Minimum
0xFED003FF, // Range Maximum
0x00000000, // Translation Offset
0x00000400, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED01000, // Range Minimum
0xFED01FFF, // Range Maximum
0x00000000, // Translation Offset
0x00001000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED03000, // Range Minimum
0xFED03FFF, // Range Maximum
0x00000000, // Translation Offset
0x00001000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED06000, // Range Minimum
0xFED06FFF, // Range Maximum
0x00000000, // Translation Offset
0x00001000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED08000, // Range Minimum
0xFED09FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED80000, // Range Minimum
0xFEDBFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00040000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED1C000, // Range Minimum
0xFED1CFFF, // Range Maximum
0x00000000, // Translation Offset
0x00001000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
0x00000000, // Granularity
0xFEE00000, // Range Minimum
0xFEEFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00100000, // Length
,, , 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,
RP2D, 1,
RP1D, 1,
Offset (0x38),
, 3,
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
{
0x08,
0x04
})
}
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 (0x09, 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
{
0x08,
0x04
})
}
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 (0x08, 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
{
0x08,
0x04
})
}
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 (0x09, 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
{
0x08,
0x04
})
}
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 (0x09, 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
{
0x08,
0x04
})
}
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 (0x09, 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)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR6 /* \LTR6 */
LMSL = PML6 /* \PML6 */
LNSL = PNL6 /* \PNL6 */
OBFN = OBF6 /* \OBF6 */
}
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x09,
0x04
})
Name (WRAP, Package (0x03)
{
Zero,
Package (0x02)
{
0x07,
0x4150
},
Package (0x02)
{
0x07,
0x4150
}
})
Name (WRID, Package (0x03)
{
Zero,
Package (0x02)
{
0x07,
0x4944
},
Package (0x02)
{
0x07,
0x4944
}
})
Method (WRDD, 0, Serialized)
{
If (CITY == 0x04)
{
Return (WRID) /* \_SB_.PCI0.RP06.PXSX.WRID */
}
Return (WRAP) /* \_SB_.PCI0.RP06.PXSX.WRAP */
}
}
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 (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05) /* \_SB_.AR05 */
}
Return (PR05) /* \_SB_.PR05 */
}
}
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
Sleep (0x64)
Return (Zero)
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS01._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.HS01._PLD.PLDP */
}
}
Device (HS02)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS02._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, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS02._PLD.PLDP */
}
}
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)
{
0xFF,
0xFF,
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)
{
0xFF,
0xFF,
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)
{
0xFF,
0xFF,
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 */ 0x40, 0x08, 0x07, 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
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS07.WCAM._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 */ 0x25, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* %....... */
/* 0010 */ 0xC8, 0x00, 0xA0, 0x00 /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS07.WCAM._PLD.PLDP */
}
}
}
Device (HS08)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
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
{
Name (UPCP, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._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.SSP1._PLD.PLDP */
}
}
Device (SSP2)
{
Name (_ADR, 0x0A) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._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, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */
}
}
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 */ 0x41, 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */
/* 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 */ 0x41, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */
/* 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,
0xFF,
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,
0xFF,
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,
0xFF,
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 */
}
}
}
}
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,
0x04
})
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 (PWM)
{
Name (_ADR, 0x001A0000) // _ADR: Address
Name (_DDN, "Intel(R) PWM Controller") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.PWM_.RBUF */
}
}
Device (URT1)
{
Name (_ADR, 0x00180000) // _ADR: Address
Name (_DDN, "Intel(R) HS-UART Controller #1") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.URT1.RBUF */
}
}
Device (URT2)
{
Name (_ADR, 0x00180001) // _ADR: Address
Name (_DDN, "Intel(R) HS-UART Controller #2") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.URT2.RBUF */
}
OperationRegion (KEYS, SystemMemory, U21A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
}
Device (URT3)
{
Name (_ADR, 0x00180002) // _ADR: Address
Name (_DDN, "Intel(R) HS-UART Controller #3") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.URT3.RBUF */
}
}
Device (URT4)
{
Name (_ADR, 0x00180003) // _ADR: Address
Name (_DDN, "Intel(R) HS-UART Controller #4") // _DDN: DOS Device Name
Name (_UID, 0x04) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.URT4.RBUF */
}
}
Device (SPI1)
{
Name (_ADR, 0x00190000) // _ADR: Address
Name (_DDN, "Intel(R) SPI Controller #1") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.SPI1.RBUF */
}
}
Device (SPI2)
{
Name (_ADR, 0x00190001) // _ADR: Address
Name (_DDN, "Intel(R) SPI Controller #2") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.SPI2.RBUF */
}
}
Device (SPI3)
{
Name (_ADR, 0x00190002) // _ADR: Address
Name (_DDN, "Intel(R) SPI Controller #3") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.SPI3.RBUF */
}
}
Device (I2C0)
{
Name (_ADR, 0x00160000) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #0") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C0")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C0.RBUF */
}
}
Device (I2C1)
{
Name (_ADR, 0x00160001) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #1") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C1")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C1.RBUF */
}
}
Device (I2C2)
{
Name (_ADR, 0x00160002) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #2") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C2")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C2.RBUF */
}
}
Device (I2C3)
{
Name (_ADR, 0x00160003) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #3") // _DDN: DOS Device Name
Name (_UID, 0x04) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C3")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C3.RBUF */
}
}
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 (I2C5)
{
Name (_ADR, 0x00170001) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #5") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C5")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C5.RBUF */
}
}
Device (I2C6)
{
Name (_ADR, 0x00170002) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #6") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C6")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C6.RBUF */
}
}
Device (I2C7)
{
Name (_ADR, 0x00170003) // _ADR: Address
Name (_DDN, "Intel(R) I2C Controller #7") // _DDN: DOS Device Name
Name (_UID, 0x04) // _UID: Unique ID
Name (LINK, "\\_SB.PCI0.I2C7")
Name (RBUF, ResourceTemplate ()
{
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C7.RBUF */
}
}
}
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 ()
{
QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
0x0000000000000001, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y01, AddressRangeACPI, TypeStatic)
})
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")
CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y01._MIN, NBAS) // _MIN: Minimum Base Address
CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y01._MAX, NMAS) // _MAX: Maximum Base Address
CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y01._LEN, NLEN) // _LEN: Length
NBAS = NHLA /* \NHLA */
NMAS = (NHLA + (NHLL - One))
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))
}
If (Arg3 == ToUUID ("13b5e4d7-a91a-4059-8290-605b01ccb650"))
{
Return ((ADPM & 0x0800))
}
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)
}
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}
})
}
Device (KBC0)
{
Name (_HID, "10250759") // _HID: Hardware ID
Name (_CID, Package (0x02) // _CID: Compatible ID
{
EisaId ("MSF0001"),
EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */
})
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}
})
}
Device (MSD0)
{
Name (_HID, "MSFT0003") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (OSYS < 0x07DD)
{
If ((CMSR (0x70) != One) && (CMSR (0x70) != 0x02))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
ElseIf (TOPD == Zero)
{
If ((CMSR (0x70) != One) && (CMSR (0x70) != 0x02))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
}
Device (MSS0)
{
Name (_HID, EisaId ("SYN1B7B")) // _HID: Hardware ID
Name (_CID, Package (0x02) // _CID: Compatible ID
{
EisaId ("SYN1B7B"),
EisaId ("PNP0F13") /* PS/2 Mouse */
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (OSYS < 0x07DD)
{
If (CMSR (0x70) == One)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
ElseIf (TOPD == Zero)
{
If (CMSR (0x70) == One)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
}
Device (MSE0)
{
Name (_HID, EisaId ("ETD050A")) // _HID: Hardware ID
Name (_CID, Package (0x02) // _CID: Compatible ID
{
EisaId ("ETD050A"),
EisaId ("PNP0F13") /* PS/2 Mouse */
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (OSYS < 0x07DD)
{
If (CMSR (0x70) == 0x02)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
ElseIf (TOPD == Zero)
{
If (CMSR (0x70) == 0x02)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
}
}
Scope (_SB.PCI0)
{
Device (ISH0)
{
Name (_ADR, 0x00110000) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
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)
Name (ADW1, Zero)
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 (CondRefOf (TCGM))
{
\_SB.TPM.PTS (Arg0)
}
If ((IOBF == 0x03) && (IS3A == One))
{
ADW1 = \_SB.GPC1 (0x00C40728)
ADW1 |= 0xFFFFC3FF
ADW1 &= 0x1000
\_SB.SPC1 (0x00C40728, ADW1)
}
If (Arg0)
{
\_SB.PCI0.LPCB.ECFG (Zero)
\_PR.CPU0._PPC = Zero
}
If (Arg0 == 0x03)
{
\_SB.PCI0.LPCB.EC0.S3ST = One
}
If (Arg0 == 0x04)
{
\_SB.PCI0.LPCB.EC0.S4ST = One
}
If (Arg0 == 0x05)
{
\_SB.PCI0.LPCB.EC0.S5ST = One
}
}
Method (_WAK, 1, Serialized) // _WAK: Wake
{
P8XH (One, 0xAB)
If (NEXP)
{
If (OSCC & 0x02)
{
\_SB.PCI0.NHPG ()
}
If (OSCC & 0x04)
{
\_SB.PCI0.NPME ()
}
}
If ((Arg0 == 0x03) || (Arg0 == 0x04))
{
If (PFLV == FMBL)
{
If (Arg0 == 0x04)
{
PNOT ()
}
}
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 ()
}
}
\_SB.PCI0.SDC.WAK ()
Notify (\_SB.PWRB, 0x02) // Device Wake
}
If (((Arg0 == 0x03) || (Arg0 == 0x04)) || (Arg0 == 0x05))
{
\_SB.PCI0.LPCB.EC0.RWAK = Zero
}
If (Arg0 == 0x03)
{
\_SB.PCI0.LPCB.ECFG (One)
\_SB.PCI0.LPCB.EC0.S3RM = One
}
If (Arg0 == 0x04)
{
\_SB.PCI0.LPCB.ECFG (One)
\_SB.PCI0.LPCB.OSTP ()
\_SB.PCI0.LPCB.EC0.S4RM = One
}
If (Arg0 == 0x05)
{
\_SB.PCI0.LPCB.EC0.S5RM = One
}
If ((Arg0 == 0x03) || (Arg0 == 0x04))
{
If (IGDS)
{
If (\_SB.PCI0.LPCB.EC0.LIDF == One)
{
\_SB.PCI0.GFX0.CLID = 0x80000000
}
If (\_SB.PCI0.LPCB.EC0.LIDF == Zero)
{
\_SB.PCI0.GFX0.CLID = 0x80000003
}
}
Notify (\_SB.PCI0.LPCB.LID0, 0x80) // Status Change
}
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 (PLCS)
{
SPL1 ()
}
}
Else
{
P8XH (Zero, 0xC5)
P8XH (One, 0xAB)
}
P_CS ()
}
}
Method (P_CS, 0, Serialized)
{
}
Scope (_SB)
{
Scope (PCI0)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
OSYS = 0x07D0
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 >= 0x07DC)
{
If (CMSR (0x72) != 0x55)
{
CMSW (0x72, 0x55)
}
}
Else
{
If (CMSR (0x72) != 0xAA)
{
CMSW (0x72, 0xAA)
}
If (OSYS == 0x03E8)
{
CMSW (0x72, 0xFF)
}
}
}
OperationRegion (XCMS, SystemIO, 0x72, 0x02)
Field (XCMS, ByteAcc, NoLock, Preserve)
{
CMSI, 8,
CMSD, 8
}
Method (CMSW, 2, NotSerialized)
{
CMSI = Arg0
CMSD = Arg1
}
Method (CMSR, 1, NotSerialized)
{
CMSI = Arg0
Return (CMSD) /* \_SB_.PCI0.CMSD */
}
Method (NHPG, 0, Serialized)
{
^RP01.HPEX = Zero
^RP02.HPEX = Zero
^RP03.HPEX = Zero
^RP04.HPEX = Zero
^RP05.HPEX = Zero
^RP06.HPEX = Zero
^RP01.HPSX = One
^RP02.HPSX = One
^RP03.HPSX = One
^RP04.HPSX = One
^RP05.HPSX = One
^RP06.HPSX = One
}
Method (NPME, 0, Serialized)
{
^RP01.PMEX = Zero
^RP02.PMEX = Zero
^RP03.PMEX = Zero
^RP04.PMEX = Zero
^RP05.PMEX = Zero
^RP06.PMEX = Zero
^RP01.PMSX = One
^RP02.PMSX = One
^RP03.PMSX = One
^RP04.PMSX = One
^RP05.PMSX = One
^RP06.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
_Y02)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO0._Y02._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO0._Y02._LEN, B0LN) // _LEN: Length
B0BA = GP0A /* \GP0A */
B0LN = GP0L /* \GP0L */
Return (RBUF) /* \_SB_.GPO0.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (Zero)
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (Arg0 == 0x08)
{
AVBL = Arg1
}
}
OperationRegion (GPOP, SystemMemory, GP0A, GP0L)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Offset (0x578),
CWLE, 1,
Offset (0x5B0),
ODPW, 1
}
}
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
_Y03)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO1._Y03._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO1._Y03._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
_Y04)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO2._Y04._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO2._Y04._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 (Zero)
}
}
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
_Y05)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000000E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.GPO3._Y05._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.GPO3._Y05._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 (Zero)
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (Arg0 == 0x08)
{
AVBL = Arg1
}
}
OperationRegion (GPOP, SystemMemory, GP3A, GP3L)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Offset (0x5F0),
SDPC, 1
}
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
}
}
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)
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 (_TZ)
{
OperationRegion (MBAR, SystemMemory, ((\_SB.PCI0.VLVC.MHBR << 0x0F) + 0x7000), 0x0100)
Field (MBAR, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
, 1,
, 1,
, 1,
, 1,
, 1,
, 1,
Offset (0x1E),
PKGT, 8
}
Name (LEGA, One)
Name (LEGP, One)
Name (LEGC, One)
PowerResource (FN00, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (0x0F)
}
Name (FANS, Zero)
Method (FCTL, 1, Serialized)
{
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If (LEGA)
{
FANS = One
FCTL (0x64)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If (LEGA)
{
FANS = Zero
FCTL (Zero)
}
}
}
Device (FAN0)
{
Name (_HID, EisaId ("PNP0C0B") /* Fan (Thermal Solution) */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
FN00
})
}
ThermalZone (TZ01)
{
Method (_AC0, 0, Serialized) // _ACx: Active Cooling
{
If (LEGA == Zero)
{
Return (0x12E0)
}
Return ((0x0AAC + (ACTT * 0x0A)))
}
Name (_AL0, Package (0x01) // _ALx: Active List
{
FAN0
})
Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
{
If (LEGC == Zero)
{
Return (0x12E0)
}
Return ((0x0AAC + (CRTT * 0x0A)))
}
Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy
{
CTYP = Arg0
}
Method (_TMP, 0, Serialized) // _TMP: Temperature
{
If (DTSE)
{
If (DTS1 >= DTS2)
{
Return ((0x0AAC + (DTS1 * 0x0A)))
}
Return ((0x0AAC + (DTS2 * 0x0A)))
}
Else
{
Return ((0x0AAC + (PKGT * 0x0A)))
}
}
Method (_PSL, 0, Serialized) // _PSL: Passive List
{
If (MPEN == 0x04)
{
Return (Package (0x04)
{
\_PR.CPU0,
\_PR.CPU1,
\_PR.CPU2,
\_PR.CPU3
})
}
If (MPEN)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Return (Package (0x01)
{
\_PR.CPU0
})
}
Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
{
If (LEGP == Zero)
{
Return (0x0EF8)
}
Return ((0x0AAC + (PSVT * 0x0A)))
}
Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1
{
Return (TC1V) /* \TC1V */
}
Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2
{
Return (TC2V) /* \TC2V */
}
Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period
{
Return (TSPV) /* \TSPV */
}
}
}
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
)
Memory32Fixed (ReadWrite,
0xFEDF0800, // Address Base
0x00001000, // 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.I2C0)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C1)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C2)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C3)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C4)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C5)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C6)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.I2C7)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.SPI1)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.SPI2)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.SPI3)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.URT1)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.URT2)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.URT4)
{
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.PCI0.SDIO)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.SDHA)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.SDC)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
}
Scope (_SB.PCI0.RP02)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
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)
{
One,
Package (0x01)
{
"\\_SB.PCI0.GFX0"
}
})
Name (DEVY, Package (0x1C)
{
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.URT1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT3",
Zero,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT4",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.PWM",
Zero,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDIO",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDC",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"INTELAUDIO\\FUNC_01&VEN_8086&DEV_280*",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.RP02.PXSX",
Zero,
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
{
ADBG (Concatenate ("PEPY = ", ToHexString (PEPY)))
ADBG (Concatenate ("PEPC = ", ToHexString (PEPC)))
ADBG (Concatenate ("OSYS = ", ToHexString (OSYS)))
If (Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66"))
{
If (Arg2 == Zero)
{
Return (Buffer (One)
{
0x07 /* . */
})
}
If (\_PR.NLPC == One)
{
DerefOf (DEVY [Zero]) [One] = One
DerefOf (DEVY [One]) [One] = Zero
DerefOf (DEVY [0x02]) [One] = Zero
DerefOf (DEVY [0x03]) [One] = Zero
}
If (\_PR.NLPC == 0x02)
{
DerefOf (DEVY [Zero]) [One] = One
DerefOf (DEVY [One]) [One] = Zero
DerefOf (DEVY [0x02]) [One] = One
DerefOf (DEVY [0x03]) [One] = Zero
}
If (\_PR.NLPC == 0x03)
{
DerefOf (DEVY [Zero]) [One] = One
DerefOf (DEVY [One]) [One] = One
DerefOf (DEVY [0x02]) [One] = One
DerefOf (DEVY [0x03]) [One] = Zero
}
If (\_PR.NLPC == 0x04)
{
DerefOf (DEVY [Zero]) [One] = One
DerefOf (DEVY [One]) [One] = One
DerefOf (DEVY [0x02]) [One] = One
DerefOf (DEVY [0x03]) [One] = One
}
If (ODBG == Zero)
{
DerefOf (DEVY [0x08]) [One] = One
}
If (ODBG == One)
{
DerefOf (DEVY [0x08]) [One] = Zero
}
If ((RP2D != One) && (^^PCI0.RP02.PDSX == One))
{
DerefOf (DEVY [0x1B]) [One] = One
}
If (Arg2 == One)
{
If (S0ID == One)
{
Return (DEVY) /* \_SB_.PEPD.DEVY */
}
Return (Package (0x01)
{
Zero
})
}
If (Arg2 == 0x02)
{
Return (BCCD) /* \_SB_.PEPD.BCCD */
}
If (Arg2 == 0x03) {}
If (Arg2 == 0x04) {}
If (Arg2 == 0x05)
{
If (S0ID == One)
{
GUAM (One)
}
}
If (Arg2 == 0x06)
{
If (S0ID == One)
{
GUAM (Zero)
}
}
}
Return (One)
}
}
}
Scope (\)
{
OperationRegion (COMP, SystemMemory, 0x7AFB5018, 0x0200)
Field (COMP, AnyAcc, Lock, Preserve)
{
RSR0, 32,
BDDD, 8,
CPFB, 8,
PBTI, 8,
BRLV, 8,
CAVR, 8,
TJMA, 16,
CORE, 8,
TOPD, 8,
TPVR, 8,
BMTP, 8,
CITY, 8,
CG16, 8,
CG17, 8,
CG18, 8,
CG19, 8,
CG20, 8,
CG21, 8,
CG22, 8,
CG23, 8,
CG24, 8,
CG25, 8,
CG26, 8,
CG27, 8,
CG28, 8,
CG29, 8,
CG30, 8,
CG31, 8,
SFNO, 16,
STDT, 16,
BFDT, 1024,
RSR1, 736,
IDFD, 1024,
RSR2, 1024
}
OperationRegion (SMIO, SystemIO, 0xB2, 0x02)
Field (SMIO, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMID, 8
}
}
Scope (_SB.PCI0.LPCB)
{
Method (ECOK, 0, NotSerialized)
{
If (^EC0.OKEC == One)
{
Return (One)
}
Else
{
Return (Zero)
}
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
Name (_GPE, 0x3C) // _GPE: General Purpose Events
Name (OKEC, One)
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (Arg0 == 0x03)
{
OKEC = Arg1
OSTP ()
ECFG (One)
}
}
OperationRegion (ECMM, SystemMemory, 0xFEDF0800, 0x1000)
Field (ECMM, AnyAcc, Lock, Preserve)
{
CDPR, 1,
LCDS, 1,
, 5,
ISEN, 1,
HTBN, 8,
HTBT, 8,
LMEN, 1,
, 4,
RFEN, 1,
Offset (0x04),
ADAP, 2,
Offset (0x05),
CORE, 2,
Offset (0x06),
Offset (0x07),
, 5,
IOAC, 1,
PTPS, 1,
Offset (0x08),
Offset (0x0A),
GPLV, 8,
Offset (0x2D),
DSPM, 1,
Offset (0x2E),
CLCD, 1,
Offset (0x40),
Offset (0x5A),
AASD, 8,
Offset (0x90),
BMFN, 72,
BATD, 56,
AATL, 1,
AACL, 1,
AAST, 1,
AARW, 1,
AAEN, 1,
, 1,
WKRN, 1,
Offset (0xA1),
, 1,
VIDO, 1,
TOUP, 1,
Offset (0xA2),
ODTS, 8,
OSTY, 4,
, 2,
ECRD, 1,
ADPT, 1,
PWAK, 1,
MWAK, 1,
LWAK, 1,
RWAK, 1,
WWAK, 1,
UWAK, 1,
KWAK, 1,
TWAK, 1,
CCAC, 1,
AOAC, 1,
BLAC, 1,
PSRC, 1,
BOAC, 1,
LCAC, 1,
AAAC, 1,
ACAC, 1,
S3ST, 1,
S3RM, 1,
S4ST, 1,
S4RM, 1,
S5ST, 1,
S5RM, 1,
CSST, 1,
CSRM, 1,
OSTT, 8,
OSST, 8,
THLT, 8,
TCNL, 8,
MODE, 1,
, 2,
INIT, 1,
FAN1, 1,
FAN2, 1,
FANT, 1,
SKNM, 1,
SDTM, 8,
FSSN, 4,
FANU, 4,
PCVL, 6,
SWTO, 1,
TTHR, 1,
TTHM, 1,
THTL, 1,
CTDP, 1,
NPST, 5,
CTMP, 8,
CTML, 8,
SKTA, 8,
SKTB, 8,
SKTC, 8,
Offset (0xB6),
NTMP, 8,
APLE, 1,
, 1,
, 1,
, 1,
CTHL, 4,
, 1,
LIDF, 1,
PMEE, 1,
PWBE, 1,
RNGE, 1,
BTWE, 1,
Offset (0xB9),
BRTS, 8,
S35M, 1,
S35S, 1,
, 2,
FFEN, 1,
FFST, 1,
Offset (0xBB),
WLAT, 1,
BTAT, 1,
WLEX, 1,
BTEX, 1,
KLSW, 1,
WLOK, 1,
AT3G, 1,
EX3G, 1,
PJID, 8,
CPUJ, 3,
CPNM, 3,
GATY, 2,
BOL0, 1,
BOL1, 1,
, 2,
BCC0, 1,
BCC1, 1,
Offset (0xBF),
BPU0, 1,
BPU1, 1,
, 2,
BOS0, 1,
BOS1, 1,
Offset (0xC0),
BTY0, 1,
BAM0, 1,
BAL0, 1,
, 1,
BMF0, 3,
Offset (0xC1),
BST0, 8,
BRC0, 16,
BSN0, 16,
BPV0, 16,
BDV0, 16,
BDC0, 16,
BFC0, 16,
GAU0, 8,
CYC0, 8,
BPC0, 16,
BAC0, 16,
BTW0, 8,
BVL0, 8,
BTM0, 8,
BAT0, 8,
BCG0, 16,
BCT0, 8,
BCI0, 8,
BCM0, 8,
BOT0, 8,
BSSB, 16,
BOV0, 8,
BCF0, 8,
BAD0, 8,
BCV1, 16,
BCV2, 16,
BCV3, 16,
BCV4, 16,
Offset (0xED),
BFCB, 16,
Offset (0xF1),
, 6,
ORRF, 1,
Offset (0xF4),
BMD0, 16,
BACV, 16,
BDN0, 8,
BTPB, 16,
Offset (0xFC)
}
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
Field (ERAM, ByteAcc, Lock, Preserve)
{
Offset (0x5A),
Offset (0x5B),
Offset (0x5C),
Offset (0x5D),
ENIB, 16,
ENDD, 8,
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 24,
SMBN, 8,
Offset (0x8A)
}
OperationRegion (CCLK, SystemIO, 0x0400, 0x04)
Field (CCLK, DWordAcc, NoLock, Preserve)
{
, 1,
DUTY, 3,
THEN, 1,
Offset (0x01),
FTT, 1,
, 8,
TSTS, 1
}
OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)
Field (ECRM, ByteAcc, Lock, Preserve)
{
Offset (0x5D),
ERIB, 16,
ERBD, 8,
Offset (0xAA),
Offset (0xAB),
Offset (0xAD),
, 4,
Offset (0xAE),
PTVL, 4,
Offset (0xB0),
Offset (0xB1),
Offset (0xB2),
Offset (0xB3),
Offset (0xB4),
Offset (0xB5),
Offset (0xBC),
Offset (0xBD)
}
Mutex (FAMX, 0x00)
Method (FANG, 1, NotSerialized)
{
Acquire (FAMX, 0xFFFF)
ERIB = Arg0
Local0 = ERBD /* \_SB_.PCI0.LPCB.EC0_.ERBD */
Release (FAMX)
Return (Local0)
}
Method (FANW, 2, NotSerialized)
{
Acquire (FAMX, 0xFFFF)
ERIB = Arg0
ERBD = Arg1
Release (FAMX)
Return (Arg1)
}
Method (TUVR, 1, NotSerialized)
{
Return (0x04)
}
Method (THRO, 1, NotSerialized)
{
ITHR (Arg0)
}
Method (CLCK, 1, NotSerialized)
{
If (Arg0 == Zero)
{
THEN = Zero
FTT = Zero
}
Else
{
DUTY = Arg0
THEN = One
}
Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
}
Method (PCLK, 0, NotSerialized)
{
IPCL ()
}
Method (ITHR, 1, NotSerialized)
{
If (Arg0 == Zero)
{
Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
}
ElseIf (Arg0 == One)
{
Return (DUTY) /* \_SB_.PCI0.LPCB.EC0_.DUTY */
}
ElseIf (Arg0 == 0x02)
{
Return (TTHR) /* \_SB_.PCI0.LPCB.EC0_.TTHR */
}
Else
{
Return (0xFF)
}
}
Method (IPCL, 0, NotSerialized)
{
Local0 = PCVL /* \_SB_.PCI0.LPCB.EC0_.PCVL */
\_PR.CPU0._PPC = Local0
PNOT ()
}
Name (CTSL, Package (0x19)
{
0x10,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x20,
0x21,
0x22,
0x24,
0x25,
0x26,
0x28,
0x90,
0x91,
0xFE,
0x92,
0x93,
0x94,
0x95,
0x96,
0x97,
0x98,
0x99
})
Mutex (CFMX, 0x00)
Method (CFUN, 4, Serialized)
{
Name (ESRC, 0x05)
If (DerefOf (Arg0 [Zero]) == 0x15)
{
CreateWordField (Arg1, Zero, SFUN)
If (SFUN == 0x9001) {}
ElseIf (SFUN == 0x9002)
{
STDT = Zero
BFDT = Zero
BFDT = Zero
STDT = One
}
ElseIf (SFUN == 0x9000)
{
Acquire (CFMX, 0xFFFF)
SMD0 = Zero
SMAD = DerefOf (Arg2 [One])
SMCM = DerefOf (Arg2 [0x02])
SMBN = DerefOf (Arg2 [0x03])
Local4 = DerefOf (Arg2 [0x04])
Local5 = Zero
BCNT = Local4
Local1 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */
While (~(Local4 == Local5))
{
Local1 [Local5] = DerefOf (Arg2 [(0x05 + Local5)]
)
Local5 += One
}
SMD0 = Local1
SMPR = DerefOf (Arg2 [Zero])
While (~(ESRC == Zero) && ~((SMST & 0x80
) == 0x80))
{
Sleep (0x14)
ESRC -= One
}
Local2 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
If ((Local2 & 0x80) == 0x80)
{
Local1 = Buffer (0x80) {}
Local1 [Zero] = Local2
If (Local2 == 0x80)
{
P80H = 0xC4
Local1 [One] = BCNT /* \_SB_.PCI0.LPCB.EC0_.BCNT */
Local3 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */
Local1 [0x02] = DerefOf (Local3 [Zero])
Local1 [0x03] = DerefOf (Local3 [One])
Local1 [0x04] = DerefOf (Local3 [0x02])
Local1 [0x05] = DerefOf (Local3 [0x03])
Local1 [0x06] = DerefOf (Local3 [0x04])
Local1 [0x07] = DerefOf (Local3 [0x05])
Local1 [0x08] = DerefOf (Local3 [0x06])
Local1 [0x09] = DerefOf (Local3 [0x07])
Local1 [0x0A] = DerefOf (Local3 [0x08])
Local1 [0x0B] = DerefOf (Local3 [0x09])
Local1 [0x0C] = DerefOf (Local3 [0x0A])
Local1 [0x0D] = DerefOf (Local3 [0x0B])
Local1 [0x0E] = DerefOf (Local3 [0x0C])
Local1 [0x0F] = DerefOf (Local3 [0x0D])
Local1 [0x10] = DerefOf (Local3 [0x0E])
Local1 [0x11] = DerefOf (Local3 [0x0F])
Local1 [0x12] = DerefOf (Local3 [0x10])
Local1 [0x13] = DerefOf (Local3 [0x11])
Local1 [0x14] = DerefOf (Local3 [0x12])
Local1 [0x15] = DerefOf (Local3 [0x13])
Local1 [0x16] = DerefOf (Local3 [0x14])
Local1 [0x17] = DerefOf (Local3 [0x15])
Local1 [0x18] = DerefOf (Local3 [0x16])
Local1 [0x19] = DerefOf (Local3 [0x17])
Local1 [0x1A] = DerefOf (Local3 [0x18])
Local1 [0x1B] = DerefOf (Local3 [0x19])
Local1 [0x1C] = DerefOf (Local3 [0x1A])
Local1 [0x1D] = DerefOf (Local3 [0x1B])
Local1 [0x1E] = DerefOf (Local3 [0x1C])
Local1 [0x1F] = DerefOf (Local3 [0x1D])
Local1 [0x20] = DerefOf (Local3 [0x1E])
Local1 [0x21] = DerefOf (Local3 [0x1F])
}
BFDT = Local1
STDT = One
}
Else
{
P80H = 0xC5
STDT = 0x8000
}
Release (CFMX)
}
Else
{
Acquire (CFMX, 0xFFFF)
SMID = Arg0
SFNO = Arg1
BFDT = Arg2
SMIC = 0xCE
Release (CFMX)
}
}
ElseIf (Match (CTSL, MEQ, DerefOf (Arg0 [Zero]),
MTR, Zero, Zero) != Ones)
{
Acquire (CFMX, 0xFFFF)
SMID = Arg0
SFNO = Arg1
BFDT = Arg2
SMIC = 0xCE
Release (CFMX)
}
Else
{
STDT = 0x8000
}
}
Name (OCSL, Package (0x03)
{
0x80,
0x81,
0x82
})
Mutex (PFMX, 0x00)
Method (PFUN, 4, Serialized)
{
Acquire (PFMX, 0xFFFF)
SMID = Arg0
SFNO = Arg1
BFDT = Arg2
SMIC = 0xCF
Release (PFMX)
STDT = Zero
}
Method (CMFC, 4, Serialized)
{
Name (RTVL, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
If (ObjectType (Arg0) == One)
{
RTVL [Zero] = 0x8000
}
ElseIf (DerefOf (Arg0 [Zero]) < 0xFF)
{
Local1 = Buffer (0x82) {}
CreateWordField (Local1, Zero, RTST)
CreateField (Local1, 0x10, 0x0400, RTDT)
If ((ToInteger (Arg0) <= 0x8F) && (ToInteger (Arg0
) >= 0x80))
{
PFUN (Arg0, Arg1, Arg2, Arg3)
}
Else
{
CFUN (Arg0, Arg1, Arg2, Arg3)
}
RTST = STDT /* \STDT */
RTDT = BFDT /* \BFDT */
Return (Local1)
}
Else
{
RTVL [Zero] = 0x8000
}
Return (RTVL) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTVL */
}
Method (_Q11, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====PROJECT_QUERY_11====="
^^^WMID.FEBC [Zero] = One
^^^WMID.FEBC [One] = HTBN /* \_SB_.PCI0.LPCB.EC0_.HTBN */
Notify (WMID, 0xBC) // Device-Specific
If (IGDS)
{
BRTN (0x87)
}
Else
{
}
^^^WMID.FEBC [One] = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
^^^WMID.FEBC [Zero] = 0x04
Notify (WMID, 0xBC) // Device-Specific
}
Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====PROJECT_QUERY_12====="
^^^WMID.FEBC [Zero] = One
^^^WMID.FEBC [One] = HTBN /* \_SB_.PCI0.LPCB.EC0_.HTBN */
Notify (WMID, 0xBC) // Device-Specific
If (IGDS)
{
BRTN (0x86)
}
Else
{
}
^^^WMID.FEBC [One] = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
^^^WMID.FEBC [Zero] = 0x04
Notify (WMID, 0xBC) // Device-Specific
}
Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====PROJECT_QUERY_1D====="
PCLK ()
}
Method (_Q1E, 0, NotSerialized) // _Qxx: EC Query
{
\_PR.CPU0._PPC = One
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
PNOT ()
}
Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query
{
\_PR.CPU0._PPC = Zero
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
PNOT ()
}
Method (_Q27, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====QUERY_27====="
Notify (PWRB, 0x80) // Status Change
}
Method (_Q41, 0, NotSerialized) // _Qxx: EC Query
{
^^^WMID.FEBC [Zero] = One
^^^WMID.FEBC [One] = 0x8A
^^^WMID.FEBC [0x02] = One
Notify (WMID, 0xBC) // Device-Specific
}
Method (_Q45, 0, NotSerialized) // _Qxx: EC Query
{
^^^WMID.FEBC [Zero] = One
^^^WMID.FEBC [One] = HTBN /* \_SB_.PCI0.LPCB.EC0_.HTBN */
Notify (WMID, 0xBC) // Device-Specific
}
Method (_Q46, 0, NotSerialized) // _Qxx: EC Query
{
^^^WMID.FEBC [Zero] = 0x02
^^^WMID.FEBC [One] = HTBN /* \_SB_.PCI0.LPCB.EC0_.HTBN */
Notify (WMID, 0xBC) // Device-Specific
}
Method (_Q10, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====QUERY_10====="
\_PR.DTSF = 0x14
SSMP = 0x66
Sleep (0x0A)
If (\_PR.DTS2 > \_PR.DTS1)
{
Local0 = \_PR.DTS2 /* External reference */
}
Else
{
Local0 = \_PR.DTS1 /* External reference */
}
Local0 |= 0x80
CMSW (0x7B, Local0)
CTMP = Local0
}
Method (_Q15, 0, NotSerialized) // _Qxx: EC Query
{
If (IGDS)
{
Local0 = LIDF /* \_SB_.PCI0.LPCB.EC0_.LIDF */
Local0 = ~Local0
(Local0 + 0x02)
If (^^^GFX0.GLID (Local0))
{
^^^GFX0.CLID |= 0x80000000 /* External reference */
}
Notify (LID0, 0x80) // Status Change
}
}
Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====QUERY_24====="
Sleep (0x03E8)
Notify (BAT1, 0x80) // Status Change
}
Method (_Q25, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====QUERY_25====="
Sleep (0x03E8)
Notify (BAT1, 0x81) // Information Change
Sleep (0x03E8)
Notify (BAT1, 0x80) // Status Change
}
Method (_Q37, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====QUERY_37====="
Notify (ACAD, 0x80) // Status Change
Sleep (0x03E8)
Notify (BAT1, 0x80) // Status Change
PWRS = One
PNOT ()
}
Method (_Q38, 0, NotSerialized) // _Qxx: EC Query
{
Debug = "=====QUERY_38====="
Notify (ACAD, 0x80) // Status Change
Sleep (0x03E8)
Notify (BAT1, 0x80) // Status Change
PWRS = Zero
PNOT ()
}
}
Scope (EC0)
{
Method (BSHK, 0, NotSerialized)
{
If (ECOK ())
{
Local2 = CMSR (0x7A)
Local1 = One
If (OSYS == 0x07D1)
{
Local1 = Zero
}
If (OSYS == 0x07D2)
{
Local1 = Zero
}
If (OSYS == 0x07D6)
{
Local1 = One
}
If (OSYS == 0x03E8)
{
Local1 = 0x02
}
If (OSYS == 0x07D9)
{
Local1 = 0x03
}
If (OSYS == 0x07DC)
{
Local1 = 0x04
}
If (OSYS == 0x07DD)
{
Local1 = 0x05
}
If (OSYS >= 0x07DF)
{
Local1 = 0x06
}
Sleep (0x14)
OSTY = Local1
Sleep (0x14)
If (OSTY != Local2)
{
Local2 = (OSTY | 0x80)
CMSW (0x7A, Local2)
}
}
}
Method (GBMN, 0, NotSerialized)
{
ToHexString (BATD, Local0)
Return (Local0)
}
Method (GUBS, 0, NotSerialized)
{
ToHexString (BSN0, Local1)
Mid (Local1, 0x02, 0x04, Local0)
Return (Local0)
}
Method (GUBT, 0, NotSerialized)
{
Local0 = "Lion"
Return (Local0)
}
Method (GUBI, 0, Serialized)
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
Local1 = BMF0 /* \_SB_.PCI0.LPCB.EC0_.BMF0 */
While (One)
{
_T_0 = Local1
If (_T_0 == One)
{
Local0 = "SANYO "
}
ElseIf (_T_0 == 0x02)
{
Local0 = "SONY "
}
ElseIf (_T_0 == 0x03)
{
Local0 = "Simplo "
}
ElseIf (_T_0 == 0x04)
{
Local0 = "PANASONIC "
}
ElseIf (_T_0 == 0x05)
{
Local0 = "SDI "
}
ElseIf (_T_0 == 0x06)
{
Local0 = "LG "
}
Else
{
Local0 = "COMPAL "
}
Break
}
Return (Local0)
}
}
Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
_SB
})
Name (BMDL, Zero)
Name (BASC, One)
Name (BFFW, Zero)
Method (_STA, 0, NotSerialized) // _STA: Status
{
^^EC0.BSHK ()
If (ECOK ())
{
If (^^EC0.BOL0)
{
Sleep (0x0A)
Return (0x1F)
}
Else
{
Sleep (0x0A)
Return (0x0F)
}
}
Else
{
Sleep (0x0A)
Return (0x1F)
}
}
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
{
Return (BIFX (Zero))
}
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
Return (BIFX (One))
}
Method (BIFX, 1, NotSerialized)
{
Name (STAX, Package (0x14)
{
Zero,
One,
0x0E10,
0x0E10,
One,
0x2A30,
0x6C,
0x4B,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
0x0108,
0x0EC4,
"Li_Ion_3600mA ",
"1234",
"Lion",
"Acer "
})
Name (STAF, Package (0x0D)
{
One,
0x0E10,
0x0E10,
One,
0x2A30,
0x6C,
0x4B,
0x0108,
0x0EC4,
"Li_Ion_3600mA ",
"1234",
"Lion",
"Acer "
})
STAX [0x10] = ^^EC0.GBMN ()
STAX [0x11] = ^^EC0.GUBS ()
STAX [0x12] = ^^EC0.GUBT ()
STAX [0x13] = ^^EC0.GUBI ()
If (ECOK ())
{
If (^^EC0.BAM0 == Zero)
{
BASC = 0x0A
}
STAX [One] = ^^EC0.BAM0 /* \_SB_.PCI0.LPCB.EC0_.BAM0 */
Local0 = ^^EC0.BDN0 /* \_SB_.PCI0.LPCB.EC0_.BDN0 */
BMDL = Local0
STAX [0x02] = (^^EC0.BDC0 * BASC)
Sleep (0x0A)
STAX [0x05] = ^^EC0.BDV0 /* \_SB_.PCI0.LPCB.EC0_.BDV0 */
Sleep (0x0A)
If (BFFW == One)
{
Local2 = ^^EC0.BFCB /* \_SB_.PCI0.LPCB.EC0_.BFCB */
}
Else
{
Local2 = ^^EC0.BFC0 /* \_SB_.PCI0.LPCB.EC0_.BFC0 */
}
Local2 = (Local2 * BASC)
Sleep (0x0A)
STAX [0x03] = Local2
Divide (Local2, 0x64, Local0, Local1)
Local1 *= 0x0A
STAX [0x06] = Local1
Divide (Local2, 0x64, Local0, Local1)
Local1 *= 0x03
STAX [0x07] = Local1
STAF [Zero] = DerefOf (STAX [One])
STAF [One] = DerefOf (STAX [0x02])
STAF [0x02] = DerefOf (STAX [0x03])
STAF [0x03] = DerefOf (STAX [0x04])
STAF [0x04] = DerefOf (STAX [0x05])
STAF [0x05] = DerefOf (STAX [0x06])
STAF [0x06] = DerefOf (STAX [0x07])
STAF [0x07] = DerefOf (STAX [0x0E])
STAF [0x08] = DerefOf (STAX [0x0F])
STAF [0x09] = DerefOf (STAX [0x10])
STAF [0x0A] = DerefOf (STAX [0x11])
STAF [0x0B] = DerefOf (STAX [0x12])
STAF [0x0C] = DerefOf (STAX [0x13])
If (Arg0 == One)
{
Return (STAX) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAX */
}
Else
{
Return (STAF) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAF */
}
}
}
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
Name (PBST, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0x0E10
})
If (ECOK ())
{
If (OSYS == 0x07DC)
{
If (^^EC0.BST0 == Zero)
{
PBST [Zero] = 0x02
Sleep (0x0A)
}
Else
{
PBST [Zero] = ^^EC0.BST0 /* \_SB_.PCI0.LPCB.EC0_.BST0 */
Sleep (0x0A)
}
}
Else
{
PBST [Zero] = ^^EC0.BST0 /* \_SB_.PCI0.LPCB.EC0_.BST0 */
Sleep (0x0A)
}
If (^^EC0.BAC0 >> 0x0F)
{
Local4 = ((~^^EC0.BAC0 & 0xFFFF) + One)
}
Else
{
Local4 = ^^EC0.BAC0 /* \_SB_.PCI0.LPCB.EC0_.BAC0 */
}
If (^^EC0.BAM0 == Zero)
{
Local4 = ((Local4 * ^^EC0.BPV0) / 0x03E8)
}
PBST [One] = Local4
Sleep (0x0A)
PBST [0x02] = (^^EC0.BRC0 * BASC)
Sleep (0x0A)
PBST [0x03] = ^^EC0.BPV0 /* \_SB_.PCI0.LPCB.EC0_.BPV0 */
Sleep (0x0A)
If (^^EC0.BDN0 != BMDL)
{
Notify (BAT1, 0x81) // Information Change
}
}
Return (PBST) /* \_SB_.PCI0.LPCB.BAT1._BST.PBST */
}
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
{
Local0 = (Arg0 / BASC)
^^EC0.BTPB = Local0
}
}
Device (ACAD)
{
Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
_SB
})
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
{
Local0 = ^^EC0.ADPT /* \_SB_.PCI0.LPCB.EC0_.ADPT */
Return (Local0)
}
}
Scope (RTC)
{
OperationRegion (RCM0, SystemCMOS, Zero, 0x10)
Field (RCM0, ByteAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
RTCS, 8,
Offset (0x02),
RTCM, 8,
Offset (0x04),
RTCH, 8,
Offset (0x06),
RTCW, 8,
RTCD, 8
}
}
Method (OSTP, 0, NotSerialized)
{
Local1 = One
If (OSYS == 0x07D1)
{
Local1 = Zero
}
If (OSYS == 0x07D2)
{
Local1 = Zero
}
If (OSYS == 0x07D6)
{
Local1 = One
}
If (OSYS == 0x03E8)
{
Local1 = 0x02
}
If (OSYS == 0x07D9)
{
Local1 = 0x03
}
If (OSYS == 0x07DC)
{
Local1 = 0x04
}
If (OSYS == 0x07DD)
{
Local1 = 0x05
}
If (OSYS == 0x07DF)
{
Local1 = 0x06
}
^EC0.OSTY = Local1
}
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
Local0 = ^^EC0.LIDF /* \_SB_.PCI0.LPCB.EC0_.LIDF */
If (Local0)
{
Return (Zero)
}
Return (One)
}
}
Method (ECFG, 1, NotSerialized)
{
If (Arg0 == One)
{
^EC0.ECRD = One
}
Else
{
^EC0.ECRD = Zero
}
}
}
Scope (_SB)
{
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
Name (PBST, One)
Name (UPPS, Zero)
Name (PBLV, Zero)
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((ECON == One) && PBST)
{
Return (0x0F)
}
Return (Zero)
}
Method (PBUP, 0, NotSerialized)
{
If (UPPS)
{
Notify (PWRB, 0xC0) // Hardware-Specific
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (Arg0 == ToUUID ("9c355bcb-35fa-44f7-8a67-447359c36a03"))
{
If (Zero == ToInteger (Arg1))
{
While (One)
{
_T_0 = ToInteger (Arg2)
If (_T_0 == Zero)
{
Return (Buffer (One)
{
0x07 /* . */
})
}
ElseIf (_T_0 == One)
{
UPPS = One
Return (Zero)
}
ElseIf (_T_0 == 0x02)
{
If (UPPS)
{
If (!PBLV)
{
Return (Zero)
}
Else
{
Return (One)
}
}
ElseIf (^^PCI0.LPCB.PRBL)
{
Return (Zero)
}
Else
{
Return (One)
}
}
Break
}
}
}
Return (Buffer (One)
{
0x00 /* . */
})
}
}
}
Scope (_GPE)
{
Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
}
Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Notify (\_SB.PCI0.HDAS, 0x02) // Device Wake
}
Method (_L0F, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
}
Method (_L2C, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
}
Method (_L39, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Notify (\_SB.PCI0.SATA.PRT0, 0x02) // Device Wake
}
Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
\_SB.PCI0.RP02.HPME ()
Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
}
Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
If (RP1D == Zero)
{
\_SB.PCI0.RP01.HPME ()
Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
}
If (RP2D == Zero)
{
\_SB.PCI0.RP02.HPME ()
Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
}
If (RP3D == Zero)
{
\_SB.PCI0.RP03.HPME ()
Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
}
If (RP4D == Zero)
{
\_SB.PCI0.RP04.HPME ()
Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
}
If (RP5D == Zero)
{
\_SB.PCI0.RP05.HPME ()
Notify (\_SB.PCI0.RP05, 0x02) // Device Wake
}
If (RP6D == Zero)
{
\_SB.PCI0.RP06.HPME ()
Notify (\_SB.PCI0.RP06, 0x02) // Device Wake
}
}
}
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