Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
HKC 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.dat, Fri Dec 1 20:53:24 2017
*
* Original Table Header:
* Signature "DSDT"
* Length 0x0001C4BD (115901)
* Revision 0x02
* Checksum 0x45
* OEM ID "ALASKA"
* OEM Table ID "A M I "
* OEM Revision 0x01072009 (17244169)
* Compiler ID "INTL"
* Compiler Version 0x20120913 (538052883)
*/
DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009)
{
/*
* 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 (_SB_.DPTF, UnknownObj)
External (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (CFGD, UnknownObj)
External (DPTF, UnknownObj)
External (NDN3, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (PDC0, UnknownObj)
External (PDC1, UnknownObj)
External (PDC2, UnknownObj)
External (PDC3, UnknownObj)
External (TCHG, UnknownObj)
External (UBTC, UnknownObj)
Name (LAPB, 0xFEE00000)
Name (CPVD, Zero)
Name (SMBS, 0xEFA0)
Name (SMBL, 0x20)
Name (SRCB, 0xFED1C000)
Name (SRCL, 0x4000)
Name (PMBS, 0x0400)
Name (PMLN, 0x80)
Name (SMIP, 0xB2)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (RCRB, 0xFED1C000)
Name (RCRL, 0x4000)
Name (HPTB, 0xFED00000)
Name (HPTC, 0xFED1F404)
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 (MBEC, 0xFFFF)
Name (PEBS, 0xE0000000)
Name (PELN, 0x10000000)
Name (SRSI, 0xB2)
Name (CSMI, 0x61)
Name (SMIA, 0xB2)
Name (SMIB, 0xB3)
Name (OFST, 0x35)
Name (TRST, 0x02)
Name (TCMF, Zero)
Name (TMF1, Zero)
Name (TMF2, Zero)
Name (TMF3, Zero)
Name (TTPF, Zero)
Name (DTPT, Zero)
Name (TTDP, One)
Name (TPMB, 0xFFFFFFFF)
Name (TPMC, 0xFFFFFFFF)
Name (TPMM, 0xFED40000)
Name (FTPM, 0xFFFFFFFF)
Name (AMDT, Zero)
Name (TPMF, Zero)
Name (WFCL, One)
Name (SGOX, One)
Name (SFCL, Zero)
Name (SGPS, One)
Name (SLTR, Zero)
Name (SBMG, Zero)
Name (PMCB, 0xFED03000)
Name (PMCP, 0xFED030A0)
Name (PUNB, 0xFED06000)
Name (IBAS, 0xFED08000)
Name (FMBL, One)
Name (FDTP, 0x02)
Name (RCOM, 0xFED98000)
OperationRegion (GNVS, SystemMemory, 0x7B748000, 0x0368)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
LCKF, 8,
PRM4, 8,
PRM5, 8,
P80D, 32,
LIDS, 8,
PWRS, 8,
DBGS, 8,
THOF, 8,
ACT1, 8,
ACTT, 8,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
DTSF, 8,
BNUM, 8,
B0SC, 8,
B1SC, 8,
B2SC, 8,
B0SS, 8,
B1SS, 8,
B2SS, 8,
REVS, 8,
OSID, 8,
ADED, 8,
APIC, 8,
MPEN, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
Offset (0x32),
NATP, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
CMCP, 8,
CIRP, 8,
W381, 8,
NPCE, 8,
Offset (0x3C),
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
KSV0, 32,
KSV1, 8,
Offset (0x67),
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
Offset (0x6E),
EMAE, 8,
EMAP, 16,
EMAL, 16,
Offset (0x74),
MEFE, 8,
DSTS, 8,
Offset (0x78),
TPMP, 8,
TM2E, 8,
MORD, 8,
TCGP, 8,
PPRP, 32,
PPRQ, 8,
LPPR, 8,
GTF0, 56,
GTF2, 56,
IDEM, 8,
GTF1, 56,
Offset (0xAA),
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,
IDMM, 8,
IDMS, 8,
IF1E, 8,
HVCO, 8,
NXD1, 32,
NXD2, 32,
NXD3, 32,
NXD4, 32,
NXD5, 32,
NXD6, 32,
NXD7, 32,
NXD8, 32,
GSMI, 8,
PAVP, 8,
Offset (0xE1),
OSCC, 8,
NEXP, 8,
Offset (0xEB),
DSEN, 8,
ECON, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
Offset (0x100),
NVGA, 32,
NVHA, 32,
AMDA, 32,
DID6, 32,
DID7, 32,
DID8, 32,
Offset (0x147),
OTG0, 32,
OTG1, 32,
LPE0, 32,
LPE1, 32,
LPE2, 32,
ACST, 8,
BTST, 8,
PFLV, 8,
BREV, 8,
AOAC, 8,
XHCI, 8,
PMEN, 8,
USEL, 8,
ISPA, 32,
ISPD, 8,
D10A, 32,
D10L, 32,
D11A, 32,
D11L, 32,
P10A, 32,
P10L, 32,
P11A, 32,
P11L, 32,
P20A, 32,
P20L, 32,
P21A, 32,
P21L, 32,
U10A, 32,
U10L, 32,
U11A, 32,
U11L, 32,
U20A, 32,
U20L, 32,
U21A, 32,
U21L, 32,
SP0A, 32,
SP0L, 32,
SP1A, 32,
SP1L, 32,
S20A, 32,
S20L, 32,
S21A, 32,
S21L, 32,
S30A, 32,
S30L, 32,
S31A, 32,
S31L, 32,
D20A, 32,
D20L, 32,
D21A, 32,
D21L, 32,
I10A, 32,
I10L, 32,
I11A, 32,
I11L, 32,
I20A, 32,
I20L, 32,
I21A, 32,
I21L, 32,
I30A, 32,
I30L, 32,
I31A, 32,
I31L, 32,
I40A, 32,
I40L, 32,
I41A, 32,
I41L, 32,
I50A, 32,
I50L, 32,
I51A, 32,
I51L, 32,
I60A, 32,
I60L, 32,
I61A, 32,
I61L, 32,
I70A, 32,
I70L, 32,
I71A, 32,
I71L, 32,
EM0A, 32,
EM0L, 32,
EM1A, 32,
EM1L, 32,
SI0A, 32,
SI0L, 32,
SI1A, 32,
SI1L, 32,
SD0A, 32,
SD0L, 32,
SD1A, 32,
SD1L, 32,
ISH0, 32,
ISH1, 32,
Offset (0x2A4),
Offset (0x2A8),
DPTE, 8,
THM0, 8,
THM1, 8,
THM2, 8,
THM3, 8,
THM4, 8,
CHGR, 8,
DDSP, 8,
DSOC, 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,
DDBG, 8,
LPOE, 32,
LPPS, 32,
LPST, 32,
LPPC, 32,
LPPF, 32,
DPME, 8,
BCSL, 8,
RSVD, 8,
BTHS, 8,
TM2A, 32,
TM2L, 32,
PSSD, 8,
ITSA, 8,
S0IX, 8,
SDMD, 8,
EMVR, 8,
BMBD, 32,
FSAS, 8,
BDID, 8,
FBID, 8,
OTGM, 8,
STEP, 8,
SOCS, 8,
AMTE, 8,
ABC0, 8,
ABC1, 8,
ABC2, 8,
ABC3, 8,
ABC4, 8,
ABC5, 8,
DPHL, 8,
DPLL, 8,
DBAT, 8,
DTPM, 8,
RSV, 8,
PSDE, 8,
RSD2, 8,
MODS, 8,
WWEN, 8,
WWCR, 32,
WWPS, 32,
ABS0, 8,
ABS1, 8,
ABS2, 8,
ABS3, 8,
ABS4, 8,
ABS5, 8,
RCAM, 8,
ECAM, 8,
AUCD, 8,
BTHM, 8,
PMID, 8,
MPNL, 8,
VTSP, 16,
Offset (0x34E),
Offset (0x34F),
FMDM, 8,
SDVL, 8,
MLSD, 8,
SCDD, 8,
HPME, 8,
GPSD, 8,
PAVB, 32,
PAVL, 32,
NUSB, 8,
DSFG, 8,
DAMT, 8,
MODM, 8,
UBCB, 32,
PSSE, 8,
MFCS, 8,
MRCS, 8
}
Method (ADBG, 1, Serialized)
{
Return (Zero)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
Name (SS1, Zero)
Name (SS2, Zero)
Name (SS3, Zero)
Name (SS4, One)
Name (IOST, 0xFFFF)
Name (TOPM, 0x00000000)
Name (ROMS, 0xFFE00000)
Name (VGAF, One)
Scope (_SB)
{
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)
Name (PR00, Package (0x17)
{
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x000AFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x000BFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0010FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0011FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0012FFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0015FFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x0018FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x03,
LNKC,
Zero
},
Package (0x04)
{
0x0018FFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x001EFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x001EFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x001EFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001EFFFF,
0x02,
LNKC,
Zero
}
})
Name (AR00, Package (0x17)
{
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x000AFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x000BFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0010FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0011FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x0012FFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0015FFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x0016FFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x0018FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x0018FFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0x0018FFFF,
0x03,
Zero,
0x12
},
Package (0x04)
{
0x0018FFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x001EFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0x001EFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001EFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001EFFFF,
0x02,
Zero,
0x12
}
})
Name (PR01, 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 (AR01, 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 (PR02, 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 (AR02, 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 (PR03, 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 (AR03, 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 (PR04, 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 (AR04, 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
}
})
}
Scope (_SB)
{
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 (CHVC)
{
Name (_ADR, Zero) // _ADR: Address
OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0xD0),
SMCR, 32,
SMDR, 32,
MCRX, 32,
MCXX, 32
}
Method (RMBR, 2, Serialized)
{
Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
SMCR = (0x100000F0 | Local0)
Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */
}
Method (WMBR, 3, Serialized)
{
SMDR = Arg2
Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
SMCR = (0x110000F0 | Local0)
}
Method (RMBX, 6, Serialized)
{
Local4 = (Arg3 & 0x07)
Local4 = (Local4 << 0x08)
Local5 = ((Arg4 << 0x03) | Arg5)
Local5 &= 0xFF
MCXX = (Local4 | Local5)
Local3 = (Arg1 & 0xFFFFFF00)
MCRX = Local3
Local0 = (Arg1 & 0xFF)
Local1 = ((Arg2 << 0x18) | (Arg0 << 0x10))
Local1 &= 0xFFFF0000
Local2 = ((Local0 << 0x08) | 0xF0)
Local2 &= 0xFFFF
SMCR = (Local1 | Local2)
Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */
}
Method (WMBX, 7, Serialized)
{
Local4 = (Arg4 & 0x07)
Local4 = (Local4 << 0x08)
Local5 = ((Arg5 << 0x03) | Arg6)
Local5 &= 0xFF
MCXX = (Local4 | Local5)
Local3 = (Arg1 & 0xFFFFFF00)
MCRX = Local3
SMDR = Arg2
Local0 = (Arg1 & 0xFF)
Local1 = ((Arg3 << 0x18) | (Arg0 << 0x10))
Local1 &= 0xFFFF0000
Local2 = ((Local0 << 0x08) | 0xF0)
Local2 &= 0xFFFF
SMCR = (Local1 | Local2)
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (FTSZ, 0x00100000)
CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, LPMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, LPMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, LPLN) // _LEN: Length
If ((LPE2 != Zero) && (LPED == Zero))
{
LPMN = LPE2 /* \LPE2 */
LPMX = (LPMN + LPLN) /* \_SB_.PCI0._CRS.LPLN */
LPMX -= One
}
Else
{
LPMN = Zero
LPMX = Zero
LPLN = Zero
}
CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, ISMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, ISMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, ISLN) // _LEN: Length
If (ISPD == One)
{
ISMN = ISPA /* \ISPA */
ISMX = (ISMN + ISLN) /* \_SB_.PCI0._CRS.ISLN */
ISMX -= One
}
Else
{
ISMN = Zero
ISMX = Zero
ISLN = Zero
}
CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, M1MN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, M1MX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, M1LN) // _LEN: Length
M1MN = (BMBD & 0xFF000000)
M1LN = ((M1MX - M1MN) + One)
CreateDWordField (RES0, \_SB.PCI0._Y03._MIN, GSMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y03._MAX, GSMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y03._LEN, GSLN) // _LEN: Length
GSMN = ^GFX0.GSTM /* \_SB_.PCI0.GFX0.GSTM */
GSLN = (^GFX0.GUMA << 0x19)
GSMX = (GSMN + GSLN) /* \_SB_.PCI0._CRS.GSLN */
GSMX -= 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
0x20000000, // Range Minimum
0x201FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00200000, // Length
,, _Y00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x7A000000, // Range Minimum
0x7A3FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00400000, // Length
,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x7C000000, // Range Minimum
0x7FFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x04000000, // Length
,, _Y03, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x80000000, // Range Minimum
0xDFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x60000000, // Length
,, _Y02, 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)
{
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
If (~(CDW1 & One))
{
If (CTRL & 0x02)
{
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)
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000) // _ADR: Address
}
Device (ISP3)
{
Name (_ADR, 0x00030000) // _ADR: Address
}
Device (LPCB)
{
Name (_ADR, 0x001F0000) // _ADR: Address
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)
}
}
}
}
OperationRegion (LPC0, PCI_Config, Zero, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x08),
SRID, 8,
Offset (0x80),
C1EN, 1,
Offset (0x84)
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
}
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,
}
})
Name (GBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
{
0x00000008,
}
})
If (OSID == One)
{
Return (RBUF) /* \_SB_.HPET._CRS.RBUF */
}
Return (GBUF) /* \_SB_.HPET._CRS.GBUF */
}
}
}
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,
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
)
})
}
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 (IURT)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (USEL == Zero)
{
UI4E = One
C1EN = One
Return (0x0F)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
If ((BDID != One) && ((BDID != 0x0A) &&
(BDID != 0x09)))
{
UI4E = Zero
C1EN = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
})
Return (BUF0) /* \_SB_.PCI0.LPCB.IURT._CRS.BUF0 */
}
}
}
Device (PISH)
{
Name (_ADR, 0x000A0000) // _ADR: Address
}
Device (D006)
{
Name (_ADR, 0x000B0000) // _ADR: Address
}
Device (RP01)
{
Name (_ADR, 0x001C0000) // _ADR: Address
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
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
Return (Zero)
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR01) /* \_SB_.AR01 */
}
Return (PR01) /* \_SB_.PR01 */
}
Device (D00B)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (RP02)
{
Name (_ADR, 0x001C0001) // _ADR: Address
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
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37"))
{
If (Arg2 == Zero)
{
If (Arg1 == Zero)
{
Return (Buffer (One)
{
0x03 /* . */
})
}
Else
{
Return (Buffer (One)
{
0x00 /* . */
})
}
}
If (Arg2 == One)
{
While (One)
{
_T_0 = DerefOf (Arg3 [Zero])
If (_T_0 == Zero)
{
^^^HIDD.HPEM (0x1B)
}
ElseIf (_T_0 == One)
{
^^^HIDD.HPEM (0x0B)
}
Break
}
Return (Zero)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR02) /* \_SB_.AR02 */
}
Return (PR02) /* \_SB_.PR02 */
}
Device (D00C)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002) // _ADR: Address
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
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR03) /* \_SB_.AR03 */
}
Return (PR03) /* \_SB_.PR03 */
}
Device (D00D)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (RP04)
{
Name (_ADR, 0x001C0003) // _ADR: Address
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
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04) /* \_SB_.AR04 */
}
Return (PR04) /* \_SB_.PR04 */
}
Device (D00E)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (D00F)
{
Name (_ADR, 0x00100000) // _ADR: Address
}
Device (D010)
{
Name (_ADR, 0x00110000) // _ADR: Address
}
Device (D011)
{
Name (_ADR, 0x00120000) // _ADR: Address
}
Device (XHC1)
{
Name (_ADR, 0x00140000) // _ADR: Address
}
Device (D013)
{
Name (_ADR, 0x00150000) // _ADR: Address
}
Device (D014)
{
Name (_ADR, 0x00160000) // _ADR: Address
}
Device (D015)
{
Name (_ADR, 0x00180000) // _ADR: Address
}
Device (D016)
{
Name (_ADR, 0x00180001) // _ADR: Address
}
Device (D017)
{
Name (_ADR, 0x00180002) // _ADR: Address
}
Device (D018)
{
Name (_ADR, 0x00180003) // _ADR: Address
}
Device (D019)
{
Name (_ADR, 0x00180004) // _ADR: Address
}
Device (D01A)
{
Name (_ADR, 0x00180005) // _ADR: Address
}
Device (D01B)
{
Name (_ADR, 0x00180006) // _ADR: Address
}
Device (D01C)
{
Name (_ADR, 0x00180007) // _ADR: Address
}
Device (SEC0)
{
Name (_ADR, 0x001A0000) // _ADR: Address
}
Device (D01E)
{
Name (_ADR, 0x001E0000) // _ADR: Address
}
Device (D01F)
{
Name (_ADR, 0x001E0001) // _ADR: Address
}
Device (D020)
{
Name (_ADR, 0x001E0002) // _ADR: Address
}
Device (D021)
{
Name (_ADR, 0x001E0003) // _ADR: Address
}
Device (D022)
{
Name (_ADR, 0x001E0004) // _ADR: Address
}
Device (D023)
{
Name (_ADR, 0x001E0005) // _ADR: Address
}
Device (D024)
{
Name (_ADR, 0x001E0006) // _ADR: Address
}
Device (D025)
{
Name (_ADR, 0x001E0007) // _ADR: Address
}
}
}
Scope (_GPE)
{
}
Name (_S0, Package (0x04) // _S0_: S0 System State
{
Zero,
Zero,
Zero,
Zero
})
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) // _PTS: Prepare To Sleep
{
If (Arg0)
{
PPTS (Arg0)
}
}
Method (_WAK, 1, NotSerialized) // _WAK: Wake
{
PWAK (Arg0)
Return (WAKP) /* \WAKP */
}
Scope (\)
{
OperationRegion (PMIO, SystemIO, PMBS, 0x46)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
PWBS, 1,
Offset (0x20),
, 13,
PMEB, 1,
Offset (0x30),
, 4,
SLPE, 1,
Offset (0x34),
, 4,
SLPS, 1,
Offset (0x35),
PM1S, 1,
Offset (0x42),
, 1,
GPEC, 1
}
Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x20),
, 4,
PSCI, 1,
SCIS, 1
}
OperationRegion (PMCR, SystemMemory, PMCB, 0x0100)
Field (PMCR, DWordAcc, Lock, Preserve)
{
Offset (0x34),
L10D, 1,
L11D, 1,
L12D, 1,
L13D, 1,
L14D, 1,
L15D, 1,
L16D, 1,
L17D, 1,
SD1D, 1,
SD2D, 1,
SD3D, 1,
, 1,
, 1,
LPED, 1,
OTGD, 1,
Offset (0x36),
, 1,
, 1,
, 1,
, 1,
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
L20D, 1,
L21D, 1,
L22D, 1,
L23D, 1,
L24D, 1,
L25D, 1,
L26D, 1,
L27D, 1,
, 1,
, 1,
, 1,
, 1,
ISHD, 1,
Offset (0x3C),
Offset (0x60),
CKC0, 2,
CKF0, 1,
Offset (0x64),
CKC1, 2,
CKF1, 1,
Offset (0x68),
CKC2, 2,
CKF2, 1,
Offset (0x6C),
CKC3, 2,
CKF3, 1,
Offset (0x70),
CKC4, 2,
CKF4, 1,
Offset (0x74),
CKC5, 2,
CKF5, 1,
Offset (0x78),
Offset (0xA0),
PMCD, 32,
Offset (0xEC),
PMCC, 32
}
OperationRegion (PPSC, SystemMemory, PMCP, 0x08)
Field (PPSC, DWordAcc, Lock, Preserve)
{
DM1P, 1,
PW1P, 1,
PW2P, 1,
UR1P, 1,
UR2P, 1,
SP1P, 1,
SP2P, 1,
SP3P, 1,
EMMP, 1,
SDI1, 1,
SDI2, 1,
, 2,
LPEP, 1,
, 1,
Offset (0x02),
, 1,
SATP, 1,
USBP, 1,
SECP, 1,
PRP1, 1,
PRP2, 1,
PRP3, 1,
PRP4, 1,
DM2P, 1,
IC1P, 1,
IC2P, 1,
IC3P, 1,
IC4P, 1,
IC5P, 1,
IC6P, 1,
IC7P, 1,
, 2,
ISHP, 1,
Offset (0x08)
}
}
Scope (_SB.PCI0)
{
Scope (XHC1)
{
Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)") // _DDN: DOS Device Name
Name (XHD3, Zero)
Name (XCD3, Zero)
Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)")) // _STR: Description String
Name (MSET, Zero)
Name (DDST, Zero)
Name (XFLT, Zero)
Method (MINF, 0, NotSerialized)
{
If (OSID == 0x04)
{
Return (Package (0x03)
{
PSSE,
0x05,
MODM
})
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
}
Method (_PS5, 0, NotSerialized)
{
}
OperationRegion (XHOP, SystemMemory, 0xE00A0000, 0x40)
Field (XHOP, DWordAcc, NoLock, Preserve)
{
Offset (0x10),
XBAR, 32
}
OperationRegion (XOP1, SystemMemory, XBAR, 0x884C)
Field (XOP1, DWordAcc, NoLock, Preserve)
{
Offset (0x52C),
CCS, 1,
, 4,
PLS, 4,
PP, 1,
Offset (0x869C),
, 18,
D3HE, 1,
Offset (0x8808),
, 30,
S1PD, 1,
S1PU, 1
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23"))
{
If (Arg1 == 0x03)
{
XFLT = Arg1
}
If (Arg1 == 0x05)
{
If (PSSE == One)
{
XCD3 = Zero
If (XHD3 == One)
{
XHD3 = Zero
D3HE = Zero
Stall (0xFF)
^^^FLDM.MOFF ()
S1PD = Zero
S1PU = One
S1PD = One
Stall (0xFF)
^^^FLDM.MDON ()
S1PD = Zero
S1PU = Zero
S1PD = One
Stall (0xFF)
}
If (((CCS == Zero) || (PP == Zero)) || ((
PLS >= 0x04) && (PLS <= 0x0F)))
{
D3HE = Zero
}
Else
{
D3HE = One
}
}
}
If (Arg1 == 0x06)
{
If (PSSE == One)
{
XCD3 = One
If (((CCS == Zero) || (PP == Zero)) || ((
PLS >= 0x04) && (PLS <= 0x0F)))
{
D3HE = Zero
}
Else
{
D3HE = One
}
}
}
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((OSID == 0x02) || (OSID == 0x04))
{
Return (0x03)
}
If (XFLT == Zero)
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
})
Name (WBUF, ResourceTemplate ()
{
})
If ((BDID != One) && ((OSID == 0x02) || (OSID ==
0x04)))
{
Return (UBUF) /* \_SB_.PCI0.XHC1._CRS.UBUF */
}
Else
{
Return (WBUF) /* \_SB_.PCI0.XHC1._CRS.WBUF */
}
}
OperationRegion (XHCR, PCI_Config, 0x75, One)
Field (XHCR, ByteAcc, NoLock, WriteAsZeros)
{
PMEE, 1,
, 6,
PMES, 1
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Name (IPRW, Package (0x02)
{
0x0D,
0x04
})
Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
{
Return (Package (0x01)
{
USBC
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (XHCI != Zero)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
OperationRegion (XPRT, PCI_Config, 0xD0, 0x10)
Field (XPRT, DWordAcc, NoLock, Preserve)
{
PR2, 32,
PR2M, 32,
PR3, 32,
PR3M, 32
}
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Method (TPLD, 2, Serialized)
{
Name (PCKG, Package (0x01)
{
Buffer (0x10) {}
})
CreateField (DerefOf (PCKG [Zero]), Zero, 0x07, REV)
REV = One
CreateField (DerefOf (PCKG [Zero]), 0x40, One, VISI)
VISI = Arg0
CreateField (DerefOf (PCKG [Zero]), 0x57, 0x08, GPOS)
GPOS = Arg1
CreateField (DerefOf (PCKG [Zero]), 0x4A, 0x04, SHAP)
SHAP = One
CreateField (DerefOf (PCKG [Zero]), 0x20, 0x10, WID)
WID = 0x08
CreateField (DerefOf (PCKG [Zero]), 0x30, 0x10, HGT)
HGT = 0x03
Return (PCKG) /* \_SB_.PCI0.XHC1.RHUB.TPLD.PCKG */
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (0x0F)
}
Device (SSP1)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
0x06,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._UPC.UPCP */
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (0x0F)
}
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 */ 0x4A, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* J....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */
}
}
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0x06,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.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 */ 0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* K....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */
}
}
Device (SSP2)
{
Name (_ADR, 0x09) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCD, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Name (UPCR, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Name (UPCP, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
If (NUSB == One)
{
Return (UPCD) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCD */
}
ElseIf (BDID == 0x02)
{
Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCR */
}
Else
{
Return (UPCP) /* \_SB_.PCI0.XHC1.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 */ 0x42, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, /* B....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Name (PLDR, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
If (BDID == 0x02)
{
Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDR */
}
Else
{
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDP */
}
}
}
Device (HS02)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCD, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Name (UPCR, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
If (NUSB == One)
{
Return (UPCD) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCD */
}
ElseIf (BDID == 0x02)
{
Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCR */
}
Else
{
Return (UPCP) /* \_SB_.PCI0.XHC1.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 */ 0x43, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, /* C....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Name (PLDR, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* C....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
If (BDID == 0x02)
{
Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDR */
}
Else
{
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */
}
}
}
Device (SSP3)
{
Name (_ADR, 0x0A) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PMID == Zero)
{
Return (0x0F)
}
Return (Zero)
}
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.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 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._PLD.PLDP */
}
}
Device (HS03)
{
Name (_ADR, 0x03) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PMID == Zero)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
Field (BAD0, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (^^^^^I2C7.PMIC.AVBG == One)
{
Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If (FMDM == Zero)
{
If (OSID == One)
{
If (^^^^^I2C7.PMIC.AVBG == One)
{
^^^^^I2C7.PMIC.MOXX = One
Stall (0x0A)
}
If (\_SB.GPO1.AVBL == One)
{
\_SB.GPO1.MRD3 = One
Stall (0x0A)
\_SB.GPO1.MPD3 = Zero
Stall (0x0A)
\_SB.GPO1.MPD3 = One
Stall (0x5B)
\_SB.GPO1.MPD3 = Zero
}
Else
{
MRB0 &= 0xFFFFFFFD
MRB0 |= 0x02
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= 0x02
Stall (0x5B)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
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 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */
}
Device (MDM1)
{
Name (_ADR, 0x03) // _ADR: Address
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
}
Device (HS13)
{
Name (_ADR, 0x03) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PMID == 0x03)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
Field (BADR, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One) && (^^^^^I2C7.PMI5.AVBG == One))
{
Return (^^^^^I2C7.PMI5.MOXX) /* \_SB_.PCI0.I2C7.PMI5.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If (FMDM == Zero)
{
If (OSID == One)
{
If (^^^^^I2C7.PMI5.AVBG == One)
{
^^^^^I2C7.PMI5.MOXX = One
Stall (0x0A)
}
If (\_SB.GPO1.AVBL == One)
{
\_SB.GPO1.MRD3 = One
Stall (0x0A)
\_SB.GPO1.MPD3 = Zero
Stall (0x0A)
\_SB.GPO1.MPD3 = One
Stall (0x5B)
\_SB.GPO1.MPD3 = Zero
}
Else
{
MRB0 &= 0xFFFFFFFD
MRB0 |= 0x02
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= 0x02
Stall (0x5B)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS13._UPC.UPCP */
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
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 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS13._PLD.PLDP */
}
Device (MDM1)
{
Name (_ADR, 0x03) // _ADR: Address
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
}
Device (SSP4)
{
Name (_ADR, 0x0B) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.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 */ 0x30, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._PLD.PLDP */
}
}
Device (AAMM)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.AAMM._UPC.UPCP */
}
Device (CAA0)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.AAMM.CAA0._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* a....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.AAMM.CAA0._PLD.PLDP */
}
}
Device (CAA1)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.AAMM.CAA1._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 */ 0x60, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* `....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.AAMM.CAA1._PLD.PLDP */
}
Device (CAA9)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.AAMM.CAA1.CAA9._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 */ 0x60, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* `....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.AAMM.CAA1.CAA9._PLD.PLDP */
}
}
}
}
Device (SSC2)
{
Name (_ADR, 0x0D) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSC2._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 */ 0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSC2._PLD.PLDP */
}
}
Device (HSC2)
{
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.XHC1.RHUB.HSC2._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 */ 0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._PLD.PLDP */
}
}
Device (SSC1)
{
Name (_ADR, 0x0C) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PMID == Zero)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
Field (BAD0, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (^^^^^I2C7.PMIC.AVBG == One)
{
Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If (OSID == 0x04)
{
If (^^^^^I2C7.PMIC.AVBG == One)
{
If (\_SB.GPO1.AVBL == One)
{
\_SB.GPO1.MRD3 = Zero
Sleep (One)
^^^^^I2C7.PMIC.MOXX = Zero
Sleep (One)
}
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSC1._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 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, /* 0....... */
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSC1._PLD.PLDP */
}
Device (MDM3)
{
Name (_ADR, 0x0C) // _ADR: Address