/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20200528 (64-bit version)
* Copyright (c) 2000 - 2020 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of iASL9FsV6q.aml, Sat Oct 10 10:32:43 2020
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00029547 (169287)
* Revision 0x02
* Checksum 0x41
* OEM ID "LENOVO"
* OEM Table ID "CB-01 "
* OEM Revision 0x00000001 (1)
* Compiler ID "ACPI"
* Compiler Version 0x00040000 (262144)
*/
DefinitionBlock ("", "DSDT", 2, "LENOVO", "CB-01 ", 0x00000001)
{
/*
* iASL Warning: There were 25 external control methods found during
* disassembly, but only 0 were resolved (25 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_.BGIA, IntObj)
External (_PR_.BGMA, IntObj)
External (_PR_.BGMS, IntObj)
External (_PR_.CPPC, UnknownObj)
External (_PR_.CPU0.LPSS, UnknownObj)
External (_PR_.CPU0.TPSS, UnknownObj)
External (_PR_.DSAE, UnknownObj)
External (_PR_.DTSE, UnknownObj)
External (_PR_.DTSF, IntObj)
External (_PR_.ELNG, IntObj)
External (_PR_.EMNA, IntObj)
External (_PR_.EPCS, UnknownObj)
External (_PR_.HWPI, UnknownObj)
External (_PR_.POWS, UnknownObj)
External (_PR_.TRPD, UnknownObj)
External (_PR_.TRPF, UnknownObj)
External (_SB_.IETM, UnknownObj)
External (_SB_.PCI0.GFX0.AINT, MethodObj) // Warning: Unknown method, guessing 2 arguments
External (_SB_.PCI0.GFX0.ALSI, UnknownObj)
External (_SB_.PCI0.GFX0.CBLV, IntObj)
External (_SB_.PCI0.GFX0.CDCK, UnknownObj)
External (_SB_.PCI0.GFX0.CLID, UnknownObj)
External (_SB_.PCI0.GFX0.DD1F, UnknownObj)
External (_SB_.PCI0.GFX0.GDCK, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_SB_.PCI0.GFX0.GHDS, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_SB_.PCI0.GFX0.GLID, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_SB_.PCI0.GFX0.GSCI, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.PCI0.GFX0.GSSE, UnknownObj)
External (_SB_.PCI0.GFX0.IUEH, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_SB_.PCI0.GFX0.IUER, IntObj)
External (_SB_.PCI0.LPCB.H_EC.BAT1, UnknownObj)
External (_SB_.PCI0.LPCB.H_EC.CHRG, UnknownObj)
External (_SB_.PCI0.LPCB.H_EC.LSTE, UnknownObj)
External (_SB_.PCI0.LPCB.H_EC.RPWR, UnknownObj)
External (_SB_.PCI0.LPCB.H_EC.S4FG, UnknownObj)
External (_SB_.PCI0.LPCB.H_EC.VPWR, UnknownObj)
External (_SB_.PCI0.PAUD.PUAM, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.PCI0.PEG0.HPME, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.PCI0.PEG1.HPME, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.PCI0.PEG2.HPME, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.PCI0.XHC_.DUAM, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.PCI0.XHC_.RHUB.INIR, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_SB_.TPM_.PTS_, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (_TZ_.ETMD, UnknownObj)
External (_TZ_.FN00._OFF, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (_TZ_.TZ00, UnknownObj)
External (_TZ_.TZ01, UnknownObj)
External (ALSE, UnknownObj)
External (BAPS, UnknownObj)
External (BRTL, UnknownObj)
External (CTCD, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (CTCN, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (CTCU, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (D1F0, UnknownObj)
External (D1F1, UnknownObj)
External (D1F2, UnknownObj)
External (DIDX, UnknownObj)
External (FG78, UnknownObj)
External (GSMI, UnknownObj)
External (HBRT, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (HLVT, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (HPFS, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (IETM, UnknownObj)
External (IGDS, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (LHIH, UnknownObj)
External (LIDS, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (LLOW, UnknownObj)
External (LSTE, UnknownObj)
External (M32B, IntObj)
External (M32L, IntObj)
External (M64B, IntObj)
External (M64L, IntObj)
External (PDC0, UnknownObj)
External (PDC1, UnknownObj)
External (PDC2, UnknownObj)
External (PDC3, UnknownObj)
External (PDC4, UnknownObj)
External (PDC5, UnknownObj)
External (PDC6, UnknownObj)
External (PDC7, UnknownObj)
External (PS0X, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (PS2X, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (PS3X, MethodObj) // Warning: Unknown method, guessing 0 arguments
External (RPWR, UnknownObj)
External (SDSM, IntObj)
External (SGMD, UnknownObj)
External (VPWR, UnknownObj)
Name (SS1, Zero)
Name (SS2, Zero)
Name (SS3, One)
Name (SS4, One)
OperationRegion (GNVS, SystemMemory, 0x7CE76698, 0x0635)
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,
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,
Offset (0x1E),
Offset (0x1F),
Offset (0x20),
Offset (0x21),
Offset (0x22),
Offset (0x23),
Offset (0x24),
Offset (0x25),
REVN, 8,
APIC, 8,
TCNT, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
C67L, 8,
NATP, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
CMCP, 8,
CIRP, 8,
SMSC, 8,
W381, 8,
SMC1, 8,
EMAE, 8,
EMAP, 16,
EMAL, 16,
MEFE, 8,
DSTS, 8,
MORD, 8,
TCGP, 8,
PPRP, 32,
PPRQ, 8,
LPPR, 8,
IDEM, 8,
BID, 16,
PLID, 8,
BTYP, 8,
OSCC, 8,
NEXP, 8,
SBV1, 8,
SBV2, 8,
Offset (0x53),
DSEN, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
VFN2, 8,
VFN3, 8,
VFN4, 8,
VFN5, 8,
VFN6, 8,
VFN7, 8,
VFN8, 8,
VFN9, 8,
ATMC, 8,
PTMC, 8,
PNHM, 32,
TBAL, 32,
TBAH, 32,
RTIP, 8,
TSOD, 8,
PFLV, 8,
BREV, 8,
BBID, 8,
PDTS, 8,
PKGA, 8,
PAMT, 8,
AC0F, 8,
AC1F, 8,
DTS3, 8,
DTS4, 8,
LTR1, 8,
LTR2, 8,
LTR3, 8,
LTR4, 8,
LTR5, 8,
LTR6, 8,
LTR7, 8,
LTR8, 8,
LTR9, 8,
LTRA, 8,
LTRB, 8,
LTRC, 8,
LTRD, 8,
LTRE, 8,
LTRF, 8,
LTRG, 8,
LTRH, 8,
LTRI, 8,
LTRJ, 8,
LTRK, 8,
OBF1, 8,
OBF2, 8,
OBF3, 8,
OBF4, 8,
OBF5, 8,
OBF6, 8,
OBF7, 8,
OBF8, 8,
OBF9, 8,
OBFA, 8,
OBFB, 8,
OBFC, 8,
OBFD, 8,
OBFE, 8,
OBFF, 8,
OBFG, 8,
OBFH, 8,
OBFI, 8,
OBFJ, 8,
OBFK, 8,
XTUB, 32,
XTUS, 32,
XMPB, 32,
DDRF, 8,
RTD3, 8,
PEP0, 8,
PEP3, 8,
DPTF, 8,
SADE, 8,
SACR, 8,
SAHT, 8,
CTDP, 8,
LPMP, 8,
LPMV, 8,
ECEU, 8,
TGFG, 16,
MEMD, 8,
ATRA, 8,
PTRA, 8,
MEMC, 8,
MEMH, 8,
FND1, 8,
FND2, 8,
AMBD, 8,
AMAT, 8,
AMPT, 8,
AMCT, 8,
AMHT, 8,
SKDE, 8,
SKAT, 8,
SKPT, 8,
SKCT, 8,
SKHT, 8,
EFDE, 8,
EFAT, 8,
EFPT, 8,
EFCT, 8,
EFHT, 8,
VRDE, 8,
VRAT, 8,
VRPT, 8,
VRCT, 8,
VRHT, 8,
DPAP, 8,
DPPP, 8,
DPCP, 8,
DCMP, 8,
TRTV, 8,
LPOE, 8,
LPOP, 8,
LPOS, 8,
LPOW, 8,
LPER, 8,
PPSZ, 32,
DISE, 8,
BGMA, 64,
BGMS, 8,
BGIA, 16,
IRMC, 8,
NFCE, 8,
CHEN, 8,
S0ID, 8,
CTDB, 8,
DKSM, 8,
SIO1, 16,
SIO2, 16,
SPBA, 16,
SEC0, 32,
SEC1, 32,
SEC2, 32,
SEC3, 32,
SEC4, 32,
SEC5, 32,
SEC6, 32,
SEC7, 32,
SEC8, 32,
Offset (0x1F4),
WIFD, 8,
WFAT, 8,
WFPT, 8,
WFCT, 8,
WFHT, 8,
PWRE, 8,
PWRP, 8,
Offset (0x203),
XHPR, 8,
RIC0, 8,
DVS0, 8,
DVS1, 8,
DVS2, 8,
DVS3, 8,
GBSX, 8,
IUBE, 8,
IUCE, 8,
IUDE, 8,
ECNO, 8,
AUDD, 16,
IC0D, 16,
IC1D, 16,
IC1S, 16,
VRRD, 16,
PSCP, 8,
I20D, 16,
I21D, 16,
RCG0, 16,
ECDB, 8,
P2ME, 8,
SSH0, 16,
SSL0, 16,
SSD0, 16,
FMH0, 16,
FML0, 16,
FMD0, 16,
FPH0, 16,
FPL0, 16,
FPD0, 16,
SSH1, 16,
SSL1, 16,
SSD1, 16,
FMH1, 16,
FML1, 16,
FMD1, 16,
FPH1, 16,
FPL1, 16,
FPD1, 16,
M0C0, 16,
M1C0, 16,
M2C0, 16,
M0C1, 16,
M1C1, 16,
M2C1, 16,
M0C2, 16,
M1C2, 16,
M0C3, 16,
M1C3, 16,
M0C4, 16,
M1C4, 16,
M0C5, 16,
M1C5, 16,
TBSF, 8,
GIRQ, 32,
DMTP, 8,
DMTD, 8,
DMSH, 8,
LANP, 8,
SHSB, 8,
PLCS, 8,
PLVL, 16,
GN1E, 8,
G1AT, 8,
G1PT, 8,
G1CT, 8,
G1HT, 8,
GN2E, 8,
G2AT, 8,
G2PT, 8,
G2CT, 8,
G2HT, 8,
WWSD, 8,
CVSD, 8,
SSDD, 8,
INLD, 8,
IFAT, 8,
IFPT, 8,
IFCT, 8,
IFHT, 8,
SDWE, 8,
USBH, 8,
BCV4, 8,
WTV0, 8,
WTV1, 8,
APFU, 8,
SOHP, 8,
GP5F, 8,
NOHP, 8,
TBSE, 8,
WKFN, 8,
PEPC, 32,
VRSD, 16,
PB1E, 8,
GNID, 8,
WAND, 8,
WWAT, 8,
WWPT, 8,
WWCT, 8,
WWHT, 8,
Offset (0x2A3),
MPL0, 16,
CHGE, 8,
SAC3, 8,
MEM3, 8,
AMC3, 8,
SKC3, 8,
EFC3, 8,
VRC3, 8,
WFC3, 8,
G1C3, 8,
G2C3, 8,
IFC3, 8,
WWC3, 8,
WGC3, 8,
SPST, 8,
PERE, 8,
Offset (0x2B7),
GN3E, 8,
G3AT, 8,
G3PT, 8,
G3CT, 8,
G3HT, 8,
GN4E, 8,
G4AT, 8,
G4PT, 8,
G4CT, 8,
G4HT, 8,
GN5E, 8,
G5AT, 8,
G5PT, 8,
G5CT, 8,
G5HT, 8,
GN6E, 8,
G6AT, 8,
G6PT, 8,
G6CT, 8,
G6HT, 8,
ECLP, 8,
G3C3, 8,
G4C3, 8,
G5C3, 8,
G6C3, 8,
TSP1, 8,
TSP2, 8,
TSP3, 8,
TSP4, 8,
TSP5, 8,
TSP6, 8,
TSP7, 8,
TSP8, 8,
SSP1, 8,
SSP2, 8,
SSP3, 8,
SSP4, 8,
SSP5, 8,
SSP6, 8,
SSP7, 8,
SSP8, 8,
MEMS, 8,
Offset (0x2F8),
S1DE, 8,
S1AT, 8,
S1PT, 8,
S1CT, 8,
S1HT, 8,
S2DE, 8,
S2AT, 8,
S2PT, 8,
S2CT, 8,
S2HT, 8,
S3DE, 8,
S3AT, 8,
S3PT, 8,
S3CT, 8,
S3HT, 8,
S4DE, 8,
S4AT, 8,
S4PT, 8,
S4CT, 8,
S4HT, 8,
S5DE, 8,
S5AT, 8,
S5PT, 8,
S5CT, 8,
S5HT, 8,
S6DE, 8,
S6AT, 8,
S6PT, 8,
S6CT, 8,
S6HT, 8,
S7DE, 8,
S7AT, 8,
S7PT, 8,
S7CT, 8,
S7HT, 8,
S1S3, 8,
S2S3, 8,
S3S3, 8,
S4S3, 8,
S5S3, 8,
S6S3, 8,
S7S3, 8,
PSME, 8,
PDT1, 8,
PLM1, 16,
PTW1, 16,
PDT2, 8,
PLM2, 16,
PTW2, 16,
DDT1, 8,
DDP1, 8,
DLI1, 16,
DPL1, 16,
DTW1, 16,
DMI1, 16,
DMA1, 16,
DMT1, 16,
DDT2, 8,
DDP2, 8,
DLI2, 16,
DPL2, 16,
DTW2, 16,
DMI2, 16,
DMA2, 16,
DMT2, 16,
WIFE, 8,
DOM1, 8,
LIM1, 16,
TIM1, 16,
DOM2, 8,
LIM2, 16,
TIM2, 16,
DOM3, 8,
LIM3, 16,
TIM3, 16,
TRD0, 8,
TRL0, 8,
TRD1, 8,
TRL1, 8,
WDM1, 8,
CID1, 16,
WDM2, 8,
CID2, 16,
Offset (0x364),
APPE, 8,
MPL1, 16,
MPL2, 16,
SDS0, 8,
SDS1, 8,
SDS2, 8,
SDS3, 8,
SDS4, 8,
SDS5, 8,
SDS6, 8,
SDS7, 8,
SDS8, 8,
SDS9, 8,
SDSA, 8,
TPLB, 8,
TPLH, 16,
WTVX, 8,
WITX, 8,
GPTD, 8,
GDBT, 16,
UTKX, 8,
SPTD, 8,
GEXN, 8,
TBTS, 8,
AICS, 8,
TARS, 8,
FPAT, 8,
FPEN, 8,
FPGN, 32,
FPLV, 8,
CPAD, 16,
CPAB, 8,
TNAT, 8,
CPGN, 32,
CF2T, 8,
ATLB, 32,
SDM0, 8,
SDM1, 8,
SDM2, 8,
SDM3, 8,
SDM4, 8,
SDM5, 8,
SDM6, 8,
SDM7, 8,
SDM8, 8,
SDM9, 8,
SDMA, 8,
USTP, 8,
SSHI, 16,
SSLI, 16,
SSDI, 16,
FMHI, 16,
FMLI, 16,
FMDI, 16,
FPHI, 16,
FPLI, 16,
FPDI, 16,
M0CI, 16,
M1CI, 16,
M0CS, 16,
M1CS, 16,
M0CU, 16,
M1CU, 16,
CAMT, 8,
DS4D, 16,
IVDF, 8,
EIDF, 8,
GFPS, 32,
GFPI, 32,
GNSM, 8,
GNSC, 8,
GGNR, 32,
GBTW, 32,
GBTK, 32,
GBTI, 32,
GPDI, 32,
GPLI, 32,
CL00, 8,
CL01, 8,
CL02, 8,
CL03, 8,
L0EN, 8,
L1EN, 8,
L2EN, 8,
L3EN, 8,
CDIV, 8,
C0TP, 8,
C0CV, 8,
C0GP, 8,
C0IB, 8,
C0IA, 16,
C0P0, 8,
C0P1, 8,
C0P2, 8,
C0P3, 8,
C0G0, 8,
C0G1, 8,
C0G2, 8,
C0G3, 8,
C0F0, 8,
C0F1, 8,
C0F2, 8,
C0F3, 8,
C0A0, 8,
C0A1, 8,
C0A2, 8,
C0A3, 8,
C0I0, 8,
C0I1, 8,
C0I2, 8,
C0I3, 8,
C0PL, 8,
C1TP, 8,
C1CV, 8,
C1GP, 8,
C1IB, 8,
C1IA, 16,
C1P0, 8,
C1P1, 8,
C1P2, 8,
C1P3, 8,
C1G0, 8,
C1G1, 8,
C1G2, 8,
C1G3, 8,
C1F0, 8,
C1F1, 8,
C1F2, 8,
C1F3, 8,
C1A0, 8,
C1A1, 8,
C1A2, 8,
C1A3, 8,
C1I0, 8,
C1I1, 8,
C1I2, 8,
C1I3, 8,
C1PL, 8,
C2TP, 8,
C2CV, 8,
C2GP, 8,
C2IB, 8,
C2IA, 16,
C2P0, 8,
C2P1, 8,
C2P2, 8,
C2P3, 8,
C2G0, 8,
C2G1, 8,
C2G2, 8,
C2G3, 8,
C2F0, 8,
C2F1, 8,
C2F2, 8,
C2F3, 8,
C2A0, 8,
C2A1, 8,
C2A2, 8,
C2A3, 8,
C2I0, 8,
C2I1, 8,
C2I2, 8,
C2I3, 8,
C2PL, 8,
C3TP, 8,
C3CV, 8,
C3GP, 8,
C3IB, 8,
C3IA, 16,
C3P0, 8,
C3P1, 8,
C3P2, 8,
C3P3, 8,
C3G0, 8,
C3G1, 8,
C3G2, 8,
C3G3, 8,
C3F0, 8,
C3F1, 8,
C3F2, 8,
C3F3, 8,
C3A0, 8,
C3A1, 8,
C3A2, 8,
C3A3, 8,
C3I0, 8,
C3I1, 8,
C3I2, 8,
C3I3, 8,
C3PL, 8,
L0SM, 8,
L0H0, 8,
L0H1, 8,
L0H2, 8,
L0H3, 8,
L0H4, 8,
L0H5, 8,
L0H6, 8,
L0H7, 8,
L0H8, 8,
L0PL, 8,
L0M0, 8,
L0M1, 8,
L0M2, 8,
L0M3, 8,
L0M4, 8,
L0M5, 8,
L0M6, 8,
L0M7, 8,
L0M8, 8,
L0M9, 8,
L0MA, 8,
L0MB, 8,
L0MC, 8,
L0MD, 8,
L0ME, 8,
L0MF, 8,
L0DI, 8,
L0BS, 8,
L0A0, 16,
L0A1, 16,
L0A2, 16,
L0A3, 16,
L0A4, 16,
L0A5, 16,
L0A6, 16,
L0A7, 16,
L0A8, 16,
L0A9, 16,
L0AA, 16,
L0AB, 16,
L0D0, 8,
L0D1, 8,
L0D2, 8,
L0D3, 8,
L0D4, 8,
L0D5, 8,
L0D6, 8,
L0D7, 8,
L0D8, 8,
L0D9, 8,
L0DA, 8,
L0DB, 8,
L0DV, 8,
L0CV, 8,
L0LU, 8,
L0NL, 8,
L0EE, 8,
L0VC, 8,
L0FS, 8,
L0DG, 8,
L0C0, 8,
L0C1, 8,
L0C2, 8,
L0C3, 8,
L0CK, 32,
L0CL, 8,
L1SM, 8,
L1H0, 8,
L1H1, 8,
L1H2, 8,
L1H3, 8,
L1H4, 8,
L1H5, 8,
L1H6, 8,
L1H7, 8,
L1H8, 8,
L1PL, 8,
L1M0, 8,
L1M1, 8,
L1M2, 8,
L1M3, 8,
L1M4, 8,
L1M5, 8,
L1M6, 8,
L1M7, 8,
L1M8, 8,
L1M9, 8,
L1MA, 8,
L1MB, 8,
L1MC, 8,
L1MD, 8,
L1ME, 8,
L1MF, 8,
L1DI, 8,
L1BS, 8,
L1A0, 16,
L1A1, 16,
L1A2, 16,
L1A3, 16,
L1A4, 16,
L1A5, 16,
L1A6, 16,
L1A7, 16,
L1A8, 16,
L1A9, 16,
L1AA, 16,
L1AB, 16,
L1D0, 8,
L1D1, 8,
L1D2, 8,
L1D3, 8,
L1D4, 8,
L1D5, 8,
L1D6, 8,
L1D7, 8,
L1D8, 8,
L1D9, 8,
L1DA, 8,
L1DB, 8,
L1DV, 8,
L1CV, 8,
L1LU, 8,
L1NL, 8,
L1EE, 8,
L1VC, 8,
L1FS, 8,
L1DG, 8,
L1C0, 8,
L1C1, 8,
L1C2, 8,
L1C3, 8,
L1CK, 32,
L1CL, 8,
L2SM, 8,
L2H0, 8,
L2H1, 8,
L2H2, 8,
L2H3, 8,
L2H4, 8,
L2H5, 8,
L2H6, 8,
L2H7, 8,
L2H8, 8,
L2PL, 8,
L2M0, 8,
L2M1, 8,
L2M2, 8,
L2M3, 8,
L2M4, 8,
L2M5, 8,
L2M6, 8,
L2M7, 8,
L2M8, 8,
L2M9, 8,
L2MA, 8,
L2MB, 8,
L2MC, 8,
L2MD, 8,
L2ME, 8,
L2MF, 8,
L2DI, 8,
L2BS, 8,
L2A0, 16,
L2A1, 16,
L2A2, 16,
L2A3, 16,
L2A4, 16,
L2A5, 16,
L2A6, 16,
L2A7, 16,
L2A8, 16,
L2A9, 16,
L2AA, 16,
L2AB, 16,
L2D0, 8,
L2D1, 8,
L2D2, 8,
L2D3, 8,
L2D4, 8,
L2D5, 8,
L2D6, 8,
L2D7, 8,
L2D8, 8,
L2D9, 8,
L2DA, 8,
L2DB, 8,
L2DV, 8,
L2CV, 8,
L2LU, 8,
L2NL, 8,
L2EE, 8,
L2VC, 8,
L2FS, 8,
L2DG, 8,
L2C0, 8,
L2C1, 8,
L2C2, 8,
L2C3, 8,
L2CK, 32,
L2CL, 8,
L3SM, 8,
L3H0, 8,
L3H1, 8,
L3H2, 8,
L3H3, 8,
L3H4, 8,
L3H5, 8,
L3H6, 8,
L3H7, 8,
L3H8, 8,
L3PL, 8,
L3M0, 8,
L3M1, 8,
L3M2, 8,
L3M3, 8,
L3M4, 8,
L3M5, 8,
L3M6, 8,
L3M7, 8,
L3M8, 8,
L3M9, 8,
L3MA, 8,
L3MB, 8,
L3MC, 8,
L3MD, 8,
L3ME, 8,
L3MF, 8,
L3DI, 8,
L3BS, 8,
L3A0, 16,
L3A1, 16,
L3A2, 16,
L3A3, 16,
L3A4, 16,
L3A5, 16,
L3A6, 16,
L3A7, 16,
L3A8, 16,
L3A9, 16,
L3AA, 16,
L3AB, 16,
L3D0, 8,
L3D1, 8,
L3D2, 8,
L3D3, 8,
L3D4, 8,
L3D5, 8,
L3D6, 8,
L3D7, 8,
L3D8, 8,
L3D9, 8,
L3DA, 8,
L3DB, 8,
L3DV, 8,
L3CV, 8,
L3LU, 8,
L3NL, 8,
L3EE, 8,
L3VC, 8,
L3FS, 8,
L3DG, 8,
L3C0, 8,
L3C1, 8,
L3C2, 8,
L3C3, 8,
L3CK, 32,
L3CL, 8,
ECR1, 8,
Offset (0x5AA),
I2SC, 8,
ODV0, 8,
ODV1, 8,
ODV2, 8,
ODV3, 8,
ODV4, 8,
ODV5, 8,
UBCB, 32,
EMOD, 8,
WIFC, 8,
Offset (0x5BE),
TPLS, 8,
TPDB, 8,
TPDH, 16,
TPDS, 8,
AG1L, 64,
AG1H, 64,
AG2L, 64,
AG2H, 64,
AG3L, 64,
AG3H, 64,
HEFE, 8,
XDCE, 8,
STXE, 8,
STX0, 8,
STX1, 8,
STX2, 8,
STX3, 8,
STX4, 8,
STX5, 8,
STX6, 8,
STX7, 8,
STX8, 8,
STX9, 8,
Offset (0x60E),
CCMD, 8,
COMD, 8,
LPT1, 8,
PSTP, 8,
WKMD, 8,
IDER, 8,
PIE0, 8,
PIE1, 8,
CSTS, 8,
PMEE, 8,
WOLE, 8,
NVAD, 32,
NVSZ, 32,
Offset (0x622),
S1C0, 16,
S1C1, 16,
S2C0, 16,
S2C1, 16,
P2KB, 8,
HRAM, 8,
MDEN, 8,
TBEP, 8,
FGNE, 8,
TBTC, 8,
TRPN, 8,
TBTM, 32
}
OperationRegion (OGNS, SystemMemory, 0x7CE75F98, 0x0000000C)
Field (OGNS, AnyAcc, Lock, Preserve)
{
OG00, 8,
OG01, 8,
OG02, 8,
OG03, 8,
OG04, 8,
OG05, 8,
OG06, 8,
OG07, 8,
OG08, 8,
OG09, 8,
OG10, 8,
ECON, 8
}
Scope (_SB)
{
Name (PR00, Package (0x21)
{
Package (0x04)
{
0x001FFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001FFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x001DFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001DFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKD,
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)
{
0x001BFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001BFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001BFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001BFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0017FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0016FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0014FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0001FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0005FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0008FFFF,
Zero,
LNKA,
Zero
}
})
Name (AR00, Package (0x2D)
{
Package (0x04)
{
0x001FFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001FFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001FFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x001EFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x001EFFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0x001EFFFF,
0x02,
Zero,
0x16
},
Package (0x04)
{
0x001EFFFF,
0x03,
Zero,
0x17
},
Package (0x04)
{
0x001DFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001DFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001DFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
Zero,
0x13
},
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)
{
0x001BFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001BFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001BFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001BFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0019FFFF,
Zero,
Zero,
0x20
},
Package (0x04)
{
0x0019FFFF,
One,
Zero,
0x21
},
Package (0x04)
{
0x0019FFFF,
0x02,
Zero,
0x22
},
Package (0x04)
{
0x0017FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0016FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0016FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0016FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0016FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0015FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0015FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0015FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0015FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0014FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0014FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0013FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0004FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0005FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0008FFFF,
Zero,
Zero,
0x10
}
})
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 (PR08, 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 (AR08, 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 (PR09, 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 (AR09, 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 (PR0E, 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 (AR0E, 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 (PR0F, 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 (AR0F, 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 (PR02, 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 (AR02, 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 (PR0A, 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 (AR0A, 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 (PR0B, 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 (AR0B, 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 (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 ())
}
Return (PR00 ())
}
OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x40),
EPEN, 1,
, 11,
EPBR, 20,
Offset (0x48),
MHEN, 1,
, 14,
MHBR, 17,
Offset (0x50),
GCLK, 1,
Offset (0x54),
D0EN, 1,
D1F2, 1,
D1F1, 1,
D1F0, 1,
Offset (0x60),
PXEN, 1,
PXSZ, 2,
, 23,
PXBR, 6,
Offset (0x68),
DIEN, 1,
, 11,
DIBR, 20,
Offset (0x70),
, 20,
MEBR, 12,
Offset (0x80),
PMLK, 1,
, 3,
PM0H, 2,
Offset (0x81),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x82),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x83),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x84),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x85),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x86),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x87),
Offset (0xA8),
, 20,
TUUD, 19,
Offset (0xBC),
, 20,
TLUD, 12,
Offset (0xC8),
, 7,
HTSE, 1
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, _Y00)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000CF7, // Range Maximum
0x00000000, // Translation Offset
0x00000CF8, // Length
,, , TypeStatic, DenseTranslation)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000D00, // Range Minimum
0x0000FFFF, // Range Maximum
0x00000000, // Translation Offset
0x0000F300, // Length
,, , TypeStatic, DenseTranslation)
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
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y02, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y03, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y04, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y05, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y06, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y07, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y08, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y09, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y0A, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y0C, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
,, _Y0D, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xDFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xE0000000, // Length
,, _Y0E, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000010000, // Range Minimum
0x000000000001FFFF, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000010000, // Length
,, _Y0F, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFD000000, // Range Minimum
0xFE7FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x01800000, // Length
,, , AddressRangeMemory, TypeStatic)
})
Name (EP_B, Zero)
Name (MH_B, Zero)
Name (PC_B, Zero)
Name (PC_L, Zero)
Name (DM_B, Zero)
Method (GEPB, 0, Serialized)
{
If ((EP_B == Zero))
{
EP_B = (EPBR << 0x0C)
}
Return (EP_B) /* \_SB_.PCI0.EP_B */
}
Method (GMHB, 0, Serialized)
{
If ((MH_B == Zero))
{
MH_B = (MHBR << 0x0F)
}
Return (MH_B) /* \_SB_.PCI0.MH_B */
}
Method (GPCB, 0, Serialized)
{
If ((PC_B == Zero))
{
PC_B = (PXBR << 0x1A)
}
Return (PC_B) /* \_SB_.PCI0.PC_B */
}
Method (GPCL, 0, Serialized)
{
If ((PC_L == Zero))
{
PC_L = (0x10000000 >> PXSZ) /* \_SB_.PCI0.PXSZ */
}
Return (PC_L) /* \_SB_.PCI0.PC_L */
}
Method (GDMB, 0, Serialized)
{
If ((DM_B == Zero))
{
DM_B = (DIBR << 0x0C)
}
Return (DM_B) /* \_SB_.PCI0.DM_B */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Local0 = GPCL ()
CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
PBMX = ((Local0 >> 0x14) - 0x02)
CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
PBLN = ((Local0 >> 0x14) - One)
If (PM1L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length
C0LN = Zero
}
If ((PM1L == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW) // _RW_: Read-Write Status
C0RW = Zero
}
If (PM1H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN) // _LEN: Length
C4LN = Zero
}
If ((PM1H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW) // _RW_: Read-Write Status
C4RW = Zero
}
If (PM2L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN) // _LEN: Length
C8LN = Zero
}
If ((PM2L == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW) // _RW_: Read-Write Status
C8RW = Zero
}
If (PM2H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN) // _LEN: Length
CCLN = Zero
}
If ((PM2H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW) // _RW_: Read-Write Status
CCRW = Zero
}
If (PM3L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN) // _LEN: Length
D0LN = Zero
}
If ((PM3L == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW) // _RW_: Read-Write Status
D0RW = Zero
}
If (PM3H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN) // _LEN: Length
D4LN = Zero
}
If ((PM3H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW) // _RW_: Read-Write Status
D4RW = Zero
}
If (PM4L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN) // _LEN: Length
D8LN = Zero
}
If ((PM4L == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW) // _RW_: Read-Write Status
D8RW = Zero
}
If (PM4H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN) // _LEN: Length
DCLN = Zero
}
If ((PM4H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW) // _RW_: Read-Write Status
DCRW = Zero
}
If (PM5L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN) // _LEN: Length
E0LN = Zero
}
If ((PM5L == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW) // _RW_: Read-Write Status
E0RW = Zero
}
If (PM5H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN) // _LEN: Length
E4LN = Zero
}
If ((PM5H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW) // _RW_: Read-Write Status
E4RW = Zero
}
If (PM6L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN) // _LEN: Length
E8LN = Zero
}
If ((PM6L == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW) // _RW_: Read-Write Status
E8RW = Zero
}
If (PM6H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN) // _LEN: Length
ECLN = Zero
}
If ((PM6H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
ECRW = Zero
}
If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
F0LN = Zero
}
If ((PM0H == One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW) // _RW_: Read-Write Status
F0RW = Zero
}
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address
CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length
M1LN = M32L /* External reference */
M1MN = M32B /* External reference */
M1MX = ((M1MN + M1LN) - One)
If ((M64L == Zero))
{
CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length
MSLN = Zero
}
Else
{
CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN) // _LEN: Length
CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN) // _MIN: Minimum Base Address
CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX) // _MAX: Maximum Base Address
M2LN = M64L /* External reference */
M2MN = M64B /* External reference */
M2MX = ((M2MN + M2LN) - One)
}
Return (BUF0) /* \_SB_.PCI0.BUF0 */
}
Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
Name (SUPP, Zero)
Name (CTRL, Zero)
Name (XCNT, 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 (((TBTS == One) && (TNAT == One)))
{
CTRL &= 0xFFFFFFF7
}
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.PCI0)
{
Method (AR00, 0, NotSerialized)
{
Return (^^AR00) /* \_SB_.AR00 */
}
Method (PR00, 0, NotSerialized)
{
Return (^^PR00) /* \_SB_.PR00 */
}
Method (AR02, 0, NotSerialized)
{
Return (^^AR02) /* \_SB_.AR02 */
}
Method (PR02, 0, NotSerialized)
{
Return (^^PR02) /* \_SB_.PR02 */
}
Method (AR04, 0, NotSerialized)
{
Return (^^AR04) /* \_SB_.AR04 */
}
Method (PR04, 0, NotSerialized)
{
Return (^^PR04) /* \_SB_.PR04 */
}
Method (AR05, 0, NotSerialized)
{
Return (^^AR05) /* \_SB_.AR05 */
}
Method (PR05, 0, NotSerialized)
{
Return (^^PR05) /* \_SB_.PR05 */
}
Method (AR06, 0, NotSerialized)
{
Return (^^AR06) /* \_SB_.AR06 */
}
Method (PR06, 0, NotSerialized)
{
Return (^^PR06) /* \_SB_.PR06 */
}
Method (AR07, 0, NotSerialized)
{
Return (^^AR07) /* \_SB_.AR07 */
}
Method (PR07, 0, NotSerialized)
{
Return (^^PR07) /* \_SB_.PR07 */
}
Method (AR08, 0, NotSerialized)
{
Return (^^AR08) /* \_SB_.AR08 */
}
Method (PR08, 0, NotSerialized)
{
Return (^^PR08) /* \_SB_.PR08 */
}
Method (AR09, 0, NotSerialized)
{
Return (^^AR09) /* \_SB_.AR09 */
}
Method (PR09, 0, NotSerialized)
{
Return (^^PR09) /* \_SB_.PR09 */
}
Method (AR0A, 0, NotSerialized)
{
Return (^^AR0A) /* \_SB_.AR0A */
}
Method (PR0A, 0, NotSerialized)
{
Return (^^PR0A) /* \_SB_.PR0A */
}
Method (AR0B, 0, NotSerialized)
{
Return (^^AR0B) /* \_SB_.AR0B */
}
Method (PR0B, 0, NotSerialized)
{
Return (^^PR0B) /* \_SB_.PR0B */
}
Device (PEG0)
{
Name (_ADR, 0x00010000) // _ADR: Address
Device (PEGP)
{
Name (_ADR, Zero) // _ADR: Address
}
}
Device (PEG1)
{
Name (_ADR, 0x00010001) // _ADR: Address
Device (PEGP)
{
Name (_ADR, Zero) // _ADR: Address
}
}
Device (PEG2)
{
Name (_ADR, 0x00010002) // _ADR: Address
Device (PEGP)
{
Name (_ADR, Zero) // _ADR: Address
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000) // _ADR: Address
}
Device (B0D4)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
}
Name (_ADR, 0x00040000) // _ADR: Address
}
}
}
}
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 (PNVB, 0x7CE79C98)
Name (PNVL, 0x0204)
OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
Field (PNVA, AnyAcc, Lock, Preserve)
{
RCRV, 32,
PCHS, 16,
PCHG, 16,
RPA1, 32,
RPA2, 32,
RPA3, 32,
RPA4, 32,
RPA5, 32,
RPA6, 32,
RPA7, 32,
RPA8, 32,
RPA9, 32,
RPAA, 32,
RPAB, 32,
RPAC, 32,
RPAD, 32,
RPAE, 32,
RPAF, 32,
RPAG, 32,
RPAH, 32,
RPAI, 32,
RPAJ, 32,
RPAK, 32,
NHLA, 64,
NHLL, 32,
ADFM, 32,
SBRG, 32,
GPEM, 32,
G2L0, 32,
G2L1, 32,
G2L2, 32,
G2L3, 32,
G2L4, 32,
G2L5, 32,
G2L6, 32,
G2L7, 32,
G2L8, 32,
G2L9, 32,
PML1, 16,
PML2, 16,
PML3, 16,
PML4, 16,
PML5, 16,
PML6, 16,
PML7, 16,
PML8, 16,
PML9, 16,
PMLA, 16,
PMLB, 16,
PMLC, 16,
PMLD, 16,
PMLE, 16,
PMLF, 16,
PMLG, 16,
PMLH, 16,
PMLI, 16,
PMLJ, 16,
PMLK, 16,
PNL1, 16,
PNL2, 16,
PNL3, 16,
PNL4, 16,
PNL5, 16,
PNL6, 16,
PNL7, 16,
PNL8, 16,
PNL9, 16,
PNLA, 16,
PNLB, 16,
PNLC, 16,
PNLD, 16,
PNLE, 16,
PNLF, 16,
PNLG, 16,
PNLH, 16,
PNLI, 16,
PNLJ, 16,
PNLK, 16,
U0C0, 32,
U1C0, 32,
ADPM, 32,
XHPC, 8,
XRPC, 8,
XSPC, 8,
XSPA, 8,
HPTB, 32,
HPTE, 8,
SMD0, 8,
SMD1, 8,
SMD2, 8,
SMD3, 8,
SMD4, 8,
SMD5, 8,
SMD6, 8,
SMD7, 8,
SMD8, 8,
SMD9, 8,
SMDA, 8,
SIR0, 8,
SIR1, 8,
SIR2, 8,
SIR3, 8,
SIR4, 8,
SIR5, 8,
SIR6, 8,
SIR7, 8,
SIR8, 8,
SIR9, 8,
SIRA, 8,
SB00, 32,
SB01, 32,
SB02, 32,
SB03, 32,
SB04, 32,
SB05, 32,
SB06, 32,
SB07, 32,
SB08, 32,
SB09, 32,
SB0A, 32,
SB10, 32,
SB11, 32,
SB12, 32,
SB13, 32,
SB14, 32,
SB15, 32,
SB16, 32,
SB17, 32,
SB18, 32,
SB19, 32,
SB1A, 32,
GPEN, 8,
SGIR, 8,
NIT1, 8,
NIT2, 8,
NIT3, 8,
NPM1, 8,
NPM2, 8,
NPM3, 8,
NPC1, 8,
NPC2, 8,
NPC3, 8,
NL11, 16,
NL12, 16,
NL13, 16,
ND21, 8,
ND22, 8,
ND23, 8,
ND11, 32,
ND12, 32,
ND13, 32,
NLR1, 16,
NLR2, 16,
NLR3, 16,
NLD1, 32,
NLD2, 32,
NLD3, 32,
NEA1, 16,
NEA2, 16,
NEA3, 16,
NEB1, 16,
NEB2, 16,
NEB3, 16,
NEC1, 16,
NEC2, 16,
NEC3, 16,
NRA1, 16,
NRA2, 16,
NRA3, 16,
NMB1, 32,
NMB2, 32,
NMB3, 32,
NMV1, 32,
NMV2, 32,
NMV3, 32,
NPB1, 32,
NPB2, 32,
NPB3, 32,
NPV1, 32,
NPV2, 32,
NPV3, 32,
Offset (0x1E6),
SXRB, 32,
SXRS, 32,
CIOE, 8,
CIOI, 8,
TAEN, 8,
TIRQ, 8,
XWMB, 32,
EMH4, 8,
CSKU, 8,
ITA0, 16,
ITA1, 16,
ITA2, 16,
ITA3, 16,
ITS0, 8,
ITS1, 8,
ITS2, 8,
ITS3, 8
}
Scope (_SB)
{
Name (GCOM, Package (0x02)
{
Package (0x08)
{
0x00AF0000,
0x00AF0000,
0x00AE0000,
0x00AE0000,
0x00AE0000,
0x00AC0000,
0x00AC0000,
0x00AD0000
},
Package (0x0A)
{
0x00AF0000,
0x00AF0000,
0x00AE0000,
0x00AE0000,
0x00AE0000,
0x00AE0000,
0x00AE0000,
0x00AE0000,
0x00AC0000,
0x00AD0000
}
})
Name (GPPG, Package (0x02)
{
Package (0x08)
{
0x18,
0x18,
0x18,
0x18,
0x18,
0x18,
0x08,
0x0C
},
Package (0x0A)
{
0x18,
0x18,
0x18,
0x18,
0x0D,
0x18,
0x18,
0x18,
0x0B,
0x0C
}
})
Name (PCFG, Package (0x02)
{
Package (0x08)
{
0x0400,
0x04C0,
0x0400,
0x04C0,
0x0580,
0x0400,
0x04C0,
0x0400
},
Package (0x0A)
{
0x0400,
0x04C0,
0x0400,
0x04C0,
0x0580,
0x05E8,
0x06A8,
0x0768,
0x0400,
0x0400
}
})
Name (HOWN, Package (0x02)
{
Package (0x08)
{
0xD0,
0xD4,
0xD0,
0xD4,
0xD8,
0xD0,
0xD4,
0xD0
},
Package (0x0A)
{
0xD0,
0xD4,
0xD0,
0xD4,
0xD8,
0xDC,
0xE0,
0xE4,
0xD0,
0xD0
}
})
Name (POWN, Package (0x02)
{
Package (0x08)
{
0x20,
0x30,
0x20,
0x30,
0x40,
0x20,
0x30,
0x20
},
Package (0x0A)
{
0x20,
0x2C,
0x20,
0x2C,
0x38,
0x40,
0x4C,
0x58,
0x20,
0x20
}
})
Name (GPEO, Package (0x02)
{
Package (0x08)
{
0x0140,
0x0144,
0x0140,
0x0144,
0x0148,
0x0140,
0x0144,
0x0140
},
Package (0x0A)
{
0x0140,
0x0144,
0x0140,
0x0144,
0x0148,
0x014C,
0x0150,
0x0154,
0x0140,
0x0140
}
})
Name (GPES, Package (0x0A)
{
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (RXEV, Package (0x0A)
{
Ones,
Ones,
Ones,
Ones,
Ones,
Ones,
Ones,
Ones,
Ones,
Ones
})
Method (GNUM, 1, NotSerialized)
{
Local1 = GNMB (Arg0)
Local2 = GGRP (Arg0)
Return ((Local1 + (Local2 * 0x18)))
}
Method (INUM, 1, NotSerialized)
{
If ((PCHS == 0x02))
{
Local0 = Zero
}
Else
{
Local0 = One
}
Local1 = GNMB (Arg0)
Local2 = GGRP (Arg0)
Local3 = Zero
While ((Local3 < Local2))
{
Local1 += DerefOf (DerefOf (GPPG [Local0]) [Local3])
Local3++
}
Return ((0x18 + (Local1 % 0x60)))
}
Method (GGRP, 1, Serialized)
{
Local0 = ((Arg0 & 0x00FF0000) >> 0x10)
Return (Local0)
}
Method (GNMB, 1, Serialized)
{
Return ((Arg0 & 0xFFFF))
}
Method (GGPE, 1, NotSerialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = ((GPEM >> (Local0 * 0x02)) & 0x03)
If ((Local2 == Zero))
{
Return (0x6F)
}
Else
{
Return ((((Local2 - One) * 0x20) + Local1))
}
}
Method (GADR, 2, NotSerialized)
{
If ((PCHS == 0x02))
{
Local0 = Zero
}
Else
{
Local0 = One
}
Local1 = (DerefOf (DerefOf (GCOM [Local0]) [Arg0]) +
SBRG)
Local2 = DerefOf (DerefOf (Arg1 [Local0]) [Arg0])
Return ((Local1 + Local2))
}
Method (GPC0, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (TEMP) /* \_SB_.GPC0.TEMP */
}
Method (SPC0, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
TEMP = Arg1
}
Method (GPC1, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = ((GADR (Local0, PCFG) + (Local1 * 0x08)) +
0x04)
OperationRegion (PDW1, SystemMemory, Local2, 0x04)
Field (PDW1, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (TEMP) /* \_SB_.GPC1.TEMP */
}
Method (SPC1, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = ((GADR (Local0, PCFG) + (Local1 * 0x08)) +
0x04)
OperationRegion (PDW1, SystemMemory, Local2, 0x04)
Field (PDW1, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
TEMP = Arg1
}
Method (SRXO, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 28,
TEMP, 1,
Offset (0x04)
}
TEMP = Arg1
}
Method (GGIV, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 1,
TEMP, 1,
Offset (0x04)
}
Return (TEMP) /* \_SB_.GGIV.TEMP */
}
Method (GGOV, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 1,
Offset (0x04)
}
Return (TEMP) /* \_SB_.GGOV.TEMP */
}
Method (SGOV, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
TEMP, 1,
Offset (0x04)
}
TEMP = Arg1
}
Method (GGII, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 23,
TEMP, 1,
Offset (0x04)
}
Return (TEMP) /* \_SB_.GGII.TEMP */
}
Method (SGII, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 23,
TEMP, 1,
Offset (0x04)
}
TEMP = Arg1
}
Method (GPMV, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 10,
TEMP, 3,
Offset (0x04)
}
Return (TEMP) /* \_SB_.GPMV.TEMP */
}
Method (SPMV, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 10,
TEMP, 3,
Offset (0x04)
}
TEMP = Arg1
}
Method (GHPO, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
OperationRegion (PREG, SystemMemory, GADR (Local0, HOWN), 0x04)
Field (PREG, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (((TEMP >> Local1) & One))
}
Method (SHPO, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
OperationRegion (PREG, SystemMemory, GADR (Local0, HOWN), 0x04)
Field (PREG, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
TEMP = ((TEMP & ~(One << Local1)) | (
Arg1 << Local1))
}
Method (GGPO, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, POWN) + ((Local1 >> 0x03) * 0x04
))
OperationRegion (PREG, SystemMemory, Local2, 0x04)
Field (PREG, AnyAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (((TEMP >> ((Local1 & 0x07) * 0x04)) &
0x03))
}
Method (SGRA, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 20,
TEMP, 1,
Offset (0x04)
}
TEMP = Arg1
}
Method (SGWP, 2, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = ((GADR (Local0, PCFG) + (Local1 * 0x08)) +
0x04)
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 10,
TEMP, 4,
Offset (0x04)
}
TEMP = Arg1
}
Method (UGP1, 1, Serialized)
{
OperationRegion (GPPX, SystemMemory, GADR (Arg0, GPEO), 0x24)
Field (GPPX, AnyAcc, NoLock, Preserve)
{
STSX, 32,
Offset (0x20),
GENX, 32
}
If ((((GPEM >> (Arg0 * 0x02)) & 0x03) ==
Zero))
{
GPES [Arg0] = (STSX & GENX)
}
Else
{
GPES [Arg0] = Zero
}
}
Method (UGPS, 0, Serialized)
{
If ((PCHS == One))
{
Local0 = 0x0A
}
Else
{
Local0 = 0x08
}
While (Local0)
{
Local0--
UGP1 (Local0)
}
}
Method (CGP1, 2, Serialized)
{
If ((((GPEM >> (Arg0 * 0x02)) & 0x03) ==
Zero))
{
OperationRegion (GPPX, SystemMemory, GADR (Arg0, GPEO), 0x04)
Field (GPPX, AnyAcc, NoLock, Preserve)
{
STSX, 32
}
STSX = Arg1
}
}
Method (CGPS, 0, Serialized)
{
If ((PCHS == One))
{
Local0 = 0x0A
}
Else
{
Local0 = 0x08
}
While (Local0)
{
Local0--
CGP1 (Local0, 0xFFFFFFFF)
}
}
Method (CGLS, 0, Serialized)
{
If ((PCHS == One))
{
Local0 = 0x0A
}
Else
{
Local0 = 0x08
}
While (Local0)
{
Local0--
If ((Local0 == 0x09))
{
Local1 = G2L9 /* \G2L9 */
}
ElseIf ((Local0 == 0x08))
{
Local1 = G2L8 /* \G2L8 */
}
ElseIf ((Local0 == 0x07))
{
Local1 = G2L7 /* \G2L7 */
}
ElseIf ((Local0 == 0x06))
{
Local1 = G2L6 /* \G2L6 */
}
ElseIf ((Local0 == 0x05))
{
Local1 = G2L5 /* \G2L5 */
}
ElseIf ((Local0 == 0x04))
{
Local1 = G2L4 /* \G2L4 */
}
ElseIf ((Local0 == 0x03))
{
Local1 = G2L3 /* \G2L3 */
}
ElseIf ((Local0 == 0x02))
{
Local1 = G2L2 /* \G2L2 */
}
ElseIf ((Local0 == One))
{
Local1 = G2L1 /* \G2L1 */
}
ElseIf ((Local0 == Zero))
{
Local1 = G2L0 /* \G2L0 */
}
Else
{
Continue
}
CGP1 (Local0, Local1)
}
}
Method (CAGS, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
If ((((GPEM >> (Local0 * 0x02)) & 0x03) ==
Zero))
{
OperationRegion (GPPX, SystemMemory, GADR (Local0, GPEO), 0x04)
Field (GPPX, AnyAcc, NoLock, Preserve)
{
STSX, 32
}
Local3 = STSX /* \_SB_.CAGS.STSX */
Local2 = (One << Local1)
STSX |= Local2
}
}
Method (ISME, 1, NotSerialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Return (((DerefOf (GPES [Local0]) >> Local1) & One))
}
Method (DIPI, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 9,
RDIS, 1,
, 15,
RCFG, 2,
Offset (0x04)
}
If ((RCFG != 0x02))
{
Local3 = DerefOf (RXEV [Local0])
Local3 &= ~(0x03 << (Local1 * 0x02))
RXEV [Local0] = (Local3 | (RCFG << (Local1 * 0x02)
))
RCFG = 0x02
RDIS = One
}
}
Method (UIPI, 1, Serialized)
{
Local0 = GGRP (Arg0)
Local1 = GNMB (Arg0)
Local2 = (GADR (Local0, PCFG) + (Local1 * 0x08))
OperationRegion (PDW0, SystemMemory, Local2, 0x04)
Field (PDW0, AnyAcc, NoLock, Preserve)
{
, 9,
RDIS, 1,
, 15,
RCFG, 2,
Offset (0x04)
}
Local3 = ((DerefOf (RXEV [Local0]) >> (Local1 * 0x02
)) & 0x03)
If ((Local3 != 0x02))
{
RDIS = Zero
RCFG = Local3
}
}
}
Scope (\)
{
Method (THEN, 0, Serialized)
{
OperationRegion (THBA, SystemMemory, 0xFE200000, 0x10)
Field (THBA, DWordAcc, NoLock, Preserve)
{
DO00, 32
}
Return ((DO00 != 0xFFFFFFFF))
}
Method (THDA, 2, Serialized)
{
Local0 = 0xFE200000
Local0 += (0x40 * (0x80 * (Arg0 - 0x20)))
Local0 += (0x40 * Arg1)
Return (Local0)
}
Method (STRD, 3, Serialized)
{
If (((Arg1 + Arg2) > SizeOf (Arg0)))
{
Return (Zero)
}
ToBuffer (Arg0, Local3)
Local0 = Zero
Local1 = Zero
While ((Local1 < Arg2))
{
Local2 = DerefOf (Local3 [(Arg1 + Local1)])
Local0 += (Local2 << (0x08 * Local1))
Local1++
}
Return (Local0)
}
Method (THDS, 1, Serialized)
{
If (!THEN ())
{
Return (Zero)
}
Local0 = SizeOf (Arg0)
Local1 = THDA (0x20, 0x16)
OperationRegion (THBA, SystemMemory, Local1, 0x40)
Field (THBA, QWordAcc, NoLock, Preserve)
{
QO00, 64
}
Field (THBA, DWordAcc, NoLock, Preserve)
{
DO00, 32,
Offset (0x10),
DO10, 32,
Offset (0x30),
DO30, 32
}
Field (THBA, WordAcc, NoLock, Preserve)
{
WO00, 16
}
Field (THBA, ByteAcc, NoLock, Preserve)
{
BO00, 8
}
DO10 = 0x01000242
WO00 = Local0
Local6 = Zero
Local7 = Local0
While ((Local7 >= 0x08))
{
QO00 = STRD (Arg0, Local6, 0x08)
Local6 += 0x08
Local7 -= 0x08
}
If ((Local7 >= 0x04))
{
DO00 = STRD (Arg0, Local6, 0x04)
Local6 += 0x04
Local7 -= 0x04
}
If ((Local7 >= 0x02))
{
WO00 = STRD (Arg0, Local6, 0x02)
Local6 += 0x02
Local7 -= 0x02
}
If ((Local7 >= One))
{
BO00 = STRD (Arg0, Local6, One)
Local6 += One
Local7 -= One
}
DO30 = Zero
}
Method (THDH, 1, Serialized)
{
THDS (ToHexString (Arg0))
}
Method (THDD, 1, Serialized)
{
THDS (ToDecimalString (Arg0))
}
}
Name (SPTH, One)
Name (SPTL, 0x02)
Method (PCHV, 0, NotSerialized)
{
If ((PCHS == One))
{
Return (SPTH) /* \SPTH */
}
If ((PCHS == 0x02))
{
Return (SPTL) /* \SPTL */
}
Return (Zero)
}
Scope (_GPE)
{
Method (_L6D, 0, Serialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
\_SB.PCI0.XHC.GPEH ()
\_SB.PCI0.HDAS.GPEH ()
\_SB.PCI0.GLAN.GPEH ()
\_SB.PCI0.XDCI.GPEH ()
}
}
Scope (_SB.PCI0)
{
Device (PRRE)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, "PCHRESV") // _UID: Unique ID
Name (_STA, 0x03) // _STA: Status
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFD000000, // Address Base
0x00AC0000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFDAD0000, // Address Base
0x00010000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFDB00000, // Address Base
0x00500000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFE000000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFE036000, // Address Base
0x00006000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFE03D000, // Address Base
0x003C3000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFE410000, // Address Base
0x003F0000, // Address Length
)
})
Return (BUF0) /* \_SB_.PCI0.PRRE._CRS.BUF0 */
}
}
Device (IOTR)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, "IoTraps") // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Local0 = Buffer (0x02)
{
0x79, 0x00 // y.
}
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0xFF, // Length
_Y10)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0xFF, // Length
_Y11)
})
Name (BUF2, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0xFF, // Length
_Y12)
})
Name (BUF3, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0xFF, // Length
_Y13)
})
CreateWordField (BUF0, \_SB.PCI0.IOTR._CRS._Y10._MIN, AMI0) // _MIN: Minimum Base Address
CreateWordField (BUF0, \_SB.PCI0.IOTR._CRS._Y10._MAX, AMA0) // _MAX: Maximum Base Address
CreateWordField (BUF1, \_SB.PCI0.IOTR._CRS._Y11._MIN, AMI1) // _MIN: Minimum Base Address
CreateWordField (BUF1, \_SB.PCI0.IOTR._CRS._Y11._MAX, AMA1) // _MAX: Maximum Base Address
CreateWordField (BUF2, \_SB.PCI0.IOTR._CRS._Y12._MIN, AMI2) // _MIN: Minimum Base Address
CreateWordField (BUF2, \_SB.PCI0.IOTR._CRS._Y12._MAX, AMA2) // _MAX: Maximum Base Address
CreateWordField (BUF3, \_SB.PCI0.IOTR._CRS._Y13._MIN, AMI3) // _MIN: Minimum Base Address
CreateWordField (BUF3, \_SB.PCI0.IOTR._CRS._Y13._MAX, AMA3) // _MAX: Maximum Base Address
AMI0 = ITA0 /* \ITA0 */
AMA0 = ITA0 /* \ITA0 */
AMI1 = ITA1 /* \ITA1 */
AMA1 = ITA1 /* \ITA1 */
AMI2 = ITA2 /* \ITA2 */
AMA2 = ITA2 /* \ITA2 */
AMI3 = ITA3 /* \ITA3 */
AMA3 = ITA3 /* \ITA3 */
If ((ITS0 == One))
{
ConcatenateResTemplate (Local0, BUF0, Local1)
Local0 = Local1
}
If ((ITS1 == One))
{
ConcatenateResTemplate (Local0, BUF1, Local1)
Local0 = Local1
}
If ((ITS2 == One))
{
ConcatenateResTemplate (Local0, BUF2, Local1)
Local0 = Local1
}
If ((ITS3 == One))
{
ConcatenateResTemplate (Local0, BUF3, Local1)
Local0 = Local1
}
Return (Local0)
}
}
Device (LPCB)
{
Name (_ADR, 0x001F0000) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
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),
Offset (0xDC),
, 2,
ESPI, 1
}
}
Device (PPMC)
{
Name (_ADR, 0x001F0002) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
OperationRegion (PMCB, PCI_Config, Zero, 0x0100)
Field (PMCB, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x40),
Offset (0x41),
ACBA, 8,
Offset (0x48),
, 12,
PWBA, 20
}
}
Device (SBUS)
{
Name (_ADR, 0x001F0004) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
OperationRegion (SMBP, PCI_Config, Zero, 0xC0)
Field (SMBP, DWordAcc, NoLock, Preserve)
{
Offset (0x20),
, 5,
SBAR, 11,
Offset (0x40),
, 2,
I2CE, 1
}
OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
Offset (0x02),
HCON, 8,
HCOM, 8,
TXSA, 8,
DAT0, 8,
DAT1, 8,
HBDR, 8,
PECR, 8,
RXSA, 8,
SDAT, 16
}
Method (SSXB, 2, Serialized)
{
If (STRT ())
{
Return (Zero)
}
I2CE = Zero
HSTS = 0xBF
TXSA = Arg0
HCOM = Arg1
HCON = 0x48
If (COMP ())
{
HSTS |= 0xFF
Return (One)
}
Return (Zero)
}
Method (SRXB, 1, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
I2CE = Zero
HSTS = 0xBF
TXSA = (Arg0 | One)
HCON = 0x44
If (COMP ())
{
HSTS |= 0xFF
Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
}
Return (0xFFFF)
}
Method (SWRB, 3, Serialized)
{
If (STRT ())
{
Return (Zero)
}
I2CE = Zero
HSTS = 0xBF
TXSA = Arg0
HCOM = Arg1
DAT0 = Arg2
HCON = 0x48
If (COMP ())
{
HSTS |= 0xFF
Return (One)
}
Return (Zero)
}
Method (SRDB, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
I2CE = Zero
HSTS = 0xBF
TXSA = (Arg0 | One)
HCOM = Arg1
HCON = 0x48
If (COMP ())
{
HSTS |= 0xFF
Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
}
Return (0xFFFF)
}
Method (SWRW, 3, Serialized)
{
If (STRT ())
{
Return (Zero)
}
I2CE = Zero
HSTS = 0xBF
TXSA = Arg0
HCOM = Arg1
DAT1 = (Arg2 & 0xFF)
DAT0 = ((Arg2 >> 0x08) & 0xFF)
HCON = 0x4C
If (COMP ())
{
HSTS |= 0xFF
Return (One)
}
Return (Zero)
}
Method (SRDW, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
I2CE = Zero
HSTS = 0xBF
TXSA = (Arg0 | One)
HCOM = Arg1
HCON = 0x4C
If (COMP ())
{
HSTS |= 0xFF
Return (((DAT0 << 0x08) | DAT1))
}
Return (0xFFFFFFFF)
}
Method (SBLW, 4, Serialized)
{
If (STRT ())
{
Return (Zero)
}
I2CE = Arg3
HSTS = 0xBF
TXSA = Arg0
HCOM = Arg1
DAT0 = SizeOf (Arg2)
Local1 = Zero
HBDR = DerefOf (Arg2 [Zero])
HCON = 0x54
While ((SizeOf (Arg2) > Local1))
{
Local0 = 0x0FA0
While ((!(HSTS & 0x80) && Local0))
{
Local0--
Stall (0x32)
}
If (!Local0)
{
KILL ()
Return (Zero)
}
HSTS = 0x80
Local1++
If ((SizeOf (Arg2) > Local1))
{
HBDR = DerefOf (Arg2 [Local1])
}
}
If (COMP ())
{
HSTS |= 0xFF
Return (One)
}
Return (Zero)
}
Method (SBLR, 3, Serialized)
{
Name (TBUF, Buffer (0x0100){})
If (STRT ())
{
Return (Zero)
}
I2CE = Arg2
HSTS = 0xBF
TXSA = (Arg0 | One)
HCOM = Arg1
HCON = 0x54
Local0 = 0x0FA0
While ((!(HSTS & 0x80) && Local0))
{
Local0--
Stall (0x32)
}
If (!Local0)
{
KILL ()
Return (Zero)
}
TBUF [Zero] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
HSTS = 0x80
Local1 = One
While ((Local1 < DerefOf (TBUF [Zero])))
{
Local0 = 0x0FA0
While ((!(HSTS & 0x80) && Local0))
{
Local0--
Stall (0x32)
}
If (!Local0)
{
KILL ()
Return (Zero)
}
TBUF [Local1] = HBDR /* \_SB_.PCI0.SBUS.HBDR */
HSTS = 0x80
Local1++
}
If (COMP ())
{
HSTS |= 0xFF
Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
}
Return (Zero)
}
Method (STRT, 0, Serialized)
{
Local0 = 0xC8
While (Local0)
{
If ((HSTS & 0x40))
{
Local0--
Sleep (One)
If ((Local0 == Zero))
{
Return (One)
}
}
Else
{
Local0 = Zero
}
}
Local0 = 0x0FA0
While (Local0)
{
If ((HSTS & One))
{
Local0--
Stall (0x32)
If ((Local0 == Zero))
{
KILL ()
}
}
Else
{
Return (Zero)
}
}
Return (One)
}
Method (COMP, 0, Serialized)
{
Local0 = 0x0FA0
While (Local0)
{
If ((HSTS & 0x02))
{
Return (One)
}
Else
{
Local0--
Stall (0x32)
If ((Local0 == Zero))
{
KILL ()
}
}
}
Return (Zero)
}
Method (KILL, 0, Serialized)
{
HCON |= 0x02
HSTS |= 0xFF
}
}
}
Scope (_SB)
{
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 (\)
{
Method (PCRR, 2, Serialized)
{
Local0 = ((Arg0 << 0x10) + Arg1)
Local0 += SBRG
OperationRegion (PCR0, SystemMemory, Local0, 0x04)
Field (PCR0, DWordAcc, Lock, Preserve)
{
DAT0, 32
}
Return (DAT0) /* \PCRR.DAT0 */
}
Method (PCRW, 3, Serialized)
{
Local0 = ((Arg0 << 0x10) + Arg1)
Local0 += SBRG
OperationRegion (PCR0, SystemMemory, Local0, 0x04)
Field (PCR0, DWordAcc, Lock, Preserve)
{
DAT0, 32
}
DAT0 = Arg2
OperationRegion (PCR1, SystemMemory, (SBRG + 0x00C73418), 0x04)
Field (PCR1, DWordAcc, Lock, Preserve)
{
DAT1, 32
}
Local1 = DAT1 /* \PCRW.DAT1 */
}
Method (PCRO, 3, Serialized)
{
Local0 = PCRR (Arg0, Arg1)
Local1 = (Local0 | Arg2)
PCRW (Arg0, Arg1, Local1)
}
Method (PCRA, 3, Serialized)
{
Local0 = PCRR (Arg0, Arg1)
Local1 = (Local0 & Arg2)
PCRW (Arg0, Arg1, Local1)
}
Method (PCAO, 4, Serialized)
{
Local0 = PCRR (Arg0, Arg1)
Local1 = ((Local0 & Arg2) | Arg3)
PCRW (Arg0, Arg1, Local1)
}
Name (PMBV, Zero)
Method (PMBS, 0, NotSerialized)
{
If ((PMBV == Zero))
{
PMBV = (\_SB.PCI0.PPMC.ACBA << 0x08)
}
Return (PMBV) /* \PMBV */
}
Name (PWRV, Zero)
Method (PWRM, 0, NotSerialized)
{
If ((PWRV == Zero))
{
PWRV = (\_SB.PCI0.PPMC.PWBA << 0x0C)
}
Return (PWRV) /* \PWRV */
}
Name (TCBV, Zero)
Method (TCBS, 0, NotSerialized)
{
If ((TCBV == Zero))
{
Local0 = PCRR (0xEF, 0x2778)
TCBV = (Local0 & 0xFFE0)
}
Return (TCBV) /* \TCBV */
}
OperationRegion (PMIO, SystemIO, PMBS (), 0x80)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
PBSS, 1,
Offset (0x40),
, 17,
GPEC, 1
}
OperationRegion (PMLP, SystemIO, (PMBS () + 0x80), 0x20)
Field (PMLP, ByteAcc, NoLock, Preserve)
{
Offset (0x10),
Offset (0x11),
GE08, 1,
, 8,
GE17, 1,
, 17,
GE35, 1,
, 9,
GE45, 1,
Offset (0x16),
GE48, 1,
, 2,
GE51, 1,
Offset (0x20)
}
Field (PMLP, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x01),
GS08, 1,
, 8,
GS17, 1,
, 17,
GS35, 1,
, 9,
GS45, 1,
Offset (0x06),
GS48, 1,
, 2,
GS51, 1,
, 2,
GS54, 1,
GS55, 1,
Offset (0x10)
}
OperationRegion (TCBA, SystemIO, TCBS (), 0x10)
Field (TCBA, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
, 9,
CPSC, 1
}
OperationRegion (PWMR, SystemMemory, PWRM (), 0x0800)
Field (PWMR, AnyAcc, NoLock, Preserve)
{
Offset (0xE0),
Offset (0xE2),
DWLE, 1,
HWLE, 1
}
OperationRegion (PMST, SystemMemory, PWRV, 0x80)
Field (PMST, DWordAcc, NoLock, Preserve)
{
Offset (0x18),
, 25,
USBP, 1,
Offset (0x1C),
Offset (0x1F),
PMFS, 1,
Offset (0x20),
MPMC, 32,
, 20,
UWAB, 1
}
}
Scope (_SB.PCI0)
{
Name (LTRN, Zero)
Name (OBFN, Zero)
Name (LMSL, Zero)
Name (LNSL, Zero)
Device (GLAN)
{
Name (_ADR, 0x001F0006) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
OperationRegion (GLBA, PCI_Config, Zero, 0x0100)
Field (GLBA, AnyAcc, NoLock, Preserve)
{
DVID, 16,
Offset (0xCC),
Offset (0xCD),
PMEE, 1,
, 6,
PMES, 1
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x6D, 0x04))
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
PMEE = Arg0
}
Method (GPEH, 0, NotSerialized)
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
If ((PMEE && PMES))
{
PMES = One
Notify (GLAN, 0x02) // Device Wake
}
}
}
}
Scope (_SB.PCI0)
{
Device (XHC)
{
Name (_ADR, 0x00140000) // _ADR: Address
OperationRegion (XPRT, PCI_Config, Zero, 0x0100)
Field (XPRT, AnyAcc, NoLock, Preserve)
{
DVID, 16,
Offset (0x74),
D0D3, 2,
Offset (0x75),
PMEE, 1,
, 6,
PMES, 1,
Offset (0xA8),
, 13,
MW13, 1,
MW14, 1,
Offset (0xAC),
Offset (0xB0),
, 13,
MB13, 1,
MB14, 1,
Offset (0xB4),
Offset (0xD0),
PR2, 32,
PR2M, 32,
PR3, 32,
PR3M, 32
}
Name (XFLT, Zero)
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
If ((Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23")))
{
If ((Arg1 == 0x03))
{
XFLT = Arg1
}
}
Return (Zero)
}
Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
{
Return (0x03)
}
Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
{
Return (0x03)
}
Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State
{
Return (0x03)
}
Method (_S4W, 0, NotSerialized) // _S4W: S4 Device Wake State
{
Return (0x03)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((XFLT == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x6D, 0x03))
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
PMEE = Arg0
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (CondRefOf (\_SB.PCI0.XHC.RHUB.INIR))
{
^RHUB.INIR ()
}
}
Method (GPEH, 0, NotSerialized)
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
Local0 = PMES /* \_SB_.PCI0.XHC_.PMES */
PMES = One
If ((PMEE && Local0))
{
Notify (XHC, 0x02) // Device Wake
}
}
OperationRegion (XHCP, SystemMemory, (GPCB () + 0x000A0000), 0x0100)
Field (XHCP, AnyAcc, Lock, Preserve)
{
Offset (0x04),
PDBM, 16,
Offset (0x10),
MEMB, 64
}
Method (USRA, 0, Serialized)
{
If ((PCHV () == SPTH))
{
Return (0x0F)
}
Else
{
Return (0x0B)
}
}
Method (SSPA, 0, Serialized)
{
If ((PCHV () == SPTH))
{
Return (0x11)
}
Else
{
Return (0x0D)
}
}
Name (XRST, Zero)
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
PDBM &= 0xFFFFFFFFFFFFFFF9
Local3 = D0D3 /* \_SB_.PCI0.XHC_.D0D3 */
D0D3 = Zero
MEMB = XWMB /* \XWMB */
PDBM = (Local1 | 0x02)
OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
Field (MC11, DWordAcc, Lock, Preserve)
{
Offset (0x81C4),
, 2,
UPSW, 2
}
UPSW = Zero
PDBM &= 0xFFFFFFFFFFFFFFFD
MEMB = Local2
PDBM = Local1
If (CondRefOf (\_SB.PCI0.XHC.PS0X))
{
PS0X ()
}
If ((UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero))))
{
MPMC = One
While (PMFS)
{
Sleep (0x0A)
}
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
PDBM &= 0xFFFFFFFFFFFFFFF9
D0D3 = Zero
MEMB = XWMB /* \XWMB */
PDBM = (Local1 | 0x02)
OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
Field (MC11, DWordAcc, Lock, Preserve)
{
Offset (0x81C4),
, 2,
UPSW, 2
}
UPSW = 0x03
PDBM &= 0xFFFFFFFFFFFFFFFD
D0D3 = 0x03
MEMB = Local2
PDBM = Local1
If (CondRefOf (\_SB.PCI0.XHC.PS3X))
{
PS3X ()
}
If ((UWAB && ((D0D3 == 0x03) && ((^^XDCI.D0I3 == 0x03) || (
^^XDCI.DVID == 0xFFFF)))))
{
MPMC = 0x03
While (PMFS)
{
Sleep (0x0A)
}
}
}
Method (CUID, 1, Serialized)
{
If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
{
Return (One)
}
Return (Zero)
}
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS0X))
{
PS0X ()
}
}
Method (_PS2, 0, Serialized) // _PS2: Power State 2
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS2X))
{
PS2X ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS3X))
{
PS3X ()
}
}
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
}
Device (HS02)
{
Name (_ADR, 0x02) // _ADR: Address
}
Device (HS03)
{
Name (_ADR, 0x03) // _ADR: Address
}
Device (HS04)
{
Name (_ADR, 0x04) // _ADR: Address
}
Device (HS05)
{
Name (_ADR, 0x05) // _ADR: Address
}
Device (HS06)
{
Name (_ADR, 0x06) // _ADR: Address
}
Device (HS07)
{
Name (_ADR, 0x07) // _ADR: Address
}
Device (HS08)
{
Name (_ADR, 0x08) // _ADR: Address
}
Device (HS09)
{
Name (_ADR, 0x09) // _ADR: Address
}
Device (HS10)
{
Name (_ADR, 0x0A) // _ADR: Address
}
Device (USR1)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((USRA () + Zero))
}
}
Device (USR2)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((USRA () + One))
}
}
Device (SS01)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + Zero))
}
}
Device (SS02)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + One))
}
}
Device (SS03)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x02))
}
}
Device (SS04)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x03))
}
}
Device (SS05)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x04))
}
}
Device (SS06)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x05))
}
}
}
}
}
Scope (_SB.PCI0.XHC.RHUB)
{
Device (HS11)
{
Name (_ADR, 0x0B) // _ADR: Address
}
Device (HS12)
{
Name (_ADR, 0x0C) // _ADR: Address
}
Device (HS13)
{
Name (_ADR, 0x0D) // _ADR: Address
}
Device (HS14)
{
Name (_ADR, 0x0E) // _ADR: Address
}
Device (SS07)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x06))
}
}
Device (SS08)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x07))
}
}
Device (SS09)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x08))
}
}
Device (SS10)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return ((SSPA () + 0x09))
}
}
}
Scope (_SB.PCI0)
{
Device (XDCI)
{
Name (_ADR, 0x00140001) // _ADR: Address
OperationRegion (OTGD, PCI_Config, Zero, 0x0100)
Field (OTGD, DWordAcc, NoLock, Preserve)
{
DVID, 16,
Offset (0x10),
XDCB, 64,
Offset (0x74),
D0I3, 2,
Offset (0x84),
Offset (0x85),
PMEE, 1,
, 6,
PMES, 1
}
Method (XDBA, 0, NotSerialized)
{
Return ((XDCB & 0xFFFFFFFFFFFFFF00))
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
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
PURC = 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)){}
PURC = One
UXPE = Local2
Return (Zero)
}
}
Switch (Arg2)
{
Case (Zero)
{
Return (Buffer (One)
{
0xF3 // .
})
}
Case (One)
{
Return (One)
}
Case (0x04)
{
Local1 = DerefOf (Arg3 [Zero])
SPPS (Local1, Zero)
}
Case (0x05)
{
Return (Zero)
}
Case (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)
}
Case (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)
}
}
}
}
Return (Zero)
}
Name (_DDN, "SPT XHCI controller") // _DDN: DOS Device Name
Name (_STR, Unicode ("SPT XHCI controller")) // _STR: Description String
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
Return (0x03)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((DVID != 0xFFFFFFFF))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x6D, 0x04))
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
PMEE = Arg0
}
Method (GPEH, 0, NotSerialized)
{
If ((DVID == 0xFFFF))
{
Return (Zero)
}
Local0 = PMES /* \_SB_.PCI0.XDCI.PMES */
PMES = One
If ((PMEE && Local0))
{
Notify (XDCI, 0x02) // Device Wake
}
}
}
}
Scope (_SB.PCI0)
{
Device (HDAS)
{
Name (_ADR, 0x001F0003) // _ADR: Address
OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
Field (HDAR, WordAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x48),
, 6,
MBCG, 1,
Offset (0x54),
Offset (0x55),
PMEE, 1,
, 6,
PMES, 1
}
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
PMEE = Arg0
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x6D, 0x04))
}
Method (GPEH, 0, NotSerialized)
{
If ((VDID == 0xFFFFFFFF))
{
Return (Zero)
}
If ((PMEE && PMES))
{
ADBG ("HDAS GPEH")
PMES = One
Notify (HDAS, 0x02) // Device Wake
}
}
Name (NBUF, ResourceTemplate ()
{
QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
0x0000000000000001, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y14, AddressRangeACPI, TypeStatic)
})
Method (AUWA, 0, Serialized)
{
If ((PCHS == One))
{
If ((^^LPCB.CRID == Zero))
{
Return (One)
}
}
Else
{
If ((^^LPCB.CRID == Zero))
{
Return (One)
}
If ((^^LPCB.CRID == One))
{
Return (One)
}
If ((^^LPCB.CRID == 0x09))
{
Return (One)
}
}
Return (Zero)
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
ADBG ("HDAS _INI")
CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y14._MIN, NBAS) // _MIN: Minimum Base Address
CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y14._MAX, NMAS) // _MAX: Maximum Base Address
CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y14._LEN, NLEN) // _LEN: Length
NBAS = NHLA /* \NHLA */
NMAS = (NHLA + (NHLL - One))
NLEN = NHLL /* \NHLL */
If ((AUWA () == One))
{
MBCG = Zero
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
ADBG ("HDAS _DSM")
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
If ((Arg0 == ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553")))
{
Switch (Arg2)
{
Case (Zero)
{
Return (Buffer (One)
{
0x0F // .
})
}
Case (One)
{
ADBG ("_DSM Fun 1 NHLT")
Return (NBUF) /* \_SB_.PCI0.HDAS.NBUF */
}
Case (0x02)
{
ADBG ("_DSM Fun 2 FMSK")
Return (ADFM) /* \ADFM */
}
Case (0x03)
{
ADBG ("_DSM Fun 3 PPMS")
Return (Zero)
}
Default
{
ADBG ("_DSM Fun NOK")
Return (Buffer (One)
{
0x00 // .
})
}
}
}
If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37")))
{
If ((Arg2 == Zero))
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Else
{
Return (Zero)
}
}
If ((Arg2 == One))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
If (CondRefOf (\_SB.HIDD.HPEM))
{
^^^HIDD.HPEM (0x1B)
P8XH (Zero, 0x5C)
}
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
P8XH (Zero, 0x5D)
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
ADBG ("_DSM UUID NOK")
}
}
Device (RP01)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA1 != Zero))
{
Return (RPA1) /* \RPA1 */
}
Else
{
Return (0x001C0000)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR1 /* \LTR1 */
LMSL = PML1 /* \PML1 */
LNSL = PNL1 /* \PNL1 */
OBFN = OBF1 /* \OBF1 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP01._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP01.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04 ())
}
Return (PR04 ())
}
}
Device (RP02)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA2 != Zero))
{
Return (RPA2) /* \RPA2 */
}
Else
{
Return (0x001C0001)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR2 /* \LTR2 */
LMSL = PML2 /* \PML2 */
LNSL = PNL2 /* \PNL2 */
OBFN = OBF2 /* \OBF2 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP02._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP02.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05 ())
}
Return (PR05 ())
}
}
Device (RP03)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA3 != Zero))
{
Return (RPA3) /* \RPA3 */
}
Else
{
Return (0x001C0002)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR3 /* \LTR3 */
LMSL = PML3 /* \PML3 */
LNSL = PNL3 /* \PNL3 */
OBFN = OBF3 /* \OBF3 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP03._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP03.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Device (RP04)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA4 != Zero))
{
Return (RPA4) /* \RPA4 */
}
Else
{
Return (0x001C0003)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR4 /* \LTR4 */
LMSL = PML4 /* \PML4 */
LNSL = PNL4 /* \PNL4 */
OBFN = OBF4 /* \OBF4 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP04._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP04.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR07 ())
}
Return (PR07 ())
}
}
Device (RP05)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA5 != Zero))
{
Return (RPA5) /* \RPA5 */
}
Else
{
Return (0x001C0004)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR5 /* \LTR5 */
LMSL = PML5 /* \PML5 */
LNSL = PNL5 /* \PNL5 */
OBFN = OBF5 /* \OBF5 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP05._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP05.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04 ())
}
Return (PR04 ())
}
}
Device (RP06)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA6 != Zero))
{
Return (RPA6) /* \RPA6 */
}
Else
{
Return (0x001C0005)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR6 /* \LTR6 */
LMSL = PML6 /* \PML6 */
LNSL = PNL6 /* \PNL6 */
OBFN = OBF6 /* \OBF6 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP06._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP06.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05 ())
}
Return (PR05 ())
}
}
Device (RP07)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA7 != Zero))
{
Return (RPA7) /* \RPA7 */
}
Else
{
Return (0x001C0006)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR7 /* \LTR7 */
LMSL = PML7 /* \PML7 */
LNSL = PNL7 /* \PNL7 */
OBFN = OBF7 /* \OBF7 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP07._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP07.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Device (RP08)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA8 != Zero))
{
Return (RPA8) /* \RPA8 */
}
Else
{
Return (0x001C0007)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR8 /* \LTR8 */
LMSL = PML8 /* \PML8 */
LNSL = PNL8 /* \PNL8 */
OBFN = OBF8 /* \OBF8 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP08._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP08.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR07 ())
}
Return (PR07 ())
}
}
Device (RP09)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPA9 != Zero))
{
Return (RPA9) /* \RPA9 */
}
Else
{
Return (0x001D0000)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTR9 /* \LTR9 */
LMSL = PML9 /* \PML9 */
LNSL = PNL9 /* \PNL9 */
OBFN = OBF9 /* \OBF9 */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP09._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP09.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04 ())
}
Return (PR04 ())
}
}
Device (RP10)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAA != Zero))
{
Return (RPAA) /* \RPAA */
}
Else
{
Return (0x001D0001)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRA /* \LTRA */
LMSL = PMLA /* \PMLA */
LNSL = PNLA /* \PNLA */
OBFN = OBFA /* \OBFA */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP10._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP10.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05 ())
}
Return (PR05 ())
}
}
Device (RP11)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAB != Zero))
{
Return (RPAB) /* \RPAB */
}
Else
{
Return (0x001D0002)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRB /* \LTRB */
LMSL = PMLB /* \PMLB */
LNSL = PNLB /* \PNLB */
OBFN = OBFB /* \OBFB */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP11._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP11.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Device (RP12)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAC != Zero))
{
Return (RPAC) /* \RPAC */
}
Else
{
Return (0x001D0003)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRC /* \LTRC */
LMSL = PMLC /* \PMLC */
LNSL = PNLC /* \PNLC */
OBFN = OBFC /* \OBFC */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP12._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP12.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR07 ())
}
Return (PR07 ())
}
}
Device (RP13)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAD != Zero))
{
Return (RPAD) /* \RPAD */
}
Else
{
Return (0x001D0004)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRD /* \LTRD */
LMSL = PMLD /* \PMLD */
LNSL = PNLD /* \PNLD */
OBFN = OBFD /* \OBFD */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP13._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP13.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04 ())
}
Return (PR04 ())
}
}
Device (RP14)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAE != Zero))
{
Return (RPAE) /* \RPAE */
}
Else
{
Return (0x001D0005)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRE /* \LTRE */
LMSL = PMLE /* \PMLE */
LNSL = PNLE /* \PNLE */
OBFN = OBFE /* \OBFE */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP14._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP14.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05 ())
}
Return (PR05 ())
}
}
Device (RP15)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAF != Zero))
{
Return (RPAF) /* \RPAF */
}
Else
{
Return (0x001D0006)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRF /* \LTRF */
LMSL = PMLF /* \PMLF */
LNSL = PNLF /* \PNLF */
OBFN = OBFF /* \OBFF */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP15._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP15.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Device (RP16)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAG != Zero))
{
Return (RPAG) /* \RPAG */
}
Else
{
Return (0x001D0007)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRG /* \LTRG */
LMSL = PMLG /* \PMLG */
LNSL = PNLG /* \PNLG */
OBFN = OBFG /* \OBFG */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP16._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP16.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR07 ())
}
Return (PR07 ())
}
}
Device (RP17)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAH != Zero))
{
Return (RPAH) /* \RPAH */
}
Else
{
Return (0x001B0000)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRH /* \LTRH */
LMSL = PMLH /* \PMLH */
LNSL = PNLH /* \PNLH */
OBFN = OBFH /* \OBFH */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP17._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP17.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04 ())
}
Return (PR04 ())
}
}
Device (RP18)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAI != Zero))
{
Return (RPAI) /* \RPAI */
}
Else
{
Return (0x001B0001)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRI /* \LTRI */
LMSL = PMLI /* \PMLI */
LNSL = PNLI /* \PNLI */
OBFN = OBFI /* \OBFI */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP18._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP18.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05 ())
}
Return (PR05 ())
}
}
Device (RP19)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAJ != Zero))
{
Return (RPAJ) /* \RPAJ */
}
Else
{
Return (0x001B0002)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRJ /* \LTRJ */
LMSL = PMLJ /* \PMLJ */
LNSL = PNLJ /* \PNLJ */
OBFN = OBFJ /* \OBFJ */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP19._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP19.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Device (RP20)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
If ((RPAK != Zero))
{
Return (RPAK) /* \RPAK */
}
Else
{
Return (0x001B0003)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
LTRN = LTRK /* \LTRK */
LMSL = PMLK /* \_SB_.PCI0.PMLK */
LNSL = PNLK /* \PNLK */
OBFN = OBFK /* \OBFK */
}
OperationRegion (PXCS, PCI_Config, Zero, 0x0480)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x50),
L0SE, 1,
, 3,
LDIS, 1,
Offset (0x51),
Offset (0x52),
, 13,
LASX, 1,
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,
Offset (0xE2),
, 2,
L23E, 1,
L23R, 1,
Offset (0x324),
, 3,
LEDM, 1,
Offset (0x420),
, 30,
DPGE, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0xDC),
, 30,
HPSX, 1,
PMSX, 1
}
Name (LTRV, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Name (OPTS, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateBitField (OPTS, Zero, FUN0)
CreateBitField (OPTS, 0x04, FUN4)
CreateBitField (OPTS, 0x06, FUN6)
CreateBitField (OPTS, 0x08, FUN8)
CreateBitField (OPTS, 0x09, FUN9)
If ((Arg1 >= 0x02))
{
FUN0 = One
If (LTRE)
{
FUN6 = One
}
If (OBFF)
{
FUN4 = One
}
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
FUN8 = One
FUN9 = One
}
}
}
Return (OPTS) /* \_SB_.PCI0.RP20._DSM.OPTS */
}
Case (0x04)
{
If ((Arg1 >= 0x02))
{
If (OBFN)
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Else
{
Return (Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
If (LTRN)
{
If (((LMSL == Zero) || (LNSL == Zero)))
{
If ((PCHS == SPTH))
{
LMSL = 0x0846
LNSL = 0x0846
}
ElseIf ((PCHS == SPTL))
{
LMSL = 0x1003
LNSL = 0x1003
}
}
LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
LTRV [One] = (LMSL & 0x03FF)
LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
LTRV [0x03] = (LNSL & 0x03FF)
Return (LTRV) /* \_SB_.PCI0.RP20.LTRV */
}
Else
{
Return (Zero)
}
}
}
Case (0x08)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (One)
}
}
}
Case (0x09)
{
If ((ECR1 == One))
{
If ((Arg1 >= 0x03))
{
Return (Package (0x05)
{
0xC350,
Ones,
Ones,
0xC350,
Ones
})
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
}
Method (HPME, 0, Serialized)
{
If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
{
Notify (PXSX, 0x02) // Device Wake
PMSX = One
PSPX = One
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR07 ())
}
Return (PR07 ())
}
}
Device (SAT0)
{
Name (_ADR, 0x00170000) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
If (CondRefOf (\_SB.PCI0.SAT0.SDSM))
{
Return (SDSM) /* External reference */
Arg0
Arg1
Arg2
Arg3
}
Return (Zero)
}
Device (PRT0)
{
Name (_ADR, 0xFFFF) // _ADR: Address
}
Device (PRT1)
{
Name (_ADR, 0x0001FFFF) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x0002FFFF) // _ADR: Address
}
Device (PRT3)
{
Name (_ADR, 0x0003FFFF) // _ADR: Address
}
Device (PRT4)
{
Name (_ADR, 0x0004FFFF) // _ADR: Address
}
Device (PRT5)
{
Name (_ADR, 0x0005FFFF) // _ADR: Address
}
Method (RDCA, 5, Serialized)
{
OperationRegion (RPAL, SystemMemory, (GPCB () + (0x000B8100 + Arg1)), 0x04)
Field (RPAL, DWordAcc, Lock, Preserve)
{
RPCD, 32
}
OperationRegion (EPAC, SystemMemory, (GPCB () + 0x000B8308), 0x08)
Field (EPAC, DWordAcc, Lock, Preserve)
{
CAIR, 32,
CADR, 32
}
OperationRegion (NCRG, SystemMemory, (GPCB () + 0x000B8FC0), 0x04)
Field (NCRG, DWordAcc, Lock, Preserve)
{
CRGC, 32
}
If ((Arg0 > 0x02))
{
Return (Zero)
}
Else
{
CRGC = Arg0
}
Switch (ToInteger (Arg4))
{
Case (Zero)
{
Return (RPCD) /* \_SB_.PCI0.SAT0.RDCA.RPCD */
}
Case (0x02)
{
CAIR = Arg1
Return (CADR) /* \_SB_.PCI0.SAT0.RDCA.CADR */
}
Case (One)
{
Local0 = (Arg2 & RPCD) /* \_SB_.PCI0.SAT0.RDCA.RPCD */
Local0 |= Arg3
RPCD = Local0
}
Case (0x03)
{
CAIR = Arg1
Local0 = (Arg2 & CADR) /* \_SB_.PCI0.SAT0.RDCA.CADR */
Local0 |= Arg3
CADR = Local0
}
Default
{
Return (Zero)
}
}
}
Method (RPD0, 1, Serialized)
{
RDCA (Arg0, 0xA4, 0xFFFFFFFC, Zero, One)
}
Method (RPD3, 1, Serialized)
{
RDCA (Arg0, 0xA4, 0xFFFFFFFC, 0x03, One)
}
Device (NVM1)
{
Name (_ADR, 0x00C1FFFF) // _ADR: Address
Name (PRBI, Zero)
Name (PRBD, Zero)
Name (PCMD, Zero)
Name (NCRN, Zero)
Name (NITV, Zero)
Name (NPMV, Zero)
Name (NPCV, Zero)
Name (NL1V, Zero)
Name (ND2V, Zero)
Name (ND1V, Zero)
Name (NLRV, Zero)
Name (NLDV, Zero)
Name (NEAV, Zero)
Name (NEBV, Zero)
Name (NECV, Zero)
Name (NRAV, Zero)
Name (NMBV, Zero)
Name (NMVV, Zero)
Name (NPBV, Zero)
Name (NPVV, Zero)
Method (EPD0, 0, Serialized)
{
RDCA (NCRN, (NPMV + 0x04), 0xFFFFFFFC, Zero, 0x03)
}
Method (EPD3, 0, Serialized)
{
RDCA (NCRN, (NPMV + 0x04), 0xFFFFFFFC, 0x03, 0x03)
}
Method (CNRS, 0, Serialized)
{
If ((NITV == Zero))
{
Return (Zero)
}
RDCA (NCRN, 0x10, Zero, Zero, 0x03)
RDCA (NCRN, 0x14, Zero, Zero, 0x03)
RDCA (NCRN, 0x18, Zero, Zero, 0x03)
RDCA (NCRN, 0x1C, Zero, Zero, 0x03)
RDCA (NCRN, 0x20, Zero, Zero, 0x03)
RDCA (NCRN, 0x24, Zero, Zero, 0x03)
RDCA (NCRN, 0x04, 0xFFFFFFF8, PCMD, 0x03)
RDCA (NCRN, PRBI, Zero, PRBD, 0x03)
If ((NL1V != Zero))
{
RDCA (NCRN, (NL1V + 0x0C), 0xFFFFFF00, ND2V, 0x03)
RDCA (NCRN, (NL1V + 0x08), 0x0F, (ND1V & 0xFFFFFFF0), 0x03)
RDCA (NCRN, (NL1V + 0x08), 0xFFFFFFFF, ND1V, 0x03)
}
If ((NLRV != Zero))
{
RDCA (NCRN, (NLRV + 0x04), 0xFFFFFFFF, NLDV, 0x03)
}
RDCA (NCRN, (NPCV + 0x10), 0xFFFFFEBF, (NEAV & 0xFFFC), 0x03)
RDCA (NCRN, (NPCV + 0x28), 0xFFFFFBFF, NECV, 0x03)
RDCA (NCRN, (NPCV + 0x08), 0xFFFFFF1F, NEBV, 0x03)
RDCA (NCRN, 0x68, 0xFFFFFBFF, NRAV, One)
If (((NEAV & 0x40) == 0x40))
{
RDCA (NCRN, 0x50, 0xFFFFFFDF, 0x20, One)
While (((RDCA (NCRN, 0x52, Zero, Zero, Zero) & 0x2000) == Zero))
{
Stall (0x0A)
}
}
RDCA (NCRN, (NPCV + 0x10), 0xFFFFFFFC, (NEAV & 0x03), 0x03)
If ((NMVV != Zero))
{
RDCA (NCRN, NMBV, Zero, NMVV, 0x03)
}
If ((NPVV != Zero))
{
RDCA (NCRN, NPBV, Zero, NPVV, 0x03)
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((NITV == Zero))
{
Return (Zero)
}
PCMD = RDCA (NCRN, 0x04, Zero, Zero, 0x02)
If ((NITV == One))
{
PRBI = 0x24
PRBD = RDCA (NCRN, 0x24, Zero, Zero, 0x02)
}
ElseIf ((NITV == 0x02))
{
PRBI = 0x10
PRBD = RDCA (NCRN, 0x10, Zero, Zero, 0x02)
}
EPD3 ()
RPD3 (NCRN)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If ((NITV == Zero))
{
Return (Zero)
}
RPD0 (NCRN)
EPD0 ()
Local0 = RDCA (NCRN, (NPMV + 0x04), Zero, Zero, 0x02)
If (((Local0 & 0x08) == Zero))
{
CNRS ()
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
NITV = NIT1 /* \NIT1 */
NPMV = NPM1 /* \NPM1 */
NPCV = NPC1 /* \NPC1 */
NL1V = NL11 /* \NL11 */
ND2V = ND21 /* \ND21 */
ND1V = ND11 /* \ND11 */
NLRV = NLR1 /* \NLR1 */
NLDV = NLD1 /* \NLD1 */
NEAV = NEA1 /* \NEA1 */
NEBV = NEB1 /* \NEB1 */
NECV = NEC1 /* \NEC1 */
NRAV = NRA1 /* \NRA1 */
NMBV = NMB1 /* \NMB1 */
NMVV = NMV1 /* \NMV1 */
NPBV = NPB1 /* \NPB1 */
NPVV = NPV1 /* \NPV1 */
NCRN = Zero
}
}
Device (NVM2)
{
Name (_ADR, 0x00C2FFFF) // _ADR: Address
Name (PRBI, Zero)
Name (PRBD, Zero)
Name (PCMD, Zero)
Name (NCRN, Zero)
Name (NITV, Zero)
Name (NPMV, Zero)
Name (NPCV, Zero)
Name (NL1V, Zero)
Name (ND2V, Zero)
Name (ND1V, Zero)
Name (NLRV, Zero)
Name (NLDV, Zero)
Name (NEAV, Zero)
Name (NEBV, Zero)
Name (NECV, Zero)
Name (NRAV, Zero)
Name (NMBV, Zero)
Name (NMVV, Zero)
Name (NPBV, Zero)
Name (NPVV, Zero)
Method (EPD0, 0, Serialized)
{
RDCA (NCRN, (NPMV + 0x04), 0xFFFFFFFC, Zero, 0x03)
}
Method (EPD3, 0, Serialized)
{
RDCA (NCRN, (NPMV + 0x04), 0xFFFFFFFC, 0x03, 0x03)
}
Method (CNRS, 0, Serialized)
{
If ((NITV == Zero))
{
Return (Zero)
}
RDCA (NCRN, 0x10, Zero, Zero, 0x03)
RDCA (NCRN, 0x14, Zero, Zero, 0x03)
RDCA (NCRN, 0x18, Zero, Zero, 0x03)
RDCA (NCRN, 0x1C, Zero, Zero, 0x03)
RDCA (NCRN, 0x20, Zero, Zero, 0x03)
RDCA (NCRN, 0x24, Zero, Zero, 0x03)
RDCA (NCRN, 0x04, 0xFFFFFFF8, PCMD, 0x03)
RDCA (NCRN, PRBI, Zero, PRBD, 0x03)
If ((NL1V != Zero))
{
RDCA (NCRN, (NL1V + 0x0C), 0xFFFFFF00, ND2V, 0x03)
RDCA (NCRN, (NL1V + 0x08), 0x0F, (ND1V & 0xFFFFFFF0), 0x03)
RDCA (NCRN, (NL1V + 0x08), 0xFFFFFFFF, ND1V, 0x03)
}
If ((NLRV != Zero))
{
RDCA (NCRN, (NLRV + 0x04), 0xFFFFFFFF, NLDV, 0x03)
}
RDCA (NCRN, (NPCV + 0x10), 0xFFFFFEBF, (NEAV & 0xFFFC), 0x03)
RDCA (NCRN, (NPCV + 0x28), 0xFFFFFBFF, NECV, 0x03)
RDCA (NCRN, (NPCV + 0x08), 0xFFFFFF1F, NEBV, 0x03)
RDCA (NCRN, 0x68, 0xFFFFFBFF, NRAV, One)
If (((NEAV & 0x40) == 0x40))
{
RDCA (NCRN, 0x50, 0xFFFFFFDF, 0x20, One)
While (((RDCA (NCRN, 0x52, Zero, Zero, Zero) & 0x2000) == Zero))
{
Stall (0x0A)
}
}
RDCA (NCRN, (NPCV + 0x10), 0xFFFFFFFC, (NEAV & 0x03), 0x03)
If ((NMVV != Zero))
{
RDCA (NCRN, NMBV, Zero, NMVV, 0x03)
}
If ((NPVV != Zero))
{
RDCA (NCRN, NPBV, Zero, NPVV, 0x03)
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((NITV == Zero))
{
Return (Zero)
}
PCMD = RDCA (NCRN, 0x04, Zero, Zero, 0x02)
If ((NITV == One))
{
PRBI = 0x24
PRBD = RDCA (NCRN, 0x24, Zero, Zero, 0x02)
}
ElseIf ((NITV == 0x02))
{
PRBI = 0x10
PRBD = RDCA (NCRN, 0x10, Zero, Zero, 0x02)
}
EPD3 ()
RPD3 (NCRN)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If ((NITV == Zero))
{
Return (Zero)
}
RPD0 (NCRN)
EPD0 ()
Local0 = RDCA (NCRN, (NPMV + 0x04), Zero, Zero, 0x02)
If (((Local0 & 0x08) == Zero))
{
CNRS ()
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
NITV = NIT2 /* \NIT2 */
NPMV = NPM2 /* \NPM2 */
NPCV = NPC2 /* \NPC2 */
NL1V = NL12 /* \NL12 */
ND2V = ND22 /* \ND22 */
ND1V = ND12 /* \ND12 */
NLRV = NLR2 /* \NLR2 */
NLDV = NLD2 /* \NLD2 */
NEAV = NEA2 /* \NEA2 */
NEBV = NEB2 /* \NEB2 */
NECV = NEC2 /* \NEC2 */
NRAV = NRA2 /* \NRA2 */
NMBV = NMB2 /* \NMB2 */
NMVV = NMV2 /* \NMV2 */
NPBV = NPB2 /* \NPB2 */
NPVV = NPV2 /* \NPV2 */
NCRN = One
}
}
Device (NVM3)
{
Name (_ADR, 0x00C3FFFF) // _ADR: Address
Name (PRBI, Zero)
Name (PRBD, Zero)
Name (PCMD, Zero)
Name (NCRN, Zero)
Name (NITV, Zero)
Name (NPMV, Zero)
Name (NPCV, Zero)
Name (NL1V, Zero)
Name (ND2V, Zero)
Name (ND1V, Zero)
Name (NLRV, Zero)
Name (NLDV, Zero)
Name (NEAV, Zero)
Name (NEBV, Zero)
Name (NECV, Zero)
Name (NRAV, Zero)
Name (NMBV, Zero)
Name (NMVV, Zero)
Name (NPBV, Zero)
Name (NPVV, Zero)
Method (EPD0, 0, Serialized)
{
RDCA (NCRN, (NPMV + 0x04), 0xFFFFFFFC, Zero, 0x03)
}
Method (EPD3, 0, Serialized)
{
RDCA (NCRN, (NPMV + 0x04), 0xFFFFFFFC, 0x03, 0x03)
}
Method (CNRS, 0, Serialized)
{
If ((NITV == Zero))
{
Return (Zero)
}
RDCA (NCRN, 0x10, Zero, Zero, 0x03)
RDCA (NCRN, 0x14, Zero, Zero, 0x03)
RDCA (NCRN, 0x18, Zero, Zero, 0x03)
RDCA (NCRN, 0x1C, Zero, Zero, 0x03)
RDCA (NCRN, 0x20, Zero, Zero, 0x03)
RDCA (NCRN, 0x24, Zero, Zero, 0x03)
RDCA (NCRN, 0x04, 0xFFFFFFF8, PCMD, 0x03)
RDCA (NCRN, PRBI, Zero, PRBD, 0x03)
If ((NL1V != Zero))
{
RDCA (NCRN, (NL1V + 0x0C), 0xFFFFFF00, ND2V, 0x03)
RDCA (NCRN, (NL1V + 0x08), 0x0F, (ND1V & 0xFFFFFFF0), 0x03)
RDCA (NCRN, (NL1V + 0x08), 0xFFFFFFFF, ND1V, 0x03)
}
If ((NLRV != Zero))
{
RDCA (NCRN, (NLRV + 0x04), 0xFFFFFFFF, NLDV, 0x03)
}
RDCA (NCRN, (NPCV + 0x10), 0xFFFFFEBF, (NEAV & 0xFFFC), 0x03)
RDCA (NCRN, (NPCV + 0x28), 0xFFFFFBFF, NECV, 0x03)
RDCA (NCRN, (NPCV + 0x08), 0xFFFFFF1F, NEBV, 0x03)
RDCA (NCRN, 0x68, 0xFFFFFBFF, NRAV, One)
If (((NEAV & 0x40) == 0x40))
{
RDCA (NCRN, 0x50, 0xFFFFFFDF, 0x20, One)
While (((RDCA (NCRN, 0x52, Zero, Zero, Zero) & 0x2000) == Zero))
{
Stall (0x0A)
}
}
RDCA (NCRN, (NPCV + 0x10), 0xFFFFFFFC, (NEAV & 0x03), 0x03)
If ((NMVV != Zero))
{
RDCA (NCRN, NMBV, Zero, NMVV, 0x03)
}
If ((NPVV != Zero))
{
RDCA (NCRN, NPBV, Zero, NPVV, 0x03)
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((NITV == Zero))
{
Return (Zero)
}
PCMD = RDCA (NCRN, 0x04, Zero, Zero, 0x02)
If ((NITV == One))
{
PRBI = 0x24
PRBD = RDCA (NCRN, 0x24, Zero, Zero, 0x02)
}
ElseIf ((NITV == 0x02))
{
PRBI = 0x10
PRBD = RDCA (NCRN, 0x10, Zero, Zero, 0x02)
}
EPD3 ()
RPD3 (NCRN)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If ((NITV == Zero))
{
Return (Zero)
}
RPD0 (NCRN)
EPD0 ()
Local0 = RDCA (NCRN, (NPMV + 0x04), Zero, Zero, 0x02)
If (((Local0 & 0x08) == Zero))
{
CNRS ()
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
NITV = NIT3 /* \NIT3 */
NPMV = NPM3 /* \NPM3 */
NPCV = NPC3 /* \NPC3 */
NL1V = NL13 /* \NL13 */
ND2V = ND23 /* \ND23 */
ND1V = ND13 /* \ND13 */
NLRV = NLR3 /* \NLR3 */
NLDV = NLD3 /* \NLD3 */
NEAV = NEA3 /* \NEA3 */
NEBV = NEB3 /* \NEB3 */
NECV = NEC3 /* \NEC3 */
NRAV = NRA3 /* \NRA3 */
NMBV = NMB3 /* \NMB3 */
NMVV = NMV3 /* \NMV3 */
NPBV = NPB3 /* \NPB3 */
NPVV = NPV3 /* \NPV3 */
NCRN = 0x02
}
}
}
Device (CIO2)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((CIOE == One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (_HID, "INT343E") // _HID: Hardware ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (CBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y15)
{
0x00000010,
}
Memory32Fixed (ReadWrite,
0xFE400000, // Address Base
0x00010000, // Address Length
)
})
CreateDWordField (CBUF, \_SB.PCI0.CIO2._CRS._Y15._INT, CIOV) // _INT: Interrupts
CIOV = CIOI /* \CIOI */
Return (CBUF) /* \_SB_.PCI0.CIO2._CRS.CBUF */
}
}
Device (TERM)
{
Name (_HID, "INT343D") // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFE03C000, // Address Base
0x00001000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y16)
{
0x00000012,
}
})
CreateDWordField (RBUF, \_SB.PCI0.TERM._CRS._Y16._INT, IRQN) // _INT: Interrupts
IRQN = TIRQ /* \TIRQ */
Return (RBUF) /* \_SB_.PCI0.TERM._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TAEN == Zero))
{
Return (Zero)
}
If ((TIRQ == Zero))
{
Return (Zero)
}
Return (0x0F)
}
}
}
Scope (_SB.PCI0)
{
Method (LPD3, 1, Serialized)
{
OperationRegion (ICB1, SystemMemory, (Arg0 + 0x84), 0x04)
Field (ICB1, DWordAcc, NoLock, Preserve)
{
PMEC, 32
}
PMEC = 0x03
Local0 = PMEC /* \_SB_.PCI0.LPD3.PMEC */
}
Method (LPD0, 1, Serialized)
{
OperationRegion (ICB1, SystemMemory, (Arg0 + 0x84), 0x04)
Field (ICB1, DWordAcc, NoLock, Preserve)
{
PMEC, 32
}
PMEC &= 0xFFFF7FFC
Local0 = PMEC /* \_SB_.PCI0.LPD0.PMEC */
}
Method (LHRV, 1, Serialized)
{
OperationRegion (ICB1, SystemMemory, (Arg0 + 0x08), 0x04)
Field (ICB1, DWordAcc, NoLock, Preserve)
{
HRV, 8
}
Return (HRV) /* \_SB_.PCI0.LHRV.HRV_ */
}
Method (GETD, 1, Serialized)
{
OperationRegion (ICB1, SystemMemory, (Arg0 + 0x84), 0x04)
Field (ICB1, DWordAcc, NoLock, Preserve)
{
PMEC, 32
}
Return ((PMEC & 0x03))
}
Method (LCRS, 3, Serialized)
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y17)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y18)
{
0x00000014,
}
})
CreateDWordField (RBUF, \_SB.PCI0.LCRS._Y17._BAS, BVAL) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.LCRS._Y17._LEN, BLEN) // _LEN: Length
CreateDWordField (RBUF, \_SB.PCI0.LCRS._Y18._INT, IRQN) // _INT: Interrupts
BVAL = Arg1
IRQN = Arg2
If ((Arg0 == 0x04))
{
BLEN = 0x08
}
Return (RBUF) /* \_SB_.PCI0.LCRS.RBUF */
}
Method (LSTA, 1, Serialized)
{
If (((Arg0 == Zero) || (Arg0 == 0x03)))
{
Return (Zero)
}
If ((OSYS < 0x07DC))
{
Return (Zero)
}
Return (0x0F)
}
Method (GIRQ, 1, Serialized)
{
Return ((0x18 + (Arg0 % 0x60)))
}
}
Scope (_SB.PCI0)
{
Device (SIRC)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_STA, 0x03) // _STA: Status
Name (_UID, 0x05) // _UID: Unique ID
Method (ADDB, 3, Serialized)
{
Name (BUFF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y19)
})
CreateDWordField (BUFF, \_SB.PCI0.SIRC.ADDB._Y19._BAS, ADDR) // _BAS: Base Address
CreateDWordField (BUFF, \_SB.PCI0.SIRC.ADDB._Y19._LEN, LENG) // _LEN: Length
Local0 = Buffer (0x02)
{
0x79, 0x00 // y.
}
If ((((Arg0 == One) || (Arg0 == 0x03)) || (Arg0 == 0x04)))
{
ADDR = Arg2
ConcatenateResTemplate (Local0, BUFF, Local1)
Local0 = Local1
}
If ((Arg0 == 0x03))
{
ADDR = Arg1
ConcatenateResTemplate (Local0, BUFF, Local1)
Local0 = Local1
}
If ((Arg0 == 0x04))
{
ADDR = (0x08 + Arg1)
LENG = 0x0FF8
ConcatenateResTemplate (Local0, BUFF, Local1)
Local0 = Local1
}
Return (Local0)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Local0 = Buffer (0x02)
{
0x79, 0x00 // y.
}
ConcatenateResTemplate (Local0, ADDB (SMD0, SB00, SB10), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD1, SB01, SB11), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD2, SB02, SB12), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD3, SB03, SB13), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD4, SB04, SB14), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD5, SB05, SB15), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD6, SB06, SB16), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD7, SB07, SB17), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD8, SB08, SB18), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMD9, SB09, SB19), Local1)
Local0 = Local1
ConcatenateResTemplate (Local0, ADDB (SMDA, SB0A, SB1A), Local1)
Local0 = Local1
If ((^^GPI0._STA () == Zero))
{
ConcatenateResTemplate (Local0, ^^GPI0._CRS (), Local1)
Local0 = Local1
}
Return (Local0)
}
}
Device (GPI0)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If ((PCHV () == SPTH))
{
Return ("INT345D")
}
Return ("INT344B")
}
Name (LINK, "\\_SB.PCI0.GPI0")
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00010000, // Address Length
_Y1A)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00010000, // Address Length
_Y1B)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00010000, // Address Length
_Y1D)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y1C)
{
0x0000000E,
}
})
CreateDWordField (RBUF, \_SB.PCI0.GPI0._CRS._Y1A._BAS, COM0) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.GPI0._CRS._Y1B._BAS, COM1) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.GPI0._CRS._Y1C._INT, IRQN) // _INT: Interrupts
COM0 = (SBRG + 0x00AF0000)
COM1 = (SBRG + 0x00AE0000)
CreateDWordField (RBUF, \_SB.PCI0.GPI0._CRS._Y1D._BAS, COM3) // _BAS: Base Address
COM3 = (SBRG + 0x00AC0000)
IRQN = SGIR /* \SGIR */
Return (RBUF) /* \_SB_.PCI0.GPI0._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SBRG == Zero))
{
Return (Zero)
}
If ((GPEN == Zero))
{
Return (Zero)
}
Return (0x0F)
}
}
}
Scope (_SB.PCI0)
{
Device (I2C0)
{
Name (LINK, "\\_SB.PCI0.I2C0")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB10))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB10)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB10)
}
}
}
If ((SMD0 != 0x02))
{
Scope (_SB.PCI0.I2C0)
{
Name (_HID, "INT3442") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB10))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD0, SB00, SIR0))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD0))
}
}
}
If ((SMD0 == 0x02))
{
Scope (_SB.PCI0.I2C0)
{
Name (_ADR, 0x00150000) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (I2C1)
{
Name (LINK, "\\_SB.PCI0.I2C1")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB11))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB11)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB11)
}
}
}
If ((SMD1 != 0x02))
{
Scope (_SB.PCI0.I2C1)
{
Name (_HID, "INT3443") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB11))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD1, SB01, SIR1))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD1))
}
}
}
If ((SMD1 == 0x02))
{
Scope (_SB.PCI0.I2C1)
{
Name (_ADR, 0x00150001) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (I2C2)
{
Name (LINK, "\\_SB.PCI0.I2C2")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB12))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB12)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB12)
}
}
}
If ((SMD2 != 0x02))
{
Scope (_SB.PCI0.I2C2)
{
Name (_HID, "INT3444") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB12))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD2, SB02, SIR2))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD2))
}
}
}
If ((SMD2 == 0x02))
{
Scope (_SB.PCI0.I2C2)
{
Name (_ADR, 0x00150002) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (I2C3)
{
Name (LINK, "\\_SB.PCI0.I2C3")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB13))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB13)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB13)
}
}
}
If ((SMD3 != 0x02))
{
Scope (_SB.PCI0.I2C3)
{
Name (_HID, "INT3445") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB13))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD3, SB03, SIR3))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD3))
}
}
}
If ((SMD3 == 0x02))
{
Scope (_SB.PCI0.I2C3)
{
Name (_ADR, 0x00150003) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (I2C4)
{
Name (LINK, "\\_SB.PCI0.I2C4")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB14))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB14)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB14)
}
}
}
If ((SMD4 != 0x02))
{
Scope (_SB.PCI0.I2C4)
{
Name (_HID, "INT3446") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB14))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD4, SB04, SIR4))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD4))
}
}
}
If ((SMD4 == 0x02))
{
Scope (_SB.PCI0.I2C4)
{
Name (_ADR, 0x00190002) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (I2C5)
{
Name (LINK, "\\_SB.PCI0.I2C5")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB15))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB15)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB15)
}
}
}
If ((SMD5 != 0x02))
{
Scope (_SB.PCI0.I2C5)
{
Name (_HID, "INT3447") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB15))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD5, SB05, SIR5))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD5))
}
}
}
If ((SMD5 == 0x02))
{
Scope (_SB.PCI0.I2C5)
{
Name (_ADR, 0x00190001) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (SPI0)
{
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB16))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB16)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB16)
}
}
}
If ((SMD6 != 0x02))
{
Scope (_SB.PCI0.SPI0)
{
Name (_HID, "INT3440") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB16))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD6, SB06, SIR6))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD6))
}
}
}
If ((SMD6 == 0x02))
{
Scope (_SB.PCI0.SPI0)
{
Name (_ADR, 0x001E0002) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (SPI1)
{
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB17))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB17)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB17)
}
}
}
If ((SMD7 != 0x02))
{
Scope (_SB.PCI0.SPI1)
{
Name (_HID, "INT3441") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB17))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD7, SB07, SIR7))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD7))
}
}
}
If ((SMD7 == 0x02))
{
Scope (_SB.PCI0.SPI1)
{
Name (_ADR, 0x001E0003) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Device (UA00)
{
}
}
If ((SMD8 != 0x02))
{
Scope (_SB.PCI0.UA00)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If ((SMD8 == 0x04))
{
Return (0x020CD041)
}
Else
{
Return ("INT3448")
}
}
Name (_UID, "SerialIoUart0") // _UID: Unique ID
Name (_DDN, "SerialIoUart0") // _DDN: DOS Device Name
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB18))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD8, SB08, SIR8))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD8))
}
}
}
If ((SMD8 == 0x02))
{
Scope (_SB.PCI0.UA00)
{
Name (_ADR, 0x001E0000) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
If ((SMD8 != 0x04))
{
Scope (_SB.PCI0.UA00)
{
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB18))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB18)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB18)
}
}
}
Scope (_SB.PCI0)
{
Device (UA01)
{
}
}
If ((SMD9 != 0x02))
{
Scope (_SB.PCI0.UA01)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If ((SMD9 == 0x04))
{
Return (0x020CD041)
}
Else
{
Return ("INT3449")
}
}
Name (_UID, "SerialIoUart1") // _UID: Unique ID
Name (_DDN, "SerialIoUart1") // _DDN: DOS Device Name
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB19))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD9, SB09, SIR9))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD9))
}
}
}
If ((SMD9 == 0x02))
{
Scope (_SB.PCI0.UA01)
{
Name (_ADR, 0x001E0001) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
If ((SMD9 != 0x04))
{
Scope (_SB.PCI0.UA01)
{
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB19))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB19)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB19)
}
}
}
Scope (_SB.PCI0)
{
Device (UA02)
{
}
}
If ((SMDA != 0x02))
{
Scope (_SB.PCI0.UA02)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If ((SMDA == 0x04))
{
Return (0x020CD041)
}
Else
{
Return ("INT344A")
}
}
Name (_UID, "SerialIoUart2") // _UID: Unique ID
Name (_DDN, "SerialIoUart2") // _DDN: DOS Device Name
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB1A))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMDA, SB0A, SIRA))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMDA))
}
}
}
If ((SMDA == 0x02))
{
Scope (_SB.PCI0.UA02)
{
Name (_ADR, 0x00190000) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
Return (Zero)
}
}
}
If ((SMDA != 0x04))
{
Scope (_SB.PCI0.UA02)
{
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB1A))
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB1A)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB1A)
}
}
}
Scope (_SB.PCI0)
{
Name (HIDG, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
Name (TP7G, ToUUID ("ef87eb82-f951-46da-84ec-14871ac6f84b"))
Method (HIDD, 5, Serialized)
{
If ((Arg0 == HIDG))
{
If ((Arg2 == Zero))
{
If ((Arg1 == One))
{
Return (Buffer (One)
{
0x03 // .
})
}
}
If ((Arg2 == One))
{
Return (Arg4)
}
}
Return (Buffer (One)
{
0x00 // .
})
}
Method (TP7D, 6, Serialized)
{
If ((Arg0 == TP7G))
{
If ((Arg2 == Zero))
{
If ((Arg1 == One))
{
Return (Buffer (One)
{
0x03 // .
})
}
}
If ((Arg2 == One))
{
Return (ConcatenateResTemplate (Arg4, Arg5))
}
}
Return (Buffer (One)
{
0x00 // .
})
}
}
Scope (_SB.PCI0.I2C0)
{
Device (TPD0)
{
Name (HID2, Zero)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, _Y1E, Exclusive,
)
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y1F)
{
0x00000000,
}
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C0.TPD0._Y1E._ADR, BADR) // _ADR: Address
CreateDWordField (SBFB, \_SB.PCI0.I2C0.TPD0._Y1E._SPE, SPED) // _SPE: Speed
CreateWordField (SBFG, 0x17, INT1)
CreateDWordField (SBFI, \_SB.PCI0.I2C0.TPD0._Y1F._INT, INT2) // _INT: Interrupts
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If ((OSYS < 0x07DC))
{
SRXO (GPDI, One)
}
INT1 = GNUM (GPDI)
INT2 = INUM (GPDI)
If ((SDM0 == Zero))
{
SHPO (GPDI, One)
}
If ((SDS0 == One))
{
_HID = "SYNA2393"
HID2 = 0x20
Return (Zero)
}
If ((SDS0 == 0x02))
{
_HID = "06CB2846"
HID2 = 0x20
Return (Zero)
}
If ((SDS0 == 0x05))
{
_HID = "CUST0001"
HID2 = TPDH /* \TPDH */
BADR = TPDB /* \TPDB */
If ((TPDS == Zero))
{
SPED = 0x000186A0
}
If ((TPDS == One))
{
SPED = 0x00061A80
}
If ((TPDS == 0x02))
{
SPED = 0x000F4240
}
Return (Zero)
}
}
Name (_HID, "XXXX0000") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}
If ((Arg0 == TP7G))
{
Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
}
Return (Buffer (One)
{
0x00 // .
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((SDS0 == 0x05) || ((SDS0 == One) || (SDS0 == 0x02))))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSYS < 0x07DC))
{
Return (SBFI) /* \_SB_.PCI0.I2C0.TPD0.SBFI */
}
If ((SDM0 == Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
Return (ConcatenateResTemplate (SBFB, SBFI))
}
}
Device (HDAC)
{
Name (_HID, "INT0000") // _HID: Hardware ID
Name (_CID, "INT0000") // _CID: Compatible ID
Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (CADR, Zero)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If ((I2SC == One))
{
_HID = "INT3439"
_CID = "INT3439"
CADR = 0x1A
Return (Zero)
}
If (((I2SC == 0x02) || (I2SC == 0x03)))
{
_HID = "INT343A"
_CID = "INT343A"
CADR = 0x1C
Return (Zero)
}
If ((I2SC == 0x04))
{
_HID = "INT343B"
_CID = "INT343B"
CADR = 0x34
Return (Zero)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, _Y20, Exclusive,
)
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y21)
{
0x00000000,
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C0.HDAC._CRS._Y20._ADR, ADR) // _ADR: Address
ADR = CADR /* \_SB_.PCI0.I2C0.HDAC.CADR */
CreateDWordField (SBFI, \_SB.PCI0.I2C0.HDAC._CRS._Y21._INT, AINT) // _INT: Interrupts
AINT = INUM (0x02040016)
If ((BID == 0x20))
{
Return (SBFB) /* \_SB_.PCI0.I2C0.HDAC._CRS.SBFB */
}
Return (ConcatenateResTemplate (SBFB, SBFI))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((I2SC != Zero))
{
Return (0x0F)
}
Return (Zero)
}
}
}
Scope (_SB.PCI0.I2C1)
{
Device (TPL1)
{
Name (HID2, Zero)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y22, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y23)
{
0x00000000,
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C1.TPL1._Y22._ADR, BADR) // _ADR: Address
CreateDWordField (SBFB, \_SB.PCI0.I2C1.TPL1._Y22._SPE, SPED) // _SPE: Speed
CreateDWordField (SBFI, \_SB.PCI0.I2C1.TPL1._Y23._INT, INT2) // _INT: Interrupts
CreateWordField (SBFG, 0x17, INT1)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If ((OSYS < 0x07DC))
{
SRXO (GPLI, One)
}
INT1 = GNUM (GPLI)
INT2 = INUM (GPLI)
If ((SDM1 == Zero))
{
SHPO (GPLI, One)
}
If ((SDS1 == One))
{
_HID = "ATML3432"
HID2 = Zero
BADR = 0x4C
SPED = 0x00061A80
Return (Zero)
}
If ((SDS1 == 0x02))
{
_HID = "ATML2952"
HID2 = Zero
BADR = 0x4A
SPED = 0x00061A80
Return (Zero)
}
If ((SDS1 == 0x03))
{
_HID = "ELAN2097"
HID2 = One
BADR = 0x10
SPED = 0x00061A80
Return (Zero)
}
If ((SDS1 == 0x04))
{
_HID = "NTRG0001"
HID2 = One
BADR = 0x07
SPED = 0x00061A80
Return (Zero)
}
If ((SDS1 == 0x05))
{
_HID = "NTRG0002"
HID2 = One
BADR = 0x64
SPED = 0x00061A80
Return (Zero)
}
If ((SDS1 == 0x06))
{
_HID = "CUST0000"
HID2 = TPLH /* \TPLH */
BADR = TPLB /* \TPLB */
If ((TPLS == Zero))
{
SPED = 0x000186A0
}
If ((TPLS == One))
{
SPED = 0x00061A80
}
If ((TPLS == 0x02))
{
SPED = 0x000F4240
}
Return (Zero)
}
}
Name (_HID, "XXXX0000") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}
If ((Arg0 == TP7G))
{
Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
}
Return (Buffer (One)
{
0x00 // .
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SDS1 != Zero))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSYS < 0x07DC))
{
Return (SBFI) /* \_SB_.PCI0.I2C1.TPL1.SBFI */
}
If ((SDM1 == Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
Return (ConcatenateResTemplate (SBFB, SBFI))
}
}
Device (IMP3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "IMPJ0003") // _HID: Hardware ID
Name (_CID, "IMPJ0003") // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BID == 0x20))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.I2C1.IMP3._CRS.SBUF */
}
}
}
Scope (_SB.PCI0.SPI1)
{
Device (FPNT)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If ((SDS7 == One))
{
Return ("FPC1011")
}
If ((SDS7 == 0x02))
{
Return ("FPC1020")
}
If ((SDS7 == 0x03))
{
Return ("VFSI6101")
}
If ((SDS7 == 0x04))
{
Return ("VFSI7500")
}
If ((SDS7 == 0x05))
{
Return ("EGIS0300")
}
If ((SDS7 == 0x06))
{
Return ("FPC1021")
}
Return ("FPNT_DIS")
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
SHPO (GFPI, One)
SHPO (GFPS, One)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SDS7 != Zero))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BBUF, ResourceTemplate ()
{
SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
ControllerInitiated, 0x00989680, ClockPolarityLow,
ClockPhaseFirst, "\\_SB.PCI0.SPI1",
0x00, ResourceConsumer, _Y24, Exclusive,
)
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
})
Name (IBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y25)
{
0x00000000,
}
})
Name (GBUF, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, _Y26,
)
{ // Pin list
0x0000
}
})
Name (UBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
CreateDWordField (BBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y24._SPE, SPEX) // _SPE: Speed
CreateByteField (BBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y24._PHA, PHAX) // _PHA: Clock Phase
CreateWordField (BBUF, 0x3B, SPIN)
CreateWordField (GBUF, 0x17, GPIN)
CreateDWordField (IBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y25._INT, IPIN) // _INT: Interrupts
CreateBitField (IBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y25._LL, ILVL) // _LL_: Low Level
CreateBitField (IBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y25._HE, ITRG) // _HE_: High-Edge
CreateField (GBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y26._POL, 0x02, GLVL) // _POL: Polarity
CreateBitField (GBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y26._MOD, GTRG) // _MOD: Mode
CreateBitField (BBUF, \_SB.PCI0.SPI1.FPNT._CRS._Y24._DPL, SCSP) // _DPL: Device Selection Polarity
CreateWordField (UBUF, 0x17, UPIN)
SPIN = GNUM (GFPS)
GPIN = GNUM (GFPI)
IPIN = INUM (GFPI)
UPIN = GNUM (GFPI)
If (((SDS7 == 0x02) || (SDS7 == 0x06)))
{
ILVL = Zero
ITRG = One
GLVL = Zero
GTRG = One
}
If ((SDS7 == 0x04))
{
ILVL = Zero
ITRG = One
}
Switch (SDS7)
{
Case (One)
{
SPEX = 0x00989680
PHAX = Zero
}
Case (0x02)
{
SPEX = 0x002DC6C0
PHAX = Zero
}
Case (0x03)
{
SPEX = 0x007A1200
PHAX = One
}
Case (0x04)
{
SPEX = 0x007A1200
PHAX = Zero
}
Case (0x05)
{
SPEX = 0x00F42400
PHAX = Zero
}
Case (0x06)
{
SPEX = 0x002DC6C0
PHAX = Zero
}
Default
{
}
}
If ((SDS7 == One))
{
Return (BBUF) /* \_SB_.PCI0.SPI1.FPNT._CRS.BBUF */
}
If (((SDS7 == 0x04) && (SDM7 == Zero)))
{
Return (ConcatenateResTemplate (BBUF, ConcatenateResTemplate (UBUF, GBUF)))
}
If (((SDS7 == 0x04) && (SDM7 != Zero)))
{
Return (ConcatenateResTemplate (BBUF, ConcatenateResTemplate (UBUF, IBUF)))
}
If ((SDM7 == Zero))
{
Return (ConcatenateResTemplate (BBUF, GBUF))
}
Return (ConcatenateResTemplate (BBUF, IBUF))
}
}
}
Scope (_SB.PCI0.UA00)
{
Device (BTH0)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If ((SDS8 == One))
{
Return ("INT33E1")
}
If ((SDS8 == 0x02))
{
Return ("BCM2E40")
}
Return ("INT33E1")
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
SHPO (GBTI, One)
SHPO (GBTW, One)
SHPO (GBTK, One)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBFG, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
0x0020, 0x0020, "\\_SB.PCI0.UA00",
0x00, ResourceConsumer, , Exclusive,
)
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveLow, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
CreateWordField (SBFG, 0x8C, INT3)
CreateWordField (SBFG, 0x3C, WAK3)
CreateWordField (SBFG, 0x64, KIL3)
INT3 = GNUM (GBTI)
WAK3 = GNUM (GBTW)
KIL3 = GNUM (GBTK)
Name (SBFI, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
0x0020, 0x0020, "\\_SB.PCI0.UA00",
0x00, ResourceConsumer, , Exclusive,
)
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive, ,, _Y27)
{
0x00000000,
}
})
CreateDWordField (SBFI, \_SB.PCI0.UA00.BTH0._CRS._Y27._INT, INT4) // _INT: Interrupts
CreateWordField (SBFI, 0x3C, WAK4)
CreateWordField (SBFI, 0x64, KIL4)
INT4 = INUM (GBTI)
WAK4 = GNUM (GBTW)
KIL4 = GNUM (GBTK)
If ((SDM8 == Zero))
{
Return (SBFG) /* \_SB_.PCI0.UA00.BTH0._CRS.SBFG */
}
Else
{
Return (SBFI) /* \_SB_.PCI0.UA00.BTH0._CRS.SBFI */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SDS8 != Zero))
{
Return (0x0F)
}
Return (Zero)
}
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
}
}
Scope (_SB.PCI0)
{
Device (GNSS)
{
Name (_HID, "INT33A2") // _HID: Hardware ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (BUF1, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
0x0040, 0x0040, "\\_SB.PCI0.UA01",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (BUF2, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
CreateWordField (BUF2, 0x17, RPIN)
RPIN = GNUM (GGNR)
If ((GNSC == One))
{
Return (ConcatenateResTemplate (BUF1, BUF2))
}
Else
{
Return (BUF2) /* \_SB_.PCI0.GNSS._CRS.BUF2 */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((GNSC == Zero))
{
Return (Zero)
}
Return (0x0F)
}
}
}
Scope (_SB.PCI0)
{
Device (GEXP)
{
Name (_ADR, One) // _ADR: Address
Name (_STA, 0x0B) // _STA: Status
OperationRegion (BAR0, SystemMemory, SB04, 0x0208)
Field (BAR0, DWordAcc, NoLock, Preserve)
{
ICON, 32,
TAR, 32,
Offset (0x10),
DATA, 32,
HCNT, 32,
LCNT, 32,
Offset (0x2C),
, 5,
ABRT, 1,
Offset (0x40),
RBCK, 32,
Offset (0x54),
CLR, 32,
Offset (0x6C),
ENB, 1,
Offset (0x70),
ACTV, 1,
TFNF, 1,
, 1,
RFNE, 1,
Offset (0x7C),
HOLD, 32,
Offset (0x9C),
ENSB, 1,
Offset (0x204),
RST, 32
}
Method (SGEP, 3, Serialized)
{
CSER (GEXN, Arg0, Arg1, Arg2, Zero)
}
Method (SGED, 3, Serialized)
{
CSER (GEXN, Arg0, Arg1, Arg2, One)
}
Method (GEPS, 2, Serialized)
{
Return (CSER (GEXN, Arg0, Arg1, Zero, 0x02))
}
Method (SGEI, 3, Serialized)
{
CSER (GEXN, Arg0, Arg1, Arg2, 0x03)
}
Method (INVC, 0, NotSerialized)
{
Local0 = Zero
While ((Local0 < 0x10))
{
If ((R3DC (Zero, Local0, Zero) == 0x02))
{
W3DC (Zero, Local0, Zero, One)
}
If ((R3DC (One, Local0, Zero) == 0x02))
{
W3DC (One, Local0, Zero, One)
}
Local0 += One
}
}
Name (PPR, 0x08)
Name (INR, Package (0x03)
{
Zero,
One,
0x02
})
Name (OUTR, Package (0x03)
{
0x04,
0x05,
0x06
})
Name (CFGR, Package (0x03)
{
0x0C,
0x0D,
0x0E
})
Name (POLR, Package (0x03)
{
0x08,
0x09,
0x0A
})
Name (EXPA, 0x22)
Name (UCCH, One)
Name (END, 0x0200)
Name (READ, 0x0100)
Name (CACH, Package (0x02)
{
Package (0x10)
{
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
0x03,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x03,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x03,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x03,
Zero
}
},
Package (0x10)
{
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
0x03,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x03,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x03,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x03,
Zero
}
}
})
Method (W3DC, 4, NotSerialized)
{
DerefOf (DerefOf (CACH [Arg0]) [Arg1]) [Arg2]
= Arg3
}
Method (R3DC, 3, NotSerialized)
{
Return (DerefOf (DerefOf (DerefOf (CACH [Arg0]) [Arg1]) [
Arg2]))
}
Method (WREG, 4, Serialized)
{
Local1 = (Timer + 0xC350)
RST = 0x07
ENB = Zero
Local0 = RBCK /* \_SB_.PCI0.GEXP.RBCK */
Local0 = CLR /* \_SB_.PCI0.GEXP.CLR_ */
HOLD = 0x001C001C
HCNT = 0x0210
LCNT = 0x0280
TAR = (EXPA + Arg1)
ICON = 0x65
ENB = One
While ((ENSB != One))
{
If ((Timer > Local1))
{
Return (Zero)
}
}
DATA = Arg2
DATA = (END + Arg3)
While ((ACTV != Zero))
{
If ((Timer > Local1))
{
Return (Zero)
}
}
ENB = Zero
While ((ENSB != Zero))
{
If ((Timer > Local1))
{
Return (Zero)
}
}
W3DC (Arg1, Arg2, One, Arg3)
If ((R3DC (Arg1, Arg2, Zero) == One))
{
W3DC (Arg1, Arg2, Zero, 0x02)
}
Return (Zero)
}
Method (RREG, 3, Serialized)
{
If ((UCCH == One))
{
If ((R3DC (Arg1, Arg2, Zero) == 0x02))
{
Return (R3DC (Arg1, Arg2, One))
}
}
Local1 = (Timer + 0xC350)
RST = 0x07
ENB = Zero
Local0 = RBCK /* \_SB_.PCI0.GEXP.RBCK */
Local0 = CLR /* \_SB_.PCI0.GEXP.CLR_ */
HOLD = 0x001C001C
HCNT = 0x0210
LCNT = 0x0280
TAR = (EXPA + Arg1)
ICON = 0x65
ENB = One
While ((ENSB != One))
{
If ((Timer > Local1))
{
Return (Zero)
}
}
DATA = Arg2
DATA = (END + READ)
While ((ACTV != Zero))
{
If ((Timer > Local1))
{
Return (Zero)
}
}
Local0 = DATA /* \_SB_.PCI0.GEXP.DATA */
ENB = Zero
While ((ENSB != Zero))
{
If ((Timer > Local1))
{
Return (Zero)
}
}
Return (Local0)
}
Method (PS0, 1, Serialized)
{
OperationRegion (BAR1, SystemMemory, Arg0, 0x88)
Field (BAR1, DWordAcc, NoLock, Preserve)
{
Offset (0x84),
D0D3, 2
}
D0D3 = Zero
Local0 = D0D3 /* \_SB_.PCI0.GEXP.PS0_.D0D3 */
}
Method (PS3, 1, Serialized)
{
OperationRegion (BAR1, SystemMemory, Arg0, 0x88)
Field (BAR1, DWordAcc, NoLock, Preserve)
{
Offset (0x84),
D0D3, 2
}
D0D3 = 0x03
Local0 = D0D3 /* \_SB_.PCI0.GEXP.PS3_.D0D3 */
}
Method (CSER, 5, Serialized)
{
Name (SB1X, Zero)
Name (SB0X, Zero)
Name (SMDX, Zero)
Name (PINN, Zero)
Name (REGN, Zero)
Name (REGA, Zero)
Name (OLDV, Zero)
Name (NEWV, Zero)
Name (RETV, Zero)
If ((Arg0 > 0x05))
{
Return (Zero)
}
If ((Arg0 == Zero))
{
SB1X = SB10 /* \SB10 */
SB0X = SB00 /* \SB00 */
SMDX = SMD0 /* \SMD0 */
}
If ((Arg0 == One))
{
SB1X = SB11 /* \SB11 */
SB0X = SB01 /* \SB01 */
SMDX = SMD1 /* \SMD1 */
}
If ((Arg0 == 0x02))
{
SB1X = SB12 /* \SB12 */
SB0X = SB02 /* \SB02 */
SMDX = SMD2 /* \SMD2 */
}
If ((Arg0 == 0x03))
{
SB1X = SB13 /* \SB13 */
SB0X = SB03 /* \SB03 */
SMDX = SMD3 /* \SMD3 */
}
If ((Arg0 == 0x04))
{
SB1X = SB14 /* \SB14 */
SB0X = SB04 /* \SB04 */
SMDX = SMD4 /* \SMD4 */
}
If ((Arg0 == 0x05))
{
SB1X = SB15 /* \SB15 */
SB0X = SB05 /* \SB05 */
SMDX = SMD5 /* \SMD5 */
}
If ((Arg0 > 0x05))
{
Return (Zero)
}
If ((Arg1 > One))
{
Return (Zero)
}
If ((Arg2 > 0x17))
{
Return (Zero)
}
If ((Arg3 > One))
{
Return (Zero)
}
If ((Arg4 > 0x02))
{
Return (Zero)
}
If ((SMDX != 0x03))
{
Return (Zero)
}
If ((Arg4 == Zero))
{
Local0 = OUTR /* \_SB_.PCI0.GEXP.OUTR */
}
If ((Arg4 == One))
{
Local0 = CFGR /* \_SB_.PCI0.GEXP.CFGR */
}
If ((Arg4 == 0x02))
{
Local0 = INR /* \_SB_.PCI0.GEXP.INR_ */
}
If ((Arg4 == 0x03))
{
Local0 = POLR /* \_SB_.PCI0.GEXP.POLR */
}
PS0 (SB1X)
Divide (Arg2, PPR, PINN, REGN) /* \_SB_.PCI0.GEXP.CSER.REGN */
REGA = DerefOf (Local0 [REGN])
OLDV = RREG (SB0X, Arg1, REGA)
If ((Arg4 == 0x02))
{
RETV = (One & (OLDV >> PINN))
}
Else
{
NEWV = (OLDV & ~(One << PINN))
NEWV |= (Arg3 << PINN) /* \_SB_.PCI0.GEXP.CSER.NEWV */
If ((NEWV != OLDV))
{
WREG (SB0X, Arg1, REGA, NEWV)
}
}
PS3 (SB1X)
Return (RETV) /* \_SB_.PCI0.GEXP.CSER.RETV */
}
}
}
Method (PKG1, 1, Serialized)
{
Name (PKG, Package (0x01)
{
Zero
})
PKG [Zero] = Arg0
Return (PKG) /* \PKG1.PKG_ */
}
Method (PKG3, 3, Serialized)
{
Name (PKG, Package (0x03)
{
Zero,
Zero,
Zero
})
PKG [Zero] = Arg0
PKG [One] = Arg1
PKG [0x02] = Arg2
Return (PKG) /* \PKG3.PKG_ */
}
If (USTP)
{
Scope (_SB.PCI0.I2C1)
{
Method (SSCN, 0, NotSerialized)
{
Return (PKG3 (SSHI, SSLI, SSDI))
}
Method (FMCN, 0, NotSerialized)
{
Return (PKG3 (FMHI, FMLI, FMDI))
}
Method (FPCN, 0, NotSerialized)
{
Return (PKG3 (FPHI, FPLI, FPDI))
}
Method (M0D3, 0, NotSerialized)
{
Return (PKG1 (M0CI))
}
Method (M1D3, 0, NotSerialized)
{
Return (PKG1 (M1CI))
}
}
Scope (_SB.PCI0.SPI1)
{
Method (M0D3, 0, NotSerialized)
{
Return (PKG1 (M0CS))
}
Method (M1D3, 0, NotSerialized)
{
Return (PKG1 (M1CS))
}
}
Scope (_SB.PCI0.UA01)
{
Method (M0D3, 0, NotSerialized)
{
Return (PKG1 (M0CU))
}
Method (M1D3, 0, NotSerialized)
{
Return (PKG1 (M1CU))
}
}
}
If ((PCHV () == SPTL))
{
Scope (_SB.PCI0)
{
Device (PEMC)
{
Name (_ADR, 0x001E0004) // _ADR: Address
OperationRegion (SCSR, PCI_Config, Zero, 0x0100)
Field (SCSR, WordAcc, NoLock, Preserve)
{
Offset (0x84),
PSTA, 32,
Offset (0xA2),
, 2,
PGEN, 1
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
PGEN = Zero
PCRA (0xC0, 0x0600, 0x7FFFFFBA)
Sleep (0x02)
PCRO (0xC0, 0x0600, 0x80000045)
PSTA &= 0xFFFFFFFC
Local0 = PSTA /* \_SB_.PCI0.PEMC.PSTA */
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
PGEN = One
PSTA |= 0x03
Local0 = PSTA /* \_SB_.PCI0.PEMC.PSTA */
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
ADBG (Concatenate ("EMH4=", ToDecimalString (EMH4)))
If ((Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61")))
{
If ((Arg1 == Zero))
{
Switch (Arg2)
{
Case (Zero)
{
If ((EMH4 == One))
{
Return (Buffer (One)
{
0x61 // a
})
}
Return (Buffer (One)
{
0x21 // !
})
}
Case (0x05)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (0x06)
{
Return (Buffer (One)
{
0x05 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Device (CARD)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
}
Device (PSDC)
{
Name (_ADR, 0x001E0006) // _ADR: Address
OperationRegion (SCSR, PCI_Config, Zero, 0x0100)
Field (SCSR, WordAcc, NoLock, Preserve)
{
Offset (0x84),
PSTA, 32,
Offset (0xA2),
, 2,
PGEN, 1
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
PGEN = Zero
PCRA (0xC0, 0x0600, 0xFFFFFE7A)
Sleep (0x02)
PCRO (0xC0, 0x0600, 0x0185)
PSTA &= 0xFFFFFFFC
Local0 = PSTA /* \_SB_.PCI0.PSDC.PSTA */
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
PGEN = One
PSTA |= 0x03
Local0 = PSTA /* \_SB_.PCI0.PSDC.PSTA */
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
If ((Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61")))
{
If ((Arg1 == Zero))
{
Switch (Arg2)
{
Case (Zero)
{
Return (Buffer (One)
{
0x19 // .
})
}
Case (0x03)
{
Sleep (0x64)
Return (Buffer (One)
{
0x00 // .
})
}
Case (0x04)
{
Sleep (0x64)
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
}
}
Scope (_SB.PCI0)
{
Device (ISHD)
{
Name (_ADR, 0x00130000) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Scope (_SB.PCI0)
{
Device (HECI)
{
Name (_ADR, 0x00160000) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Scope (_SB.PCI0.LPCB)
{
Device (H_EC)
{
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (ECAV, Zero)
Name (ECA2, Zero)
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BFFR, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
Return (BFFR) /* \_SB_.PCI0.LPCB.H_EC._CRS.BFFR */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((ECON == Zero))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (ECF2, SystemMemory, 0x7CBA2798, 0x0200)
Field (ECF2, ByteAcc, Lock, Preserve)
{
Offset (0x01),
PLMX, 8,
LTMP, 8,
, 1,
, 1,
DCKS, 1,
CFAN, 1,
, 2,
, 1,
Offset (0x04),
IWCW, 160,
IWCR, 160,
Offset (0x2F),
Offset (0x30),
DOCK, 1,
EJET, 1,
, 1,
PBNS, 1,
, 1,
Offset (0x31),
SCAN, 8,
B1ST, 8,
Offset (0x34),
B1CC, 8,
B1VT, 8,
B2ST, 8,
B2CR, 8,
B2CC, 8,
B2VT, 8,
CMDR, 8,
LUXL, 8,
LUXH, 8,
ACH0, 8,
ACH1, 8,
Offset (0x41),
PPSL, 8,
PPSH, 8,
PINV, 8,
PENV, 8,
PSTP, 8,
Offset (0x47),
CPUP, 16,
BPWR, 16,
PPWR, 16,
TSR1, 8,
TSR2, 8,
TSR3, 8,
TSR4, 8,
TSR5, 8,
TSI, 4,
HYST, 4,
TSHT, 8,
TSLT, 8,
TSSR, 8,
TESR, 8,
B1DC, 16,
B1RC, 16,
B1FC, 16,
B1FV, 16,
Offset (0x61),
B1CI, 16,
B2RC, 16,
B2FC, 16,
B2FV, 16,
B2DI, 16,
B2CI, 16,
CPAP, 16,
BKAP, 16,
PLAP, 16,
CFSP, 16,
BRTV, 8,
Offset (0x77),
SLPC, 8,
DLED, 1,
PB10, 1,
, 1,
DOCO, 1,
Offset (0x79),
PWRT, 8,
Offset (0x7C),
PTIM, 8,
DHPD, 8,
TSR6, 8,
TSR7, 8,
PMAX, 8,
PPDT, 8,
PECL, 8,
PECH, 8,
PMDT, 8,
TSD0, 8,
TSD1, 8,
TSD2, 8,
TSD3, 8,
PAKN, 8,
CPUE, 32,
Offset (0x9B),
PRCL, 8,
PRC0, 8,
PRC1, 8,
PRCM, 8,
PRIN, 8,
PSTE, 8,
PCAD, 8,
PEWL, 8,
PWRL, 8,
PECD, 8,
PEHI, 8,
PECI, 8,
PEPL, 8,
PEPM, 8,
PWFC, 8,
PECC, 8,
PDT0, 8,
PDT1, 8,
PDT2, 8,
PDT3, 8,
PRFC, 8,
PRS0, 8,
PRS1, 8,
PRS2, 8,
PRS3, 8,
PRS4, 8,
Offset (0xBB),
PRCS, 8,
PEC0, 8,
PEC1, 8,
PEC2, 8,
PEC3, 8,
TSR8, 8,
MCRT, 8,
WKRS, 16,
WTMS, 8,
AWT2, 8,
AWT1, 8,
AWT0, 8,
SPT2, 1,
Offset (0xC9),
BTEN, 8,
Offset (0xD1),
B2DC, 16,
B1DV, 16,
B2DV, 16,
B1ML, 8,
B1MH, 8,
B2ML, 8,
B2MH, 8,
BTP1, 8,
B1TL, 8,
B1TH, 8,
KBDB, 8,
CHGR, 16,
TER1, 8,
TER2, 8,
TER3, 8,
TER4, 8,
TER5, 8,
TER6, 8,
SCCK, 8,
PVOL, 8,
B2TH, 8,
Offset (0xF4),
VBUS, 1,
OTGI, 1,
Offset (0x100),
E907, 800
}
Method (ECRD, 1, Serialized)
{
If ((ECLP == One))
{
If (((ECUP == Zero) && (GGOV (0x0201000C) == Zero)))
{
SGOV (0x0201000C, One)
Sleep (0x10)
}
}
Local0 = DerefOf (Arg0)
Return (Zero)
}
Method (ECR2, 1, Serialized)
{
If ((ECLP == One))
{
If (((ECUP == Zero) && (GGOV (0x0201000C) == Zero)))
{
SGOV (0x0201000C, One)
Sleep (0x10)
}
}
Local0 = DerefOf (Arg0)
Return (Local0)
}
Method (ECWT, 2, Serialized)
{
If (ECAV)
{
If ((ECLP == One))
{
If (((ECUP == Zero) && (GGOV (0x0201000C) == Zero)))
{
SGOV (0x0201000C, One)
Sleep (0x10)
}
}
Arg1 = Arg0
}
}
Method (ECMD, 1, Serialized)
{
If (ECAV)
{
ECWT (Arg0, RefOf (CMDR))
}
Return (Zero)
}
Device (ALSD)
{
Name (_HID, "ACPI0008" /* Ambient Light Sensor Device */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((ALSE == 0x02))
{
Return (0x0B)
}
Return (Zero)
}
Method (_ALI, 0, NotSerialized) // _ALI: Ambient Light Illuminance
{
Return (((LHIH << 0x08) | LLOW))
}
Name (_ALR, Package (0x05) // _ALR: Ambient Light Response
{
Package (0x02)
{
0x46,
Zero
},
Package (0x02)
{
0x49,
0x0A
},
Package (0x02)
{
0x55,
0x50
},
Package (0x02)
{
0x64,
0x012C
},
Package (0x02)
{
0x96,
0x03E8
}
})
}
Scope (\)
{
Field (GNVS, AnyAcc, Lock, Preserve)
{
Offset (0x1F),
B0SC, 8,
Offset (0x22),
B0SS, 8
}
}
Method (_Q53, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x53)
VBSE ()
}
Method (VBSE, 0, Serialized)
{
If ((BNUM == Zero))
{
If ((ECRD (RefOf (VPWR)) != PWRS))
{
PWRS = ECRD (RefOf (VPWR))
\_PR.POWS = ECRD (RefOf (VPWR))
PNOT ()
}
}
}
Method (VBHK, 0, Serialized)
{
Local0 = ECRD (RefOf (SCCK))
If ((Local0 == 0x02))
{
BTTM (0x0A)
}
If ((Local0 == 0x03))
{
BTTM (0x14)
}
If ((Local0 == 0x04))
{
BTTM (0x1E)
}
If ((Local0 == 0x05))
{
BTTM (0x28)
}
If ((Local0 == 0x06))
{
BTTM (0x32)
}
If ((Local0 == 0x07))
{
BTTM (0x3C)
}
If ((Local0 == 0x08))
{
BTTM (0x46)
}
If ((Local0 == 0x09))
{
BTTM (0x50)
}
If ((Local0 == 0x0A))
{
BTTM (0x5A)
}
If ((Local0 == 0x0B))
{
BTTM (0x64)
}
If ((Local0 == 0x0C))
{
If ((B0SC >= 0x02))
{
BTTM ((B0SC - 0x02))
}
}
If ((Local0 == 0x0D))
{
If ((B0SC <= 0x62))
{
BTTM ((B0SC + 0x02))
}
}
If ((Local0 == 0x3F))
{
If ((BNUM == Zero))
{
PWRS ^= One
\_PR.POWS ^= One
PNOT ()
}
}
}
Method (BTTM, 1, Serialized)
{
If (PWRS)
{
If ((Arg0 >= B0SC))
{
B0SC = Arg0
Notify (BAT0, 0x80) // Status Change
}
}
ElseIf ((Arg0 <= B0SC))
{
B0SC = Arg0
Notify (BAT0, 0x80) // Status Change
}
}
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((((BID == 0x0B) || (BID == 0x44)) || (BID == 0x09)))
{
Return (Zero)
}
If (((((((BID == 0x42) || (BID == 0x41)) ||
(BID == 0x43)) || (BID == 0x51)) || (BID == 0x46)) || (BID == 0x49)))
{
Return (Zero)
}
If ((BNUM & 0x03))
{
Return (0x0B)
}
Return (0x1F)
}
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
{
Return (Package (0x0D)
{
Zero,
0x2710,
0x2710,
One,
0xFFFFFFFF,
0x03E8,
0x0190,
0x64,
0x64,
"CRB Battery 0",
"Battery 0",
"Fake",
"-Virtual Battery 0-"
})
}
Method (_BST, 0, Serialized) // _BST: Battery Status
{
Name (PKG0, Package (0x04)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
If (PWRS)
{
PKG0 [Zero] = 0x02
}
Else
{
PKG0 [Zero] = One
}
PKG0 [One] = 0x7FFFFFFF
PKG0 [0x02] = (B0SC * 0x64)
Return (PKG0) /* \_SB_.PCI0.LPCB.H_EC.BAT0._BST.PKG0 */
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (Package (0x01)
{
_SB
})
}
}
Scope (\)
{
Field (GNVS, AnyAcc, Lock, Preserve)
{
Offset (0x1E),
BNUM, 8,
Offset (0x20),
B1SC, 8,
Offset (0x23),
B1SS, 8
}
}
Scope (\)
{
Field (GNVS, AnyAcc, Lock, Preserve)
{
Offset (0x21),
B2SC, 8,
Offset (0x24),
B2SS, 8
}
}
Device (BAT2)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Method (_UID, 0, NotSerialized) // _UID: Unique ID
{
If ((BID == 0x20))
{
Return (One)
}
Else
{
Return (0x02)
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((((((BID == 0x0B) || (BID == 0x44)) ||
(BID == 0x43)) || (BID == 0x51)) || (BID == 0x46)) || (BID == 0x49)))
{
Return (Zero)
}
If ((BNUM & 0x02))
{
Return (0x1F)
}
Return (0x0B)
}
Method (_BIF, 0, Serialized) // _BIF: Battery Information
{
Name (BPK2, Package (0x0D)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
Zero,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
"LID-BAT",
"123456789",
"LiP",
"Simplo"
})
If (ECAV)
{
If (((ECRD (RefOf (B2DV)) && ECRD (RefOf (B2FC))) && ECRD (RefOf (B2DC))))
{
BPK2 [One] = ((ECRD (RefOf (B2DC)) * ECRD (RefOf (
B2DV))) / 0x03E8)
BPK2 [0x02] = ((ECRD (RefOf (B2FC)) * ECRD (RefOf (
B2DV))) / 0x03E8)
BPK2 [0x04] = B2DV /* \_SB_.PCI0.LPCB.H_EC.B2DV */
BPK2 [0x05] = ((ECRD (RefOf (B2FC)) * ECRD (RefOf (
B2DV))) / 0x2710)
BPK2 [0x06] = ((ECRD (RefOf (B2FC)) * ECRD (RefOf (
B2DV))) / 0x61A8)
BPK2 [0x07] = 0x0100
BPK2 [0x08] = 0x40
}
}
Return (BPK2) /* \_SB_.PCI0.LPCB.H_EC.BAT2._BIF.BPK2 */
}
Method (_BIX, 0, Serialized) // _BIX: Battery Information Extended
{
Name (BPK2, Package (0x14)
{
Zero,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
Zero,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
Zero,
Zero,
Zero,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
"LID-BAT",
"123456789",
"LiP",
"Simplo"
})
If (ECAV)
{
If (((ECRD (RefOf (B2DV)) && ECRD (RefOf (B2FC))) && ECRD (RefOf (B2DC))))
{
BPK2 [0x02] = ((ECRD (RefOf (B2DC)) * ECRD (RefOf (
B2DV))) / 0x03E8)
BPK2 [0x03] = ((ECRD (RefOf (B2FC)) * ECRD (RefOf (
B2DV))) / 0x03E8)
BPK2 [0x05] = ECRD (RefOf (B2DV))
BPK2 [0x06] = ((ECRD (RefOf (B2FC)) * ECRD (RefOf (
B2DV))) / 0x2710)
BPK2 [0x07] = ((ECRD (RefOf (B2FC)) * ECRD (RefOf (
B2DV))) / 0x61A8)
BPK2 [0x08] = 0x0100
BPK2 [0x09] = 0x40
BPK2 [0x0A] = 0x0320
BPK2 [0x0B] = 0x251C
}
}
Return (BPK2) /* \_SB_.PCI0.LPCB.H_EC.BAT2._BIX.BPK2 */
}
Method (_BST, 0, Serialized) // _BST: Battery Status
{
Name (PKG2, Package (0x04)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
If (ECAV)
{
PKG2 [Zero] = (ECRD (RefOf (B2ST)) & 0x07)
If ((ECRD (RefOf (B2ST)) & One))
{
Local0 = (ECRD (RefOf (B2DI)) * ECRD (RefOf (B2FV)))
Local0 = (Local0 / 0x03E8)
PKG2 [One] = Local0
}
Else
{
Local0 = (ECRD (RefOf (B2CI)) * ECRD (RefOf (B2FV)))
Local0 = (Local0 / 0x03E8)
PKG2 [One] = Local0
}
PKG2 [0x02] = ((ECRD (RefOf (B2RC)) * ECRD (RefOf (
B2DV))) / 0x03E8)
PKG2 [0x03] = ECRD (RefOf (B2FV))
}
Return (PKG2) /* \_SB_.PCI0.LPCB.H_EC.BAT2._BST.PKG2 */
}
Method (_BLT, 3, NotSerialized) // _BLT: Battery Level Threshold
{
If (ECAV)
{
If (((ECRD (RefOf (B2FC)) != Zero) && (ECRD (RefOf (
B2FV)) != Zero)))
{
Local0 = ((Arg2 * 0x64) / ((ECRD (RefOf (B2FC)) *
ECRD (RefOf (B2FV))) / 0x03E8))
Local0 += One
ECWT (Local0, RefOf (BTP1))
ECMD (0x34)
}
}
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (Package (0x01)
{
_SB
})
}
}
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (((Arg0 == 0x03) && (Arg1 == One)))
{
ECAV = Zero
ECA2 = One
If ((OSYS >= 0x07DD))
{
FG78 = Zero
}
Else
{
FG78 = One
}
If ((Zero == ACTT))
{
ECWT (Zero, RefOf (CFAN))
}
If (CondRefOf (\_TZ.ETMD))
{
If ((\_TZ.ETMD == One))
{
\_TZ.FN00._OFF ()
}
}
LHIH = ECRD (RefOf (LUXH))
LLOW = ECRD (RefOf (LUXL))
If (((ALSE == 0x02) && IGDS ()))
{
Local0 = ECRD (RefOf (LUXH))
^^^GFX0.ALSI = ((Local0 << 0x08) | ECRD (RefOf (LUXL)))
}
If ((ECR2 (RefOf (LSTE)) == Zero))
{
^^^GFX0.CLID = Zero
}
If ((ECR2 (RefOf (LSTE)) == One))
{
^^^GFX0.CLID = 0x03
}
LIDS () = ECR2 (RefOf (LSTE))
^^^GFX0.CDCK = DSTS /* \DSTS */
BNUM = Zero
BNUM |= ECR2 (RefOf (BAPS))
BNUM |= ((ECRD (RefOf (B2ST)) & 0x08) >> 0x02)
Local0 = PWRS /* \PWRS */
If ((BNUM == Zero))
{
PWRS = ECR2 (RefOf (VPWR))
\_PR.POWS = ECR2 (RefOf (VPWR))
}
Else
{
PWRS = ECR2 (RefOf (RPWR))
\_PR.POWS = ECR2 (RefOf (RPWR))
}
PNOT ()
}
}
Method (_GPE, 0, NotSerialized) // _GPE: General Purpose Events
{
If (ESPI)
{
Local0 = 0x6E
}
Else
{
Local0 = 0x17
If (((BID == One) || (BID == 0x02)))
{
Local0 = 0x32
}
If (((((((((((BID ==
0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) || (BID == 0x0A)) ||
(BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)) || (
BID == 0x0C)))
{
Local0 = GGPE (0x02040010)
}
If ((((((((((BID == 0x42) ||
(BID == 0x41)) || (BID == 0x43)) || (BID == 0x46)) || (BID == 0x51)) || (
BID == 0x49)) || (BID == 0x44)) || (BID == 0x45)) || (BID == 0x48)))
{
Local0 = GGPE (0x01060003)
}
}
Return (Local0)
}
Method (_Q90, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x30)
PWRS = One
\_PR.POWS = One
PNOT ()
}
Method (_Q91, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x31)
PWRS = Zero
\_PR.POWS = Zero
PNOT ()
}
Method (_Q92, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x32)
PNOT ()
}
Method (_Q33, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x33)
BNUM = Zero
BNUM |= ((ECRD (RefOf (B1ST)) & 0x08) >> 0x03)
BNUM |= ((ECRD (RefOf (B2ST)) & 0x08) >> 0x02)
PNOT ()
}
Method (_Q40, 0, Serialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x40)
If ((ECRD (RefOf (DOCK)) == Zero))
{
Return (Zero)
}
Sleep (0x03E8)
SSMP = DKSM /* \DKSM */
DSTS = One
Sleep (0x03E8)
Notify (^^^DOCK, Zero) // Bus Check
If ((CondRefOf (^VGBI._STA) && ((^VGBI._STA () & One) == One)))
{
PB1E |= 0x10
^VGBI.UPBT (0x07, One)
ADBG ("Notify 0xCA")
Notify (VGBI, 0xCA) // Hardware-Specific
If ((BID == 0x20))
{
If ((ECRD (RefOf (DOCO)) == One))
{
PB1E |= 0x08
^VGBI.UPBT (0x06, One)
ADBG ("Notify 0xCD")
Notify (VGBI, 0xCD) // Hardware-Specific
}
Else
{
PB1E &= 0xFFFFFFFFFFFFFFF7
^VGBI.UPBT (0x06, Zero)
ADBG ("Notify 0xCC")
Notify (VGBI, 0xCC) // Hardware-Specific
}
}
}
Else
{
If (IGDS ())
{
^^^GFX0.GDCK (One)
}
If ((BID == 0x20))
{
If (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 6")
^^^GFX0.IUEH (0x06)
ADBG ("IUEH 7")
^^^GFX0.IUEH (0x07)
}
}
}
}
Method (_Q41, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x41)
If ((ECRD (RefOf (DOCK)) == One))
{
Return (Zero)
}
DSTS = Zero
Sleep (0x03E8)
Notify (^^^DOCK, One) // Device Check
If ((CondRefOf (^VGBI._STA) && ((^VGBI._STA () & One) == One)))
{
PB1E &= 0xFFFFFFFFFFFFFFEF
^VGBI.UPBT (0x07, Zero)
ADBG ("Notify 0xCB")
Notify (VGBI, 0xCB) // Hardware-Specific
If ((BID == 0x20))
{
PB1E &= 0xFFFFFFFFFFFFFFF7
^VGBI.UPBT (0x06, Zero)
ADBG ("Notify 0xCC")
Notify (VGBI, 0xCC) // Hardware-Specific
}
}
Else
{
If (IGDS ())
{
^^^GFX0.GDCK (Zero)
}
If ((BID == 0x20))
{
If (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 6")
^^^GFX0.IUEH (0x06)
ADBG ("IUEH 7")
^^^GFX0.IUEH (0x07)
}
}
}
}
Method (_Q42, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x42)
Notify (^^^DOCK, One) // Device Check
If ((CondRefOf (^VGBI._STA) && ((^VGBI._STA () & One) == One)))
{
PB1E &= 0xFFFFFFFFFFFFFFEF
^VGBI.UPBT (0x07, Zero)
If (CondRefOf (\_SB.PCI0.GFX0.IUER))
{
Local0 = ^^^GFX0.IUER /* External reference */
^^^GFX0.IUER = (Local0 & 0xFFFFFFFFFFFFFF7F)
}
ADBG ("Notify 0xCB")
Notify (VGBI, 0xCB) // Hardware-Specific
}
ElseIf (IGDS ())
{
^^^GFX0.GDCK (Zero)
}
}
Method (_Q43, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x43)
Notify (RP07, Zero) // Bus Check
}
Method (_Q44, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (DSTS)
{
Notify (^^^DOCK, One) // Device Check
DSTS = Zero
}
Else
{
Notify (^^^DOCK, Zero) // Bus Check
DSTS = One
}
}
Method (LIDM, 0, NotSerialized)
{
P8XH (Zero, 0x51)
If (((BID == 0x20) && ((ECRD (RefOf (DOCK)) == One) && (
ECRD (RefOf (DOCO)) == Zero))))
{
Return (Zero)
}
ADBG ("LID Event")
LIDS () = ECR2 (RefOf (LSTE))
^^^GFX0.GLID (LIDS ())
If (CondRefOf (\_TZ.ETMD))
{
If ((\_TZ.ETMD == Zero))
{
If (CondRefOf (\_SB.IETM))
{
ADBG ("Notify IETM")
Notify (IETM, 0x83) // Device-Specific Change
}
}
}
ADBG ("Notify LID0")
Notify (LID0, 0x80) // Status Change
}
Method (XDAT, 0, NotSerialized)
{
If ((VBUS == One))
{
Return (One)
}
Else
{
Return (Zero)
}
}
Method (_Q77, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x77)
If ((XDAT () == One))
{
Notify (XDCI, 0x80) // Status Change
}
Else
{
Notify (XDCI, 0x81) // Information Change
}
}
Method (DHCF, 2, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (One)
{
If ((IGDS () && (Arg1 < 0x04)))
{
^^^GFX0.GHDS (Arg1)
}
}
Case (0x02)
{
If (CondRefOf (HBRT))
{
HBRT (0x03)
}
If ((0x04 & DSEN))
{
BRTN (0x86)
}
Else
{
Local0 = ^^^GFX0.CBLV /* External reference */
Local0 = ((Local0 + One) & 0xFE)
If ((Local0 <= 0x5A))
{
Local0 += 0x0A
}
BRTL = Local0
^^^GFX0.AINT (One, Local0)
}
}
Case (0x03)
{
If (CondRefOf (HBRT))
{
HBRT (0x04)
}
If ((0x04 & DSEN))
{
BRTN (0x87)
}
Else
{
Local0 = ^^^GFX0.CBLV /* External reference */
Local0 = ((Local0 + One) & 0xFE)
If ((Local0 >= 0x0A))
{
Local0 -= 0x0A
}
BRTL = Local0
^^^GFX0.AINT (One, Local0)
}
}
}
}
Method (_Q52, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x52)
Local0 = ECRD (RefOf (SCAN))
P8XH (One, Local0)
ADBG ("Fn+SCANCODE:")
ADBG (ToHexString (Local0))
If ((Local0 == 0x3B))
{
ADBG ("FN+F1")
ADBG ("Sleep")
}
ElseIf ((Local0 == 0x3C))
{
ADBG ("FN+F2")
DHCF (One, One)
}
ElseIf ((Local0 == 0x3D))
{
ADBG ("FN+F3")
If (((((BID == 0x20) || (BID == 0x21)) || (BID ==
0x09)) || (BID == 0x23)))
{
DHCF (0x03, Zero)
}
}
ElseIf ((Local0 == 0x3E))
{
ADBG ("FN+F4")
If ((((((((((((
((BID == 0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) ||
(BID == 0x0A)) || (BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (
BID == 0x09)) || (BID == 0x44)) || (BID == 0x45)) || (BID == 0x0C)) || (BID ==
0x48)))
{
DHCF (0x02, Zero)
}
}
ElseIf ((Local0 == 0x3F))
{
ADBG ("FN+F5")
If ((((((((((((
((BID == 0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) ||
(BID == 0x0A)) || (BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (
BID == 0x09)) || (BID == 0x44)) || (BID == 0x45)) || (BID == 0x0C)) || (BID ==
0x48))){}
}
ElseIf ((Local0 == 0x40))
{
ADBG ("FN+F6")
If ((((((((((((
((BID == 0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) ||
(BID == 0x0A)) || (BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (
BID == 0x09)) || (BID == 0x44)) || (BID == 0x45)) || (BID == 0x0C)) || (BID ==
0x48)))
{
If (^^^^HIDD.HRDY)
{
^^^^HIDD.HPEM (0x08)
}
}
}
ElseIf ((Local0 == 0x41))
{
ADBG ("FN+F7")
If ((((((((((((
((BID == 0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) ||
(BID == 0x0A)) || (BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (
BID == 0x09)) || (BID == 0x44)) || (BID == 0x45)) || (BID == 0x0C)) || (BID ==
0x48)))
{
If ((ECRD (RefOf (KBDB)) >= 0x0A))
{
Local1 = (ECRD (RefOf (KBDB)) - 0x0A)
ECWT (Local1, RefOf (KBDB))
}
Else
{
ECWT (Zero, RefOf (KBDB))
}
ECMD (0x1B)
}
}
ElseIf ((Local0 == 0x42))
{
ADBG ("FN+F8")
If ((((((((((((
((BID == 0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) ||
(BID == 0x0A)) || (BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (
BID == 0x09)) || (BID == 0x44)) || (BID == 0x45)) || (BID == 0x0C)) || (BID ==
0x48)))
{
If ((ECRD (RefOf (KBDB)) <= 0x5A))
{
Local1 = (ECRD (RefOf (KBDB)) + 0x0A)
ECWT (Local1, RefOf (KBDB))
}
Else
{
ECWT (0x64, RefOf (KBDB))
}
ECMD (0x1B)
}
}
ElseIf ((Local0 == 0x43))
{
ADBG ("FN+F9")
}
ElseIf ((Local0 == 0x44))
{
ADBG ("FN+F10")
}
ElseIf ((Local0 == 0x45))
{
ADBG ("FN+F11")
}
ElseIf ((Local0 == 0x58))
{
ADBG ("FN+F12")
}
}
Method (_Q54, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x54)
If (((PB1E & One) && !ECRD (RefOf (PB10))))
{
If (UAMS)
{
ADBG ("PB Wake up 0x02")
If (CondRefOf (\_SB.PWRB))
{
Notify (PWRB, 0x02) // Device Wake
}
}
Else
{
ADBG ("PB Sleep 0x80")
If (CondRefOf (\_SB.PWRB))
{
Notify (PWRB, 0x80) // Status Change
}
}
}
}
Name (ABCD, Zero)
Method (_Q56, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x56)
Local0 = ECRD (RefOf (SCCK))
P8XH (One, Local0)
ADBG (Concatenate ("CAS+SCNCODE=", ToHexString (Local0)))
If (((Local0 >= 0x02) && (Local0 <= 0x0D)))
{
If ((BNUM == Zero))
{
VBHK ()
}
}
If ((Local0 == 0x0E))
{
ADBG ("CAS+BKSP")
^^^^HIDD.HPEM (0x0E)
}
If ((Local0 == 0x0F))
{
ADBG ("CAS+TAB")
^^^^HIDD.HPEM (0x0F)
}
If ((Local0 == 0x10))
{
ADBG ("CAS+Q")
Sleep (0x03E8)
^^^^HIDD.HPEM (One)
}
ElseIf ((Local0 == 0x11))
{
ADBG ("CAS+W")
Sleep (0x03E8)
^^^^HIDD.HPEM (0x02)
}
ElseIf ((Local0 == 0x12))
{
ADBG ("CAS+E")
Sleep (0x03E8)
^^^^HIDD.HPEM (0x03)
}
ElseIf ((Local0 == 0x13))
{
ADBG ("CAS+R")
Sleep (0x03E8)
^^^^HIDD.HPEM (0x04)
}
ElseIf ((Local0 == 0x14))
{
ADBG ("CAS+T")
Sleep (0x03E8)
^^^^HIDD.HPEM (0x05)
}
ElseIf ((Local0 == 0x15))
{
ADBG ("CAS+Y")
Sleep (0x03E8)
^^^^HIDD.HPEM (0x06)
}
ElseIf ((Local0 == 0x16))
{
ADBG ("CAS+U")
Sleep (0x03E8)
^^^^HIDD.HPEM (0x07)
}
ElseIf ((Local0 == 0x17))
{
ADBG ("CAS+I")
^^^^HIDD.HPEM (0x08)
}
ElseIf ((Local0 == 0x18))
{
ADBG ("CAS+O")
^^^^HIDD.HPEM (0x09)
}
ElseIf ((Local0 == 0x19))
{
If ((CondRefOf (\_SB.PCI0.CTCU) && (CTDB == One)))
{
CTCU ()
}
}
ElseIf ((Local0 == 0x1A))
{
If ((CondRefOf (\_SB.PCI0.CTCN) && (CTDB == One)))
{
CTCN ()
}
}
ElseIf ((Local0 == 0x1B))
{
If ((CondRefOf (\_SB.PCI0.CTCD) && (CTDB == One)))
{
CTCD ()
}
}
ElseIf ((Local0 == 0x1C))
{
ADBG ("CAS+Enter")
^^^^HIDD.HPEM (0x1B)
}
If ((Local0 == 0x1E))
{
ADBG ("CAS+A")
^^^^HIDD.HPEM (0x10)
}
ElseIf ((Local0 == 0x21))
{
ADBG ("CAS+F")
If ((CondRefOf (^VGBI._STA) && ((^VGBI._STA () & One) == One)))
{
Sleep (0x03E8)
^VGBI.UPBT (One, One)
ADBG ("Notify 0xC2")
Notify (VGBI, 0xC2) // Hardware-Specific
^VGBI.UPBT (0x03, One)
ADBG ("Notify 0xC6")
Notify (VGBI, 0xC6) // Hardware-Specific
^VGBI.UPBT (0x03, Zero)
ADBG ("Notify 0xC7")
Notify (VGBI, 0xC7) // Hardware-Specific
^VGBI.UPBT (One, Zero)
ADBG ("Notify 0xC3")
Notify (VGBI, 0xC3) // Hardware-Specific
}
}
ElseIf ((Local0 == 0x22))
{
ADBG ("CAS+G")
Sleep (0x03E8)
If ((PB1E & 0x20))
{
^VGBI.UPBT (One, One)
ADBG ("Notify 0xC2")
Notify (VGBI, 0xC2) // Hardware-Specific
If ((PB1E & One))
{
^VGBI.UPBT (Zero, One)
ADBG ("Notify 0xC0")
Notify (VGBI, 0xC0) // Hardware-Specific
^VGBI.UPBT (Zero, Zero)
ADBG ("Notify 0xC1")
Notify (VGBI, 0xC1) // Hardware-Specific
}
^VGBI.UPBT (One, Zero)
ADBG ("Notify 0xC3")
Notify (VGBI, 0xC3) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 0")
^^^GFX0.IUEH (Zero)
}
}
ElseIf ((Local0 == 0x23))
{
ADBG ("CAS+H")
Sleep (0x03E8)
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC2")
Notify (^^^^HIDD, 0xC2) // Hardware-Specific
ADBG ("Notify _HID 0xC3")
Notify (^^^^HIDD, 0xC3) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (One, One)
ADBG ("Notify VBDR 0xC2")
Notify (VGBI, 0xC2) // Hardware-Specific
^VGBI.UPBT (One, Zero)
ADBG ("Notify VBDR 0xC3")
Notify (VGBI, 0xC3) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 1")
^^^GFX0.IUEH (One)
}
}
ElseIf ((Local0 == 0x24))
{
ADBG ("CAS+J")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC4")
Notify (^^^^HIDD, 0xC4) // Hardware-Specific
ADBG ("Notify _HID 0xC5")
Notify (^^^^HIDD, 0xC5) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x02, One)
ADBG ("Notify VBDR 0xC4")
Notify (VGBI, 0xC4) // Hardware-Specific
^VGBI.UPBT (0x02, Zero)
ADBG ("Notify VBDR 0xC5")
Notify (VGBI, 0xC5) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 2")
^^^GFX0.IUEH (0x02)
}
}
ElseIf ((Local0 == 0x25))
{
ADBG ("CAS+K")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC6")
Notify (^^^^HIDD, 0xC6) // Hardware-Specific
ADBG ("Notify _HID 0xC7")
Notify (^^^^HIDD, 0xC7) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x03, One)
ADBG ("Notify VBDR 0xC6")
Notify (VGBI, 0xC6) // Hardware-Specific
^VGBI.UPBT (0x03, Zero)
ADBG ("Notify VBDR 0xC7")
Notify (VGBI, 0xC7) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 3")
^^^GFX0.IUEH (0x03)
}
}
ElseIf ((Local0 == 0x26))
{
ADBG ("CAS+L")
Sleep (0x03E8)
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC8")
Notify (^^^^HIDD, 0xC8) // Hardware-Specific
ADBG ("Notify _HID 0xC9")
Notify (^^^^HIDD, 0xC9) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
PB1E ^= 0x04
^VGBI.UPBT (0x04, One)
ADBG ("Notify VBDR 0xC8")
Notify (VGBI, 0xC8) // Hardware-Specific
^VGBI.UPBT (0x04, Zero)
ADBG ("Notify VBDR 0xC9")
Notify (VGBI, 0xC9) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 4")
^^^GFX0.IUEH (0x04)
}
}
ElseIf ((Local0 == 0x27))
{
ADBG ("CAS+;")
If ((PB1E & 0x20))
{
PB1E ^= 0x08
If ((PB1E & 0x08))
{
^VGBI.UPBT (0x06, One)
ADBG ("Notify 0xCD")
Notify (VGBI, 0xCD) // Hardware-Specific
}
Else
{
^VGBI.UPBT (0x06, Zero)
ADBG ("Notify 0xCC")
Notify (VGBI, 0xCC) // Hardware-Specific
}
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 6")
^^^GFX0.IUEH (0x06)
}
}
ElseIf ((Local0 == 0x28))
{
ADBG ("CAS+\'")
If ((PB1E & 0x20))
{
PB1E ^= 0x10
If ((PB1E & 0x10))
{
^VGBI.UPBT (0x07, One)
ADBG ("Notify 0xCA")
Notify (VGBI, 0xCA) // Hardware-Specific
}
Else
{
^VGBI.UPBT (0x07, Zero)
ADBG ("Notify 0xCB")
Notify (VGBI, 0xCB) // Hardware-Specific
}
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUEH))
{
ADBG ("IUEH 7")
^^^GFX0.IUEH (0x07)
}
}
ElseIf ((Local0 == 0x2C))
{
ADBG ("CAS+Z")
If ((CondRefOf (^VGBI._STA) && ((^VGBI._STA () & One) == One)))
{
Sleep (0x03E8)
^VGBI.UPBT (One, One)
ADBG ("Notify 0xC2")
Notify (VGBI, 0xC2) // Hardware-Specific
^VGBI.UPBT (0x02, One)
ADBG ("Notify 0xC4")
Notify (VGBI, 0xC4) // Hardware-Specific
^VGBI.UPBT (0x02, Zero)
ADBG ("Notify 0xC5")
Notify (VGBI, 0xC5) // Hardware-Specific
^VGBI.UPBT (One, Zero)
ADBG ("Notify 0xC3")
Notify (VGBI, 0xC3) // Hardware-Specific
}
}
ElseIf ((Local0 == 0x3B))
{
ADBG ("CAS+F1")
DHCF (One, Zero)
}
ElseIf ((Local0 == 0x3C))
{
ADBG ("CAS+F2")
DHCF (One, One)
}
ElseIf ((Local0 == 0x3D))
{
ADBG ("CAS+F3")
DHCF (One, 0x02)
}
ElseIf ((Local0 == 0x3E))
{
ADBG ("CAS+F4")
DHCF (One, 0x03)
}
ElseIf ((Local0 == 0x3F))
{
ADBG ("CAS+F5")
If ((BNUM == Zero))
{
VBHK ()
}
}
ElseIf ((Local0 == 0x42))
{
ADBG ("CAS+F8")
If (IGDS ())
{
If (CondRefOf (HPFS))
{
HPFS ()
}
Else
{
^^^GFX0.AINT (0x02, Zero)
}
}
}
ElseIf ((Local0 == 0x43))
{
ADBG ("CAS+F9")
DHCF (0x03, Zero)
}
ElseIf ((Local0 == 0x44))
{
ADBG ("CAS+F10")
DHCF (0x02, Zero)
}
ElseIf ((Local0 == 0x58))
{
ADBG ("CAS+F12")
^^^^HIDD.HPEM (0x0B)
}
ElseIf ((Local0 == 0x48))
{
ADBG ("CAS+UpArw")
^^^^HIDD.HPEM (0x11)
}
ElseIf ((Local0 == 0x4B))
{
ADBG ("CAS+LftArw")
^^^^HIDD.HPEM (0x14)
}
ElseIf ((Local0 == 0x4D))
{
ADBG ("CAS+RtArw")
^^^^HIDD.HPEM (0x13)
}
ElseIf ((Local0 == 0x50))
{
ADBG ("CAS+DwnArw")
^^^^HIDD.HPEM (0x12)
}
ElseIf ((Local0 == 0x52))
{
ADBG ("CAS+Ins")
^^^^HIDD.HPEM (0x0D)
}
ElseIf ((Local0 == 0x53))
{
ADBG ("CAS+Del")
^^^^HIDD.HPEM (0x0C)
}
}
Method (_Q70, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
P8XH (Zero, 0x70)
LHIH = ECRD (RefOf (LUXH))
LLOW = ECRD (RefOf (LUXL))
If (((ALSE == 0x02) && IGDS ()))
{
Local0 = ECRD (RefOf (LUXH))
Local0 = ((Local0 << 0x08) | ECRD (RefOf (LUXL)))
^^^GFX0.AINT (Zero, Local0)
Notify (ALSD, 0x80) // Status Change
}
}
Method (_QD5, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
ADBG ("EC PB press")
P8XH (Zero, 0xD5)
PWPR ()
}
Method (_QD6, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
ADBG ("EC PB release")
P8XH (Zero, 0xD6)
PWRR ()
}
Method (_Q80, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Volume Up")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC4")
Notify (^^^^HIDD, 0xC4) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x02, One)
ADBG ("Notify 0xC4")
Notify (VGBI, 0xC4) // Hardware-Specific
}
ElseIf ((^^^^HIDD.HRDY == One))
{
^^^^HIDD.HPEM (0x11)
}
Else
{
ADBG ("IUEH")
^^^GFX0.IUEH (0x02)
}
}
}
Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Volume Down")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC6")
Notify (^^^^HIDD, 0xC6) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x03, One)
ADBG ("Notify 0xC6")
Notify (VGBI, 0xC6) // Hardware-Specific
}
ElseIf ((^^^^HIDD.HRDY == One))
{
^^^^HIDD.HPEM (0x12)
}
Else
{
ADBG ("IUEH")
^^^GFX0.IUEH (0x03)
}
}
}
Method (_Q85, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Windows Home")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC2")
Notify (^^^^HIDD, 0xC2) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (One, One)
ADBG ("Notify 0xC2")
Notify (VGBI, 0xC2) // Hardware-Specific
}
ElseIf ((^^^^HIDD.HRDY == One))
{
^^^^HIDD.HPEM (One)
}
Else
{
ADBG ("IUEH")
^^^GFX0.IUEH (One)
}
}
}
Method (_Q86, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Rotation Lock P")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC8")
Notify (^^^^HIDD, 0xC8) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x04, One)
ADBG ("Notify 0xC8")
Notify (VGBI, 0xC8) // Hardware-Specific
^VGBI.UPBT (0x04, Zero)
ADBG ("Notify 0xC9")
Notify (VGBI, 0xC9) // Hardware-Specific
}
ElseIf ((^^^^HIDD.HRDY == One))
{
^^^^HIDD.HPEM (0x02)
}
Else
{
ADBG ("IUEH")
^^^GFX0.IUEH (0x04)
}
}
}
Method (_Q87, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((BID == 0x20) || (BID == 0x23)) || (BID ==
0x21)) || (BID == 0x09)))
{
ADBG ("Convertible Button")
If ((PB1E & 0x20))
{
PB1E ^= 0x08
If ((PB1E & 0x08))
{
^VGBI.UPBT (0x06, One)
ADBG ("Notify 0xCD")
Notify (VGBI, 0xCD) // Hardware-Specific
}
Else
{
^VGBI.UPBT (0x06, Zero)
ADBG ("Notify 0xCC")
Notify (VGBI, 0xCC) // Hardware-Specific
}
}
Else
{
^^^GFX0.IUEH (0x06)
}
}
}
Method (_Q88, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Vol Up Release")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC5")
Notify (^^^^HIDD, 0xC5) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x02, Zero)
ADBG ("Notify 0xC5")
Notify (VGBI, 0xC5) // Hardware-Specific
}
}
}
Method (_Q89, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Vol Down Release")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC7")
Notify (^^^^HIDD, 0xC7) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (0x03, Zero)
ADBG ("Notify 0xC7")
Notify (VGBI, 0xC7) // Hardware-Specific
}
}
}
Method (_Q8A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (((((((BID == 0x20) || (BID == 0x0B)) ||
(BID == 0x04)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)))
{
ADBG ("Win Home release")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC3")
Notify (^^^^HIDD, 0xC3) // Hardware-Specific
}
ElseIf ((PB1E & 0x20))
{
^VGBI.UPBT (One, Zero)
ADBG ("Notify 0xC3")
Notify (VGBI, 0xC3) // Hardware-Specific
}
}
}
Method (_Q8B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((((BID == 0x20) || (BID == 0x0B)) || (BID == 0x04)))
{
ADBG ("Rotation Lock R")
If (((OSYS >= 0x07DF) && ^^^^HIDD.BTLD))
{
ADBG ("Notify _HID 0xC9")
Notify (^^^^HIDD, 0xC9) // Hardware-Specific
}
}
}
Method (_QF0, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((DBGS == Zero))
{
Notify (\_TZ.TZ00, 0x80) // Status Change
If (CondRefOf (\_TZ.TZ01))
{
Notify (\_TZ.TZ01, 0x80) // Status Change
}
}
}
Method (CHDK, 1, NotSerialized)
{
If ((ECON == One))
{
If ((ECRD (RefOf (DOCK)) == Arg0))
{
Return (One)
}
}
Return (Zero)
}
Device (BIND)
{
Name (_HID, "INT33D2" /* Intel GPIO Buttons */) // _HID: Hardware ID
Name (_CID, "PNP0C40" /* Standard Button Controller */) // _CID: Compatible ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (((IUBE & One) && (OSYS >= 0x07DD)))
{
If ((PB1E & One))
{
Return (0x0B)
}
Else
{
Return (0x0F)
}
}
Return (Zero)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */))
{
If ((Zero == ToInteger (Arg1)))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (One)
{
If (((PB1E & One) == One))
{
Return (0x07)
}
Return (Zero)
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
}
Device (CIND)
{
Name (_HID, "INT33D3" /* Intel GPIO Buttons */) // _HID: Hardware ID
Name (_CID, "PNP0C60" /* Display Sensor Device */) // _CID: Compatible ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (((IUCE & One) && (OSYS >= 0x07DC)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (DIND)
{
Name (_HID, "INT33D4" /* Intel GPIO Buttons */) // _HID: Hardware ID
Name (_CID, "PNP0C70" /* Dock Sensor Device */) // _CID: Compatible ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (((IUDE & One) && (OSYS >= 0x07DC)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (VGBI)
{
Name (_HID, EisaId ("INT33D6") /* Intel Virtual Buttons Device */) // _HID: Hardware ID
Name (VBDS, Zero)
Name (ONTM, Zero)
Method (_STA, 0, Serialized) // _STA: Status
{
If ((OSYS >= 0x07DD))
{
ADBG ("WinB VGBI STA")
Return (Zero)
}
Else
{
Return (Zero)
}
}
Method (VBDL, 0, Serialized)
{
ADBG ("VBDL")
PB1E |= 0x20
If (((PB1E & One) == One))
{
ADBG ("VBDL EN")
If (CondRefOf (\_SB.PWRB.PBST))
{
^^^^^PWRB.PBST = Zero
Notify (PWRB, One) // Device Check
}
ECWT (One, RefOf (PB10))
}
Else
{
ADBG ("VBDL DIS")
ECWT (Zero, RefOf (PB10))
If (CondRefOf (\_SB.PWRB.PBST))
{
^^^^^PWRB.PBST = One
Notify (PWRB, One) // Device Check
}
}
}
Method (VGBS, 0, Serialized)
{
ADBG ("VGBS")
If ((ONTM == Zero))
{
If (((PB1E & 0x04) == 0x04))
{
UPBT (0x04, One)
}
If (((PB1E & 0x08) == 0x08))
{
UPBT (0x06, One)
}
If (((PB1E & 0x10) == 0x10))
{
UPBT (0x07, One)
}
ONTM = One
}
Return (VBDS) /* \_SB_.PCI0.LPCB.H_EC.VGBI.VBDS */
}
Method (UPBT, 2, Serialized)
{
Local0 = (One << Arg0)
If (Arg1)
{
VBDS |= Local0
}
Else
{
VBDS &= ~Local0
}
}
Method (PBIN, 0, Serialized)
{
ADBG ("VGBI PB INIT")
PB1E &= 0xFFFFFFFFFFFFFFDF
If (((PB1E & One) && !ECRD (RefOf (PB10))))
{
If (CondRefOf (\_SB.PWRB.PBST))
{
^^^^^PWRB.PBST = One
Notify (PWRB, One) // Device Check
}
If (CondRefOf (ECMD))
{
ADBG ("Enable _Q54")
ECMD (0x73)
}
}
}
}
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((ECON == Zero))
{
Return (0x0F)
}
Return (Zero)
}
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
Return (ECR2 (RefOf (LSTE)))
}
}
}
Scope (\_SB)
{
Device (ADP1)
{
Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((((BID == 0x42) || (BID == 0x41)) || (BID ==
0x43)) || (BID == 0x51)))
{
Return (Zero)
}
If ((ECON == Zero))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
{
Return (PWRS) /* \PWRS */
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (Package (0x01)
{
_SB
})
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
Name (PBST, One)
Name (UPPS, Zero)
Name (PBLV, Zero)
Method (PKG2, 2, Serialized)
{
Name (PKG, Package (0x02)
{
Zero,
Zero
})
PKG [Zero] = Arg0
PKG [One] = Arg1
Return (PKG) /* \_SB_.PWRB.PKG2.PKG_ */
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Name (GPEB, Zero)
If (((BID == One) || (BID == 0x02)))
{
Return (Package (0x02)
{
0x1B,
0x04
})
}
If (((((((((((BID ==
0x04) || (BID == 0x14)) || (BID == 0x0B)) || (BID == 0x1B)) || (BID == 0x0A)) ||
(BID == 0x20)) || (BID == 0x23)) || (BID == 0x21)) || (BID == 0x09)) || (
BID == 0x0C)))
{
GPEB = GGPE (0x02070003)
Return (PKG2 (GPEB, 0x04))
}
Return (Package (0x02)
{
0x1E,
0x04
})
}
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
{
If ((Arg0 == ToUUID ("9c355bcb-35fa-44f7-8a67-447359c36a03")))
{
If ((Zero == ToInteger (Arg1)))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (One)
{
0x07 // .
})
}
Case (One)
{
UPPS = One
^^PCI0.LPCB.H_EC.ECMD (0x74)
^^PCI0.LPCB.H_EC.ECWT (One, RefOf (^^PCI0.LPCB.H_EC.PB10))
Return (Zero)
}
Case (0x02)
{
If (UPPS)
{
If (!PBLV)
{
Return (Zero)
}
Else
{
Return (One)
}
}
ElseIf (^^PCI0.LPCB.PRBL)
{
Return (Zero)
}
Else
{
Return (One)
}
}
}
}
}
Return (Buffer (One)
{
0x00 // .
})
}
}
Device (HIDD)
{
Name (_HID, "INT33D5") // _HID: Hardware ID
Name (_CID, "PNP0C02" /* PNP Motherboard Resources */) // _CID: Compatible ID
Name (HBSY, Zero)
Name (HIDX, Zero)
Name (HMDE, Zero)
Name (HRDY, Zero)
Name (BTLD, Zero)
Name (BTS1, Zero)
Method (_STA, 0, Serialized) // _STA: Status
{
Return (Zero)
}
Method (HDDM, 0, Serialized)
{
Name (DPKG, Package (0x04)
{
0x11111111,
0x22222222,
0x33333333,
0x44444444
})
Return (DPKG) /* \_SB_.HIDD.HDDM.DPKG */
}
Method (HDEM, 0, Serialized)
{
HBSY = Zero
If ((HMDE == Zero))
{
Return (HIDX) /* \_SB_.HIDD.HIDX */
}
Return (HMDE) /* \_SB_.HIDD.HMDE */
}
Method (HDMM, 0, Serialized)
{
Return (HMDE) /* \_SB_.HIDD.HMDE */
}
Method (HDSM, 1, Serialized)
{
HRDY = Arg0
}
Method (HPEM, 1, Serialized)
{
HBSY = One
If ((HMDE == Zero))
{
HIDX = Arg0
}
Else
{
HIDX = Arg0
}
Notify (HIDD, 0xC0) // Hardware-Specific
Local0 = Zero
While (((Local0 < 0xFA) && HBSY))
{
Sleep (0x04)
Local0++
}
If ((HBSY == One))
{
HBSY = Zero
HIDX = Zero
Return (One)
}
Else
{
Return (Zero)
}
}
Method (BTNL, 0, Serialized)
{
If (CondRefOf (\_SB.PWRB.PBST))
{
^^PWRB.PBST = Zero
Notify (PWRB, One) // Device Check
}
BTLD = One
If ((((BID == 0x20) || (BID == 0x0B)) || (BID == 0x04)))
{
^^PCI0.LPCB.H_EC.ECWT (One, RefOf (^^PCI0.LPCB.H_EC.PB10))
BTS1 = 0x1F
^^PCI0.LPCB.H_EC.ECWT (BTS1, RefOf (^^PCI0.LPCB.H_EC.BTEN))
^^PCI0.LPCB.H_EC.ECMD (0x38)
}
Else
{
BTS1 = Zero
}
}
Method (BTNE, 1, Serialized)
{
If ((((BID == 0x20) || (BID == 0x0B)) || (BID == 0x04)))
{
BTS1 = ((Arg0 & 0x1E) | One)
^^PCI0.LPCB.H_EC.ECWT (BTS1, RefOf (^^PCI0.LPCB.H_EC.BTEN))
^^PCI0.LPCB.H_EC.ECMD (0x38)
}
}
Method (BTNS, 0, Serialized)
{
If ((((BID == 0x20) || (BID == 0x0B)) || (BID == 0x04)))
{
BTS1 = ^^PCI0.LPCB.H_EC.ECRD (RefOf (^^PCI0.LPCB.H_EC.BTEN))
}
Return (BTS1) /* \_SB_.HIDD.BTS1 */
}
Method (BTNC, 0, Serialized)
{
If ((((BID == 0x20) || (BID == 0x0B)) || (BID == 0x04)))
{
Return (0x1F)
}
Else
{
Return (Zero)
}
}
}
Method (PWPR, 0, Serialized)
{
If (((OSYS >= 0x07DF) && ^HIDD.BTLD))
{
ADBG ("Notify _HID 0xCE")
Notify (HIDD, 0xCE) // Hardware-Specific
}
Else
{
If ((^PWRB.PBST == One))
{
Notify (PWRB, 0x80) // Status Change
^PWRB.PBLV = One
}
If ((CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI._STA) && ((^PCI0.LPCB.H_EC.VGBI._STA () & One) == One)))
{
^PCI0.LPCB.H_EC.VGBI.UPBT (Zero, One)
ADBG ("Notify 0xC0")
^PCI0.LPCB.H_EC.ECMD (0x2D)
Notify (^PCI0.LPCB.H_EC.VGBI, 0xC0) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUER))
{
Local0 = ^PCI0.GFX0.IUER /* External reference */
^PCI0.GFX0.IUER = (Local0 & 0xC0)
Local0 = ^PCI0.GFX0.IUER /* External reference */
^PCI0.GFX0.IUER = (Local0 | One)
}
}
}
Method (PWRR, 0, Serialized)
{
If (((OSYS >= 0x07DF) && ^HIDD.BTLD))
{
ADBG ("Notify _HID 0xCF")
Notify (HIDD, 0xCF) // Hardware-Specific
}
Else
{
If ((^PWRB.PBST == One))
{
^PWRB.PBUP ()
^PWRB.PBLV = Zero
}
If ((CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI._STA) && ((^PCI0.LPCB.H_EC.VGBI._STA () & One) == One)))
{
^PCI0.LPCB.H_EC.VGBI.UPBT (Zero, Zero)
ADBG ("Notify 0xC1")
Notify (^PCI0.LPCB.H_EC.VGBI, 0xC1) // Hardware-Specific
}
ElseIf (CondRefOf (\_SB.PCI0.GFX0.IUER))
{
Local0 = ^PCI0.GFX0.IUER /* External reference */
^PCI0.GFX0.IUER = (Local0 & 0xC0)
}
}
}
}
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
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y28)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (HPTE)
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If (HPTE)
{
CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y28._BAS, HPT0) // _BAS: Base Address
HPT0 = HPTB /* \HPTB */
}
Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
}
}
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 (MATH)
{
Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PCHV () == SPTH))
{
Return (0x1F)
}
Else
{
Return (Zero)
}
}
}
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
0x01, // 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,
0xFFFF, // Range Minimum
0xFFFF, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0xFFFF, // Range Minimum
0xFFFF, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0xFFFF, // Range Minimum
0xFFFF, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x1800, // Range Minimum
0x1800, // Range Maximum
0x01, // Alignment
0xFF, // Length
)
IO (Decode16,
0x164E, // Range Minimum
0x164E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
})
}
Device (LDR2)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, "LPC_DEV") // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x80, // Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PCHV () == SPTH))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
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
)
IRQNoFlags ()
{8}
})
}
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 (CWDT)
{
Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x1854, // Range Minimum
0x1854, // Range Maximum
0x04, // Alignment
0x04, // Length
)
})
Method (_STA, 0, Serialized) // _STA: Status
{
Return (0x0F)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
}
}
Device (N393)
{
Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (NATP)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (N393, SystemIO, 0x2E, 0x02)
Field (N393, ByteAcc, Lock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, Lock, Preserve)
{
Offset (0x07),
R07H, 8,
Offset (0x20),
R20H, 8,
R21H, 8,
R22H, 8,
R23H, 8,
R24H, 8,
R25H, 8,
R26H, 8,
R27H, 8,
R28H, 8,
R29H, 8,
R2AH, 8,
Offset (0x30),
R30H, 8,
Offset (0x60),
R60H, 8,
R61H, 8,
Offset (0x70),
R70H, 8,
R71H, 8,
Offset (0x74),
R74H, 8,
R75H, 8,
Offset (0xF0),
RF0H, 8,
RF1H, 8
}
Device (UAR3)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If ((NATP && CMAP))
{
R07H = 0x03
If (R30H)
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
R07H = 0x03
R30H = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y29)
IRQNoFlags (_Y2A)
{4}
})
R07H = 0x03
If ((NATP && CMAP))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y29._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y29._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y29._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y2A._INT, IRQW) // _INT: Interrupts
IOH0 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL0 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
IOH1 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL1 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
LEN0 = 0x08
Local0 = (R70H & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
R07H = 0x03
R30H = Zero
R61H = IOLO /* \_SB_.PCI0.LPCB.N393.UAR3._SRS.IOLO */
R60H = IOHI /* \_SB_.PCI0.LPCB.N393.UAR3._SRS.IOHI */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
R70H = Local0
IOD0 &= 0xF8
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x07
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= One
}
Else
{
IOD0 |= 0x05
}
R30H = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
R07H = 0x03
R30H = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
R07H = 0x03
R30H = Zero
}
}
Device (UAR4)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If ((NATP && CMBP))
{
R07H = 0x02
If (R30H)
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
R07H = 0x02
R30H = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y2B)
IRQNoFlags (_Y2C)
{3}
})
R07H = 0x02
If ((NATP && CMBP))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y2B._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y2B._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y2B._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y2C._INT, IRQW) // _INT: Interrupts
IOH0 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL0 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
IOH1 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL1 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
LEN0 = 0x08
Local0 = (R70H & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
R07H = 0x02
R30H = Zero
R61H = IOLO /* \_SB_.PCI0.LPCB.N393.UAR4._SRS.IOLO */
R60H = IOHI /* \_SB_.PCI0.LPCB.N393.UAR4._SRS.IOHI */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
R70H = Local0
IOD0 &= 0x8F
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
R30H = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
R07H = 0x02
R30H = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
R07H = 0x02
R30H = Zero
}
}
Device (LPT1)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
R07H = One
If (((RF0H & 0xE0) == Zero))
{
If ((NATP && LPTP))
{
If (R30H)
{
Return (0x0F)
}
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
R07H = One
If (((RF0H & 0xE0) == Zero))
{
R30H = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
_Y2D)
IRQNoFlags (_Y2E)
{7}
})
If (((RF0H & 0xE0) == Zero))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y2D._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y2D._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y2D._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y2E._INT, IRQW) // _INT: Interrupts
R07H = One
IOL0 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
IOH0 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IOH0 */
LEN0 = 0x04
If ((R70H & 0x0F))
{
IRQW = (One << (R70H & 0x0F))
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
R07H = One
R30H = Zero
RF0H &= 0x0F
R74H = 0x04
R61H = IOL0 /* \_SB_.PCI0.LPCB.N393.LPT1._SRS.IOL0 */
R60H = IOH0 /* \_SB_.PCI0.LPCB.N393.LPT1._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
R70H = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
If ((IOL0 == 0x78))
{
IOD1 |= Zero
}
Else
{
IOD1 |= 0x02
}
}
Else
{
IOD1 |= One
}
R30H = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
R07H = One
R30H = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
R07H = One
R30H = Zero
}
}
Device (PBI1)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
R07H = One
If (((RF0H & 0xE0) == 0x20))
{
If ((NATP && LPTP))
{
If (R30H)
{
Return (0x0F)
}
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
R07H = One
If (((RF0H & 0xE0) == 0x20))
{
R30H = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
_Y2F)
IRQNoFlags (_Y30)
{7}
})
If (((RF0H & 0xE0) == 0x20))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y2F._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y2F._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y2F._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y30._INT, IRQW) // _INT: Interrupts
R07H = One
IOL0 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
IOH0 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IOH0 */
LEN0 = 0x04
If ((R70H & 0x0F))
{
IRQW = (One << (R70H & 0x0F))
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
R07H = One
R30H = Zero
RF0H = ((RF0H & 0x0F) | 0x20)
R74H = 0x04
R61H = IOL0 /* \_SB_.PCI0.LPCB.N393.PBI1._SRS.IOL0 */
R60H = IOH0 /* \_SB_.PCI0.LPCB.N393.PBI1._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
R70H = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
If ((IOL0 == 0x78))
{
IOD1 |= Zero
}
Else
{
IOD1 |= 0x02
}
}
Else
{
IOD1 |= One
}
R30H = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
R07H = One
R30H = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
R07H = One
R30H = Zero
}
}
Device (PEP1)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
R07H = One
If ((((RF0H & 0xE0) == 0x60) || ((RF0H & 0xE0
) == 0x40)))
{
If ((NATP && LPTP))
{
If (R30H)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
R07H = One
If ((((RF0H & 0xE0) == 0x60) || ((RF0H & 0xE0
) == 0x40)))
{
R30H = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y31)
IRQNoFlags (_Y32)
{7}
})
If ((((RF0H & 0xE0) == 0x60) || ((RF0H & 0xE0
) == 0x40)))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y31._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y31._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y31._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y32._INT, IRQW) // _INT: Interrupts
R07H = One
IOL0 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
IOH0 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IOH0 */
LEN0 = 0x08
If ((R70H & 0x0F))
{
IRQW = (One << (R70H & 0x0F))
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
R07H = One
R30H = Zero
RF0H = ((RF0H & 0x0F) | 0x60)
R74H = 0x04
R61H = IOL0 /* \_SB_.PCI0.LPCB.N393.PEP1._SRS.IOL0 */
R60H = IOH0 /* \_SB_.PCI0.LPCB.N393.PEP1._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
R70H = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
IOD1 |= Zero
}
Else
{
IOD1 |= One
}
R30H = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
R07H = One
R30H = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
R07H = One
R30H = Zero
}
}
Device (PEC1)
{
Name (_HID, EisaId ("PNP0401") /* ECP Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
R07H = One
If ((((RF0H & 0xE0) == 0xE0) || ((RF0H & 0xE0
) == 0x80)))
{
If ((NATP && LPTP))
{
If (R30H)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
R07H = One
If ((((RF0H & 0xE0) == 0xE0) || ((RF0H & 0xE0
) == 0x80)))
{
R30H = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y33)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y34)
IRQNoFlags (_Y35)
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, _Y36)
{1}
})
If ((((RF0H & 0xE0) == 0xE0) || ((RF0H & 0xE0
) == 0x80)))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y33._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y33._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y33._LEN, LEN0) // _LEN: Length
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y34._MIN, IOL2) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x0B, IOH2)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y34._MAX, IOL3) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x0D, IOH3)
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y34._LEN, LEN1) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y35._INT, IRQW) // _INT: Interrupts
CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y36._DMA, DMA0) // _DMA: Direct Memory Access
R07H = One
IOL0 = R61H /* \_SB_.PCI0.LPCB.N393.R61H */
IOH0 = R60H /* \_SB_.PCI0.LPCB.N393.R60H */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOH0 */
IOL2 = IOL0 /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL0 */
IOH2 = (0x04 + IOH0)
IOL3 = IOL0 /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL0 */
IOH3 = (0x04 + IOH0)
LEN0 = 0x08
LEN1 = 0x08
Local0 = (R70H & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
Local0 = R74H /* \_SB_.PCI0.LPCB.N393.R74H */
If ((Local0 == 0x04))
{
DMA0 = Zero
}
Else
{
DMA0 = (One << Local0)
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x11, IRQW)
CreateByteField (Arg0, 0x14, DMA0)
R07H = One
R30H = Zero
RF0H |= 0xF0
R61H = IOL0 /* \_SB_.PCI0.LPCB.N393.PEC1._SRS.IOL0 */
R60H = IOH0 /* \_SB_.PCI0.LPCB.N393.PEC1._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
R70H = Local0
FindSetRightBit (DMA0, Local0)
If ((DMA0 != Zero))
{
Local0--
}
R74H = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
IOD1 |= Zero
}
Else
{
IOD1 |= One
}
R30H = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
R07H = One
R30H = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
R07H = One
R30H = Zero
}
}
}
Scope (\)
{
OperationRegion (S_IO, SystemIO, SPBA, 0x11)
Field (S_IO, ByteAcc, NoLock, Preserve)
{
PMS0, 8,
PME0, 8,
PMS1, 8,
PMS2, 8,
PMS3, 8,
PME1, 8,
PME2, 8,
PME3, 8,
SS10, 1,
SS11, 1,
SS12, 1,
SS13, 1,
SS14, 1,
SS15, 1,
SS16, 1,
SS17, 1,
SMS2, 8,
SE10, 1,
SE11, 1,
SE12, 1,
SE13, 1,
SE14, 1,
SE15, 1,
SE16, 1,
SE17, 1,
SME2, 8,
RT10, 1,
RT11, 1,
RT12, 1,
RT13, 1,
RT14, 1,
RT15, 1,
RT16, 1,
RT17, 1,
Offset (0x0E),
RT30, 1,
RT31, 1,
RT32, 1,
RT33, 1,
RT34, 1,
RT35, 1,
RT36, 1,
RT37, 1,
Offset (0x10),
DLPC, 1,
CK33, 1,
CK14, 1
}
}
Device (SM17)
{
Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (SMSC)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (SM17, SystemIO, SIO1, 0x02)
Field (SM17, ByteAcc, Lock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, Lock, Preserve)
{
Offset (0x02),
CR02, 8,
Offset (0x0C),
CR0C, 8,
Offset (0x24),
CR24, 8,
CR25, 8,
Offset (0x28),
CR28, 8,
Offset (0x2B),
CR2B, 8,
CR2C, 8,
Offset (0x3A),
CR3A, 8,
CR3B, 8,
CR3C, 8,
Offset (0x55),
CR55, 8,
Offset (0xAA),
CRAA, 8
}
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x68, 0x03))
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((SMSC && CMCP))
{
CR55 = Zero
Local0 = CR02 /* \_SB_.PCI0.LPCB.SM17.CR02 */
CRAA = Zero
If ((Local0 & 0x08))
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
CR55 = Zero
CR02 = (CR02 & 0xF0)
CRAA = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y37)
IRQNoFlags (_Y38)
{4}
})
If ((SMSC && CMCP))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y37._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y37._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y37._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y38._INT, IRQW) // _INT: Interrupts
CR55 = Zero
IOL0 = (CR24 << 0x02)
IOL1 = (CR24 << 0x02)
IOH0 = (CR24 >> 0x06)
IOH1 = (CR24 >> 0x06)
LEN0 = 0x08
IRQW = (One << ((CR28 & 0xF0) >> 0x04))
CRAA = Zero
}
Return (BUF0) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
CR55 = Zero
CR02 = (CR02 & 0xF0)
CR24 = (IOLO >> 0x02)
CR24 |= (IOHI << 0x06)
CR28 &= 0x0F
CR28 |= ((FindSetRightBit (IRQW) - One) << 0x04)
IOD0 &= 0xF8
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x07
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= One
}
Else
{
IOD0 |= 0x05
}
CR02 = (CR02 | 0x08)
CRAA = Zero
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
CR55 = Zero
CR02 = (CR02 | 0x08)
CRAA = Zero
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
CR55 = Zero
CR02 = (CR02 & 0xF0)
CRAA = Zero
}
}
Device (UAR2)
{
Name (_HID, EisaId ("PNP0510") /* Generic IRDA-compatible Device */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If ((SMSC && CIRP))
{
CR55 = Zero
Local0 = CR02 /* \_SB_.PCI0.LPCB.SM17.CR02 */
CRAA = Zero
If ((Local0 & 0x80))
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
CR55 = Zero
CR02 = (CR02 & 0x0F)
CR02 = (CR3A & 0xFA)
CRAA = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y39)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y3A)
IRQNoFlags (_Y3B)
{7}
DMA (Compatibility, NotBusMaster, Transfer8, _Y3C)
{2}
})
If ((SMSC && CIRP))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y39._MIN, IO10) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IO11)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y39._MAX, IO12) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IO13)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y3A._MIN, IO20) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x0B, IO21)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y3A._MAX, IO22) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x0D, IO23)
CreateWordField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y3B._INT, IRQW) // _INT: Interrupts
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y3C._DMA, DMA0) // _DMA: Direct Memory Access
CR55 = Zero
IO10 = (CR25 << 0x02)
IO11 = ((CR25 & 0xC0) >> 0x06)
IO12 = IO10 /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO10 */
IO13 = IO11 /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO11 */
IO20 = (CR2B << 0x03)
IO21 = ((CR2B & 0xE0) >> 0x05)
IO22 = IO20 /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO20 */
IO23 = IO21 /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO21 */
Local1 = Zero
Local1 = (CR28 & 0x0F)
IRQW = (One << Local1)
Local1 = Zero
Local1 = (CR2C & 0x0F)
If ((Local1 == 0x0F))
{
DMA0 = Zero
}
Else
{
DMA0 = (One << Local1)
}
CRAA = Zero
}
Return (BUF0) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E8, // Range Minimum
0x07E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E8, // Range Minimum
0x07E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E8, // Range Minimum
0x07E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E8, // Range Minimum
0x07E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E8, // Range Minimum
0x07E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CR55 = Zero
Local0 = CR2B /* \_SB_.PCI0.LPCB.SM17.CR2B */
CRAA = Zero
If (Local0)
{
CreateByteField (Arg0, 0x02, IO10)
CreateByteField (Arg0, 0x03, IO11)
CreateByteField (Arg0, 0x0A, IO20)
CreateByteField (Arg0, 0x0B, IO21)
CreateWordField (Arg0, 0x11, IRQW)
CreateByteField (Arg0, 0x14, DMA0)
CR55 = Zero
CR02 &= 0x0F
CR25 = (IO10 >> 0x02)
CR25 |= (IO11 << 0x06)
If (IO20)
{
CR2B = (IO20 >> 0x03)
CR2B |= (IO21 << 0x05)
}
CR28 &= 0xF0
CR28 |= (FindSetRightBit (IRQW) - One)
CR2C &= 0xF0
If (DMA0)
{
CR2C |= (FindSetRightBit (DMA0) - One)
}
Else
{
CR2C |= 0x0F
}
IOD0 &= 0x8F
If ((IO11 == 0x03))
{
If ((IO10 == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IO10 == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
CR02 |= 0x80
CRAA = Zero
}
Else
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQR)
CR55 = Zero
CR02 &= 0x0F
CR25 = (IOLO >> 0x02)
CR25 |= (IOHI << 0x06)
CR28 &= 0xF0
CR28 |= (FindSetRightBit (IRQR) - One)
IOD0 &= 0x8F
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
CR02 |= 0x80
CRAA = Zero
}
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
CR55 = Zero
CR02 = (CR02 | 0x80)
CRAA = Zero
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
CR55 = Zero
CR02 = (CR02 & 0x0F)
CRAA = Zero
}
}
}
Device (WPCN)
{
Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (W381)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (WPCN, SystemIO, 0x2E, 0x02)
Field (WPCN, ByteAcc, Lock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, Lock, Preserve)
{
Offset (0x07),
WR07, 8,
Offset (0x20),
WR20, 8,
WR21, 8,
WR22, 8,
WR23, 8,
WR24, 8,
WR25, 8,
WR26, 8,
WR27, 8,
WR28, 8,
WR29, 8,
WR2A, 8,
Offset (0x30),
WR30, 8,
Offset (0x60),
WR60, 8,
WR61, 8,
WR62, 8,
WR63, 8,
Offset (0x70),
WR70, 8,
WR71, 8,
Offset (0x74),
WR74, 8,
WR75, 8,
Offset (0xF0),
WRF0, 8,
WRF1, 8
}
Device (UAR5)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (W381)
{
WR07 = 0x03
If (WR30)
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
WR07 = 0x03
WR30 = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y3D)
IRQNoFlags (_Y3E)
{4}
})
WR07 = 0x03
If (W381)
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR5._CRS._Y3D._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR5._CRS._Y3D._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR5._CRS._Y3D._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR5._CRS._Y3E._INT, IRQW) // _INT: Interrupts
IOH0 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL0 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IOH1 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL1 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
LEN0 = 0x08
Local0 = (WR70 & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.UAR5._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
WR07 = 0x03
WR30 = Zero
WR61 = IOLO /* \_SB_.PCI0.LPCB.WPCN.UAR5._SRS.IOLO */
WR60 = IOHI /* \_SB_.PCI0.LPCB.WPCN.UAR5._SRS.IOHI */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
IOD0 &= 0xF8
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x07
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= One
}
Else
{
IOD0 |= 0x05
}
WR30 = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
WR07 = 0x03
WR30 = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
WR07 = 0x03
WR30 = Zero
}
}
Device (UAR8)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (W381)
{
Local0 = (WR27 & 0xE0)
If ((Local0 == Zero))
{
WR07 = 0x02
If (WR30)
{
Return (0x0F)
}
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
WR07 = 0x02
WR30 = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y3F)
IRQNoFlags (_Y40)
{3}
})
WR07 = 0x02
If (W381)
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR8._CRS._Y3F._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR8._CRS._Y3F._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR8._CRS._Y3F._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.UAR8._CRS._Y40._INT, IRQW) // _INT: Interrupts
IOH0 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL0 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IOH1 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL1 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
LEN0 = 0x08
Local0 = (WR70 & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.UAR8._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
WR07 = 0x02
WR30 = Zero
WR61 = IOLO /* \_SB_.PCI0.LPCB.WPCN.UAR8._SRS.IOLO */
WR60 = IOHI /* \_SB_.PCI0.LPCB.WPCN.UAR8._SRS.IOHI */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
IOD0 &= 0x8F
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
WR30 = One
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
WR07 = 0x02
WR30 = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
WR07 = 0x02
WR30 = Zero
}
}
Device (LD16)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
Return (Zero)
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
EndDependentFn ()
})
}
Device (LD15)
{
Name (_HID, EisaId ("WEC0001")) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
Return (Zero)
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x07D0, // Range Minimum
0x07D0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
}
EndDependentFn ()
})
}
Device (ECIR)
{
Name (_HID, EisaId ("WEC1022")) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
OperationRegion (CIRR, SystemIO, 0x07C0, 0x20)
Field (CIRR, ByteAcc, NoLock, Preserve)
{
Offset (0x15),
RXEE, 3,
Offset (0x16)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (W381)
{
Local0 = (WR27 & 0xE0)
WR07 = 0x15
If (((Local0 == 0x80) && (WR60 || WR61)))
{
If (WR30)
{
Return (0x0F)
}
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
WR07 = 0x15
WR30 = Zero
WR07 = 0x16
WR30 = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x10, // Length
_Y41)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x10, // Length
_Y42)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x08, // Alignment
0x08, // Length
_Y43)
IRQNoFlags (_Y44)
{0}
})
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y41._MIN, IO00) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IO01)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y41._MAX, IO10) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IO11)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y42._MIN, IO20) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x0B, IO21)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y42._MAX, IO30) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x0D, IO31)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y43._MIN, IO40) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x13, IO41)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y43._MAX, IO50) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x15, IO51)
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.ECIR._CRS._Y44._INT, IRQW) // _INT: Interrupts
WR07 = 0x16
IO40 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IO41 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IO50 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IO51 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
Local0 = (WR70 & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
WR07 = 0x15
IO00 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IO01 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IO10 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IO11 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IO20 = WR63 /* \_SB_.PCI0.LPCB.WPCN.WR63 */
IO21 = WR62 /* \_SB_.PCI0.LPCB.WPCN.WR62 */
IO30 = WR63 /* \_SB_.PCI0.LPCB.WPCN.WR63 */
IO31 = WR62 /* \_SB_.PCI0.LPCB.WPCN.WR62 */
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.ECIR._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x07D0, // Range Minimum
0x07D0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x07D0, // Range Minimum
0x07D0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x07D0, // Range Minimum
0x07D0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x07D0, // Range Minimum
0x07D0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x07D0, // Range Minimum
0x07D0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4,5,6,7,10,11,12}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IO00)
CreateByteField (Arg0, 0x03, IO01)
CreateByteField (Arg0, 0x0A, IO20)
CreateByteField (Arg0, 0x0B, IO21)
CreateByteField (Arg0, 0x12, IO40)
CreateByteField (Arg0, 0x13, IO41)
CreateWordField (Arg0, 0x19, IRQW)
WR07 = 0x16
WR61 = IO40 /* \_SB_.PCI0.LPCB.WPCN.ECIR._SRS.IO40 */
WR60 = IO41 /* \_SB_.PCI0.LPCB.WPCN.ECIR._SRS.IO41 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
IOD0 &= 0x8F
If ((IO41 == 0x03))
{
If ((IO40 == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IO40 == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
WR07 = 0x15
WR61 = IO00 /* \_SB_.PCI0.LPCB.WPCN.ECIR._SRS.IO00 */
WR60 = IO01 /* \_SB_.PCI0.LPCB.WPCN.ECIR._SRS.IO01 */
WR63 = IO20 /* \_SB_.PCI0.LPCB.WPCN.ECIR._SRS.IO20 */
WR62 = IO21 /* \_SB_.PCI0.LPCB.WPCN.ECIR._SRS.IO21 */
WR07 = 0x15
WR30 = One
WR07 = 0x16
WRF0 = 0x82
WR30 = One
}
Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
{
Return (0x02)
}
Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State
{
Return (0x02)
}
Method (_S4W, 0, NotSerialized) // _S4W: S4 Device Wake State
{
Return (0x02)
}
Name (CPS4, Package (0x02)
{
0x1D,
0x04
})
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (CPS4) /* \_SB_.PCI0.LPCB.WPCN.ECIR.CPS4 */
}
Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
{
If ((Arg0 == Zero))
{
RXEE = Zero
}
If ((Arg0 == One))
{
RXEE = 0x07
}
}
}
Scope (\_SB.PCI0.LPCB.WPCN)
{
Device (LPT2)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
WR07 = One
If (((WRF0 & 0xE0) == Zero))
{
If (W381)
{
WR07 = One
If (WR30)
{
Return (0x0F)
}
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
WR07 = One
If (((WRF0 & 0xE0) == Zero))
{
WR30 = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
_Y45)
IRQNoFlags (_Y46)
{7}
})
If (((WRF0 & 0xE0) == Zero))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.LPT2._CRS._Y45._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.LPT2._CRS._Y45._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.LPT2._CRS._Y45._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.LPT2._CRS._Y46._INT, IRQW) // _INT: Interrupts
WR07 = One
IOL0 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IOH0 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.LPT2._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.LPT2._CRS.IOH0 */
LEN0 = 0x04
If ((WR70 & 0x0F))
{
IRQW = (One << (WR70 & 0x0F))
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.LPT2._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
WR07 = One
WR30 = Zero
WR74 = 0x04
WR61 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.LPT2._SRS.IOL0 */
WR60 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.LPT2._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
If ((IOL0 == 0x78))
{
IOD1 |= Zero
}
Else
{
IOD1 |= 0x02
}
}
Else
{
IOD1 |= One
}
WR30 = One
WRF0 &= 0x0F
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
WR07 = One
WR30 = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
WR07 = One
WR30 = Zero
}
}
Device (PBI2)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
WR07 = One
If (((WRF0 & 0xE0) == 0x20))
{
If (W381)
{
If (WR30)
{
Return (0x0F)
}
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
WR07 = One
If (((WRF0 & 0xE0) == 0x20))
{
WR30 = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
_Y47)
IRQNoFlags (_Y48)
{7}
})
If (((WRF0 & 0xE0) == 0x20))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PBI2._CRS._Y47._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PBI2._CRS._Y47._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PBI2._CRS._Y47._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.PBI2._CRS._Y48._INT, IRQW) // _INT: Interrupts
WR07 = One
IOL0 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IOH0 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PBI2._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.PBI2._CRS.IOH0 */
LEN0 = 0x04
If ((WR70 & 0x0F))
{
IRQW = (One << (WR70 & 0x0F))
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.PBI2._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
WR07 = One
WR30 = Zero
WR74 = 0x04
WR61 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PBI2._SRS.IOL0 */
WR60 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.PBI2._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
If ((IOL0 == 0x78))
{
IOD1 |= Zero
}
Else
{
IOD1 |= 0x02
}
}
Else
{
IOD1 |= One
}
WR30 = One
WRF0 = ((WRF0 & 0x0F) | 0x20)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
WR07 = One
WR30 = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
WR07 = One
WR30 = Zero
}
}
Device (PEP2)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
WR07 = One
If ((((WRF0 & 0xE0) == 0x60) || ((WRF0 & 0xE0
) == 0x40)))
{
If (WR30)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
WR07 = One
If ((((WRF0 & 0xE0) == 0x60) || ((WRF0 & 0xE0
) == 0x40)))
{
WR30 = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y49)
IRQNoFlags (_Y4A)
{7}
})
If ((((WRF0 & 0xE0) == 0x60) || ((WRF0 & 0xE0
) == 0x40)))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEP2._CRS._Y49._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEP2._CRS._Y49._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEP2._CRS._Y49._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.PEP2._CRS._Y4A._INT, IRQW) // _INT: Interrupts
WR07 = One
IOL0 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IOH0 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PEP2._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.PEP2._CRS.IOH0 */
LEN0 = 0x08
If ((WR70 & 0x0F))
{
IRQW = (One << (WR70 & 0x0F))
}
Else
{
IRQW = Zero
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.PEP2._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
WR07 = One
WR30 = Zero
WR74 = 0x04
WR61 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PEP2._SRS.IOL0 */
WR60 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.PEP2._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
IOD1 |= Zero
}
Else
{
IOD1 |= One
}
WR30 = One
WRF0 = ((WRF0 & 0x0F) | 0x60)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
WR07 = One
WR30 = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
WR07 = One
WR30 = Zero
}
}
Device (PEC2)
{
Name (_HID, EisaId ("PNP0401") /* ECP Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
WR07 = One
If ((((WRF0 & 0xE0) == 0xE0) || ((WRF0 & 0xE0
) == 0x80)))
{
If (WR30)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
WR07 = One
If ((((WRF0 & 0xE0) == 0xE0) || ((WRF0 & 0xE0
) == 0x80)))
{
WR30 = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y4B)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y4C)
IRQNoFlags (_Y4D)
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, _Y4E)
{1}
})
If ((((WRF0 & 0xE0) == 0xE0) || ((WRF0 & 0xE0
) == 0x80)))
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4B._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4B._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4B._LEN, LEN0) // _LEN: Length
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4C._MIN, IOL2) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x0B, IOH2)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4C._MAX, IOL3) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x0D, IOH3)
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4C._LEN, LEN1) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4D._INT, IRQW) // _INT: Interrupts
CreateByteField (BUF0, \_SB.PCI0.LPCB.WPCN.PEC2._CRS._Y4E._DMA, DMA0) // _DMA: Direct Memory Access
WR07 = One
IOL0 = WR61 /* \_SB_.PCI0.LPCB.WPCN.WR61 */
IOH0 = WR60 /* \_SB_.PCI0.LPCB.WPCN.WR60 */
IOL1 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PEC2._CRS.IOL0 */
IOH1 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.PEC2._CRS.IOH0 */
IOL2 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PEC2._CRS.IOL0 */
IOH2 = (0x04 + IOH0)
IOL3 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PEC2._CRS.IOL0 */
IOH3 = (0x04 + IOH0)
LEN0 = 0x08
LEN1 = 0x08
Local0 = (WR70 & 0x0F)
If (Local0)
{
IRQW = (One << Local0)
}
Else
{
IRQW = Zero
}
Local0 = WR74 /* \_SB_.PCI0.LPCB.WPCN.WR74 */
If ((Local0 == 0x04))
{
DMA0 = Zero
}
Else
{
DMA0 = (One << Local0)
}
}
Return (BUF0) /* \_SB_.PCI0.LPCB.WPCN.PEC2._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{3}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x11, IRQW)
CreateByteField (Arg0, 0x14, DMA0)
WR07 = One
WR30 = Zero
WR61 = IOL0 /* \_SB_.PCI0.LPCB.WPCN.PEC2._SRS.IOL0 */
WR60 = IOH0 /* \_SB_.PCI0.LPCB.WPCN.PEC2._SRS.IOH0 */
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
WR70 = Local0
FindSetRightBit (DMA0, Local0)
If ((DMA0 != Zero))
{
Local0--
}
WR74 = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
IOD1 |= Zero
}
Else
{
IOD1 |= One
}
WR30 = One
WRF0 |= 0xF0
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
WR07 = One
WR30 = One
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
WR07 = One
WR30 = Zero
}
}
}
}
Device (SM10)
{
Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (SMC1)
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (SM10, SystemIO, SIO2, 0x02)
Field (SM10, ByteAcc, Lock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, Lock, Preserve)
{
CR00, 8,
CR01, 8,
CR02, 8,
Offset (0x0C),
CR0C, 8,
Offset (0x23),
CR23, 8,
CR24, 8,
CR25, 8,
Offset (0x27),
CR27, 8,
CR28, 8,
Offset (0x2B),
CR2B, 8,
CR2C, 8,
Offset (0x3A),
CR3A, 8,
CR3B, 8,
CR3C, 8,
Offset (0x55),
CR55, 8,
Offset (0xAA),
CRAA, 8
}
Device (UAR6)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (SMC1)
{
CR55 = Zero
Local0 = CR02 /* \_SB_.PCI0.LPCB.SM10.CR02 */
CRAA = Zero
If ((Local0 & 0x08))
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
CR55 = Zero
CR02 = (CR02 & 0xF0)
CRAA = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y4F)
IRQNoFlags (_Y50)
{4}
})
If (SMC1)
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR6._CRS._Y4F._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR6._CRS._Y4F._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR6._CRS._Y4F._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.SM10.UAR6._CRS._Y50._INT, IRQW) // _INT: Interrupts
CR55 = Zero
IOL0 = (CR24 << 0x02)
IOL1 = (CR24 << 0x02)
IOH0 = (CR24 >> 0x06)
IOH1 = (CR24 >> 0x06)
LEN0 = 0x08
IRQW = (One << ((CR28 & 0xF0) >> 0x04))
CRAA = Zero
}
Return (BUF0) /* \_SB_.PCI0.LPCB.SM10.UAR6._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
CR55 = Zero
CR02 = (CR02 & 0xF0)
CR24 = (IOLO >> 0x02)
CR24 |= (IOHI << 0x06)
CR28 &= 0x0F
CR28 |= ((FindSetRightBit (IRQW) - One) << 0x04)
IOD0 &= 0xF8
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x07
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= One
}
Else
{
IOD0 |= 0x05
}
CR02 = (CR02 | 0x08)
CRAA = Zero
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
CR55 = Zero
CR02 = (CR02 | 0x08)
CRAA = Zero
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
CR55 = Zero
CR02 = (CR02 & 0xF0)
CRAA = Zero
}
}
Device (UAR7)
{
Name (_HID, EisaId ("PNP0510") /* Generic IRDA-compatible Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (SMC1)
{
CR55 = Zero
Local0 = CR02 /* \_SB_.PCI0.LPCB.SM10.CR02 */
CRAA = Zero
If ((Local0 & 0x80))
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
CR55 = Zero
CR02 = (CR02 & 0x0F)
CR02 = (CR3A & 0xFA)
CRAA = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y51)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y52)
IRQNoFlags (_Y53)
{6}
DMA (Compatibility, NotBusMaster, Transfer8, _Y54)
{2}
})
If (SMC1)
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR7._CRS._Y51._MIN, IO10) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IO11)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR7._CRS._Y51._MAX, IO12) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IO13)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR7._CRS._Y52._MIN, IO20) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x0B, IO21)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR7._CRS._Y52._MAX, IO22) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x0D, IO23)
CreateWordField (BUF0, \_SB.PCI0.LPCB.SM10.UAR7._CRS._Y53._INT, IRQW) // _INT: Interrupts
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.UAR7._CRS._Y54._DMA, DMA0) // _DMA: Direct Memory Access
CR55 = Zero
IO10 = (CR25 << 0x02)
IO11 = ((CR25 & 0xC0) >> 0x06)
IO12 = IO10 /* \_SB_.PCI0.LPCB.SM10.UAR7._CRS.IO10 */
IO13 = IO11 /* \_SB_.PCI0.LPCB.SM10.UAR7._CRS.IO11 */
IO20 = (CR2B << 0x03)
IO21 = ((CR2B & 0xE0) >> 0x05)
IO22 = IO20 /* \_SB_.PCI0.LPCB.SM10.UAR7._CRS.IO20 */
IO23 = IO21 /* \_SB_.PCI0.LPCB.SM10.UAR7._CRS.IO21 */
Local1 = Zero
Local1 = (CR28 & 0x0F)
IRQW = (One << Local1)
Local1 = Zero
Local1 = (CR2C & 0x0F)
If ((Local1 == 0x0F))
{
DMA0 = Zero
}
Else
{
DMA0 = (One << Local1)
}
CRAA = Zero
}
Return (BUF0) /* \_SB_.PCI0.LPCB.SM10.UAR7._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E0, // Range Minimum
0x07E0, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E0, // Range Minimum
0x07E0, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E0, // Range Minimum
0x07E0, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E0, // Range Minimum
0x07E0, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x07E0, // Range Minimum
0x07E0, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{1,2,3}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CR55 = Zero
Local0 = CR2B /* \_SB_.PCI0.LPCB.SM10.CR2B */
CRAA = Zero
If (Local0)
{
CreateByteField (Arg0, 0x02, IO10)
CreateByteField (Arg0, 0x03, IO11)
CreateByteField (Arg0, 0x0A, IO20)
CreateByteField (Arg0, 0x0B, IO21)
CreateWordField (Arg0, 0x11, IRQW)
CreateByteField (Arg0, 0x14, DMA0)
CR55 = Zero
CR02 &= 0x0F
CR25 = (IO10 >> 0x02)
CR25 |= (IO11 << 0x06)
If (IO20)
{
CR2B = (IO20 >> 0x03)
CR2B |= (IO21 << 0x05)
}
CR28 &= 0xF0
CR28 |= (FindSetRightBit (IRQW) - One)
CR2C &= 0xF0
If (DMA0)
{
CR2C |= (FindSetRightBit (DMA0) - One)
}
Else
{
CR2C |= 0x0F
}
IOD0 &= 0x8F
If ((IO11 == 0x03))
{
If ((IO10 == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IO10 == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
CR02 |= 0x80
CRAA = Zero
}
Else
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQR)
CR55 = Zero
CR02 &= 0x0F
CR25 = (IOLO >> 0x02)
CR25 |= (IOHI << 0x06)
CR28 &= 0xF0
CR28 |= (FindSetRightBit (IRQR) - One)
IOD0 &= 0x8F
If ((IOHI == 0x03))
{
If ((IOLO == 0xF8))
{
IOD0 |= Zero
}
Else
{
IOD0 |= 0x70
}
}
ElseIf ((IOLO == 0xF8))
{
IOD0 |= 0x10
}
Else
{
IOD0 |= 0x50
}
CR02 |= 0x80
CRAA = Zero
}
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
CR55 = Zero
CR02 = (CR02 | 0x80)
CRAA = Zero
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
CR55 = Zero
CR02 = (CR02 & 0x0F)
CRAA = Zero
}
}
Device (LPT1)
{
Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If (SMC1)
{
CR55 = Zero
Local0 = CR01 /* \_SB_.PCI0.LPCB.SM10.CR01 */
CRAA = Zero
If ((Local0 & 0x0C))
{
Return (0x0F)
}
Return (0x0D)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
CR55 = Zero
CR01 = (CR01 & 0xFB)
CRAA = Zero
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
_Y55)
IRQNoFlags (_Y56)
{5}
})
If (SMC1)
{
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.LPT1._CRS._Y55._MIN, IOL0) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOH0)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.LPT1._CRS._Y55._MAX, IOL1) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IOH1)
CreateByteField (BUF0, \_SB.PCI0.LPCB.SM10.LPT1._CRS._Y55._LEN, LEN0) // _LEN: Length
CreateWordField (BUF0, \_SB.PCI0.LPCB.SM10.LPT1._CRS._Y56._INT, IRQW) // _INT: Interrupts
CR55 = Zero
IOL0 = (CR23 << 0x02)
IOL1 = (CR23 << 0x02)
IOH0 = (CR23 >> 0x06)
IOH1 = (CR23 >> 0x06)
LEN0 = 0x04
Local1 = Zero
Local1 = (CR27 & 0x0F)
IRQW = (One << Local1)
CRAA = Zero
}
Return (BUF0) /* \_SB_.PCI0.LPCB.SM10.LPT1._CRS.BUF0 */
}
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFn (0x00, 0x02)
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
EndDependentFn ()
})
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateByteField (Arg0, 0x02, IOL0)
CreateByteField (Arg0, 0x03, IOH0)
CreateWordField (Arg0, 0x09, IRQW)
CR55 = Zero
CR01 = (CR01 & 0xFB)
CR23 = (IOL0 >> 0x02)
CR23 |= (IOH0 << 0x06)
FindSetRightBit (IRQW, Local0)
If ((IRQW != Zero))
{
Local0--
}
CR27 = Local0
IOD1 &= 0xFC
If ((IOH0 == 0x03))
{
If ((IOL0 == 0x78))
{
IOD1 |= Zero
}
Else
{
IOD1 |= 0x02
}
}
Else
{
IOD1 |= One
}
CR01 |= 0x04
CRAA = Zero
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
CR55 = Zero
CR01 = (CR01 | 0x04)
CRAA = Zero
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
CR55 = Zero
CR01 = (CR01 & 0xFB)
CRAA = Zero
}
}
}
OperationRegion (PKBS, SystemIO, 0x60, 0x05)
Field (PKBS, ByteAcc, Lock, Preserve)
{
PKBD, 8,
Offset (0x02),
Offset (0x03),
Offset (0x04),
PKBC, 8
}
Device (PS2K)
{
Name (_HID, "MSFT0001") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQ (Edge, ActiveHigh, Exclusive, )
{1}
})
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, 0x09) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0B)
}
Method (CMFC, 0, Serialized)
{
Return (EDID) /* \EDID */
}
}
Device (PS2M)
{
Name (_HID, "ETD0646") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags ()
{12}
}
EndDependentFn ()
})
}
}
Name (ECUP, One)
Mutex (EHLD, 0x00)
Method (TBTD, 1, Serialized)
{
ADBG ("TBTD")
Switch (Arg0)
{
Case (Package (0x08)
{
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08
}
)
{
Local0 = 0x1C
}
Case (Package (0x08)
{
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10
}
)
{
Local0 = 0x1D
}
Case (Package (0x04)
{
0x11,
0x12,
0x13,
0x14
}
)
{
Local0 = 0x1B
}
Case (Package (0x03)
{
0x15,
0x16,
0x17
}
)
{
Local0 = One
}
}
ADBG ("Device no")
Return (Local0)
}
Method (TBTF, 1, Serialized)
{
ADBG ("TBTF")
Switch (Arg0)
{
Case (One)
{
Local0 = (RPA1 & 0x0F)
}
Case (0x02)
{
Local0 = (RPA2 & 0x0F)
}
Case (0x03)
{
Local0 = (RPA3 & 0x0F)
}
Case (0x04)
{
Local0 = (RPA4 & 0x0F)
}
Case (0x05)
{
Local0 = (RPA5 & 0x0F)
}
Case (0x06)
{
Local0 = (RPA6 & 0x0F)
}
Case (0x07)
{
Local0 = (RPA7 & 0x0F)
}
Case (0x08)
{
Local0 = (RPA8 & 0x0F)
}
Case (0x09)
{
Local0 = (RPA9 & 0x0F)
}
Case (0x0A)
{
Local0 = (RPAA & 0x0F)
}
Case (0x0B)
{
Local0 = (RPAB & 0x0F)
}
Case (0x0C)
{
Local0 = (RPAC & 0x0F)
}
Case (0x0D)
{
Local0 = (RPAD & 0x0F)
}
Case (0x0E)
{
Local0 = (RPAE & 0x0F)
}
Case (0x0F)
{
Local0 = (RPAF & 0x0F)
}
Case (0x10)
{
Local0 = (RPAG & 0x0F)
}
Case (0x11)
{
Local0 = (RPAH & 0x0F)
}
Case (0x12)
{
Local0 = (RPAI & 0x0F)
}
Case (0x13)
{
Local0 = (RPAJ & 0x0F)
}
Case (0x14)
{
Local0 = (RPAK & 0x0F)
}
Case (0x15)
{
Local0 = Zero
}
Case (0x16)
{
Local0 = One
}
Case (0x17)
{
Local0 = 0x02
}
}
ADBG ("Function no")
Return (Local0)
}
Method (MMRP, 0, NotSerialized)
{
Local0 = \_SB.PCI0.GPCB ()
Local0 += (TBTD (TBSE) << 0x0F)
Local0 += (TBTF (TBSE) << 0x0C)
Return (Local0)
}
Method (MMTB, 0, Serialized)
{
ADBG ("MMTB")
Local0 = \_SB.PCI0.GPCB ()
Local0 += (TBTD (TBSE) << 0x0F)
Local0 += (TBTF (TBSE) << 0x0C)
OperationRegion (MMMM, SystemMemory, Local0, 0x1A)
Field (MMMM, AnyAcc, NoLock, Preserve)
{
Offset (0x19),
SBUS, 8
}
Local2 = SBUS /* \MMTB.SBUS */
Local0 = \_SB.PCI0.GPCB ()
Local2 *= 0x00100000
Local0 += Local2
ADBG ("TBT-US-ADR")
Return (Local0)
}
Method (FFTB, 0, NotSerialized)
{
ADBG ("FFTB")
Local0 = (MMTB () + 0x0548)
OperationRegion (PXVD, SystemMemory, Local0, 0x08)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
TB2P, 32,
P2TB, 32
}
Local1 = TB2P /* \FFTB.TB2P */
If ((Local1 == 0xFFFFFFFF))
{
ADBG ("FFTb 1")
Return (One)
}
Else
{
ADBG ("FFTb 0")
Return (Zero)
}
}
Method (SXTB, 0, NotSerialized)
{
ADBG ("SXTB")
Local0 = (MMTB () + 0x0548)
OperationRegion (PXVD, SystemMemory, Local0, 0x08)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
TB2P, 32,
P2TB, 32
}
Local2 = 0x02
Local3 = (One + Local2 <<= One)
P2TB = Local3
}
Scope (\)
{
Device (CHUB)
{
Name (_HID, EisaId ("INT339B")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((CHEN == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37")))
{
If ((Zero == ToInteger (Arg1)))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (One)
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
\_SB.HIDD.HPEM (0x1C)
}
}
}
}
Return (Zero)
}
Return (Zero)
}
Return (Zero)
}
}
}
Scope (_SB)
{
OperationRegion (ITSS, SystemMemory, 0xFDC43100, 0x0208)
Field (ITSS, ByteAcc, NoLock, Preserve)
{
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8,
Offset (0x200),
, 1,
, 1,
SCGE, 1
}
}
Mutex (MUTX, 0x00)
Mutex (OSUM, 0x00)
Event (WFEV)
Name (H2OE, One)
Name (P8XE, One)
Name (PFDP, 0x80)
OperationRegion (PRTD, SystemIO, PFDP, 0x04)
Field (PRTD, DWordAcc, Lock, Preserve)
{
H2OD, 32
}
Method (H2OP, 1, Serialized)
{
If ((H2OE != Zero))
{
H2OD = Arg0
}
}
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))
}
If ((P8XE != Zero))
{
P80H = P80D /* \P80D */
}
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8
}
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
GPIC = Arg0
PICM = Arg0
}
Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
{
P80D = Zero
P8XH (Zero, Arg0)
If ((Arg0 == 0x04))
{
If ((OSYS != 0x07D9))
{
\_SB.PCI0.LPCB.H_EC.S4FG = Zero
}
Else
{
\_SB.PCI0.LPCB.H_EC.S4FG = One
}
}
If ((Arg0 == One))
{
H2OP (0x51)
}
If ((Arg0 == 0x03))
{
H2OP (0x53)
}
If ((Arg0 == 0x05))
{
H2OP (0x55)
}
ADBG (Concatenate ("_PTS=", ToHexString (Arg0)))
If ((TBTS == One))
{
If (((FFTB () == One) && (AICS == One)))
{
SXTB ()
}
Reset (WFEV)
}
If ((Arg0 == 0x03))
{
If (CondRefOf (\_PR.DTSE))
{
If ((\_PR.DTSE && (TCNT > One)))
{
TRAP (0x02, 0x1E)
}
}
}
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
If ((CondRefOf (\_SB.PCI0.LPCB.H_EC.PB10) && ECON))
{
If (\_SB.PCI0.LPCB.H_EC.ECAV)
{
If (\_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.PB10)))
{
PB1E |= 0x80
}
Else
{
PB1E &= 0x7F
}
}
}
}
If ((DBGS == Zero))
{
RT10 = Zero
PME1 = 0x20
PME0 = One
PMS1 = 0x20
PMS0 = One
}
If (CondRefOf (\_SB.TPM.PTS))
{
\_SB.TPM.PTS (Arg0)
}
If ((((Arg0 == 0x03) || (Arg0 == 0x04)) || (Arg0 == 0x05)))
{
If ((PFLV == 0x02))
{
\_SB.SGOV (0x02010003, One)
}
}
}
Method (_WAK, 1, Serialized) // _WAK: Wake
{
P8XH (One, 0xAB)
If ((Arg0 == One))
{
H2OP (0xE1)
}
If ((Arg0 == 0x03))
{
H2OP (0xE3)
}
If ((Arg0 == 0x04))
{
H2OP (0xE4)
}
If ((Arg0 == 0x05))
{
H2OP (0xE5)
}
ADBG ("_WAK")
\_SB.PCI0.GEXP.INVC ()
If ((S0ID == One))
{
\_SB.SCGE = One
}
If (NEXP)
{
If ((OSCC & 0x02))
{
\_SB.PCI0.NHPG ()
}
If ((OSCC & 0x04))
{
\_SB.PCI0.NPME ()
}
}
If ((Arg0 == 0x03))
{
If ((Zero == ACTT))
{
If ((ECON == One))
{
\_SB.PCI0.LPCB.H_EC.ECWT (Zero, RefOf (\_SB.PCI0.LPCB.H_EC.CFAN))
}
}
}
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
If ((CondRefOf (\_SB.PCI0.LPCB.H_EC.PB10) && ECON))
{
If ((PB1E & 0x80))
{
\_SB.PCI0.LPCB.H_EC.ECWT (One, RefOf (\_SB.PCI0.LPCB.H_EC.PB10))
}
}
If ((GBSX & 0x40))
{
\_SB.PCI0.GFX0.IUEH (0x06)
PB1E ^= 0x08
If ((PB1E & 0x08))
{
If ((CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI) && ECON))
{
\_SB.PCI0.LPCB.H_EC.VGBI.UPBT (0x06, One)
}
}
ElseIf ((CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI) && ECON))
{
\_SB.PCI0.LPCB.H_EC.VGBI.UPBT (0x06, Zero)
}
}
If ((GBSX & 0x80))
{
\_SB.PCI0.GFX0.IUEH (0x07)
PB1E ^= 0x10
If ((PB1E & 0x10))
{
If ((CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI) && ECON))
{
\_SB.PCI0.LPCB.H_EC.VGBI.UPBT (0x07, One)
}
}
ElseIf ((CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI) && ECON))
{
\_SB.PCI0.LPCB.H_EC.VGBI.UPBT (0x07, Zero)
}
}
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.ONTM))
{
\_SB.PCI0.LPCB.H_EC.VGBI.ONTM = One
}
If (CondRefOf (\_PR.DTSE))
{
If ((\_PR.DTSE && (TCNT > One)))
{
TRAP (0x02, 0x14)
}
}
If ((ECON == Zero))
{
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
LIDS () = \_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.LSTE))
If (IGDS ())
{
If ((LIDS () == Zero))
{
\_SB.PCI0.GFX0.CLID = 0x80000000
}
If ((LIDS () == One))
{
\_SB.PCI0.GFX0.CLID = 0x80000003
}
}
If (((\_SB.PCI0.LPCB.H_EC.WKRS & 0x0400) && (Arg0 == 0x03))){}
Else
{
Notify (\_SB.PCI0.LPCB.H_EC.LID0, 0x80) // Status Change
}
}
If ((BNUM == Zero))
{
If ((\_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.VPWR)) != PWRS))
{
PWRS = \_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.VPWR))
\_PR.POWS = \_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.VPWR))
PNOT ()
}
}
ElseIf ((\_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.RPWR)) != PWRS))
{
PWRS = \_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.RPWR))
\_PR.POWS = \_SB.PCI0.LPCB.H_EC.ECR2 (RefOf (\_SB.PCI0.LPCB.H_EC.RPWR))
PNOT ()
}
}
If ((TBTS == One))
{
Acquire (OSUM, 0xFFFF)
\_GPE.TINI ()
Release (OSUM)
}
If ((\_SB.PCI0.RP01.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP01, Zero) // Bus Check
}
If ((\_SB.PCI0.RP02.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP02, Zero) // Bus Check
}
If ((\_SB.PCI0.RP03.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP03, Zero) // Bus Check
}
If ((\_SB.PCI0.RP04.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP04, Zero) // Bus Check
}
If ((\_SB.PCI0.RP05.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP05, Zero) // Bus Check
}
If ((\_SB.PCI0.RP06.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP06, Zero) // Bus Check
}
If ((\_SB.PCI0.RP07.VDID != 0xFFFFFFFF))
{
If ((DSTS == Zero))
{
Notify (\_SB.PCI0.RP07, Zero) // Bus Check
}
}
If ((\_SB.PCI0.RP08.VDID != 0xFFFFFFFF))
{
If ((DSTS == Zero))
{
Notify (\_SB.PCI0.RP08, Zero) // Bus Check
}
}
If ((\_SB.PCI0.RP09.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP09, Zero) // Bus Check
}
If ((\_SB.PCI0.RP10.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP10, Zero) // Bus Check
}
If ((\_SB.PCI0.RP11.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP11, Zero) // Bus Check
}
If ((\_SB.PCI0.RP12.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP12, Zero) // Bus Check
}
If ((\_SB.PCI0.RP13.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP13, Zero) // Bus Check
}
If ((\_SB.PCI0.RP14.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP14, Zero) // Bus Check
}
If ((\_SB.PCI0.RP15.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP15, Zero) // Bus Check
}
If ((\_SB.PCI0.RP16.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP16, Zero) // Bus Check
}
If ((\_SB.PCI0.RP17.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP17, Zero) // Bus Check
}
If ((\_SB.PCI0.RP18.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP18, Zero) // Bus Check
}
If ((\_SB.PCI0.RP19.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP19, Zero) // Bus Check
}
If ((\_SB.PCI0.RP20.VDID != 0xFFFFFFFF))
{
Notify (\_SB.PCI0.RP20, Zero) // Bus Check
}
}
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
If ((\_SB.PWRB.PBST == One))
{
If (PBSS)
{
Notify (\_SB.PWRB, 0x02) // Device Wake
PBSS = One
}
}
}
If ((TBTS == One))
{
Signal (WFEV)
}
Return (Package (0x02)
{
Zero,
Zero
})
}
Method (GETB, 3, Serialized)
{
Local0 = (Arg0 * 0x08)
Local1 = (Arg1 * 0x08)
CreateField (Arg2, Local0, Local1, TBF3)
Return (TBF3) /* \GETB.TBF3 */
}
Method (PNOT, 0, Serialized)
{
If ((TCNT > One))
{
If ((PDC0 & 0x08))
{
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
}
If ((PDC1 & 0x08))
{
Notify (\_PR.CPU1, 0x80) // Performance Capability Change
}
If ((PDC2 & 0x08))
{
Notify (\_PR.CPU2, 0x80) // Performance Capability Change
}
If ((PDC3 & 0x08))
{
Notify (\_PR.CPU3, 0x80) // Performance Capability Change
}
If ((PDC4 & 0x08))
{
Notify (\_PR.CPU4, 0x80) // Performance Capability Change
}
If ((PDC5 & 0x08))
{
Notify (\_PR.CPU5, 0x80) // Performance Capability Change
}
If ((PDC6 & 0x08))
{
Notify (\_PR.CPU6, 0x80) // Performance Capability Change
}
If ((PDC7 & 0x08))
{
Notify (\_PR.CPU7, 0x80) // Performance Capability Change
}
}
Else
{
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
}
If ((TCNT > One))
{
If (((PDC0 & 0x08) && (PDC0 & 0x10)))
{
Notify (\_PR.CPU0, 0x81) // C-State Change
}
If (((PDC1 & 0x08) && (PDC1 & 0x10)))
{
Notify (\_PR.CPU1, 0x81) // C-State Change
}
If (((PDC2 & 0x08) && (PDC2 & 0x10)))
{
Notify (\_PR.CPU2, 0x81) // C-State Change
}
If (((PDC3 & 0x08) && (PDC3 & 0x10)))
{
Notify (\_PR.CPU3, 0x81) // C-State Change
}
If (((PDC4 & 0x08) && (PDC4 & 0x10)))
{
Notify (\_PR.CPU4, 0x81) // C-State Change
}
If (((PDC5 & 0x08) && (PDC5 & 0x10)))
{
Notify (\_PR.CPU5, 0x81) // C-State Change
}
If (((PDC6 & 0x08) && (PDC6 & 0x10)))
{
Notify (\_PR.CPU6, 0x81) // C-State Change
}
If (((PDC7 & 0x08) && (PDC7 & 0x10)))
{
Notify (\_PR.CPU7, 0x81) // C-State Change
}
}
Else
{
Notify (\_PR.CPU0, 0x81) // C-State Change
}
If ((ECON == Zero))
{
B1SC = \_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.B1CC))
B1SS = \_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.B1ST))
B2SC = \_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.B2CC))
B2SS = \_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.B2ST))
Notify (\_SB.PCI0.LPCB.H_EC.BAT0, 0x81) // Information Change
Notify (\_SB.PCI0.LPCB.H_EC.BAT1, 0x81) // Information Change
Notify (\_SB.PCI0.LPCB.H_EC.BAT2, 0x81) // Information Change
}
If ((DPTF == One))
{
Notify (\_SB.IETM, 0x86) // Device-Specific
If ((CHGE == One))
{
Notify (\_SB.PCI0.LPCB.H_EC.CHRG, 0x80) // Status Change
}
}
}
OperationRegion (MBAR, SystemMemory, (\_SB.PCI0.GMHB () + 0x5000), 0x1000)
Field (MBAR, ByteAcc, NoLock, Preserve)
{
Offset (0x938),
PWRU, 4,
Offset (0x9A0),
PPL1, 15,
PL1E, 1,
CLP1, 1
}
Name (CLMP, Zero)
Name (PLEN, Zero)
Name (PLSV, 0x8000)
Name (CSEM, Zero)
Method (SPL1, 0, Serialized)
{
Name (PPUU, Zero)
If ((CSEM == One))
{
Return (Zero)
}
CSEM = One
PLSV = PPL1 /* \PPL1 */
PLEN = PL1E /* \PL1E */
CLMP = CLP1 /* \CLP1 */
If ((PWRU == Zero))
{
PPUU = One
}
Else
{
PPUU = (PWRU-- << 0x02)
}
Local0 = (PLVL * PPUU) /* \SPL1.PPUU */
Local1 = (Local0 / 0x03E8)
PPL1 = Local1
PL1E = One
CLP1 = One
}
Method (RPL1, 0, Serialized)
{
PPL1 = PLSV /* \PLSV */
PL1E = PLEN /* \PLEN */
CLP1 = CLMP /* \CLMP */
CSEM = Zero
}
Name (UAMS, Zero)
Name (GLCK, Zero)
Method (GUAM, 1, Serialized)
{
If ((OSYS > 0x07D0))
{
Local0 = (PWRV + 0xFC)
ADBG ("Loc 0")
ADBG (Local0)
OperationRegion (ACTC, SystemMemory, Local0, 0x04)
Field (ACTC, DWordAcc, NoLock, Preserve)
{
, 1,
ACTD, 1
}
}
Switch (ToInteger (Arg0))
{
Case (Zero)
{
If ((GLCK == One))
{
GLCK = Zero
P8XH (Zero, 0xC5)
P8XH (One, 0xAB)
ADBG ("Exit CS")
If ((ECNO == One))
{
ADBG ("EC Notify")
Local0 = Acquire (EHLD, 0xFFFF)
If ((Local0 == Zero))
{
\_SB.PCI0.LPCB.H_EC.ECMD (0x2D)
If ((ECLP == One))
{
ECUP = One
}
Release (EHLD)
}
If ((ECDB == One))
{
ADBG ("EC Debug")
\_SB.PCI0.LPCB.H_EC.ECWT (Zero, RefOf (\_SB.PCI0.LPCB.H_EC.DLED))
}
}
If ((OSYS >= 0x07DF))
{
ACTD = Zero
}
If (PSCP)
{
If (CondRefOf (\_PR.CPU0._PPC))
{
\_PR.CPPC = Zero
PNOT ()
}
}
If (PLCS)
{
RPL1 ()
}
}
}
Case (One)
{
If ((GLCK == Zero))
{
GLCK = One
P8XH (Zero, 0xC5)
P8XH (One, Zero)
ADBG ("Enter CS")
If ((ECNO == One))
{
ADBG ("EC Notify")
If ((ECDB == One))
{
ADBG ("EC Debug")
\_SB.PCI0.LPCB.H_EC.ECWT (One, RefOf (\_SB.PCI0.LPCB.H_EC.DLED))
}
\_SB.PCI0.LPCB.H_EC.ECMD (0x2C)
If ((ECLP == One))
{
ECUP = Zero
}
}
If ((OSYS >= 0x07DF))
{
ACTD = One
}
If (PSCP)
{
If ((CondRefOf (\_PR.CPU0._PSS) && CondRefOf (\_PR.CPU0._PPC)))
{
If ((PDC0 & 0x0400))
{
\_PR.CPPC = (SizeOf (\_PR.CPU0.TPSS) - One)
}
Else
{
\_PR.CPPC = (SizeOf (\_PR.CPU0.LPSS) - One)
}
PNOT ()
}
}
If (PLCS)
{
SPL1 ()
}
}
}
Case (0x02)
{
If ((ECNO == One))
{
ADBG ("EC Notify")
Local0 = Acquire (EHLD, 0xFFFF)
If ((Local0 == Zero))
{
\_SB.PCI0.LPCB.H_EC.ECMD (0x2D)
If ((ECLP == One))
{
ECUP = One
}
Release (EHLD)
}
If ((ECDB == One))
{
ADBG ("EC Debug")
\_SB.PCI0.LPCB.H_EC.ECWT (Zero, RefOf (\_SB.PCI0.LPCB.H_EC.DLED))
}
}
}
Default
{
Return (Zero)
}
}
UAMS = (Arg0 && !PWRS)
P_CS ()
}
Method (P_CS, 0, Serialized)
{
If (CondRefOf (\_SB.PCI0.PAUD.PUAM))
{
\_SB.PCI0.PAUD.PUAM ()
}
If ((OSYS == 0x07DC))
{
If (CondRefOf (\_SB.PCI0.XHC.DUAM))
{
\_SB.PCI0.XHC.DUAM ()
}
}
}
Scope (\)
{
OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
Field (IO_H, ByteAcc, NoLock, Preserve)
{
TRPH, 8
}
}
Method (TRAP, 2, Serialized)
{
SMIF = Arg1
If ((Arg0 == 0x02))
{
\_PR.DTSF = Arg1
\_PR.TRPD = Zero
Return (\_PR.DTSF) /* External reference */
}
If ((Arg0 == 0x03))
{
TRPH = Zero
}
If ((Arg0 == 0x04))
{
\_PR.TRPF = Zero
}
Return (SMIF) /* \SMIF */
}
Scope (_SB.PCI0)
{
Method (PTMA, 0, NotSerialized)
{
Return (\_PR.BGMA) /* External reference */
}
Method (PTMS, 0, NotSerialized)
{
Return (\_PR.BGMS) /* External reference */
}
Method (PTIA, 0, NotSerialized)
{
Return (\_PR.BGIA) /* External reference */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
OSYS = 0x07D0
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Linux"))
{
OSYS = 0x03E8
}
If (_OSI ("Windows 2001"))
{
OSYS = 0x07D1
}
If (_OSI ("Windows 2001 SP1"))
{
OSYS = 0x07D1
}
If (_OSI ("Windows 2001 SP2"))
{
OSYS = 0x07D2
}
If (_OSI ("Windows 2001.1"))
{
OSYS = 0x07D3
}
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 (CondRefOf (\_PR.DTSE))
{
If ((\_PR.DTSE >= One))
{
\_PR.DSAE = One
}
}
If ((TBTS == One))
{
Acquire (OSUM, 0xFFFF)
\_GPE.TINI ()
Release (OSUM)
Signal (WFEV)
}
}
Method (NHPG, 0, Serialized)
{
^RP01.HPEX = Zero
^RP02.HPEX = Zero
^RP03.HPEX = Zero
^RP04.HPEX = Zero
^RP05.HPEX = Zero
^RP06.HPEX = Zero
^RP07.HPEX = Zero
^RP08.HPEX = Zero
^RP09.HPEX = Zero
^RP10.HPEX = Zero
^RP11.HPEX = Zero
^RP12.HPEX = Zero
^RP13.HPEX = Zero
^RP14.HPEX = Zero
^RP15.HPEX = Zero
^RP16.HPEX = Zero
^RP17.HPEX = Zero
^RP18.HPEX = Zero
^RP19.HPEX = Zero
^RP20.HPEX = Zero
^RP01.HPSX = One
^RP02.HPSX = One
^RP03.HPSX = One
^RP04.HPSX = One
^RP05.HPSX = One
^RP06.HPSX = One
^RP07.HPSX = One
^RP08.HPSX = One
^RP09.HPSX = One
^RP10.HPSX = One
^RP11.HPSX = One
^RP12.HPSX = One
^RP13.HPSX = One
^RP14.HPSX = One
^RP15.HPSX = One
^RP16.HPSX = One
^RP17.HPSX = One
^RP18.HPSX = One
^RP19.HPSX = One
^RP20.HPSX = One
}
Method (NPME, 0, Serialized)
{
^RP01.PMEX = Zero
^RP02.PMEX = Zero
^RP03.PMEX = Zero
^RP04.PMEX = Zero
^RP05.PMEX = Zero
^RP06.PMEX = Zero
^RP07.PMEX = Zero
^RP08.PMEX = Zero
^RP09.PMEX = Zero
^RP10.PMEX = Zero
^RP11.PMEX = Zero
^RP12.PMEX = Zero
^RP13.PMEX = Zero
^RP14.PMEX = Zero
^RP15.PMEX = Zero
^RP16.PMEX = Zero
^RP17.PMEX = Zero
^RP18.PMEX = Zero
^RP19.PMEX = Zero
^RP20.PMEX = Zero
^RP01.PMSX = One
^RP02.PMSX = One
^RP03.PMSX = One
^RP04.PMSX = One
^RP05.PMSX = One
^RP06.PMSX = One
^RP07.PMSX = One
^RP08.PMSX = One
^RP09.PMSX = One
^RP10.PMSX = One
^RP11.PMSX = One
^RP12.PMSX = One
^RP13.PMSX = One
^RP14.PMSX = One
^RP15.PMSX = One
^RP16.PMSX = One
^RP17.PMSX = One
^RP18.PMSX = One
^RP19.PMSX = One
^RP20.PMSX = One
}
}
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 ((S0ID == One))
{
SCGE = One
}
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 (((SGMD & 0x0F) != 0x02))
{
If ((RTD3 == Zero))
{
CAP0 &= 0x3B
STS0 |= 0x10
}
}
}
}
Else
{
STS0 &= 0xFFFFFF00
STS0 |= 0x0A
}
}
Else
{
STS0 &= 0xFFFFFF00
STS0 |= 0x06
}
Return (Arg3)
}
Device (EPC)
{
Name (_HID, EisaId ("INT0E0C")) // _HID: Hardware ID
Name (_STR, Unicode ("Enclave Page Cache 1.0")) // _STR: Description String
Name (_MLS, Package (0x01) // _MLS: Multiple Language String
{
Package (0x02)
{
"en",
Unicode ("Enclave Page Cache 1.0")
}
})
Name (RBUF, ResourceTemplate ()
{
QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000001, // Length
,, _Y57, AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateQWordField (RBUF, \_SB.EPC._Y57._MIN, EMIN) // _MIN: Minimum Base Address
CreateQWordField (RBUF, \_SB.EPC._Y57._MAX, EMAX) // _MAX: Maximum Base Address
CreateQWordField (RBUF, \_SB.EPC._Y57._LEN, ELEN) // _LEN: Length
EMIN = \_PR.EMNA /* External reference */
ELEN = \_PR.ELNG /* External reference */
EMAX = ((\_PR.EMNA + \_PR.ELNG) - One)
Return (RBUF) /* \_SB_.EPC_.RBUF */
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Name (BUFX, Package (0x09)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
})
If ((Arg0 == ToUUID ("c60fac0c-fd9e-4273-9a3f-938f2327035e")))
{
If ((Zero == ToInteger (Arg1)))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (One)
{
0x02 // .
})
}
Case (One)
{
BUFX [Zero] = SEC0 /* \SEC0 */
BUFX [One] = SEC1 /* \SEC1 */
BUFX [0x02] = SEC2 /* \SEC2 */
BUFX [0x03] = SEC3 /* \SEC3 */
BUFX [0x04] = SEC4 /* \SEC4 */
BUFX [0x05] = SEC5 /* \SEC5 */
BUFX [0x06] = SEC6 /* \SEC6 */
BUFX [0x07] = SEC7 /* \SEC7 */
BUFX [0x08] = SEC8 /* \SEC8 */
Return (BUFX) /* \_SB_.EPC_._DSM.BUFX */
}
}
Return (Zero)
}
Return (Zero)
}
Return (Zero)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((\_PR.EPCS != Zero))
{
Return (0x0F)
}
Return (Zero)
}
}
}
Scope (_SB)
{
Device (BTKL)
{
Name (_HID, "INT3420" /* Intel Bluetooth RF Kill */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (Zero)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
}
Method (PSTS, 0, NotSerialized)
{
}
}
}
Scope (_SB)
{
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
Name (_STA, 0x0B) // _STA: Status
}
}
Name (TDMA, 0x80000000)
Scope (_GPE)
{
Method (OSUP, 1, Serialized)
{
ADBG ("OSUP")
Local0 = (Arg0 + 0x0548)
OperationRegion (PXVD, SystemMemory, Local0, 0x08)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
TB2P, 32,
P2TB, 32
}
Local1 = 0x64
P2TB = 0x0D
While ((Local1 > Zero))
{
Local1 = (Local1 - One)
Local2 = TB2P /* \_GPE.OSUP.TB2P */
If ((Local2 == 0xFFFFFFFF))
{
ADBG ("Dev gone")
Return (0x02)
}
If ((Local2 & One))
{
ADBG ("Cmd acknowledged")
Break
}
Sleep (0x32)
}
P2TB = Zero
ADBG ("End-of-OSUP")
Return (One)
}
Method (PGWA, 0, Serialized)
{
ADBG ("PGWA")
If ((TBSE >= 0x15))
{
Local0 = \_SB.PCI0.GPCB ()
Local0 += (TBTD (TBSE) << 0x0F)
Local0 += (TBTF (TBSE) << 0x0C)
OperationRegion (ABCD, SystemMemory, Local0, 0x1000)
Field (ABCD, AnyAcc, NoLock, Preserve)
{
Offset (0x84),
PWRS, 2,
Offset (0xB0),
, 4,
LNKD, 1,
Offset (0x11A),
, 1,
VCNP, 1,
Offset (0x508),
TREN, 1
}
If ((PWRS != Zero))
{
ADBG ("Force D0")
PWRS = Zero
\_PR.POWS = Zero
Sleep (0x10)
}
If ((LNKD != Zero))
{
ADBG ("Link Enable")
LNKD = Zero
TREN = One
Local6 = Zero
Local7 = 0x64
While ((Local6 < Local7))
{
If ((VCNP == Zero))
{
Break
}
Sleep (0x10)
Local6 += 0x10
}
}
}
}
Method (TBFF, 0, Serialized)
{
ADBG ("TBFF")
Local0 = MMTB ()
OperationRegion (PXVD, SystemMemory, Local0, 0x04)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
VEDI, 32
}
Local1 = VEDI /* \_GPE.TBFF.VEDI */
If ((Local1 == 0xFFFFFFFF))
{
Return (OSUP (Local0))
}
Else
{
ADBG ("Dev Present")
Return (Zero)
}
}
Method (TSUB, 0, Serialized)
{
ADBG ("TSUB")
Local0 = \_SB.PCI0.GPCB ()
Local0 += (TBTD (TBSE) << 0x0F)
Local0 += (TBTF (TBSE) << 0x0C)
ADBG ("ADR")
OperationRegion (MMMM, SystemMemory, Local0, 0x1A)
Field (MMMM, AnyAcc, NoLock, Preserve)
{
Offset (0x19),
SBUS, 8
}
ADBG ("Sec Bus")
Return (SBUS) /* \_GPE.TSUB.SBUS */
}
Method (WSUB, 0, NotSerialized)
{
ADBG ("WSUB")
Local0 = Zero
Local1 = Zero
While (One)
{
Local1 = TSUB ()
If (Local1)
{
ADBG ("WSUB-Finished")
Break
}
Else
{
Local0 += One
If ((Local0 > 0x03E8))
{
Sleep (0x03E8)
ADBG ("WSUB-Deadlock")
}
Else
{
Sleep (0x10)
}
}
}
}
Method (WWAK, 0, NotSerialized)
{
ADBG ("WWAK")
Wait (WFEV, 0xFFFF)
Signal (WFEV)
}
Method (NTFY, 0, Serialized)
{
ADBG ("NTFY")
If ((NOHP == One))
{
Switch (ToInteger (TBSE))
{
Case (One)
{
ADBG ("Notify RP01")
Notify (\_SB.PCI0.RP01, Zero) // Bus Check
}
Case (0x02)
{
ADBG ("Notify RP02")
Notify (\_SB.PCI0.RP02, Zero) // Bus Check
}
Case (0x03)
{
ADBG ("Notify RP03")
Notify (\_SB.PCI0.RP03, Zero) // Bus Check
}
Case (0x04)
{
ADBG ("Notify RP04")
Notify (\_SB.PCI0.RP04, Zero) // Bus Check
}
Case (0x05)
{
ADBG ("Notify RP05")
Notify (\_SB.PCI0.RP05, Zero) // Bus Check
}
Case (0x06)
{
ADBG ("Notify RP06")
Notify (\_SB.PCI0.RP06, Zero) // Bus Check
}
Case (0x07)
{
ADBG ("Notify RP07")
Notify (\_SB.PCI0.RP07, Zero) // Bus Check
}
Case (0x08)
{
ADBG ("Notify RP08")
Notify (\_SB.PCI0.RP08, Zero) // Bus Check
}
Case (0x09)
{
ADBG ("Notify RP09")
Notify (\_SB.PCI0.RP09, Zero) // Bus Check
}
Case (0x0A)
{
ADBG ("Notify RP10")
Notify (\_SB.PCI0.RP10, Zero) // Bus Check
}
Case (0x0B)
{
ADBG ("Notify RP11")
Notify (\_SB.PCI0.RP11, Zero) // Bus Check
}
Case (0x0C)
{
ADBG ("Notify RP12")
Notify (\_SB.PCI0.RP12, Zero) // Bus Check
}
Case (0x0D)
{
ADBG ("Notify RP13")
Notify (\_SB.PCI0.RP13, Zero) // Bus Check
}
Case (0x0E)
{
ADBG ("Notify RP14")
Notify (\_SB.PCI0.RP14, Zero) // Bus Check
}
Case (0x0F)
{
ADBG ("Notify RP15")
Notify (\_SB.PCI0.RP15, Zero) // Bus Check
}
Case (0x10)
{
ADBG ("Notify RP16")
Notify (\_SB.PCI0.RP16, Zero) // Bus Check
}
Case (0x11)
{
ADBG ("Notify RP17")
Notify (\_SB.PCI0.RP17, Zero) // Bus Check
}
Case (0x12)
{
ADBG ("Notify RP18")
Notify (\_SB.PCI0.RP18, Zero) // Bus Check
}
Case (0x13)
{
ADBG ("Notify RP19")
Notify (\_SB.PCI0.RP19, Zero) // Bus Check
}
Case (0x14)
{
ADBG ("Notify RP20")
Notify (\_SB.PCI0.RP20, Zero) // Bus Check
}
Case (0x15)
{
ADBG ("Notify PEG0")
Notify (\_SB.PCI0.PEG0, Zero) // Bus Check
}
Case (0x16)
{
ADBG ("Notify PEG1")
Notify (\_SB.PCI0.PEG1, Zero) // Bus Check
}
Case (0x17)
{
ADBG ("Notify PEG2")
Notify (\_SB.PCI0.PEG2, Zero) // Bus Check
}
}
}
P8XH (Zero, 0xC2)
P8XH (One, 0xC2)
}
Method (TFPS, 0, NotSerialized)
{
ADBG ("TFPS")
Local0 = \_SB.CGRD (FPAT, FPEN, FPGN, Zero)
If (Local0)
{
ADBG ("ExtFrcPwr1")
}
Else
{
ADBG ("ExtFrcPwr0")
}
Return (Local0)
}
Method (CNCT, 0, NotSerialized)
{
ADBG ("CNCT")
ADBG ("Read")
ADBG ("ACPI_GPE_STS")
Local7 = CPAD /* \CPAD */
Local6 = CPAB /* \CPAB */
While ((Local6 > 0x08))
{
Local7 += One
Local6 -= 0x08
}
OperationRegion (GPE0, SystemIO, Local7, One)
Field (GPE0, ByteAcc, Lock, Preserve)
{
TEMP, 8
}
Local0 = TEMP /* \_GPE.CNCT.TEMP */
Local0 >>= Local6
Local0 &= One
Return (Local0)
}
Method (CLNE, 0, NotSerialized)
{
ADBG ("CLNE")
ADBG ("Clear")
ADBG ("ACPI_GPE_STS")
Local7 = CPAD /* \CPAD */
Local6 = CPAB /* \CPAB */
While ((Local6 > 0x08))
{
Local7 += One
Local6 -= 0x08
}
OperationRegion (GPE0, SystemIO, Local7, One)
Field (GPE0, ByteAcc, Lock, Preserve)
{
TEMP, 8
}
Local6 = (One << Local6)
TEMP |= Local6
}
Method (DRPM, 0, NotSerialized)
{
ADBG ("DRPM")
Local7 = \_SB.STDC (\_SB.PCI0.GPCB (), Zero, TBTD (TBSE), TBTF (TBSE), 0x05)
Local6 = MMRP ()
Local0 = (Local7 + Local6)
OperationRegion (MMMS, SystemMemory, Local0, 0x02)
Field (MMMS, WordAcc, NoLock, Preserve)
{
MSIC, 1
}
MSIC = Zero
}
Method (DMSI, 0, NotSerialized)
{
ADBG ("DMSI")
Local0 = (MMTB () + 0x0548)
OperationRegion (PXVD, SystemMemory, Local0, 0x08)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
TB2P, 32,
P2TB, 32
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8
}
Local1 = TB2P /* \_GPE.DMSI.TB2P */
If ((Local1 == 0x25))
{
TBSF = 0x17
SSMP = 0xF7
ADBG ("0x25->P2TB")
P2TB = 0x25
Local2 = 0x64
While ((Local2 > Zero))
{
Local2 = (Local2 - One)
Local1 = TB2P /* \_GPE.DMSI.TB2P */
If ((Local1 == 0xFFFFFFFF))
{
ADBG ("DMSiF")
Return (Zero)
}
If ((Local1 == 0x24))
{
Break
}
Sleep (0x32)
}
P2TB = Zero
ADBG ("DMSi 1")
Return (One)
}
ADBG ("DMSi 0")
Return (Zero)
}
Method (RSMI, 0, NotSerialized)
{
ADBG ("RSMI")
Local0 = TFPS ()
Local1 = (MMTB () + Zero)
OperationRegion (PXVD, SystemMemory, Local1, 0x0550)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
VIDI, 32,
Offset (0x548),
TB2P, 32,
P2TB, 32
}
Local2 = TB2P /* \_GPE.RSMI.TB2P */
If ((Local2 != 0xFFFFFFFF))
{
ADBG ("RSMi 1")
Return (One)
}
If (!CNCT ())
{
ADBG ("RSMi 2")
Return (0x02)
}
DRPM ()
If (Local0)
{
\_SB.TBFP (Zero)
}
Else
{
\_SB.TBFP (One)
}
Local3 = Zero
While ((FFTB () || CNCT ()))
{
Sleep (0x05)
CLNE ()
Local3 += One
If ((Local3 > 0x14))
{
Sleep (0x03E8)
ADBG ("RSMi PCIe down")
}
If ((Local3 > 0x19))
{
ADBG ("RSMi Oops")
If (Local0)
{
\_SB.TBFP (One)
}
Else
{
\_SB.TBFP (Zero)
}
Return (Zero)
}
}
If (Local0)
{
\_SB.TBFP (One)
}
Else
{
\_SB.TBFP (Zero)
}
ADBG ("RSMi 0")
Return (Zero)
}
Method (GNIS, 0, NotSerialized)
{
ADBG ("GNIS")
If ((GP5F == Zero))
{
ADBG ("GNIS_Dis=0")
Return (Zero)
}
Local0 = (MMTB () + 0x0544)
OperationRegion (PXVD, SystemMemory, Local0, 0x08)
Field (PXVD, DWordAcc, NoLock, Preserve)
{
HPFI, 1,
Offset (0x04),
TB2P, 32
}
Local1 = TB2P /* \_GPE.GNIS.TB2P */
ADBG (Concatenate ("TB2P=", ToHexString (Local1)))
If ((Local1 == 0xFFFFFFFF))
{
ADBG ("GNIS=0")
Return (Zero)
}
Local2 = HPFI /* \_GPE.GNIS.HPFI */
ADBG (Concatenate ("HPFI=", ToHexString (Local2)))
If ((Local2 == One))
{
HPFI = Zero
ADBG ("GNIS=0")
Return (Zero)
}
ADBG ("GNIS=1")
Return (One)
}
Method (XTBT, 0, NotSerialized)
{
ADBG ("XTBT")
If ((CF2T == One))
{
ADBG ("Clear")
ADBG ("GPI_GPE_STS")
\_SB.CAGS (CPGN)
}
WWAK ()
WSUB ()
If ((TNAT == One))
{
Local0 = RSMI ()
If (!Local0)
{
Return (Zero)
}
If (DMSI ())
{
Return (Zero)
}
}
If (GNIS ())
{
Return (Zero)
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8
}
ADBG ("TBT-HP-Handler")
ADBG ("PEG WorkAround")
PGWA ()
Acquire (OSUM, 0xFFFF)
Local1 = TBFF ()
If ((Local1 == One))
{
Sleep (0x10)
Release (OSUM)
ADBG ("OS_Up_Received")
Return (Zero)
}
If ((Local1 == 0x02))
{
NTFY ()
Sleep (0x10)
Release (OSUM)
ADBG ("Disconnect")
Return (Zero)
}
If ((SOHP == One))
{
ADBG ("TBT SW SMI")
TBSF = 0x15
SSMP = 0xF7
}
NTFY ()
Sleep (0x10)
Release (OSUM)
ADBG ("End-of-XTBT")
}
Method (TINI, 0, NotSerialized)
{
ADBG ("TINI")
Local0 = MMRP ()
OperationRegion (RP_X, SystemMemory, Local0, 0x20)
Field (RP_X, DWordAcc, NoLock, Preserve)
{
REG0, 32,
REG1, 32,
REG2, 32,
REG3, 32,
REG4, 32,
REG5, 32,
REG6, 32,
REG7, 32
}
Local1 = REG6 /* \_GPE.TINI.REG6 */
REG6 = 0x00F0F000
Local2 = MMTB ()
OSUP (Local2)
REG6 = Local1
ADBG ("End-of-TINI")
}
}
Scope (_SB)
{
Method (THDR, 0, Serialized)
{
ADBG ("THDR")
\_GPE.XTBT ()
}
}
Scope (_SB)
{
Method (CGWR, 4, Serialized)
{
If ((Arg0 == Zero))
{
If (CondRefOf (\_SB.SGOV))
{
SGOV (Arg2, Arg3)
}
}
ElseIf ((Arg0 == One))
{
If (CondRefOf (\_SB.PCI0.GEXP.SGEP))
{
^PCI0.GEXP.SGEP (Arg1, Arg2, Arg3)
}
}
}
Method (CGRD, 4, Serialized)
{
If ((Arg0 == Zero))
{
If ((Arg3 == Zero))
{
If (CondRefOf (\_SB.GGOV))
{
Local0 = GGOV (Arg2)
}
}
ElseIf ((Arg3 == One))
{
If (CondRefOf (\_SB.GGIV))
{
Local0 = GGIV (Arg2)
}
}
}
ElseIf ((Arg0 == One))
{
If (CondRefOf (\_SB.PCI0.GEXP.GEPS))
{
Local0 = ^PCI0.GEXP.GEPS (Arg1, Arg2)
}
}
Return (Local0)
}
}
Scope (_SB)
{
Method (TBFP, 1, NotSerialized)
{
If (Arg0)
{
CGWR (FPAT, FPEN, FPGN, FPLV)
}
Else
{
CGWR (FPAT, FPEN, FPGN, !FPLV)
}
}
Device (WMTF)
{
Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, "TBFP") // _UID: Unique ID
Name (_WDG, Buffer (0x14)
{
/* 0000 */ 0x48, 0xFD, 0xCC, 0x86, 0x5E, 0x20, 0x77, 0x4A, // H...^ wJ
/* 0008 */ 0x9C, 0x48, 0x20, 0x21, 0xCB, 0xED, 0xE3, 0x41, // .H !...A
/* 0010 */ 0x54, 0x46, 0x01, 0x02 // TF..
})
Method (WMTF, 3, NotSerialized)
{
CreateByteField (Arg2, Zero, FP)
If (FP)
{
TBFP (One)
}
Else
{
TBFP (Zero)
}
}
}
}
If (((TBTS == One) && (TBSE == One)))
{
Scope (_SB.PCI0.RP01)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x02)))
{
Scope (_SB.PCI0.RP02)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x03)))
{
Scope (_SB.PCI0.RP03)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x04)))
{
Scope (_SB.PCI0.RP04)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x05)))
{
Scope (_SB.PCI0.RP05)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x06)))
{
Scope (_SB.PCI0.RP06)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x07)))
{
Scope (_SB.PCI0.RP07)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x08)))
{
Scope (_SB.PCI0.RP08)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x09)))
{
Scope (_SB.PCI0.RP09)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x0A)))
{
Scope (_SB.PCI0.RP10)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x0B)))
{
Scope (_SB.PCI0.RP11)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x0C)))
{
Scope (_SB.PCI0.RP12)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x0D)))
{
Scope (_SB.PCI0.RP13)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x0E)))
{
Scope (_SB.PCI0.RP14)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x0F)))
{
Scope (_SB.PCI0.RP15)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x10)))
{
Scope (_SB.PCI0.RP16)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x11)))
{
Scope (_SB.PCI0.RP17)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x12)))
{
Scope (_SB.PCI0.RP18)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x13)))
{
Scope (_SB.PCI0.RP19)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x14)))
{
Scope (_SB.PCI0.RP20)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x15)))
{
Scope (_SB.PCI0.PEG0)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x16)))
{
Scope (_SB.PCI0.PEG1)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
If (((TBTS == One) && (TBSE == 0x17)))
{
Scope (_SB.PCI0.PEG2)
{
Device (HRUS)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (TARS) /* \TARS */
}
}
}
}
Scope (_SB)
{
Method (PERB, 5, Serialized)
{
ADBG ("PERB")
Local7 = Arg0
Local7 |= (Arg1 << 0x14)
Local7 |= (Arg2 << 0x0F)
Local7 |= (Arg3 << 0x0C)
Local7 |= Arg4
OperationRegion (PCI0, SystemMemory, Local7, One)
Field (PCI0, ByteAcc, NoLock, Preserve)
{
TEMP, 8
}
Return (TEMP) /* \_SB_.PERB.TEMP */
}
Method (PEWB, 6, Serialized)
{
ADBG ("PEWB")
Local7 = Arg0
Local7 |= (Arg1 << 0x14)
Local7 |= (Arg2 << 0x0F)
Local7 |= (Arg3 << 0x0C)
Local7 |= Arg4
OperationRegion (PCI0, SystemMemory, Local7, One)
Field (PCI0, ByteAcc, NoLock, Preserve)
{
TEMP, 8
}
TEMP = Arg5
}
Method (PERW, 5, Serialized)
{
ADBG ("PERW")
Local7 = Arg0
Local7 |= (Arg1 << 0x14)
Local7 |= (Arg2 << 0x0F)
Local7 |= (Arg3 << 0x0C)
Local7 |= Arg4
OperationRegion (PCI0, SystemMemory, Local7, 0x02)
Field (PCI0, ByteAcc, NoLock, Preserve)
{
TEMP, 16
}
Return (TEMP) /* \_SB_.PERW.TEMP */
}
Method (PEWW, 6, Serialized)
{
ADBG ("PEWW")
Local7 = Arg0
Local7 |= (Arg1 << 0x14)
Local7 |= (Arg2 << 0x0F)
Local7 |= (Arg3 << 0x0C)
Local7 |= Arg4
OperationRegion (PCI0, SystemMemory, Local7, 0x02)
Field (PCI0, ByteAcc, NoLock, Preserve)
{
TEMP, 16
}
TEMP = Arg5
}
Method (PERD, 5, Serialized)
{
ADBG ("PERD")
Local7 = Arg0
Local7 |= (Arg1 << 0x14)
Local7 |= (Arg2 << 0x0F)
Local7 |= (Arg3 << 0x0C)
Local7 |= Arg4
OperationRegion (PCI0, SystemMemory, Local7, 0x04)
Field (PCI0, ByteAcc, NoLock, Preserve)
{
TEMP, 32
}
Return (TEMP) /* \_SB_.PERD.TEMP */
}
Method (PEWD, 6, Serialized)
{
ADBG ("PEWD")
Local7 = Arg0
Local7 |= (Arg1 << 0x14)
Local7 |= (Arg2 << 0x0F)
Local7 |= (Arg3 << 0x0C)
Local7 |= Arg4
OperationRegion (PCI0, SystemMemory, Local7, 0x04)
Field (PCI0, ByteAcc, NoLock, Preserve)
{
TEMP, 32
}
TEMP = Arg5
}
Method (STDC, 5, Serialized)
{
ADBG ("STDC")
Local7 = PERW (Arg0, Arg1, Arg2, Arg3, Zero)
If ((Local7 == 0xFFFF))
{
ADBG ("Referenced device is not present")
Return (Zero)
}
Local0 = PERW (Arg0, Arg1, Arg2, Arg3, 0x06)
If (((Local0 & 0x10) == Zero))
{
ADBG ("No Capabilities linked list is available")
Return (Zero)
}
Local2 = PERB (Arg0, Arg1, Arg2, Arg3, 0x34)
While (One)
{
Local2 &= 0xFC
If ((Local2 == Zero))
{
ADBG ("Capability ID is not found")
Return (Zero)
}
Local1 = PERB (Arg0, Arg1, Arg2, Arg3, Local2)
If ((Arg4 == Local1))
{
ADBG ("Capability ID is found")
ADBG ("Capability Offset : ")
Return (Local2)
}
Local2 = PERB (Arg0, Arg1, Arg2, Arg3, (Local2 + One))
}
}
}
Scope (_PR)
{
Processor (CPU0, 0x01, 0x00001810, 0x06){}
Processor (CPU1, 0x02, 0x00001810, 0x06){}
Processor (CPU2, 0x03, 0x00001810, 0x06){}
Processor (CPU3, 0x04, 0x00001810, 0x06){}
Processor (CPU4, 0x05, 0x00001810, 0x06){}
Processor (CPU5, 0x06, 0x00001810, 0x06){}
Processor (CPU6, 0x07, 0x00001810, 0x06){}
Processor (CPU7, 0x08, 0x00001810, 0x06){}
}
Scope (_PR.CPU0)
{
Name (CPC1, Package (0x11)
{
0x11,
One,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000771, // Address
0x04, // Access Size
)
},
0x10,
Zero,
Zero,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000001234, // Address
0x02, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x01, // Bit Offset
0x0000000000000777, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x0000000000000770, // Address
0x04, // Access Size
)
}
})
Name (CPC2, Package (0x15)
{
0x15,
0x02,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000771, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000000000CE, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x0000000000000771, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x0000000000000771, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x0000000000000771, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x01, // Bit Offset
0x0000000000000777, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x0000000000000770, // Address
0x04, // Access Size
)
},
One,
ResourceTemplate ()
{
Register (FFixedHW,
0x0A, // Bit Width
0x20, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x0000000000000774, // Address
0x04, // Access Size
)
},
Zero
})
}
Scope (_SB)
{
Device (PAGD)
{
Name (_HID, "ACPI000C" /* Processor Aggregator Device */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Processor Aggregator Device"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (_PUR, Package (0x02) // _PUR: Processor Utilization Request
{
One,
Zero
})
}
}
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,
0x00000000, // Address Base
0x00008000, // Address Length
_Y58)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y59)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y5A)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y5B)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFED90000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED45000, // Address Base
0x0004B000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y5C)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y5D)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y58._BAS, MBR0) // _BAS: Base Address
MBR0 = GMHB ()
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y59._BAS, DBR0) // _BAS: Base Address
DBR0 = GDMB ()
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5A._BAS, EBR0) // _BAS: Base Address
EBR0 = GEPB ()
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5B._BAS, XBR0) // _BAS: Base Address
XBR0 = GPCB ()
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5B._LEN, XSZ0) // _LEN: Length
XSZ0 = GPCL ()
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5C._BAS, SXRA) // _BAS: Base Address
SXRA = SXRB /* \SXRB */
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5C._LEN, SXRL) // _LEN: Length
SXRL = SXRS /* \SXRS */
If (!HPTE)
{
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5D._BAS, HBAS) // _BAS: Base Address
CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y5D._LEN, HLEN) // _LEN: Length
HBAS = HPTB /* \HPTB */
HLEN = 0x0400
}
Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
}
}
}
Method (BRTN, 1, Serialized)
{
If (((DIDX & 0x0F00) == 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD1F, Arg0)
}
}
Scope (_GPE)
{
Method (_L69, 0, Serialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
\_SB.PCI0.RP01.HPME ()
\_SB.PCI0.RP02.HPME ()
\_SB.PCI0.RP03.HPME ()
\_SB.PCI0.RP04.HPME ()
\_SB.PCI0.RP05.HPME ()
\_SB.PCI0.RP06.HPME ()
\_SB.PCI0.RP07.HPME ()
\_SB.PCI0.RP08.HPME ()
\_SB.PCI0.RP09.HPME ()
\_SB.PCI0.RP10.HPME ()
\_SB.PCI0.RP11.HPME ()
\_SB.PCI0.RP12.HPME ()
\_SB.PCI0.RP13.HPME ()
\_SB.PCI0.RP14.HPME ()
\_SB.PCI0.RP15.HPME ()
\_SB.PCI0.RP16.HPME ()
\_SB.PCI0.RP17.HPME ()
\_SB.PCI0.RP18.HPME ()
\_SB.PCI0.RP19.HPME ()
\_SB.PCI0.RP20.HPME ()
If ((D1F0 == One))
{
\_SB.PCI0.PEG0.HPME ()
Notify (\_SB.PCI0.PEG0, 0x02) // Device Wake
Notify (\_SB.PCI0.PEG0.PEGP, 0x02) // Device Wake
}
If ((D1F1 == One))
{
\_SB.PCI0.PEG1.HPME ()
Notify (\_SB.PCI0.PEG1, 0x02) // Device Wake
}
If ((D1F2 == One))
{
\_SB.PCI0.PEG2.HPME ()
Notify (\_SB.PCI0.PEG2, 0x02) // Device Wake
}
}
Method (_L61, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
L01C += One
P8XH (Zero, One)
P8XH (One, L01C)
If (((\_SB.PCI0.RP01.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP01.HPSX))
{
If (((TBTS != One) || (TBSE != One)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP01.PDCX)
{
\_SB.PCI0.RP01.PDCX = One
\_SB.PCI0.RP01.HPSX = One
If (!\_SB.PCI0.RP01.PDSX)
{
\_SB.PCI0.RP01.L0SE = Zero
}
If (((TBTS != One) || (TBSE != One)))
{
Notify (\_SB.PCI0.RP01, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP01.HPSX = One
}
}
If (((\_SB.PCI0.RP02.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP02.HPSX))
{
If (((TBTS != One) || (TBSE != 0x02)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP02.PDCX)
{
\_SB.PCI0.RP02.PDCX = One
\_SB.PCI0.RP02.HPSX = One
If (!\_SB.PCI0.RP02.PDSX)
{
\_SB.PCI0.RP02.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x02)))
{
Notify (\_SB.PCI0.RP02, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP02.HPSX = One
}
}
If (((\_SB.PCI0.RP03.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP03.HPSX))
{
If (((TBTS != One) || (TBSE != 0x03)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP03.PDCX)
{
\_SB.PCI0.RP03.PDCX = One
\_SB.PCI0.RP03.HPSX = One
If (!\_SB.PCI0.RP03.PDSX)
{
\_SB.PCI0.RP03.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x03)))
{
Notify (\_SB.PCI0.RP03, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP03.HPSX = One
}
}
If (((\_SB.PCI0.RP04.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP04.HPSX))
{
If (((TBTS != One) || (TBSE != 0x04)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP04.PDCX)
{
\_SB.PCI0.RP04.PDCX = One
\_SB.PCI0.RP04.HPSX = One
If (!\_SB.PCI0.RP04.PDSX)
{
\_SB.PCI0.RP04.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x04)))
{
Notify (\_SB.PCI0.RP04, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP04.HPSX = One
}
}
If (((\_SB.PCI0.RP05.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP05.HPSX))
{
If (((TBTS != One) || (TBSE != 0x05)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP05.PDCX)
{
\_SB.PCI0.RP05.PDCX = One
\_SB.PCI0.RP05.HPSX = One
If (!\_SB.PCI0.RP05.PDSX)
{
\_SB.PCI0.RP05.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x05)))
{
Notify (\_SB.PCI0.RP05, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP05.HPSX = One
}
}
If (((\_SB.PCI0.RP06.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP06.HPSX))
{
If (((TBTS != One) || (TBSE != 0x06)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP06.PDCX)
{
\_SB.PCI0.RP06.PDCX = One
\_SB.PCI0.RP06.HPSX = One
If (!\_SB.PCI0.RP06.PDSX)
{
\_SB.PCI0.RP06.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x06)))
{
Notify (\_SB.PCI0.RP06, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP06.HPSX = One
}
}
If (((\_SB.PCI0.RP07.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP07.HPSX))
{
If (((TBTS != One) || (TBSE != 0x07)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP07.PDCX)
{
\_SB.PCI0.RP07.PDCX = One
\_SB.PCI0.RP07.HPSX = One
If (!\_SB.PCI0.RP07.PDSX)
{
\_SB.PCI0.RP07.L0SE = Zero
}
If ((PFLV == 0x02))
{
If (((TBTS != One) || (TBSE != 0x07)))
{
Notify (\_SB.PCI0.RP07, Zero) // Bus Check
}
}
ElseIf (ECON)
{
If ((\_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.DOCK)) == Zero))
{
If (((TBTS != One) || (TBSE != 0x07)))
{
Notify (\_SB.PCI0.RP07, Zero) // Bus Check
}
}
}
}
Else
{
\_SB.PCI0.RP07.HPSX = One
}
}
If (((\_SB.PCI0.RP08.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP08.HPSX))
{
If (((TBTS != One) || (TBSE != 0x08)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP08.PDCX)
{
\_SB.PCI0.RP08.PDCX = One
\_SB.PCI0.RP08.HPSX = One
If (!\_SB.PCI0.RP08.PDSX)
{
\_SB.PCI0.RP08.L0SE = Zero
}
If ((PFLV == 0x02))
{
If (((TBTS != One) || (TBSE != 0x08)))
{
Notify (\_SB.PCI0.RP08, Zero) // Bus Check
}
}
ElseIf (ECON)
{
If ((\_SB.PCI0.LPCB.H_EC.ECRD (RefOf (\_SB.PCI0.LPCB.H_EC.DOCK)) == Zero))
{
If (((TBTS != One) || (TBSE != 0x08)))
{
Notify (\_SB.PCI0.RP08, Zero) // Bus Check
}
}
}
}
Else
{
\_SB.PCI0.RP08.HPSX = One
}
}
If (((\_SB.PCI0.RP09.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP09.HPSX))
{
If (((TBTS != One) || (TBSE != 0x09)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP09.PDCX)
{
\_SB.PCI0.RP09.PDCX = One
\_SB.PCI0.RP09.HPSX = One
If (!\_SB.PCI0.RP09.PDSX)
{
\_SB.PCI0.RP09.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x09)))
{
Notify (\_SB.PCI0.RP09, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP09.HPSX = One
}
}
If (((\_SB.PCI0.RP10.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP10.HPSX))
{
If (((TBTS != One) || (TBSE != 0x0A)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP10.PDCX)
{
\_SB.PCI0.RP10.PDCX = One
\_SB.PCI0.RP10.HPSX = One
If (!\_SB.PCI0.RP10.PDSX)
{
\_SB.PCI0.RP10.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x0A)))
{
Notify (\_SB.PCI0.RP10, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP10.HPSX = One
}
}
If (((\_SB.PCI0.RP11.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP11.HPSX))
{
If (((TBTS != One) || (TBSE != 0x0B)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP11.PDCX)
{
\_SB.PCI0.RP11.PDCX = One
\_SB.PCI0.RP11.HPSX = One
If (!\_SB.PCI0.RP11.PDSX)
{
\_SB.PCI0.RP11.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x0B)))
{
Notify (\_SB.PCI0.RP11, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP11.HPSX = One
}
}
If (((\_SB.PCI0.RP12.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP12.HPSX))
{
If (((TBTS != One) || (TBSE != 0x0C)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP12.PDCX)
{
\_SB.PCI0.RP12.PDCX = One
\_SB.PCI0.RP12.HPSX = One
If (!\_SB.PCI0.RP12.PDSX)
{
\_SB.PCI0.RP12.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x0C)))
{
Notify (\_SB.PCI0.RP12, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP12.HPSX = One
}
}
If (((\_SB.PCI0.RP13.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP13.HPSX))
{
If (((TBTS != One) || (TBSE != 0x0D)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP13.PDCX)
{
\_SB.PCI0.RP13.PDCX = One
\_SB.PCI0.RP13.HPSX = One
If (!\_SB.PCI0.RP13.PDSX)
{
\_SB.PCI0.RP13.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x0D)))
{
Notify (\_SB.PCI0.RP13, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP13.HPSX = One
}
}
If (((\_SB.PCI0.RP14.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP14.HPSX))
{
If (((TBTS != One) || (TBSE != 0x0E)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP14.PDCX)
{
\_SB.PCI0.RP14.PDCX = One
\_SB.PCI0.RP14.HPSX = One
If (!\_SB.PCI0.RP14.PDSX)
{
\_SB.PCI0.RP14.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x0E)))
{
Notify (\_SB.PCI0.RP14, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP14.HPSX = One
}
}
If (((\_SB.PCI0.RP15.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP15.HPSX))
{
If (((TBTS != One) || (TBSE != 0x0F)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP15.PDCX)
{
\_SB.PCI0.RP15.PDCX = One
\_SB.PCI0.RP15.HPSX = One
If (!\_SB.PCI0.RP15.PDSX)
{
\_SB.PCI0.RP15.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x0F)))
{
Notify (\_SB.PCI0.RP15, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP15.HPSX = One
}
}
If (((\_SB.PCI0.RP16.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP16.HPSX))
{
If (((TBTS != One) || (TBSE != 0x10)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP16.PDCX)
{
\_SB.PCI0.RP16.PDCX = One
\_SB.PCI0.RP16.HPSX = One
If (!\_SB.PCI0.RP16.PDSX)
{
\_SB.PCI0.RP16.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x10)))
{
Notify (\_SB.PCI0.RP16, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP16.HPSX = One
}
}
If (((\_SB.PCI0.RP17.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP17.HPSX))
{
If (((TBTS != One) || (TBSE != 0x11)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP17.PDCX)
{
\_SB.PCI0.RP17.PDCX = One
\_SB.PCI0.RP17.HPSX = One
If (!\_SB.PCI0.RP17.PDSX)
{
\_SB.PCI0.RP17.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x11)))
{
Notify (\_SB.PCI0.RP17, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP17.HPSX = One
}
}
If (((\_SB.PCI0.RP18.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP18.HPSX))
{
If (((TBTS != One) || (TBSE != 0x12)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP18.PDCX)
{
\_SB.PCI0.RP18.PDCX = One
\_SB.PCI0.RP18.HPSX = One
If (!\_SB.PCI0.RP18.PDSX)
{
\_SB.PCI0.RP18.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x12)))
{
Notify (\_SB.PCI0.RP18, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP18.HPSX = One
}
}
If (((\_SB.PCI0.RP19.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP19.HPSX))
{
If (((TBTS != One) || (TBSE != 0x13)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP19.PDCX)
{
\_SB.PCI0.RP19.PDCX = One
\_SB.PCI0.RP19.HPSX = One
If (!\_SB.PCI0.RP19.PDSX)
{
\_SB.PCI0.RP19.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x13)))
{
Notify (\_SB.PCI0.RP19, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP19.HPSX = One
}
}
If (((\_SB.PCI0.RP20.VDID != 0xFFFFFFFF) && \_SB.PCI0.RP20.HPSX))
{
If (((TBTS != One) || (TBSE != 0x14)))
{
Sleep (0x64)
}
If (\_SB.PCI0.RP20.PDCX)
{
\_SB.PCI0.RP20.PDCX = One
\_SB.PCI0.RP20.HPSX = One
If (!\_SB.PCI0.RP20.PDSX)
{
\_SB.PCI0.RP20.L0SE = Zero
}
If (((TBTS != One) || (TBSE != 0x14)))
{
Notify (\_SB.PCI0.RP20, Zero) // Bus Check
}
}
Else
{
\_SB.PCI0.RP20.HPSX = One
}
}
}
Method (_L62, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
GPEC = Zero
If (CondRefOf (\_PR.DTSE))
{
If ((\_PR.DTSE >= One))
{
Notify (\_TZ.TZ00, 0x80) // Status Change
Notify (\_TZ.TZ01, 0x80) // Status Change
}
}
If ((\_PR.HWPI == One))
{
If (CondRefOf (\_GPE.HLVT))
{
HLVT ()
}
\_PR.HWPI = Zero
}
}
Method (_L66, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
{
\_SB.PCI0.GFX0.GSCI ()
}
}
Method (_L67, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
\_SB.PCI0.SBUS.HSTS = 0x20
}
Method (_L68, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
Notify (\_SB.PCI0.LPCB.SM17.UAR1, 0x02) // Device Wake
}
}
Device (_SB.PCI0.DOCK)
{
Name (_HID, "ABCD0000") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0C15") /* Docking Station */) // _CID: Compatible ID
Name (_UID, "SADDLESTRING") // _UID: Unique ID
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9
{
P8XH (Zero, 0xED)
If ((ECON == One))
{
^^LPCB.H_EC.ECWT (One, RefOf (^^LPCB.H_EC.EJET))
}
Return (Zero)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((ECON == Zero))
{
Return (Zero)
}
If (DSTS)
{
P8XH (One, 0x13)
P8XH (Zero, 0x13)
Return (0x0F)
}
Else
{
P8XH (One, 0x14)
P8XH (Zero, 0x14)
Return (Zero)
}
}
Method (_DCK, 1, NotSerialized) // _DCK: Dock Present
{
P8XH (Zero, 0xD3)
If (Arg0)
{
Return (One)
}
Else
{
DSTS = Zero
If ((ECON == One))
{
^^LPCB.H_EC.ECWT (Zero, RefOf (^^LPCB.H_EC.EJET))
}
Return (One)
}
}
Name (_EDL, Package (0x03) // _EDL: Eject Device List
{
^RP07.PXSX,
^RP08.PXSX,
SAT0
})
}
Scope (_SB.PCI0.RP01.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP01.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP01.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP01.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP01.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP02.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP02.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP02.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP02.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP02.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP03.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP03.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP03.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP03.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP03.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP04.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP04.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP04.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP04.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP04.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP05.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP05.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP05.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP05.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP05.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP06.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP06.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP06.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP06.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP06.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP07.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP07.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP07.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP07.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP07.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP08.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP08.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP08.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP08.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP08.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP09.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP09.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP09.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP09.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP09.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP10.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP10.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP10.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP10.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP10.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP11.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP11.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP11.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP11.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP11.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP12.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP12.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP12.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP12.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP12.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP13.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP13.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP13.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP13.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP13.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP14.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP14.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP14.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP14.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP14.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP15.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP15.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP15.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP15.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP15.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP16.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
DerefOf (SPLX [0x02]) [Zero] = DOM2 /* \DOM2 */
DerefOf (SPLX [0x02]) [One] = LIM2 /* \LIM2 */
DerefOf (SPLX [0x02]) [0x02] = TIM2 /* \TIM2 */
DerefOf (SPLX [0x03]) [Zero] = DOM3 /* \DOM3 */
DerefOf (SPLX [0x03]) [One] = LIM3 /* \LIM3 */
DerefOf (SPLX [0x03]) [0x02] = TIM3 /* \TIM3 */
Return (SPLX) /* \_SB_.PCI0.RP16.PXSX.SPLX */
}
Name (WANX, Package (0x03)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (WAND, 0, Serialized)
{
DerefOf (WANX [One]) [Zero] = Zero
DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
DerefOf (WANX [0x02]) [Zero] = One
DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
Return (WANX) /* \_SB_.PCI0.RP16.PXSX.WANX */
}
Name (WRDX, Package (0x03)
{
Zero,
Package (0x02)
{
0x80000000,
0x8000
},
Package (0x02)
{
0x80000000,
0x8000
}
})
Method (WRDD, 0, Serialized)
{
DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
DerefOf (WRDX [0x02]) [Zero] = WDM2 /* \WDM2 */
DerefOf (WRDX [0x02]) [One] = CID2 /* \CID2 */
Return (WRDX) /* \_SB_.PCI0.RP16.PXSX.WRDX */
}
Name (WRDY, Package (0x02)
{
Zero,
Package (0x0C)
{
0x07,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80,
0x80
}
})
Method (WRDS, 0, Serialized)
{
DerefOf (WRDY [One]) [One] = STXE /* \STXE */
DerefOf (WRDY [One]) [0x02] = STX0 /* \STX0 */
DerefOf (WRDY [One]) [0x03] = STX1 /* \STX1 */
DerefOf (WRDY [One]) [0x04] = STX2 /* \STX2 */
DerefOf (WRDY [One]) [0x05] = STX3 /* \STX3 */
DerefOf (WRDY [One]) [0x06] = STX4 /* \STX4 */
DerefOf (WRDY [One]) [0x07] = STX5 /* \STX5 */
DerefOf (WRDY [One]) [0x08] = STX6 /* \STX6 */
DerefOf (WRDY [One]) [0x09] = STX7 /* \STX7 */
DerefOf (WRDY [One]) [0x0A] = STX8 /* \STX8 */
DerefOf (WRDY [One]) [0x0B] = STX9 /* \STX9 */
Return (WRDY) /* \_SB_.PCI0.RP16.PXSX.WRDY */
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (VDID)
{
Case (0x095A8086)
{
Return (One)
}
Case (0x095B8086)
{
Return (One)
}
Case (0x31658086)
{
Return (One)
}
Case (0x31668086)
{
Return (One)
}
Case (0x08B18086)
{
Return (One)
}
Case (0x08B28086)
{
Return (One)
}
Case (0x08B38086)
{
Return (One)
}
Case (0x08B48086)
{
Return (One)
}
Case (0x24F38086)
{
Return (One)
}
Case (0x24F48086)
{
Return (One)
}
Case (0x24F58086)
{
Return (One)
}
Case (0x24F68086)
{
Return (One)
}
Default
{
Return (Zero)
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.RP17.PXSX)
{
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
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))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^^HIDD.HPEM (0x1B)
}
Case (One)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x80) // Status Change
}
}
Case (0x02)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, One)
Notify (^^^LPCB.H_EC.VGBI, 0xCA) // Hardware-Specific
}
}
Case (0x03)
{
If (CondRefOf (\_SB.PCI0.LPCB.H_EC.VGBI.UPBT))
{
^^^LPCB.H_EC.VGBI.UPBT (0x80, Zero)
Notify (^^^LPCB.H_EC.VGBI, 0xCB) // Hardware-Specific
}
}
Case (0x04)
{
If (CondRefOf (\_SB.SLPB))
{
Notify (SLPB, 0x02) // Device Wake
}
}
}
}
Return (Zero)
}
ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107")))
{
Switch (Arg2)
{
Case (Zero)
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Case (One)
{
Return (WHIT ())
}
Case (0x02)
{
Return (SELF ())
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
OperationRegion (RPXX, PCI_Config, Zero, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
OperationRegion (FLDR, PCI_Config, 0x44, 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Name (SPLX, Package (0x04)
{
Zero,
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
},
Package (0x03)
{
0x80000000,
0x80000000,
0x80000000
}
})
Method (SPLC, 0, Serialized)
{
DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */