/* * Intel ACPI Component Architecture * AML Disassembler version 20140214-64 [Mar 29 2014] * Copyright (c) 2000 - 2014 Intel Corporation * * Disassembly of dsdt.dat, Mon Nov 17 22:21:19 2014 * * Original Table Header: * Signature "DSDT" * Length 0x00008E12 (36370) * Revision 0x02 * Checksum 0x5E * OEM ID "DELL " * OEM Table ID "CL09 " * OEM Revision 0x00000003 (3) * Compiler ID "ASL " * Compiler Version 0x00040000 (262144) */ DefinitionBlock ("dsdt.aml", "DSDT", 2, "DELL ", "CL09 ", 0x00000003) { /* * iASL Warning: There were 1 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. 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 (, MethodObj, ) */ External (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj) // Warning: Unresolved Method, guessing 1 arguments (may be incorrect, see warning above) External (_PR_.CPU0._PPC) External (_SB_.IAOE) External (_SB_.IAOE.PTSL) External (CFGD) External (MDBG, IntObj) External (PDC0) External (PDC1) External (PDC2) External (PDC3) Method (ADBG, 1, Serialized) { If (CondRefOf (MDBG)) { Return (MDBG) Arg0 } Return (Zero) } Name (SP3O, 0x2E) Name (IO4B, 0x0A20) Name (IO4L, 0x20) Name (SP1O, 0x4E) Name (SMBS, 0xEFA0) Name (SMBL, 0x20) Name (PMBS, 0x0400) Name (SMIP, 0xB2) Name (GPBS, 0x0500) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (PFDR, 0xFED03034) Name (PMCB, 0xFED03000) Name (PCLK, 0xFED03060) Name (PUNB, 0xFED05000) Name (IBAS, 0xFED08000) Name (SRCB, 0xFED1C000) Name (SRCL, 0x1000) Name (HPTB, 0xFED00000) Name (MCHB, 0xFED14000) Name (MCHL, 0x4000) Name (EGPB, 0xFED19000) Name (EGPL, 0x1000) Name (DMIB, 0xFED18000) Name (DMIL, 0x1000) Name (IFPB, 0xFED14000) Name (IFPL, 0x1000) Name (PEBS, 0xE0000000) Name (PELN, 0x10000000) Name (FMBL, One) Name (FDTP, 0x02) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x02) Name (DSLC, 0x03) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (PSSS, 0x67) Name (SOOT, 0x35) Name (ESCS, 0x6A) Name (SDGV, 0x1C) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, Zero) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (FTBL, 0x04) Name (WFLG, Zero) Name (Q1FF, Zero) Name (LANF, Zero) OperationRegion (GNVS, SystemMemory, 0x786F1A98, 0x033C) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, BNUM, 8, B0SC, 8, B1SC, 8, B2SC, 8, B0SS, 8, B1SS, 8, B2SS, 8, Offset (0x28), APIC, 8, MPEN, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, Offset (0x32), NATP, 8, CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, CMCP, 8, CIRP, 8, W381, 8, NPCE, 8, Offset (0x3C), IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, KSV0, 32, KSV1, 8, Offset (0x67), BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x74), MEFE, 8, DSTS, 8, Offset (0x78), TPMP, 8, TPME, 8, MORD, 8, TCGP, 8, PPRP, 32, PPRQ, 8, LPPR, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, Offset (0xA0), Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, PAVP, 8, Offset (0xE1), OSCC, 8, NEXP, 8, Offset (0xE4), Offset (0xE5), Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, Offset (0x100), NVGA, 32, NVHA, 32, AMDA, 32, DID6, 32, DID7, 32, DID8, 32, EPBA, 32, CPSP, 32, EECB, 32, EVCB, 32, XBAS, 32, OBS1, 32, OBS2, 32, OBS3, 32, OBS4, 32, OBS5, 32, OBS6, 32, OBS7, 32, OBS8, 32, USEL, 8, PU1E, 8, PU2E, 8, LPE0, 32, LPE1, 32, LPE2, 32, ACST, 8, BTST, 8, PFLV, 8, Offset (0x15F), ICNF, 8, XHCI, 8, PMEN, 8, LPEE, 8, ISPA, 32, ISPD, 8, PCIB, 32, PCIT, 32, D10A, 32, D10L, 32, D11A, 32, D11L, 32, P10A, 32, P10L, 32, P11A, 32, P11L, 32, P20A, 32, P20L, 32, P21A, 32, P21L, 32, U10A, 32, U10L, 32, U11A, 32, U11L, 32, U20A, 32, U20L, 32, U21A, 32, U21L, 32, SP0A, 32, SP0L, 32, SP1A, 32, SP1L, 32, D20A, 32, D20L, 32, D21A, 32, D21L, 32, I10A, 32, I10L, 32, I11A, 32, I11L, 32, I20A, 32, I20L, 32, I21A, 32, I21L, 32, I30A, 32, I30L, 32, I31A, 32, I31L, 32, I40A, 32, I40L, 32, I41A, 32, I41L, 32, I50A, 32, I50L, 32, I51A, 32, I51L, 32, I60A, 32, I60L, 32, I61A, 32, I61L, 32, I70A, 32, I70L, 32, I71A, 32, I71L, 32, EM0A, 32, EM0L, 32, EM1A, 32, EM1L, 32, SI0A, 32, SI0L, 32, SI1A, 32, SI1L, 32, SD0A, 32, SD0L, 32, SD1A, 32, SD1L, 32, MH0A, 32, MH0L, 32, MH1A, 32, MH1L, 32, Offset (0x291), HLPS, 8, OSEL, 8, SDP1, 8, DPTE, 8, THM0, 8, THM1, 8, THM2, 8, THM3, 8, THM4, 8, CHGR, 8, DDSP, 8, DSOC, 8, DPSR, 8, DPCT, 32, DPPT, 32, DGC0, 32, DGP0, 32, DGC1, 32, DGP1, 32, DGC2, 32, DGP2, 32, DGC3, 32, DGP3, 32, DGC4, 32, DGP4, 32, DLPM, 8, DSC0, 32, DSC1, 32, DSC2, 32, DSC3, 32, DSC4, 32, DDBG, 8, LPOE, 32, LPPS, 32, LPST, 32, LPPC, 32, LPPF, 32, DPME, 8, BCSL, 8, NFCS, 8, PCIM, 8, TPMA, 32, TPML, 32, ITSA, 8, S0IX, 8, SDMD, 8, EMVR, 8, BMBD, 32, FSAS, 8, BDID, 8, FBID, 8, OTGM, 8, STEP, 8, WITT, 8, SOCS, 8, AMTE, 8, UTS, 8, SCPE, 8, SARE, 8, Offset (0x318), EDPV, 8, DIDX, 32, SGMD, 8, SGFL, 8, PWOK, 8, HLRS, 8, PWEN, 8, PRST, 8, EECP, 8, EVCP, 16, IOBA, 32, SGGP, 8, NXDX, 32, PCSL, 8, SC7A, 8, NFCE, 8, TPDE, 8, RPBA, 32, EPA1, 32, PB1E, 8 } OperationRegion (DGNS, SystemMemory, 0x78724000, 0x1005) Field (DGNS, AnyAcc, Lock, Preserve) { DSMB, 8, WMIB, 32768, DFFS, 8, EXRB, 8, DWOU, 8, PDBC, 8 } Scope (_SB) { Device (RTC) { Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x00000008, } }) Return (RBUF) } } Name (PR00, Package (0x19) { Package (0x04) { 0x0010FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0011FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0012FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0013FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0014FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0015FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0017FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0018FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0018FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0018FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0018FFFF, One, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001EFFFF, Zero, LNKD, Zero }, Package (0x04) { 0x001EFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001EFFFF, One, LNKB, Zero }, Package (0x04) { 0x001EFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKC, 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) { 0x0002FFFF, Zero, LNKA, Zero } }) Name (AR00, Package (0x19) { Package (0x04) { 0x0010FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0011FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0012FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0013FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0014FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0015FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0017FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0018FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0018FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0018FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0018FFFF, One, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001EFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x001EFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001EFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001EFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x12 }, 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) { 0x0002FFFF, 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 (PR01, Package (0x10) { Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKF, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKH, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKG, Zero } }) Name (AR01, Package (0x10) { Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x17 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x16 } }) 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")) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03")) // _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) } Device (VLVC) { Name (_ADR, Zero) // _ADR: Address OperationRegion (HBUS, PCI_Config, Zero, 0xFF) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0xD0), SMCR, 32, SMDR, 32, MCRX, 32 } Method (RMBR, 2, Serialized) { Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0) Or (0x100000F0, Local0, SMCR) Return (SMDR) } Method (WMBR, 3, Serialized) { Store (Arg2, SMDR) Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0) Or (0x110000F0, Local0, SMCR) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, ISMN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, ISMX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, ISLN) // _LEN: Length If (LEqual (ISPD, One)) { Store (ISPA, ISMN) Add (ISMN, ISLN, ISMX) Subtract (ISMX, One, ISMX) } Else { Store (Zero, ISMN) Store (Zero, ISMX) Store (Zero, ISLN) } CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, M1MN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, M1MX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, M1LN) // _LEN: Length And (BMBD, 0xFF000000, M1MN) Store (PCIT, M1MX) Add (Subtract (M1MX, M1MN), One, M1LN) Subtract (M1MX, One, M1MX) CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, GSMN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, GSMX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, GSLN) // _LEN: Length If (LNotEqual (^GFX0.GSTM, 0xFFFFFFFF)) { Store (Zero, GSMN) } Else { Store (^GFX0.GSTM, GSMN) } If (LNotEqual (^GFX0.GUMA, 0xFFFFFFFF)) { Store (Zero, GSLN) } Else { ShiftLeft (^GFX0.GUMA, 0x19, GSLN) } Add (GSMN, GSLN, GSMX) Subtract (GSMX, One, GSMX) Return (RES0) } Name (RES0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0070, // Range Minimum 0x0077, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x006F, // Range Maximum 0x0000, // Translation Offset 0x0070, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0078, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0C80, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x7A000000, // Range Minimum 0x7A3FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00400000, // Length ,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x7C000000, // Range Minimum 0x7FFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x04000000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x80000000, // Range Minimum 0xDFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x60000000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) }) Name (GUID, Buffer (0x10) { /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66 }) Name (SUPP, Zero) Name (CTRL, Zero) Name (XCNT, Zero) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Store (Arg3, Local0) CreateDWordField (Local0, Zero, CDW1) CreateDWordField (Local0, 0x04, CDW2) CreateDWordField (Local0, 0x08, CDW3) If (^XHC1.CUID (Arg0)) { Return (^XHC1.POSC (Arg1, Arg2, Arg3)) } Else { If (LGreaterEqual (OSYS, 0x07DC)) { If (LEqual (XCNT, Zero)) { ^XHC1.XSEL () Increment (XCNT) } } } If (LAnd (LEqual (Arg0, GUID), NEXP)) { Store (CDW2, SUPP) Store (CDW3, CTRL) If (Not (And (CDW1, One))) { If (And (CTRL, 0x02)) { NHPG () } If (And (CTRL, 0x04)) { NPME () } } If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) } Store (CTRL, CDW3) Store (CTRL, OSCC) Return (Local0) } Else { Or (CDW1, 0x04, CDW1) Return (Local0) } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Scope (\_SB) { OperationRegion (ILBR, SystemMemory, IBAS, 0x8C) Field (ILBR, AnyAcc, NoLock, Preserve) { Offset (0x08), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0x88), , 3, UI3E, 1, UI4E, 1 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PARC, 0x80, PARC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSA) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PARC, 0x0F), IRQ0) Return (RTLA) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PBRC, 0x80, PBRC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSB) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PCRC, 0x80, PCRC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSC) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PDRC, 0x80, PDRC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSD) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PERC, 0x80, PERC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSE) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PERC, 0x0F), IRQ0) Return (RTLE) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PFRC, 0x80, PFRC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSF) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PGRC, 0x80, PGRC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSG) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PHRC, 0x80, PHRC) } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSH) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } OperationRegion (LPC0, PCI_Config, Zero, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x08), SRID, 8, Offset (0x80), C1EN, 1, Offset (0x84) } Device (FWHD) { Name (_HID, EisaId ("INT0800")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (IPIC) { Name (_HID, EisaId ("PNP0000")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0xFF, // Length ) IO (Decode16, 0x0600, // Range Minimum 0x0600, // Range Maximum 0x01, // Alignment 0x20, // Length ) Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) IO (Decode16, 0xFD60, // Range Minimum 0xFD60, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) // _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 (IUR3) { Name (_HID, EisaId ("PNP0501")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (USEL, Zero)) { If (LEqual (PU1E, One)) { Store (One, UI3E) Store (One, UI4E) Store (One, C1EN) Return (0x0F) } } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (Zero, UI3E) Store (Zero, UI4E) Store (Zero, C1EN) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} }) If (LLessEqual (SRID, 0x04)) { Return (BUF0) } Else { Return (BUF1) } } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x04, 0x03 }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { Store (Arg0, SLID) } Method (_LID, 0, NotSerialized) // _LID: Lid Status { Store (^^EC0.LIDF, Local0) If (Local0) { Return (Zero) } Return (One) } } OperationRegion (PKBS, SystemIO, 0x60, 0x05) Field (PKBS, ByteAcc, Lock, Preserve) { PKBD, 8, Offset (0x02), Offset (0x03), Offset (0x04), PKBC, 8 } Device (PS2K) { Name (_HID, "DLLK0667") // _HID: Hardware ID Name (_CID, EisaId ("PNP0303")) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } Device (PS2M) { Name (_HID, "DLL0667") // _HID: Hardware ID Name (_CID, EisaId ("PNP0F13")) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IRQNoFlags () {12} } EndDependentFn () }) } } } Device (RBTN) { Name (_HID, "DELLABCE") // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LLess (OSYS, 0x07DC)) { Return (Zero) } Return (0x0F) } Method (GRBT, 0, NotSerialized) { Store (CMSR (0xC0), Local0) If (And (Local0, 0x10)) { Store (One, Local1) } Else { Store (Zero, Local1) } Store (Local1, ^^PCI0.LPCB.EC0.WLAT) Return (Local1) } Method (ARBT, 1, NotSerialized) { Store (CMSR (0xC0), Local0) Store (One, EXRB) If (LEqual (Arg0, One)) { If (And (Local0, 0x04)) { If (And (Local0, One)) { STWL (One) } } If (And (Local0, 0x08)) { If (And (Local0, 0x02)) {} } } Else { If (And (Local0, 0x04)) { If (And (Local0, One)) { If (And (Local0, 0x10)) { STWL (One) Store (One, ^^PCI0.LPCB.EC0.WLAT) } Else { STWL (Zero) Store (Zero, ^^PCI0.LPCB.EC0.WLAT) } } } If (And (Local0, 0x08)) { If (And (Local0, 0x02)) { If (And (Local0, 0x10)) {} Else { } } } } } Method (CRBT, 0, NotSerialized) { Store (CMSR (0xC0), Local0) And (Local0, 0x04, Local1) And (Local0, 0x08, Local2) If (And (LEqual (Local1, 0x04), LEqual (Local2, 0x08))) { Store (0x02, Local0) } Else { Store (Zero, Local0) } Return (Local0) } } } Scope (\) { OperationRegion (PMIO, SystemIO, PMBS, 0x46) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x01), PWBS, 1, Offset (0x20), , 13, PMEB, 1, Offset (0x42), , 1, GPEC, 1 } Field (PMIO, ByteAcc, NoLock, WriteAsZeros) { Offset (0x20), , 4, PSCI, 1, SCIS, 1 } OperationRegion (PMCR, SystemMemory, PFDR, 0x04) Field (PMCR, DWordAcc, Lock, Preserve) { L10D, 1, L11D, 1, L12D, 1, L13D, 1, L14D, 1, L15D, 1, Offset (0x01), SD1D, 1, SD2D, 1, SD3D, 1, HSID, 1, HDAD, 1, LPED, 1, OTGD, 1, Offset (0x02), , 1, , 1, , 1, , 1, RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, L20D, 1, L21D, 1, L22D, 1, L23D, 1, L24D, 1, L25D, 1, L26D, 1, L27D, 1 } OperationRegion (CLKC, SystemMemory, PCLK, 0x18) Field (CLKC, DWordAcc, Lock, Preserve) { CKC0, 2, CKF0, 1, Offset (0x04), CKC1, 2, CKF1, 1, Offset (0x08), CKC2, 2, CKF2, 1, Offset (0x0C), CKC3, 2, CKF3, 1, Offset (0x10), CKC4, 2, CKF4, 1, Offset (0x14), CKC5, 2, CKF5, 1, Offset (0x18) } } Scope (_SB) { Device (LPEA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F28") // _HID: Hardware ID Name (_CID, "80860F28") // _CID: Compatible ID Name (_DDN, "Intel(R) Low Power Audio Controller - 80860F28") // _DDN: DOS Device Name Name (_SUB, "80867270") // _SUB: Subsystem ID Name (_UID, One) // _UID: Unique ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { PLPE }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LAnd (LAnd (LEqual (LPEE, 0x02), LEqual (LPED, Zero)), LEqual ( OSEL, Zero))) { Return (0x0F) } Return (Zero) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFE400000, // Address Base 0x00200000, // Address Length _Y03) Memory32Fixed (ReadWrite, 0xFE830000, // Address Base 0x00001000, // Address Length _Y04) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00100000, // Address Length _Y05) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000019, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001A, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001B, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001D, } GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001C } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.LPEA._Y03._BAS, B0BA) // _BAS: Base Address Store (LPE0, B0BA) CreateDWordField (RBUF, \_SB.LPEA._Y04._BAS, B1BA) // _BAS: Base Address Store (LPE1, B1BA) CreateDWordField (RBUF, \_SB.LPEA._Y05._BAS, B2BA) // _BAS: Base Address Store (LPE2, B2BA) Return (RBUF) } OperationRegion (KEYS, SystemMemory, LPE1, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } PowerResource (PLPE, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (One) } Method (_ON, 0, NotSerialized) // _ON_: Power On { And (PSAT, 0xFFFFFFFC, PSAT) Or (PSAT, Zero, PSAT) } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { Or (PSAT, 0x03, PSAT) Or (PSAT, Zero, PSAT) } } } Device (LPA2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "LPE0F28") // _HID: Hardware ID Name (_CID, "LPE0F28") // _CID: Compatible ID Name (_DDN, "Intel(R) SST Audio - LPE0F28") // _DDN: DOS Device Name Name (_SUB, "80867270") // _SUB: Subsystem ID Name (_UID, One) // _UID: Unique ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { PLPE }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LAnd (LAnd (LEqual (LPEE, 0x02), LEqual (LPED, Zero)), LEqual ( OSEL, One))) { Return (0x0F) } Return (Zero) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00100000, // Address Length _Y0B) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00000100, // Address Length _Y06) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00001000, // Address Length _Y07) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00014000, // Address Length _Y08) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00028000, // Address Length _Y09) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001D, } Memory32Fixed (ReadWrite, 0xFE830000, // Address Base 0x00001000, // Address Length _Y0A) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.LPA2._Y06._BAS, SHBA) // _BAS: Base Address Add (LPE0, 0x00140000, SHBA) CreateDWordField (RBUF, \_SB.LPA2._Y07._BAS, MBBA) // _BAS: Base Address Add (LPE0, 0x00144000, MBBA) CreateDWordField (RBUF, \_SB.LPA2._Y08._BAS, IRBA) // _BAS: Base Address Add (LPE0, 0x000C0000, IRBA) CreateDWordField (RBUF, \_SB.LPA2._Y09._BAS, DRBA) // _BAS: Base Address Add (LPE0, 0x00100000, DRBA) CreateDWordField (RBUF, \_SB.LPA2._Y0A._BAS, B1BA) // _BAS: Base Address Store (LPE1, B1BA) CreateDWordField (RBUF, \_SB.LPA2._Y0B._BAS, B2BA) // _BAS: Base Address Store (LPE2, B2BA) Return (RBUF) } OperationRegion (KEYS, SystemMemory, LPE1, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } PowerResource (PLPE, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (One) } Method (_ON, 0, NotSerialized) // _ON_: Power On { And (PSAT, 0xFFFFFFFC, PSAT) Or (PSAT, Zero, PSAT) } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { Or (PSAT, 0x03, PSAT) Or (PSAT, Zero, PSAT) } } Device (ADMA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "DMA0F28") // _HID: Hardware ID Name (_CID, "DMA0F28") // _CID: Compatible ID Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00001000, // Address Length _Y0C) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00001000, // Address Length _Y0D) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.LPA2.ADMA._Y0C._BAS, D0BA) // _BAS: Base Address Add (LPE0, 0x00098000, D0BA) CreateDWordField (RBUF, \_SB.LPA2.ADMA._Y0D._BAS, SHBA) // _BAS: Base Address Add (LPE0, 0x00140000, SHBA) Return (RBUF) } } } } Scope (_SB.PCI0) { Device (SATA) { Name (_ADR, 0x00130000) // _ADR: Address OperationRegion (SATR, PCI_Config, 0x40, 0xC0) Field (SATR, WordAcc, NoLock, Preserve) { Offset (0x34), Offset (0x35), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (OSEL, 0x02)) { Sleep (0xC8) } Return (0x0F) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } } Device (EM41) { Name (_ADR, 0x00100000) // _ADR: Address OperationRegion (SDIO, PCI_Config, 0x84, 0x04) Field (SDIO, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LAnd (LEqual (PCIM, One), LEqual (SD1D, Zero))) { Return (0x0F) } Else { Return (Zero) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Device (CARD) { Name (_ADR, 0x08) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } } } Device (EM45) { Name (_ADR, 0x00170000) // _ADR: Address OperationRegion (SDIO, PCI_Config, 0x84, 0x04) Field (SDIO, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LAnd (LEqual (PCIM, One), LEqual (HSID, Zero))) { Return (0x0F) } Else { Return (Zero) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Device (CARD) { Name (_ADR, 0x08) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } } } Device (SDIC) { Name (_ADR, 0x00120000) // _ADR: Address OperationRegion (SDIO, PCI_Config, 0x84, 0x04) Field (SDIO, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LAnd (LEqual (PCIM, One), LEqual (SD3D, Zero))) { Return (0x0F) } Else { Return (Zero) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Device (CARD) { Name (_ADR, 0x08) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } } } Device (XHC1) { Name (_ADR, 0x00140000) // _ADR: Address Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)") // _DDN: DOS Device Name Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)")) // _STR: Description String Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (LEqual (DWOU, One)) { Return (Package (0x02) { 0x0D, 0x03 }) } Else { Return (Package (0x02) { 0x0D, Zero }) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (LAnd (PMES, PMEE)) { Store (Zero, PMEE) Store (One, PMES) } If (LEqual (DWOU, One)) { If (LEqual (^^LPCB.EC0.LIDF, Zero)) { Store (^^LPCB.EC0.ADPT, ^^LPCB.EC0.UWAK) } Else { Store (Zero, ^^LPCB.EC0.UWAK) } } Else { Store (Zero, ^^LPCB.EC0.UWAK) } } OperationRegion (PMEB, PCI_Config, 0x74, 0x04) Field (PMEB, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } OperationRegion (NV0, SystemIO, 0x72, 0x02) Field (NV0, ByteAcc, NoLock, Preserve) { IND0, 8, DAT0, 8 } IndexField (IND0, DAT0, ByteAcc, NoLock, Preserve) { Offset (0x6F), XUSB, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (XHCI, Zero)) { Return (0x0F) } Else { Return (Zero) } } OperationRegion (XPRT, PCI_Config, 0xD0, 0x10) Field (XPRT, DWordAcc, NoLock, Preserve) { PR2, 32, PR2M, 32, PR3, 32, PR3M, 32 } Name (XRST, Zero) Method (CUID, 1, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xA9, 0x12, 0x95, 0x7C, 0x05, 0x17, 0xB4, 0x4C, /* 0008 */ 0xAF, 0x7D, 0x50, 0x6A, 0x24, 0x23, 0xAB, 0x71 })) { Return (One) } Return (Zero) } Method (POSC, 3, Serialized) { CreateDWordField (Arg2, Zero, CDW1) CreateDWordField (Arg2, 0x08, CDW3) If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LEqual (XHCI, Zero)) { Or (CDW1, 0x02, CDW1) } If (LNot (And (CDW1, One))) { If (And (CDW3, One)) { ESEL () } Else { XSEL () } } Return (Arg2) } Method (XSEL, 0, Serialized) { If (LOr (LEqual (XHCI, 0x02), LEqual (XHCI, 0x03))) { Store (One, XUSB) Store (One, XRST) Store (Zero, Local0) And (PR3, 0xFFFFFFFE, Local0) Or (Local0, PR3M, PR3) Store (Zero, Local0) And (PR2, 0xFFFFFFC0, Local0) Or (Local0, PR2M, PR2) } } Method (ESEL, 0, Serialized) { If (LOr (LEqual (XHCI, 0x02), LEqual (XHCI, 0x03))) { And (PR3, 0xFFFFFFFE, PR3) And (PR2, 0xFFFFFFC0, PR2) Store (Zero, XUSB) Store (Zero, XRST) } } Method (XWAK, 0, Serialized) { If (LOr (LEqual (XUSB, One), LEqual (XRST, One))) { XSEL () } } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (SSP1) { Name (_ADR, 0x07) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x06, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x4B, 0x19, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } Device (HS01) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x06, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x4B, 0x19, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } Device (HS02) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x40, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } Device (HS03) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } Device (HS04) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } Device (HSC1) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x08, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } Device (HSC2) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF } }) Return (PLDP) } } } } Device (OTG1) { Name (_ADR, 0x00160000) // _ADR: Address Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)") // _DDN: DOS Device Name Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)")) // _STR: Description String OperationRegion (PMEB, PCI_Config, 0x84, 0x04) Field (PMEB, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } OperationRegion (GENR, PCI_Config, 0xA0, 0x10) Field (GENR, WordAcc, NoLock, Preserve) { , 18, CPME, 1, U2EN, 1, U3EN, 1 } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { Store (One, CPME) Store (One, U2EN) Store (One, U3EN) } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { Store (Zero, CPME) Store (Zero, U2EN) Store (Zero, U3EN) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { USBC }) } Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (OTGM, Zero)) { Return (0x0F) } Else { Return (Zero) } } } Device (HDEF) { Name (_ADR, 0x001B0000) // _ADR: Address OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), Offset (0x09), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (HDAD, Zero)) { Return (0x0F) } Return (Zero) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } } Device (RP01) { Name (_ADR, 0x001C0000) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR04) } Return (PR04) } } Device (RP02) { Name (_ADR, 0x001C0001) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR05) } Return (PR05) } } Device (RP03) { Name (_ADR, 0x001C0002) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR06) } Return (PR06) } } Device (RP04) { Name (_ADR, 0x001C0003) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR07) } Return (PR07) } } Scope (\_SB) { PowerResource (USBC, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_ON, 0, NotSerialized) // _ON_: Power On { } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { } } } Device (EHC1) { Name (_ADR, 0x001D0000) // _ADR: Address OperationRegion (PWKE, PCI_Config, 0x62, 0x04) Field (PWKE, DWordAcc, NoLock, Preserve) { , 1, PWUC, 8 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { Store (Ones, PWUC) If (LEqual (DWOU, One)) { If (LEqual (^^LPCB.EC0.LIDF, Zero)) { Store (^^LPCB.EC0.ADPT, ^^LPCB.EC0.UWAK) } Else { Store (Zero, ^^LPCB.EC0.UWAK) } } Else { Store (Zero, ^^LPCB.EC0.UWAK) } } Else { Store (Zero, PWUC) } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) // _ADR: Address Device (PR01) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, Zero, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 00 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 06 */ /* VerticalPosition : 00 */ /* HorizontalPosition : 00 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) Device (PR11) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 04 */ /* VerticalPosition : 03 */ /* HorizontalPosition : 00 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 04 */ /* VerticalPosition : 03 */ /* HorizontalPosition : 01 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x24, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 00 */ /* Dock : 00 */ /* Lid : 01 */ /* Panel : 04 */ /* VerticalPosition : 00 */ /* HorizontalPosition : 01 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) Device (WCAM) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x25, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0xC8, 0x00, 0xA0, 0x00 } }) Return (PLDP) } } } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 04 */ /* VerticalPosition : 03 */ /* HorizontalPosition : 02 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { While (One) { Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { If (LEqual (SDGV, 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } } } Break } } Return (Zero) } } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 06 */ /* VerticalPosition : 02 */ /* HorizontalPosition : 02 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { While (One) { Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { If (LEqual (SDGV, 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } } } Break } } Return (Zero) } } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 06 */ /* VerticalPosition : 02 */ /* HorizontalPosition : 02 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { While (One) { Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { If (LEqual (SDGV, 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } } } Break } } Return (Zero) } } Device (PR17) { Name (_ADR, 0x07) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 06 */ /* VerticalPosition : 02 */ /* HorizontalPosition : 02 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { While (One) { Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { If (LEqual (SDGV, 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } } } Break } } Return (Zero) } } Device (PR18) { Name (_ADR, 0x08) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* Revision : 01 */ /* IgnoreColor : 01 */ /* Color : 000000 */ /* Width : 0000 */ /* Height : 0000 */ /* UserVisible : 01 */ /* Dock : 00 */ /* Lid : 00 */ /* Panel : 06 */ /* VerticalPosition : 02 */ /* HorizontalPosition : 02 */ /* Shape : 07 */ /* GroupOrientation : 00 */ /* GroupToken : 00 */ /* GroupPosition : 00 */ /* Bay : 00 */ /* Ejectable : 00 */ /* OspmEjectRequired : 00 */ /* CabinetNumber : 00 */ /* CardCageNumber : 00 */ /* Reference : 00 */ /* Rotation : 00 */ /* Order : 00 */ /* VerticalOffset : 0000 */ /* HorizontalOffset : 0000 */ } }) } } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (LEqual (DWOU, One)) { Return (Package (0x02) { 0x0D, 0x03 }) } Else { Return (Package (0x02) { 0x0D, Zero }) } } OperationRegion (USBR, PCI_Config, 0x54, 0x04) Field (USBR, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (XHCI, Zero)) { Return (0x0F) } Else { Return (Zero) } } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { USBC }) } } Device (SBUS) { Name (_ADR, 0x001F0003) // _ADR: Address OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMPB, PCI_Config, 0x20, 0x04) Field (SMPB, DWordAcc, NoLock, Preserve) { , 5, SBAR, 11 } OperationRegion (SMBI, SystemIO, ShiftLeft (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) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (0x44, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (Arg2, DAT0) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) And (Arg2, 0xFF, DAT1) And (ShiftRight (Arg2, 0x08), 0xFF, DAT0) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (Or (ShiftLeft (DAT0, 0x08), DAT1)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (SizeOf (Arg2), DAT0) Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) Store (0x54, HCON) While (LGreater (SizeOf (Arg2), Local1)) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (0x80, HSTS) Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x54, HCON) Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (DAT0, Index (TBUF, Zero)) Store (0x80, HSTS) Store (One, Local1) While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (HBDR, Index (TBUF, Local1)) Store (0x80, HSTS) Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (TBUF) } Return (Zero) } Method (STRT, 0, Serialized) { Store (0xC8, Local0) While (Local0) { If (And (HSTS, 0x40)) { Decrement (Local0) Sleep (One) If (LEqual (Local0, Zero)) { Return (One) } } Else { Store (Zero, Local0) } } Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, 0x02)) { Return (One) } Else { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { Or (HCON, 0x02, HCON) Or (HSTS, 0xFF, HSTS) } } Device (SEC0) { Name (_ADR, 0x001A0000) // _ADR: Address OperationRegion (PMEB, PCI_Config, 0x84, 0x04) Field (PMEB, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x1F000000, // Address Base 0x01000000, // Address Length ) }) If (LEqual (PAVP, 0x02)) { Return (RBUF) } Return (ResourceTemplate () { }) } Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (PAVP, Zero)) { Return (0x0F) } Return (Zero) } } } Scope (_SB.PCI0) { Device (GFX0) { Name (_ADR, 0x00020000) // _ADR: Address Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { Store (And (Arg0, 0x07), DSEN) } Method (_DOD, 0, Serialized) // _DOD: Display Output Devices { Store (Zero, NDID) If (LNotEqual (DIDL, Zero)) { Store (SDDL (DIDL), DID1) } If (LNotEqual (DDL2, Zero)) { Store (SDDL (DDL2), DID2) } If (LNotEqual (DDL3, Zero)) { Store (SDDL (DDL3), DID3) } If (LNotEqual (DDL4, Zero)) { Store (SDDL (DDL4), DID4) } If (LNotEqual (DDL5, Zero)) { Store (SDDL (DDL5), DID5) } If (LEqual (NDID, One)) { If (LNotEqual (ISPD, Zero)) { Name (TMP0, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP0, Zero)) Store (0x00020F38, Index (TMP0, One)) Return (TMP0) } Else { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP1, Zero)) Return (TMP1) } } If (LEqual (NDID, 0x02)) { If (LNotEqual (ISPD, Zero)) { Name (TMP2, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) Store (Or (0x00010000, DID2), Index (TMP2, One)) Store (0x00020F38, Index (TMP2, 0x02)) Return (TMP2) } Else { Name (TMP3, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP3, Zero)) Store (Or (0x00010000, DID2), Index (TMP3, One)) Return (TMP3) } } If (LEqual (NDID, 0x03)) { If (LNotEqual (ISPD, Zero)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) Store (0x00020F38, Index (TMP4, 0x03)) Return (TMP4) } Else { Name (TMP5, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Return (TMP5) } } If (LEqual (NDID, 0x04)) { If (LNotEqual (ISPD, Zero)) { Name (TMP6, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP6, Zero)) Store (Or (0x00010000, DID2), Index (TMP6, One)) Store (Or (0x00010000, DID3), Index (TMP6, 0x02)) Store (Or (0x00010000, DID4), Index (TMP6, 0x03)) Store (0x00020F38, Index (TMP6, 0x04)) Return (TMP6) } Else { Name (TMP7, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP7, Zero)) Store (Or (0x00010000, DID2), Index (TMP7, One)) Store (Or (0x00010000, DID3), Index (TMP7, 0x02)) Store (Or (0x00010000, DID4), Index (TMP7, 0x03)) Return (TMP7) } } If (LGreater (NDID, 0x04)) { If (LNotEqual (ISPD, Zero)) { Name (TMP8, Package (0x06) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP8, Zero)) Store (Or (0x00010000, DID2), Index (TMP8, One)) Store (Or (0x00010000, DID3), Index (TMP8, 0x02)) Store (Or (0x00010000, DID4), Index (TMP8, 0x03)) Store (Or (0x00010000, DID5), Index (TMP8, 0x04)) Store (0x00020F38, Index (TMP8, 0x05)) Return (TMP8) } Else { Name (TMP9, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP9, Zero)) Store (Or (0x00010000, DID2), Index (TMP9, One)) Store (Or (0x00010000, DID3), Index (TMP9, 0x02)) Store (Or (0x00010000, DID4), Index (TMP9, 0x03)) Store (Or (0x00010000, DID5), Index (TMP9, 0x04)) Return (TMP9) } } If (LNotEqual (ISPD, Zero)) { Return (Package (0x02) { 0x0400, 0x00020F38 }) } Else { Return (Package (0x01) { 0x0400 }) } } Device (DD01) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID1), 0x0400)) { Store (One, EDPV) Store (DID1, DIDX) Return (One) } If (LEqual (DID1, Zero)) { Return (One) } Else { Return (And (0xFFFF, DID1)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD02) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID2), 0x0400)) { Store (0x02, EDPV) Store (DID2, DIDX) Return (0x02) } If (LEqual (DID2, Zero)) { Return (0x02) } Else { Return (And (0xFFFF, DID2)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD03) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID3), 0x0400)) { Store (0x03, EDPV) Store (DID3, DIDX) Return (0x03) } If (LEqual (DID3, Zero)) { Return (0x03) } Else { Return (And (0xFFFF, DID3)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID3, Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD04) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID4), 0x0400)) { Store (0x04, EDPV) Store (DID4, DIDX) Return (0x04) } If (LEqual (DID4, Zero)) { Return (0x04) } Else { Return (And (0xFFFF, DID4)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID4, Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD05) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID5), 0x0400)) { Store (0x05, EDPV) Store (DID5, DIDX) Return (0x05) } If (LEqual (DID5, Zero)) { Return (0x05) } Else { Return (And (0xFFFF, DID5)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID5, Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD06) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID6), 0x0400)) { Store (0x06, EDPV) Store (DID6, DIDX) Return (0x06) } If (LEqual (DID6, Zero)) { Return (0x06) } Else { Return (And (0xFFFF, DID6)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID6, Zero)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID6)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD07) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID7), 0x0400)) { Store (0x07, EDPV) Store (DID7, DIDX) Return (0x07) } If (LEqual (DID7, Zero)) { Return (0x07) } Else { Return (And (0xFFFF, DID7)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID7, Zero)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID7)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD08) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID8), 0x0400)) { Store (0x08, EDPV) Store (DID8, DIDX) Return (0x08) } If (LEqual (DID8, Zero)) { Return (0x08) } Else { Return (And (0xFFFF, DID8)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID8, Zero)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID8)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD1F) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (EDPV, Zero)) { Return (0x1F) } Else { Return (And (0xFFFF, DIDX)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (EDPV, Zero)) { Return (Zero) } Else { Return (CDDS (DIDX)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DIDX)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Name (BNOR, Package (0x12) { 0x64, 0x18, 0x0C, 0x12, 0x18, 0x1E, 0x23, 0x28, 0x2D, 0x32, 0x37, 0x3C, 0x41, 0x46, 0x4D, 0x55, 0x5C, 0x64 }) Name (BWEI, Package (0x66) { 0x64, 0x1E, One, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64 }) Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { If (LGreaterEqual (OSYS, 0x07DC)) { Return (BWEI) } Else { Return (BNOR) } } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (LGreaterEqual (OSYS, 0x07DC)) { Store (Arg0, BRTL) } Else { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { AINT (One, Arg0) Store (Arg0, BRTL) } } } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { If (LGreaterEqual (OSYS, 0x07DC)) { Store (And (CBLV, 0xFF), Local0) Return (Local0) } Else { Return (BRTL) } } } Method (SDDL, 1, NotSerialized) { Increment (NDID) Store (And (Arg0, 0x0F0F), Local0) Or (0x80000000, Local0, Local1) If (LEqual (DIDL, Local0)) { Return (Local1) } If (LEqual (DDL2, Local0)) { Return (Local1) } If (LEqual (DDL3, Local0)) { Return (Local1) } If (LEqual (DDL4, Local0)) { Return (Local1) } If (LEqual (DDL5, Local0)) { Return (Local1) } If (LEqual (DDL6, Local0)) { Return (Local1) } If (LEqual (DDL7, Local0)) { Return (Local1) } If (LEqual (DDL8, Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (0x1D) } If (LEqual (CADL, Local0)) { Return (0x1F) } If (LEqual (CAL2, Local0)) { Return (0x1F) } If (LEqual (CAL3, Local0)) { Return (0x1F) } If (LEqual (CAL4, Local0)) { Return (0x1F) } If (LEqual (CAL5, Local0)) { Return (0x1F) } If (LEqual (CAL6, Local0)) { Return (0x1F) } If (LEqual (CAL7, Local0)) { Return (0x1F) } If (LEqual (CAL8, Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (NADL, Local0)) { Return (One) } If (LEqual (NDL2, Local0)) { Return (One) } If (LEqual (NDL3, Local0)) { Return (One) } If (LEqual (NDL4, Local0)) { Return (One) } If (LEqual (NDL5, Local0)) { Return (One) } If (LEqual (NDL6, Local0)) { Return (One) } If (LEqual (NDL7, Local0)) { Return (One) } If (LEqual (NDL8, Local0)) { Return (One) } Return (Zero) } OperationRegion (IGDP, PCI_Config, Zero, 0x0100) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x10), MADR, 32, Offset (0x50), , 1, GIVD, 1, , 1, GUMA, 5, Offset (0x52), Offset (0x54), , 4, GMFN, 1, Offset (0x58), Offset (0x5C), GSTM, 32, Offset (0xE0), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xE4), ASLE, 8, Offset (0xE8), Offset (0xFC), ASLS, 32 } Method (MCHK, 0, Serialized) { If (LNotEqual (MADR, 0xFFFFFFFF)) { OperationRegion (IGMM, SystemMemory, MADR, 0x3000) Field (IGMM, AnyAcc, NoLock, Preserve) { Offset (0x20C8), , 4, DCFE, 4 } } } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, PCON, 32, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CAD1, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, Offset (0x3B6), STAT, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x06) { Package (0x01) { 0xA0 }, Package (0x01) { 0xC8 }, Package (0x01) { 0x010B }, Package (0x01) { 0x0140 }, Package (0x01) { 0x0164 }, Package (0x01) { 0x0190 } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x0279, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBLC, 0x12), PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1800, PARM) Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Or (ShiftLeft (DerefOf (Index (CDCT, ^^MCHK.DCFE)), 0x15), PARM, PARM) Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, PARM) If (LEqual (PFLV, FMBL)) { Store (0x000F87FD, PARM) } If (LEqual (PFLV, FDTP)) { Store (0x000F87BD, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LEqual (PARM, Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x12), 0x03, IBLC) And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { And (ShiftRight (PARM, One), One, IF1E) And (ShiftRight (PARM, 0x11), 0x0F, IDMS) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Store (ShiftLeft (LIDS, 0x08), PARM) Add (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x14)) { And (PARM, 0x0F, PAVP) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } Notify (GFX0, 0x80) Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (One, ASLE) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (LNotEqual (OVER, Zero)) { Return (LNot (GSMI)) } Return (Zero) } Device (ISP0) { Name (_ADR, 0x0F38) // _ADR: Address Name (_DDN, "VLV2 ISP - 80860F38") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (ISPD, One)) { Return (0x0F) } Else { Return (Zero) } } Name (SBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00400000, // Address Length ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (SBUF) } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, One)) { Return (One) } Else { If (LEqual (Arg0, 0x02)) { Return (0x02) } Else { Return (0x0F) } } } } } } Scope (_PR) { Processor (CPU0, 0x01, 0x00000000, 0x00) {} Processor (CPU1, 0x02, 0x00000000, 0x00) {} Processor (CPU2, 0x03, 0x00000000, 0x00) {} Processor (CPU3, 0x04, 0x00000000, 0x00) {} } Name (SLID, Zero) Mutex (MUTX, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08) ), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10) ), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18) ), P80D) } Store (P80D, P80H) } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, NoLock, Preserve) { SSMP, 8 } Field (SPRT, ByteAcc, NoLock, Preserve) { SMIC, 8, SMID, 8 } Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { Store (Arg0, GPIC) Store (Arg0, PICM) } OperationRegion (SWC0, SystemIO, 0x0610, 0x0F) Field (SWC0, ByteAcc, NoLock, Preserve) { G1S, 8, Offset (0x04), G1E, 8, Offset (0x0A), G1S2, 8, G1S3, 8 } OperationRegion (SWC1, SystemIO, PMBS, 0x2C) Field (SWC1, DWordAcc, NoLock, Preserve) { Offset (0x20), G0S, 32, Offset (0x28), G0EN, 32 } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { Store (Zero, P80D) P8XH (Zero, Arg0) Store (Ones, G1S3) Store (Ones, G1S2) Store (One, G1S) Store (One, G1E) Store (Ones, G0S) If (LEqual (And (ICNF, One), One)) { Store (Arg0, \_SB.IAOE.PTSL) } If (CondRefOf (TCGM)) { \_SB.PCI0.LPCB.TPM.PTS (Arg0) } If (LEqual (Arg0, 0x03)) { P8XH (Zero, 0x53) P8XH (Zero, 0x53) Store (SLID, \_SB.PCI0.LPCB.EC0.LIDW) If (CondRefOf (DTSE)) { If (LGreaterEqual (DTSE, One)) { Store (0x1E, DTSF) Store (0x66, SSMP) } } Store (One, \_SB.PCI0.LPCB.EC0.S3ST) } If (LEqual (Arg0, 0x04)) { P8XH (Zero, 0x54) P8XH (Zero, 0x54) Store (One, \_SB.PCI0.LPCB.EC0.S4ST) } If (LEqual (Arg0, 0x05)) { P8XH (Zero, 0x55) P8XH (Zero, 0x55) Store (One, \_SB.PCI0.LPCB.EC0.S5ST) } If (Arg0) { Store (Zero, \_SB.PCI0.LPCB.EC0.ECRD) } } Name (LLID, Zero) Method (_WAK, 1, Serialized) // _WAK: Wake { If (NEXP) { If (And (OSCC, 0x02)) { \_SB.PCI0.NHPG () } If (And (OSCC, 0x04)) { \_SB.PCI0.NPME () } } Notify (\_SB.IAOE, Zero) If (LEqual (PFLV, FMBL)) { If (LGreater (XHCI, Zero)) { Store (One, \_SB.PCI0.XHC1.PMES) Store (Zero, \_SB.PCI0.XHC1.PMEE) } Store (One, ECON) If (LEqual (Arg0, 0x03)) { P8XH (Zero, 0xE3) P8XH (Zero, 0xE3) Store (One, \_SB.PCI0.LPCB.EC0.S3RM) If (LEqual (EXRB, Zero)) { Store (\_SB.PCI0.LPCB.EC0.WLAT, WL03) } Else { Notify (\_SB.RBTN, 0x80) } Or (LLID, 0x80, LLID) } If (IGDS) { If (LEqual (LIDS, Zero)) { Store (0x80000000, \_SB.PCI0.GFX0.CLID) } If (LEqual (LIDS, One)) { Store (0x80000003, \_SB.PCI0.GFX0.CLID) } } Store (Zero, BNUM) If (LEqual (BNUM, Zero)) {} Else { } } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { If (LEqual (PFLV, FMBL)) { If (LEqual (Arg0, 0x03)) { If (LEqual (And (ICNF, One), One)) { If (And (\_SB.PCI0.GFX0.TCHE, 0x0100)) {} } } If (LEqual (Arg0, 0x04)) { P8XH (Zero, 0xE4) P8XH (Zero, 0xE4) Store (One, \_SB.PCI0.LPCB.EC0.S4RM) If (LEqual (EXRB, Zero)) { Store (\_SB.PCI0.LPCB.EC0.WLAT, WL03) } Else { Notify (\_SB.RBTN, 0x80) } If (LEqual (And (ICNF, One), One)) { Or (\_SB.PCI0.GFX0.PCON, 0x60, \_SB.PCI0.GFX0.PCON) } Else { And (\_SB.PCI0.GFX0.PCON, 0xFFFFFF9F, \_SB.PCI0.GFX0.PCON) } PNOT () } If (LEqual (Arg0, 0x05)) { P8XH (Zero, 0xE5) P8XH (Zero, 0xE5) Store (One, \_SB.PCI0.LPCB.EC0.S5RM) } If (CondRefOf (DTSE)) { If (LGreaterEqual (DTSE, One)) { Store (0x14, DTSF) Store (0x66, SSMP) } } } If (LEqual (\_SB.PCI0.LPCB.EC0.LIDF, One)) { Store (Zero, LIDS) } Else { Store (One, LIDS) } If (IGDS) { Store (\_SB.PCI0.LPCB.EC0.LIDF, Local0) If (\_SB.PCI0.LPCB.EC0.LIDF) { Store (Zero, Local0) } Else { Store (One, Local0) } If (\_SB.PCI0.GFX0.GLID (Local0)) { Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID) } } Notify (\_SB.PCI0.LPCB.LID0, 0x80) Store (One, \_SB.PCI0.LPCB.EC0.ECRD) If (And (CFGD, 0x01000000)) {} If (LEqual (OSYS, 0x07D2)) { If (And (CFGD, One)) { If (LGreater (\_PR.CPU0._PPC, Zero)) { Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () } Else { Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () } } } } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { \_SB.PCI0.XHC1.XWAK () } If (LEqual (Arg0, 0x03)) { P8XH (Zero, 0xE3) } If (LEqual (Arg0, 0x04)) { P8XH (Zero, 0xE4) } If (LGreaterEqual (OSYS, 0x07DC)) { Notify (\_SB.RBTN, 0x80) } Return (Package (0x02) { Zero, Zero }) } Method (PNOT, 0, Serialized) { If (MPEN) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, 0x80) If (And (PDC0, 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, 0x80) If (And (PDC1, 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) } } If (And (PDC2, 0x08)) { Notify (\_PR.CPU2, 0x80) If (And (PDC2, 0x10)) { Sleep (0x64) Notify (\_PR.CPU2, 0x81) } } If (And (PDC3, 0x08)) { Notify (\_PR.CPU3, 0x80) If (And (PDC3, 0x10)) { Sleep (0x64) Notify (\_PR.CPU3, 0x81) } } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) } If (LEqual (PFLV, FMBL)) {} } Scope (_SB) { Device (WMID) { Mutex (WMIX, 0x01) Name (_HID, "PNP0C14") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (INFO, Buffer (0x80) {}) CreateWordField (INFO, Zero, INF0) CreateWordField (INFO, 0x02, INF1) CreateWordField (INFO, 0x04, INF2) CreateWordField (INFO, 0x06, INF3) CreateWordField (INFO, 0x08, INF4) CreateWordField (INFO, 0x0A, INF5) CreateWordField (INFO, 0x0C, INF6) CreateWordField (INFO, 0x0E, INF7) Name (ECD0, Zero) Name (WE01, Zero) Name (WE02, Buffer (0x80) {}) Name (WE03, Zero) Name (CMDB, Buffer (0x1000) {}) CreateWordField (CMDB, Zero, CBCS) CreateWordField (CMDB, 0x02, CBST) CreateDWordField (CMDB, 0x04, CBA1) CreateDWordField (CMDB, 0x08, CBA2) CreateDWordField (CMDB, 0x0C, CBA3) CreateDWordField (CMDB, 0x10, CBA4) CreateDWordField (CMDB, 0x14, CBR1) CreateDWordField (CMDB, 0x18, CBR2) CreateDWordField (CMDB, 0x1C, CBR3) CreateDWordField (CMDB, 0x20, CBR4) CreateWordField (CMDB, 0x18, CR20) CreateWordField (CMDB, 0x1A, CR21) Mutex (WMIM, 0x00) Method (WMIC, 3, NotSerialized) { If (LNot (Acquire (WMIM, 0xFFFF))) { If (LLessEqual (Arg1, 0x1000)) { Store (Arg0, WMIB) Store (Arg2, DSMB) Store (0xD1, SSMP) } Release (WMIM) Return (WMIB) } Return (Zero) } Method (WMIE, 4, NotSerialized) { And (WE01, Not (Arg0), WE01) Store (WE03, Local0) Add (Local0, 0x06, Local1) If (LLessEqual (Local1, SizeOf (WE02))) { CreateWordField (WE02, Local0, WE04) Add (Local0, 0x02, Local0) CreateWordField (WE02, Local0, WE05) Add (Local0, 0x02, Local0) CreateWordField (WE02, Local0, WE06) Store (Arg1, WE04) Store (Arg2, WE05) Store (Arg3, WE06) Store (Local1, WE03) } } Method (WMIK, 2, NotSerialized) { } Method (STBY, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TMP) Store (Arg2, TMP) } Method (STWD, 3, NotSerialized) { CreateWordField (Arg0, Arg1, TMP) Store (Arg2, TMP) } Method (STDW, 3, NotSerialized) { CreateDWordField (Arg0, Arg1, TMP) Store (Arg2, TMP) } Method (CLBY, 1, NotSerialized) { Store (Zero, Local0) While (LLess (Local0, SizeOf (Arg0))) { STBY (Arg0, Local0, Zero) Increment (Local0) } } Name (_WDG, Buffer (0x64) { /* 0000 */ 0xBC, 0xDC, 0x9D, 0x8D, 0x97, 0xA9, 0xDA, 0x11, /* 0008 */ 0xB0, 0x12, 0xB6, 0x22, 0xA1, 0xEF, 0x54, 0x92, /* 0010 */ 0x41, 0x41, 0x01, 0x00, 0xCE, 0x93, 0x05, 0xA8, /* 0018 */ 0x97, 0xA9, 0xDA, 0x11, 0xB0, 0x12, 0xB6, 0x22, /* 0020 */ 0xA1, 0xEF, 0x54, 0x92, 0x42, 0x41, 0x01, 0x02, /* 0028 */ 0x94, 0x59, 0xBB, 0x9D, 0x97, 0xA9, 0xDA, 0x11, /* 0030 */ 0xB0, 0x12, 0xB6, 0x22, 0xA1, 0xEF, 0x54, 0x92, /* 0038 */ 0xD0, 0x00, 0x01, 0x08, 0xE0, 0x6C, 0x77, 0xA3, /* 0040 */ 0x88, 0x1E, 0xDB, 0x11, 0xA9, 0x8B, 0x08, 0x00, /* 0048 */ 0x20, 0x0C, 0x9A, 0x66, 0x42, 0x43, 0x01, 0x00, /* 0050 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, /* 0058 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, /* 0060 */ 0x4D, 0x4F, 0x01, 0x00 }) Method (WED0, 1, NotSerialized) { Store (Arg0, ECD0) Return (Zero) } Method (WCAA, 1, NotSerialized) { Return (Zero) } Method (WQAA, 1, NotSerialized) { If (LNot (Acquire (WMIX, 0xFFFF))) { CLBY (INFO) If (LNotEqual (Arg0, Zero)) { Store (INFO, Local1) } Else { STDW (INFO, Zero, 0x4C4C4544) STDW (INFO, 0x04, 0x494D5720) STDW (INFO, 0x08, Zero) STDW (INFO, 0x0C, 0x1000) Store (INFO, Local1) } Release (WMIX) } Else { CLBY (INFO) Store (INFO, Local1) } Return (Local1) } Method (WSAA, 2, NotSerialized) { Return (Arg1) } Method (WMBA, 3, NotSerialized) { CreateDWordField (Arg2, 0x28, WBUF) Add (WBUF, 0x2C, Local1) If (LLessEqual (Local1, 0x1000)) { Store (WMIC (Arg2, Local1, 0xDA), Local0) } Else { Store (Zero, Local0) } Return (Local0) } Method (_WED, 1, NotSerialized) // _Wxx: Wake Event { If (LEqual (Arg0, 0xD0)) { Return (INFO) } CLBY (INFO) Store (Arg0, INFO) Return (INFO) } Name (WQMO, Buffer (0x057A) { /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* 0008 */ 0x6A, 0x05, 0x00, 0x00, 0x98, 0x1C, 0x00, 0x00, /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* 0018 */ 0x18, 0xD9, 0x8D, 0x00, 0x01, 0x06, 0x18, 0x42, /* 0020 */ 0x10, 0x0F, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, /* 0028 */ 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, /* 0030 */ 0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08, /* 0038 */ 0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E, /* 0040 */ 0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, /* 0048 */ 0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02, /* 0050 */ 0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD, /* 0058 */ 0x02, 0xA4, 0xC3, 0x12, 0x91, 0xE0, 0x28, 0x31, /* 0060 */ 0xE0, 0x28, 0x9D, 0xD8, 0xC2, 0x0D, 0x1B, 0xBC, /* 0068 */ 0x50, 0x14, 0xCD, 0x20, 0x4A, 0x82, 0xCA, 0x05, /* 0070 */ 0xF8, 0x46, 0x10, 0x78, 0xB9, 0x02, 0x24, 0x4F, /* 0078 */ 0x40, 0x9A, 0x05, 0x18, 0x16, 0x60, 0x5D, 0x80, /* 0080 */ 0xEC, 0x21, 0x50, 0xA9, 0x43, 0x40, 0xC9, 0x19, /* 0088 */ 0x02, 0x6A, 0x00, 0xAD, 0x4E, 0x40, 0xF8, 0x95, /* 0090 */ 0x4E, 0x09, 0x49, 0x10, 0xCE, 0x58, 0xC5, 0xE3, /* 0098 */ 0x6B, 0x16, 0x4D, 0xCF, 0x49, 0xCE, 0x31, 0xE4, /* 00A0 */ 0x78, 0x5C, 0xE8, 0x41, 0xF0, 0x40, 0x0A, 0x40, /* 00A8 */ 0x58, 0x78, 0x08, 0x45, 0x80, 0x41, 0x49, 0x18, /* 00B0 */ 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9, 0x80, /* 00B8 */ 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A, 0xBF, /* 00C0 */ 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04, 0x46, /* 00C8 */ 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42, 0x8D, /* 00D0 */ 0xD1, 0x1C, 0x14, 0x81, 0xC6, 0x0D, 0xDA, 0x12, /* 00D8 */ 0x61, 0x35, 0xAE, 0xD8, 0x67, 0x66, 0xE1, 0xC3, /* 00E0 */ 0x12, 0xC6, 0x11, 0x1C, 0x58, 0x82, 0x46, 0xD1, /* 00E8 */ 0x34, 0xC7, 0xB3, 0x0D, 0x91, 0xE0, 0x20, 0x42, /* 00F0 */ 0x63, 0x64, 0x40, 0xC8, 0xF3, 0xB0, 0x05, 0x7A, /* 00F8 */ 0xE4, 0x09, 0xEC, 0x1E, 0x51, 0x0A, 0x11, 0x34, /* 0100 */ 0xDF, 0x13, 0xA9, 0x51, 0x80, 0x36, 0x0C, 0xD9, /* 0108 */ 0x3A, 0x1B, 0x68, 0xA8, 0xB1, 0x1A, 0x43, 0x11, /* 0110 */ 0x44, 0x84, 0xA0, 0x51, 0x0C, 0x16, 0x21, 0x54, /* 0118 */ 0x88, 0xFF, 0x7F, 0x94, 0xA8, 0xA7, 0x14, 0x24, /* 0120 */ 0x6A, 0x65, 0x20, 0x42, 0x0B, 0x66, 0x04, 0x66, /* 0128 */ 0x7F, 0x10, 0x24, 0xC6, 0x99, 0x41, 0x87, 0x05, /* 0130 */ 0xCB, 0x00, 0x91, 0x11, 0x41, 0xA3, 0x61, 0x67, /* 0138 */ 0x01, 0x0F, 0xC7, 0x33, 0x69, 0x7E, 0x62, 0x1A, /* 0140 */ 0x9C, 0x09, 0xC6, 0x86, 0x90, 0x06, 0x08, 0x89, /* 0148 */ 0x3A, 0x38, 0x50, 0x02, 0x4B, 0x19, 0x38, 0xB1, /* 0150 */ 0x3D, 0x2E, 0x8D, 0xEF, 0x8C, 0xA3, 0x86, 0x38, /* 0158 */ 0xF5, 0x33, 0xF3, 0x3F, 0xC2, 0x5B, 0xF0, 0x11, /* 0160 */ 0x80, 0x8F, 0xC1, 0x83, 0x3D, 0x84, 0x80, 0x47, /* 0168 */ 0xC8, 0xCE, 0x00, 0x06, 0xC4, 0x7B, 0x9F, 0x34, /* 0170 */ 0x99, 0x8B, 0xCF, 0x02, 0x30, 0x86, 0x0F, 0xD7, /* 0178 */ 0xF8, 0x28, 0x34, 0x1E, 0x76, 0x3E, 0x60, 0xE3, /* 0180 */ 0xE2, 0xF0, 0x3E, 0x14, 0x9C, 0x70, 0xB1, 0x20, /* 0188 */ 0x0A, 0x00, 0x21, 0x59, 0xE7, 0x03, 0xF4, 0xAC, /* 0190 */ 0x8F, 0x2D, 0xE0, 0xC3, 0x40, 0xB3, 0x77, 0x08, /* 0198 */ 0x42, 0xF0, 0x22, 0xE0, 0xA3, 0x83, 0x8F, 0x1B, /* 01A0 */ 0x1E, 0xF7, 0xF3, 0x06, 0x18, 0x0E, 0x07, 0x1E, /* 01A8 */ 0x8E, 0x4F, 0x1B, 0xC0, 0x65, 0x04, 0x5C, 0xDA, /* 01B0 */ 0x93, 0xC2, 0x04, 0x92, 0xFC, 0x04, 0x90, 0x18, /* 01B8 */ 0x18, 0xD4, 0x81, 0xC0, 0x07, 0x0B, 0xB8, 0x92, /* 01C0 */ 0xE0, 0x50, 0xC3, 0xF3, 0xC4, 0x1E, 0x10, 0xFE, /* 01C8 */ 0xFF, 0x47, 0x79, 0x22, 0x2F, 0x06, 0x9E, 0xFE, /* 01D0 */ 0x63, 0x00, 0x8C, 0x03, 0x82, 0xA7, 0x75, 0x52, /* 01D8 */ 0xBE, 0x79, 0x3C, 0x48, 0x78, 0x50, 0x61, 0x12, /* 01E0 */ 0xF8, 0x94, 0xC0, 0xD0, 0xF8, 0x71, 0x03, 0xAC, /* 01E8 */ 0xA3, 0xC6, 0x1F, 0x10, 0xE0, 0x9D, 0x24, 0xCE, /* 01F0 */ 0xAF, 0xCF, 0x01, 0xE8, 0xD0, 0x70, 0x8A, 0x0C, /* 01F8 */ 0xE4, 0x35, 0xE0, 0xA4, 0x4F, 0xC9, 0xE3, 0x4B, /* 0200 */ 0xE0, 0x33, 0x07, 0xEC, 0xBB, 0xC1, 0x61, 0x1C, /* 0208 */ 0x4C, 0x88, 0x08, 0xEF, 0x01, 0x4F, 0x1D, 0xBE, /* 0210 */ 0x6B, 0x3C, 0x0A, 0x04, 0x8A, 0xD0, 0xDB, 0x99, /* 0218 */ 0x83, 0x9E, 0x42, 0x8C, 0x12, 0xED, 0xAC, 0xC2, /* 0220 */ 0x3C, 0x70, 0x44, 0xF1, 0x91, 0xC3, 0x08, 0xEF, /* 0228 */ 0x1E, 0xBE, 0x13, 0x3C, 0x80, 0xB4, 0x36, 0x39, /* 0230 */ 0xE1, 0x06, 0x7A, 0xE6, 0x60, 0xD1, 0xCE, 0x2C, /* 0238 */ 0xB2, 0x00, 0xA2, 0x48, 0xA3, 0x41, 0x9D, 0x11, /* 0240 */ 0x7C, 0x1A, 0xF0, 0xB4, 0x9E, 0x62, 0x7C, 0x94, /* 0248 */ 0x30, 0xC8, 0x19, 0x1E, 0xD8, 0x73, 0xC2, 0x63, /* 0250 */ 0x80, 0x07, 0xCC, 0xEE, 0x07, 0x3E, 0x4E, 0xF8, /* 0258 */ 0x5C, 0x80, 0x77, 0x0D, 0xA8, 0x19, 0xFA, 0xB0, /* 0260 */ 0x01, 0xE7, 0xD0, 0x81, 0x3F, 0x4D, 0xE0, 0x0F, /* 0268 */ 0x16, 0xF8, 0xF1, 0xF8, 0x9A, 0xC3, 0x26, 0x9C, /* 0270 */ 0xC0, 0xF2, 0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, /* 0278 */ 0xCB, 0xD3, 0x7A, 0x0D, 0xF0, 0x69, 0xC7, 0x04, /* 0280 */ 0x3E, 0x6F, 0xF8, 0xFF, 0xFF, 0xCF, 0xF1, 0x78, /* 0288 */ 0xC0, 0xAF, 0xF8, 0x74, 0x41, 0xEE, 0x0A, 0x9E, /* 0290 */ 0xAF, 0xCF, 0x2E, 0xCC, 0xC6, 0x78, 0x50, 0xA3, /* 0298 */ 0xF0, 0x01, 0x07, 0x77, 0x76, 0xF1, 0x11, 0xC0, /* 02A0 */ 0x67, 0x17, 0xE0, 0x39, 0x89, 0x67, 0x09, 0xF0, /* 02A8 */ 0x1E, 0x02, 0x7C, 0x22, 0x89, 0xF7, 0xB0, 0x05, /* 02B0 */ 0x63, 0xC4, 0x78, 0xC8, 0x33, 0xAE, 0x7A, 0x18, /* 02B8 */ 0xBA, 0x08, 0x58, 0xDD, 0x7D, 0x05, 0x75, 0xF4, /* 02C0 */ 0x02, 0x13, 0xD4, 0x6B, 0x06, 0xEE, 0xF4, 0x02, /* 02C8 */ 0x7C, 0x4E, 0x59, 0xF0, 0xFE, 0xFF, 0xA7, 0x2C, /* 02D0 */ 0xE0, 0x7E, 0x55, 0xE0, 0x47, 0x14, 0x30, 0x40, /* 02D8 */ 0x76, 0x76, 0x3A, 0x11, 0xC2, 0x7B, 0xC9, 0x73, /* 02E0 */ 0x88, 0x6F, 0x57, 0x3E, 0x98, 0x04, 0x79, 0x0E, /* 02E8 */ 0x88, 0xF0, 0x94, 0xC5, 0xEF, 0x03, 0x51, 0x62, /* 02F0 */ 0x1E, 0x50, 0xA4, 0x28, 0x46, 0x0C, 0xF2, 0x84, /* 02F8 */ 0xE5, 0xEB, 0x49, 0x0C, 0x43, 0x07, 0x0B, 0x17, /* 0300 */ 0x3E, 0xC2, 0x53, 0x16, 0x60, 0xF1, 0x92, 0x85, /* 0308 */ 0x39, 0x65, 0xC1, 0x7C, 0x1B, 0xF8, 0x94, 0x05, /* 0310 */ 0x8E, 0xFF, 0xFF, 0x29, 0x0B, 0x5C, 0xE3, 0x7E, /* 0318 */ 0xCA, 0x02, 0x66, 0xD2, 0x9F, 0x02, 0x3E, 0xD5, /* 0320 */ 0xF8, 0x09, 0xA0, 0xE8, 0x07, 0x0B, 0x0A, 0xE3, /* 0328 */ 0x53, 0x16, 0xE0, 0x4A, 0xDE, 0x01, 0x01, 0x34, /* 0330 */ 0x67, 0x27, 0xDF, 0x16, 0x0C, 0x76, 0xCC, 0xBE, /* 0338 */ 0x64, 0xF8, 0x94, 0x08, 0x86, 0x43, 0x86, 0xEF, /* 0340 */ 0x54, 0x87, 0xF2, 0xC8, 0xF1, 0x14, 0xE0, 0x23, /* 0348 */ 0x16, 0xD8, 0xE3, 0x1C, 0x03, 0x74, 0x5C, 0xF1, /* 0350 */ 0x11, 0xCB, 0xFF, 0xFF, 0x23, 0x16, 0xC0, 0x8D, /* 0358 */ 0x03, 0x08, 0xFE, 0xD4, 0x01, 0xEB, 0x1E, 0x10, /* 0360 */ 0xD6, 0x87, 0x0E, 0xE0, 0x21, 0xFB, 0x21, 0xA0, /* 0368 */ 0x33, 0x8C, 0x25, 0x83, 0xC8, 0xC6, 0xB9, 0x86, /* 0370 */ 0x8E, 0xD1, 0xE2, 0x17, 0xAA, 0x9B, 0x42, 0xEC, /* 0378 */ 0x83, 0xE1, 0xB2, 0x81, 0x04, 0xEA, 0xE1, 0x5A, /* 0380 */ 0x30, 0x85, 0x44, 0xD1, 0x68, 0x34, 0x06, 0x26, /* 0388 */ 0x30, 0x82, 0x33, 0x88, 0x01, 0x9D, 0x11, 0x42, /* 0390 */ 0x87, 0x32, 0x9C, 0x8A, 0xF3, 0x10, 0xEA, 0xFF, /* 0398 */ 0x4F, 0x30, 0xD4, 0x8D, 0x89, 0xCE, 0xCE, 0xF3, /* 03A0 */ 0xE7, 0xB7, 0x11, 0x9F, 0x08, 0x0C, 0xEC, 0x2B, /* 03A8 */ 0xC4, 0x5B, 0x06, 0x58, 0x86, 0xE5, 0xC5, 0x3D, /* 03B0 */ 0x01, 0x1C, 0xE3, 0x49, 0x26, 0xA8, 0xE6, 0x58, /* 03B8 */ 0x83, 0x9A, 0x83, 0xAF, 0x02, 0x6F, 0x64, 0x26, /* 03C0 */ 0xF0, 0x15, 0x0C, 0x6C, 0xA7, 0x19, 0x8C, 0xBE, /* 03C8 */ 0x3B, 0x01, 0x28, 0x80, 0x7C, 0x14, 0xF0, 0x7D, /* 03D0 */ 0xF9, 0x6D, 0x80, 0xCD, 0xE2, 0x95, 0xD9, 0x68, /* 03D8 */ 0x3E, 0x7F, 0x22, 0x86, 0x8E, 0x12, 0x33, 0x74, /* 03E0 */ 0x0A, 0xE2, 0xA1, 0x3B, 0xE8, 0xD0, 0xD1, 0xC7, /* 03E8 */ 0x01, 0x9F, 0xAC, 0x70, 0xC1, 0x0E, 0x5F, 0xD0, /* 03F0 */ 0x26, 0x77, 0xB4, 0x27, 0xE6, 0x59, 0x78, 0x9E, /* 03F8 */ 0xB8, 0xB9, 0x83, 0xE9, 0x88, 0x04, 0x63, 0xF0, /* 0400 */ 0x98, 0xC9, 0x83, 0x59, 0xE0, 0xE4, 0x41, 0xF1, /* 0408 */ 0xFF, 0x9F, 0x3C, 0x4C, 0x78, 0x4C, 0xD8, 0xC3, /* 0410 */ 0x21, 0x3D, 0x74, 0x78, 0x64, 0x7C, 0x9C, 0x3E, /* 0418 */ 0xFD, 0x30, 0xEC, 0xD3, 0x39, 0x97, 0xA2, 0x67, /* 0420 */ 0xA4, 0x3B, 0xC6, 0x33, 0x17, 0x06, 0xD6, 0x23, /* 0428 */ 0xE7, 0xB0, 0x46, 0x0B, 0x7B, 0xC0, 0xCF, 0x21, /* 0430 */ 0xBE, 0xC3, 0xF8, 0xC0, 0xC3, 0x60, 0x7D, 0x7A, /* 0438 */ 0x01, 0xC7, 0xF1, 0x0B, 0xFE, 0x69, 0x00, 0x3C, /* 0440 */ 0x07, 0x10, 0x8F, 0xE1, 0x05, 0x84, 0x13, 0x14, /* 0448 */ 0x7D, 0xFE, 0xA5, 0x42, 0x17, 0x27, 0x99, 0x30, /* 0450 */ 0xA8, 0xD3, 0x14, 0xE0, 0xEA, 0xF4, 0x06, 0x9E, /* 0458 */ 0xAB, 0x3E, 0xEE, 0x2C, 0x85, 0xFB, 0xFF, 0x9F, /* 0460 */ 0xA5, 0x60, 0x1C, 0x7E, 0x7D, 0x81, 0xF7, 0x5D, /* 0468 */ 0xCA, 0x08, 0x07, 0xF2, 0x2C, 0x05, 0xF6, 0xF8, /* 0470 */ 0xCF, 0x10, 0x1D, 0x02, 0x7C, 0x96, 0x02, 0xF8, /* 0478 */ 0x21, 0xE4, 0x4C, 0x09, 0xE5, 0x3C, 0x83, 0x0B, /* 0480 */ 0x7E, 0xA6, 0x04, 0x5A, 0xFF, 0xFF, 0x53, 0x08, /* 0488 */ 0xF8, 0x8F, 0x11, 0x3E, 0xE2, 0xC0, 0x3D, 0x54, /* 0490 */ 0xF2, 0x00, 0x87, 0x30, 0x28, 0x87, 0x4A, 0xB8, /* 0498 */ 0xC7, 0x5F, 0x70, 0x1C, 0x8E, 0xF9, 0x39, 0x03, /* 04A0 */ 0x77, 0x24, 0x03, 0x1E, 0xA7, 0x67, 0xDC, 0x28, /* 04A8 */ 0x3D, 0x04, 0x3E, 0x80, 0x56, 0xE7, 0x46, 0x4E, /* 04B0 */ 0x3E, 0xA7, 0x84, 0x3B, 0x12, 0xF0, 0x29, 0xE1, /* 04B8 */ 0x06, 0x80, 0x09, 0x70, 0xCE, 0x04, 0xD4, 0xFC, /* 04C0 */ 0xFF, 0xCF, 0x99, 0x80, 0x01, 0x90, 0x08, 0xEF, /* 04C8 */ 0x0A, 0x51, 0xDF, 0x93, 0x0D, 0xF1, 0x9C, 0xCC, /* 04D0 */ 0x70, 0x5E, 0x22, 0x1E, 0x61, 0x9E, 0x93, 0xC1, /* 04D8 */ 0x79, 0xCE, 0x04, 0xF8, 0xF2, 0xFF, 0x3F, 0xD6, /* 04E0 */ 0xC3, 0xBE, 0x29, 0x04, 0x7F, 0x0A, 0x01, 0x26, /* 04E8 */ 0xE2, 0xCF, 0x99, 0x54, 0xF8, 0x39, 0x13, 0xDA, /* 04F0 */ 0x5C, 0x3C, 0x6D, 0x9F, 0x33, 0x01, 0xAE, 0xFD, /* 04F8 */ 0xFF, 0xCF, 0x99, 0x80, 0xFF, 0xC8, 0xE7, 0x4C, /* 0500 */ 0x40, 0xCF, 0x91, 0x0A, 0x77, 0xCE, 0x04, 0xC3, /* 0508 */ 0x38, 0xDF, 0x9F, 0x0C, 0xF2, 0x3C, 0xE2, 0x03, /* 0510 */ 0x81, 0x8F, 0x32, 0x4C, 0xA1, 0x4D, 0x9F, 0x1A, /* 0518 */ 0x8D, 0x5A, 0x35, 0x28, 0x53, 0xA3, 0x4C, 0x83, /* 0520 */ 0x5A, 0x7D, 0x2A, 0x35, 0x66, 0xEC, 0xE8, 0x64, /* 0528 */ 0x11, 0x6B, 0xD5, 0x60, 0xFD, 0xFF, 0x0F, 0xB5, /* 0530 */ 0x5E, 0x81, 0x58, 0xD2, 0x13, 0x43, 0x20, 0x16, /* 0538 */ 0xE5, 0x01, 0x84, 0xC5, 0x35, 0x01, 0xC2, 0x84, /* 0540 */ 0xAF, 0x4A, 0x20, 0x8E, 0x0D, 0x42, 0xC5, 0xEA, /* 0548 */ 0x38, 0xDA, 0x69, 0x88, 0x06, 0x11, 0x90, 0x43, /* 0550 */ 0xF8, 0x00, 0x62, 0x91, 0x40, 0x04, 0x4E, 0x94, /* 0558 */ 0x80, 0x52, 0x27, 0x20, 0x4C, 0xF6, 0x5A, 0x04, /* 0560 */ 0x62, 0x99, 0x5E, 0x40, 0x58, 0x48, 0x10, 0x2A, /* 0568 */ 0xCD, 0x0C, 0x38, 0xD3, 0x09, 0x22, 0x20, 0x4B, /* 0570 */ 0x7E, 0x85, 0x08, 0xC8, 0x01, 0x40, 0x04, 0xE4, /* 0578 */ 0xFF, 0x3F }) } } Scope (_SB) { Name (CRTT, 0x6E) Name (ACTT, 0x4D) Name (GCR0, 0x46) Name (GCR1, 0x46) Name (GCR2, 0x46) Name (GCR3, 0x46) Name (GCR4, 0x46) Name (GCR5, 0x46) Name (GCR6, 0x46) Name (PST0, 0x3C) Name (PST1, 0x3C) Name (PST2, 0x3C) Name (PST3, 0x3C) Name (PST4, 0x3C) Name (PST5, 0x3C) Name (PST6, 0x3C) Name (PDBG, Zero) Name (PDPM, One) Name (DLPO, Package (0x06) { One, One, One, 0x19, One, One }) Name (BRQD, Zero) Name (OSCI, Zero) Name (OSCO, Zero) Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (DPCT, CRTT) Store (Subtract (DPPT, 0x08), ACTT) Store (DGC0, GCR0) Store (DGC0, GCR1) Store (DGC1, GCR2) Store (DGC1, GCR3) Store (DGC1, GCR4) Store (DGC2, GCR5) Store (DGC2, GCR6) Store (DGP0, PST0) Store (DGP0, PST1) Store (DGP1, PST2) Store (DGP1, PST3) Store (DGP1, PST4) Store (DGP2, PST5) Store (DGP2, PST6) Store (DDBG, PDBG) Store (LPOE, Index (DLPO, One)) Store (LPPS, Index (DLPO, 0x02)) Store (LPST, Index (DLPO, 0x03)) Store (LPPC, Index (DLPO, 0x04)) Store (LPPF, Index (DLPO, 0x05)) Store (DPME, PDPM) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x6E, 0xB0, 0x11, 0x08, 0x27, 0x4A, 0xF9, 0x44, /* 0008 */ 0x8D, 0x60, 0x3C, 0xBB, 0xC2, 0x2E, 0x7B, 0x48 })) { CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) Store (CDW2, OSCI) Or (OSCI, 0x04, OSCO) If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (OSCI, OSCO)) { Or (CDW1, 0x10, CDW1) } Store (OSCO, CDW2) Store ("_OSC Return value", Debug) Store (Arg3, Debug) Return (Arg3) } Else { Or (CDW1, 0x04, CDW1) Return (Arg3) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x10, 0x04 }) } Scope (PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (0x07D0, OSYS) If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) } If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) } If (_OSI ("Windows 2009")) { Store (0x07D9, OSYS) } If (_OSI ("Windows 2012")) { Store (0x07DC, OSYS) } If (_OSI ("Windows 2013")) { Store (0x07DD, OSYS) } } } Method (NHPG, 0, Serialized) { } Method (NPME, 0, Serialized) { } } Device (GPED) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT0002") // _HID: Hardware ID Name (_CID, "INT0002") // _CID: Compatible ID Name (_DDN, "Virtual GPIO controller") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x00000009, } }) Return (RBUF) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } Method (_AEI, 0, Serialized) // _AEI: ACPI Event Interrupts { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000, "\\_SB.GPED", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } }) Return (RBUF) } Method (_E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE { If (LEqual (PWBS, One)) { Store (One, PWBS) } If (LEqual (PMEB, One)) { Store (One, PMEB) } If (LEqual (^^PCI0.SATA.PMES, One)) { Store (One, ^^PCI0.SATA.PMES) Notify (^^PCI0.SATA, 0x02) } If (LAnd (LEqual (^^PCI0.EM41.PMES, One), LEqual (PCIM, One))) { Store (One, ^^PCI0.EM41.PMES) Notify (^^PCI0.EM41, 0x02) } If (LAnd (LEqual (^^PCI0.EM45.PMES, One), LEqual (PCIM, One))) { Store (One, ^^PCI0.EM45.PMES) Notify (^^PCI0.EM45, 0x02) } If (LEqual (HDAD, Zero)) { If (LEqual (^^PCI0.HDEF.PMES, One)) { Store (One, ^^PCI0.HDEF.PMES) Notify (^^PCI0.HDEF, 0x02) } } If (LEqual (^^PCI0.EHC1.PMES, One)) { Store (One, ^^PCI0.EHC1.PMES) Notify (^^PCI0.EHC1, 0x02) } If (LEqual (^^PCI0.XHC1.PMES, One)) { Store (One, ^^PCI0.XHC1.PMES) Notify (^^PCI0.XHC1, 0x02) } If (LEqual (^^PCI0.SEC0.PMES, One)) { Or (^^PCI0.SEC0.PMES, Zero, ^^PCI0.SEC0.PMES) Notify (^^PCI0.SEC0, 0x02) } } } Device (MBID) { Name (_HID, "INT33BD") // _HID: Hardware ID Name (_CID, "INT33BD") // _CID: Compatible ID Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_UID, One) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xE00000D0, // Address Base 0x0000000C, // Address Length ) }) Return (RBUF) } OperationRegion (REGS, 0x87, Zero, 0x30) Field (REGS, DWordAcc, NoLock, Preserve) { PORT, 32, REG, 32, DATA, 32, MASK, 32, BE, 32, OP, 32 } Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LEqual (Arg0, 0x87)) { Store (Arg1, AVBL) } } Method (READ, 3, Serialized) { Store (0xFFFFFFFF, Local0) If (LEqual (AVBL, One)) { Store (Zero, OP) Store (Arg0, PORT) Store (Arg1, REG) Store (Arg2, BE) Store (DATA, Local0) } Return (Local0) } Method (WRIT, 4, Serialized) { If (LEqual (AVBL, One)) { Store (One, OP) Store (Arg0, PORT) Store (Arg1, REG) Store (Arg2, BE) Store (Arg3, DATA) } } Method (MODI, 5, Serialized) { If (LEqual (AVBL, One)) { Store (0x02, OP) Store (Arg0, PORT) Store (Arg1, REG) Store (Arg2, BE) Store (Arg3, DATA) Store (Arg4, MASK) } } } } Name (PICM, Zero) OperationRegion (SCBE, SystemMemory, 0xFED0C000, 0x0300) Field (SCBE, DWordAcc, NoLock, Preserve) { Offset (0x2A8), WL03, 1 } Method (STWL, 1, NotSerialized) { Store (Arg0, WL03) } OperationRegion (SCCE, SystemMemory, 0xFED0E000, 0x0300) Field (SCCE, DWordAcc, NoLock, Preserve) { Offset (0x208), LIDV, 1 } Method (STLD, 1, NotSerialized) { Store (Arg0, LIDV) } OperationRegion (CMS1, SystemIO, 0x72, 0x02) Field (CMS1, ByteAcc, NoLock, Preserve) { CMSI, 8, CMSD, 8 } Method (CMSW, 2, NotSerialized) { Store (Arg0, CMSI) Store (Arg1, CMSD) } Method (CMSR, 1, NotSerialized) { Store (Arg0, CMSI) Return (CMSD) } Scope (_TZ) { PowerResource (FN00, 0x00, 0x0000) { Method (_STA, 0, Serialized) // _STA: Status { Return (VFN0) } Method (_ON, 0, Serialized) // _ON_: Power On { } Method (_OFF, 0, Serialized) // _OFF: Power Off { } } Device (FAN0) { Name (_HID, EisaId ("PNP0C0B")) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { FN00 }) } ThermalZone (TZ01) { Method (XAC0, 0, Serialized) { If (LEqual (ACTT, Zero)) { Store (0x32, ACTT) } Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) } Name (XAL0, Package (0x01) { FAN0 }) Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy { Store (Arg0, CTYP) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (LAnd (DPTE, ECON)) { If (LGreater (DTS2, DTS1)) { Store (DTS2, Local0) } Else { Store (DTS1, Local0) } Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { If (DTSE) { If (LGreater (DTS2, DTS1)) { Store (DTS2, Local0) } Else { Store (DTS1, Local0) } Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { Return (0x0BB8) } } } Method (_PSL, 0, Serialized) // _PSL: Passive List { If (LEqual (MPEN, 0x04)) { Return (Package (0x04) { \_PR.CPU0, \_PR.CPU1, \_PR.CPU2, \_PR.CPU3 }) } If (MPEN) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { Return (Add (0x0AAC, Multiply (PSVT, 0x0A))) } Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1 { Return (TC1V) } Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2 { Return (TC2V) } Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period { Return (TSPV) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Subtract (CRTT, 0x05, Local0) Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } } } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED01000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED03000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED04000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED0C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED08000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEF00000, // Address Base 0x00100000, // Address Length ) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Return (BUF0) } } } Method (BRTN, 1, Serialized) { If (LEqual (And (DIDX, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD1F, Arg0) } } Scope (_GPE) { Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Add (L01C, One, L01C) P8XH (Zero, One) P8XH (One, L01C) If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { Store (One, \_SB.PCI0.RP01.PDCX) Store (One, \_SB.PCI0.RP01.HPSX) If (LNot (\_SB.PCI0.RP01.PDSX)) { Store (Zero, \_SB.PCI0.RP01.L0SE) } Notify (\_SB.PCI0.RP01, Zero) } Else { Store (One, \_SB.PCI0.RP01.HPSX) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { Store (One, \_SB.PCI0.RP02.PDCX) Store (One, \_SB.PCI0.RP02.HPSX) If (LNot (\_SB.PCI0.RP02.PDSX)) { Store (Zero, \_SB.PCI0.RP02.L0SE) } Notify (\_SB.PCI0.RP02, Zero) } Else { Store (One, \_SB.PCI0.RP02.HPSX) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { Store (One, \_SB.PCI0.RP03.PDCX) Store (One, \_SB.PCI0.RP03.HPSX) If (LNot (\_SB.PCI0.RP03.PDSX)) { Store (Zero, \_SB.PCI0.RP03.L0SE) } Notify (\_SB.PCI0.RP03, Zero) } Else { Store (One, \_SB.PCI0.RP03.HPSX) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { Store (One, \_SB.PCI0.RP04.PDCX) Store (One, \_SB.PCI0.RP04.HPSX) If (LNot (\_SB.PCI0.RP04.PDSX)) { Store (Zero, \_SB.PCI0.RP04.L0SE) } Notify (\_SB.PCI0.RP04, Zero) } Else { Store (One, \_SB.PCI0.RP04.HPSX) } } } Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Store (Zero, GPEC) If (CondRefOf (DTSE)) { If (LGreaterEqual (DTSE, One)) {} } } Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Store (One, PSCI) } Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI))) { \_SB.PCI0.GFX0.GSCI () } } Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LEqual (RP1D, Zero)) { \_SB.PCI0.RP01.HPME () Notify (\_SB.PCI0.RP01, 0x02) } If (LEqual (RP2D, Zero)) { \_SB.PCI0.RP02.HPME () Notify (\_SB.PCI0.RP02, 0x02) } If (LEqual (RP3D, Zero)) { \_SB.PCI0.RP03.HPME () Notify (\_SB.PCI0.RP03, 0x02) } If (LEqual (RP4D, Zero)) { \_SB.PCI0.RP04.HPME () Notify (\_SB.PCI0.RP04, 0x02) } } Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LAnd (\_SB.PCI0.EHC1.PMEE, \_SB.PCI0.EHC1.PMES)) { If (LNotEqual (OSEL, One)) { Store (One, \_SB.PCI0.EHC1.PMES) Store (Zero, \_SB.PCI0.EHC1.PMEE) } Notify (\_SB.PCI0.EHC1, 0x02) } If (LAnd (\_SB.PCI0.XHC1.PMEE, \_SB.PCI0.XHC1.PMES)) { If (LNotEqual (OSEL, One)) { Store (One, \_SB.PCI0.XHC1.PMES) Store (Zero, \_SB.PCI0.XHC1.PMEE) } Notify (\_SB.PCI0.XHC1, 0x02) } If (LAnd (\_SB.PCI0.HDEF.PMEE, \_SB.PCI0.HDEF.PMES)) { If (LNotEqual (OSEL, One)) { Store (One, \_SB.PCI0.HDEF.PMES) Store (Zero, \_SB.PCI0.HDEF.PMEE) } Notify (\_SB.PCI0.HDEF, 0x02) } } Method (_L19, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (Zero, 0x19) Store (Ones, G1S3) Store (Ones, G1S2) Store (One, G1S) Store (Ones, G0S) } Method (_L17, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (Zero, 0x17) Store (Ones, G0S) } Method (_L10, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (Zero, 0x10) Store (Ones, G0S) } Method (_E14, 0, NotSerialized) // _Exx: Edge-Triggered GPE { Store (0x14, P80H) If (LEqual (\_SB.PCI0.LPCB.ECOK (), Zero)) { Return (Zero) } If (LEqual (\_SB.PCI0.LPCB.EC0.LIDF, One)) { Store (Zero, LIDS) } Else { Store (One, LIDS) } If (IGDS) { Store (\_SB.PCI0.LPCB.EC0.LIDF, Local0) Not (Local0, Local0) If (\_SB.PCI0.GFX0.GLID (Local0)) { Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID) } } Notify (\_SB.PCI0.LPCB.LID0, 0x80) Return (Zero) } } Scope (\) { OperationRegion (COMP, SystemMemory, 0x78727C98, 0x0200) Field (COMP, AnyAcc, Lock, Preserve) { IDMN, 16, IDPC, 16, BOID, 8, CPFB, 8, PBTI, 8, BRLV, 8, CAVR, 8, TJMA, 16, CORE, 8, CG12, 8, CG13, 8, CG14, 8, CG15, 8, CG16, 8, CG17, 8, CG18, 8, CG19, 8, CG20, 8, CG21, 8, CG22, 8, CG23, 8, CG24, 8, CG25, 8, CG26, 8, CG27, 8, CG28, 8, CG29, 8, CG30, 8, CG31, 8, SFNO, 16, STDT, 16, BFDT, 1024, RSV1, 736, IDFD, 1024, TPAD, 8, RSV2, 1016 } } Scope (_SB.PCI0.LPCB) { Method (ECOK, 0, NotSerialized) { If (LEqual (^EC0.OKEC, One)) { Return (One) } Else { Return (Zero) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) // _HID: Hardware ID Name (_GPE, 0x18) // _GPE: General Purpose Events Name (OKEC, Zero) Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LEqual (Arg0, 0x03)) { Store (Arg1, OKEC) Store (PPCM, NPST) Store (One, ECRD) } } OperationRegion (ECMM, SystemMemory, 0xFE000000, 0x1000) Field (ECMM, AnyAcc, Lock, Preserve) { Offset (0x800), Offset (0x801), QSEX, 1, WLPS, 1, PS3G, 1, ECMU, 1, Offset (0x802), Offset (0x806), QSAC, 1, QSBT, 1, Offset (0x807), ACWA, 4, , 2, ACND, 1, Offset (0x808), LIDW, 1, Offset (0x85A), AASD, 8, Offset (0x890), BATN, 128, AATL, 1, AACL, 1, AAST, 1, AARW, 1, AAEN, 1, AAEW, 1, AAND, 1, Offset (0x8A1), , 1, VIDO, 1, TOUP, 1, Offset (0x8A2), ODTS, 8, OSTY, 3, , 3, ECRD, 1, ADPT, 1, PWAK, 1, MWAK, 1, LWAK, 1, RWAK, 1, WWAK, 1, UWAK, 1, KWAK, 1, TWAK, 1, CCAC, 1, AOAC, 1, BLAC, 1, PSRC, 1, BOAC, 1, LCAC, 1, AAAC, 1, ACAC, 1, S3ST, 1, S3RM, 1, S4ST, 1, S4RM, 1, S5ST, 1, S5RM, 1, CSST, 1, CSRM, 1, OSTT, 8, OSST, 8, THLT, 8, TCNL, 8, MODE, 1, , 2, INIT, 1, FAN1, 1, FAN2, 1, FANT, 1, SKNM, 1, SDTM, 8, FSSN, 4, FANU, 4, PCVL, 4, , 2, SWTO, 1, TTHR, 1, TTHM, 1, THTL, 1, , 2, NPST, 4, CTMP, 8, CTML, 8, SKTA, 8, SKTB, 8, SKTC, 8, Offset (0x8B6), NTMP, 8, , 1, SKEY, 1, DIGM, 1, CDLE, 1, Offset (0x8B8), , 1, LIDF, 1, PMEE, 1, PWBE, 1, RNGE, 1, BTWE, 1, Offset (0x8B9), BRTS, 8, S35M, 1, S35S, 1, , 2, FFEN, 1, FFST, 1, Offset (0x8BB), WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, WLOK, 1, AT3G, 1, EX3G, 1, PJID, 8, CPUJ, 3, CPNM, 3, GATY, 2, BOL0, 1, BOL1, 1, , 2, BCC0, 1, BCC1, 1, Offset (0x8BF), BPU0, 1, BPU1, 1, , 2, BOS0, 1, BOS1, 1, Offset (0x8C0), BTY0, 1, BAM0, 1, BAL0, 1, , 1, BMF0, 4, BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, CYC0, 8, BPC0, 16, BAC0, 16, BTW0, 8, BVL0, 8, BTM0, 8, BAT0, 8, BCG0, 16, BCT0, 8, BCI0, 8, BCM0, 8, BOT0, 8, BSSB, 16, BOV0, 8, BCF0, 8, BAD0, 8, BCV1, 16, BCV2, 16, BCV3, 16, BCV4, 16, Offset (0x8EC), BPFL, 4, Offset (0x8F4), BMD0, 16, BACV, 16, BDN0, 8, Offset (0x8FA) } OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x5A), Offset (0x5B), Offset (0x5C), Offset (0x5D), ENIB, 16, ENDD, 8, SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 24, Offset (0x89) } OperationRegion (ECPR, EmbeddedControl, Zero, 0xFF) Field (ECPR, ByteAcc, Lock, Preserve) { } OperationRegion (CCLK, SystemIO, 0x0400, 0x04) Field (CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1, Offset (0x01), FTT, 1, , 8, TSTS, 1 } OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF) Field (ECRM, ByteAcc, Lock, Preserve) { Offset (0x5D), ERIB, 16, ERBD, 8, Offset (0xAA), Offset (0xAB), Offset (0xAD), , 4, Offset (0xAE), PTVL, 4, Offset (0xB0), Offset (0xB1), Offset (0xB2), Offset (0xB3), Offset (0xB4), Offset (0xB5), Offset (0xBC), Offset (0xBD) } Mutex (FAMX, 0x00) Method (FANG, 1, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (ERBD, Local0) Release (FAMX) Return (Local0) } Method (FANW, 2, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (Arg1, ERBD) Release (FAMX) Return (Arg1) } Method (TUVR, 1, NotSerialized) { Return (0x03) } Method (THRO, 1, NotSerialized) { ITHR (Arg0) } Method (CLCK, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, THEN) Store (Zero, FTT) } Else { Store (Arg0, DUTY) Store (One, THEN) } Return (THEN) } Method (PCLK, 0, NotSerialized) { IPCL () } Method (ITHR, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (THEN) } Else { If (LEqual (Arg0, One)) { Return (DUTY) } Else { If (LEqual (Arg0, 0x02)) { Return (TTHR) } Else { Return (0xFF) } } } } Method (IPCL, 0, NotSerialized) { Store (PCVL, Local0) Store (Local0, \_PR.CPU0._PPC) PNOT () } Name (CTSL, Package (0x12) { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x60, 0x61, 0x62, 0x63, 0x64, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x17 }) Mutex (CFMX, 0x00) Method (CFUN, 4, Serialized) { Name (ESRC, 0x05) If (LNotEqual (Match (CTSL, MEQ, DerefOf (Index (Arg0, Zero )), MTR, Zero, Zero), Ones)) { Acquire (CFMX, 0xFFFF) Store (Arg0, SMID) Store (Arg1, SFNO) Store (Arg2, BFDT) Store (0xCE, SMIC) Release (CFMX) } Else { If (LEqual (DerefOf (Index (Arg0, Zero)), 0x10)) { If (LEqual (DerefOf (Index (Arg1, Zero)), One)) { CreateByteField (Arg2, Zero, CAPV) Store (CAPV, CAVR) Store (One, STDT) } Else { If (LEqual (DerefOf (Index (Arg1, Zero)), 0x02)) { Store (Buffer (0x80) {}, Local0) CreateByteField (Local0, Zero, BFD0) Store (0x11, BFD0) Store (One, STDT) Store (Local0, BFDT) } Else { Store (Zero, STDT) } } } Else { If (LEqual (DerefOf (Index (Arg0, Zero)), 0x18)) { Acquire (CFMX, 0xFFFF) If (LEqual (DerefOf (Index (Arg1, Zero)), 0x02)) { Store (Zero, SMD0) Store (DerefOf (Index (Arg2, One)), SMAD) Store (DerefOf (Index (Arg2, 0x02)), SMCM) Store (DerefOf (Index (Arg2, Zero)), SMPR) While (LAnd (Not (LEqual (ESRC, Zero)), Not (LEqual (And ( SMST, 0x80), 0x80)))) { Sleep (0x14) Subtract (ESRC, One, ESRC) } Store (SMST, Local2) If (LEqual (And (Local2, 0x80), 0x80)) { Store (Buffer (0x80) {}, Local1) Store (Local2, Index (Local1, Zero)) If (LEqual (Local2, 0x80)) { Store (0xC4, P80H) Store (BCNT, Index (Local1, One)) Store (SMD0, Local3) Store (DerefOf (Index (Local3, Zero)), Index (Local1, 0x02)) Store (DerefOf (Index (Local3, One)), Index (Local1, 0x03)) Store (DerefOf (Index (Local3, 0x02)), Index (Local1, 0x04)) Store (DerefOf (Index (Local3, 0x03)), Index (Local1, 0x05)) Store (DerefOf (Index (Local3, 0x04)), Index (Local1, 0x06)) Store (DerefOf (Index (Local3, 0x05)), Index (Local1, 0x07)) Store (DerefOf (Index (Local3, 0x06)), Index (Local1, 0x08)) Store (DerefOf (Index (Local3, 0x07)), Index (Local1, 0x09)) Store (DerefOf (Index (Local3, 0x08)), Index (Local1, 0x0A)) Store (DerefOf (Index (Local3, 0x09)), Index (Local1, 0x0B)) Store (DerefOf (Index (Local3, 0x0A)), Index (Local1, 0x0C)) Store (DerefOf (Index (Local3, 0x0B)), Index (Local1, 0x0D)) Store (DerefOf (Index (Local3, 0x0C)), Index (Local1, 0x0E)) Store (DerefOf (Index (Local3, 0x0D)), Index (Local1, 0x0F)) Store (DerefOf (Index (Local3, 0x0E)), Index (Local1, 0x10)) Store (DerefOf (Index (Local3, 0x0F)), Index (Local1, 0x11)) Store (DerefOf (Index (Local3, 0x10)), Index (Local1, 0x12)) Store (DerefOf (Index (Local3, 0x11)), Index (Local1, 0x13)) Store (DerefOf (Index (Local3, 0x12)), Index (Local1, 0x14)) Store (DerefOf (Index (Local3, 0x13)), Index (Local1, 0x15)) Store (DerefOf (Index (Local3, 0x14)), Index (Local1, 0x16)) Store (DerefOf (Index (Local3, 0x15)), Index (Local1, 0x17)) Store (DerefOf (Index (Local3, 0x16)), Index (Local1, 0x18)) Store (DerefOf (Index (Local3, 0x17)), Index (Local1, 0x19)) Store (DerefOf (Index (Local3, 0x18)), Index (Local1, 0x1A)) Store (DerefOf (Index (Local3, 0x19)), Index (Local1, 0x1B)) Store (DerefOf (Index (Local3, 0x1A)), Index (Local1, 0x1C)) Store (DerefOf (Index (Local3, 0x1B)), Index (Local1, 0x1D)) Store (DerefOf (Index (Local3, 0x1C)), Index (Local1, 0x1E)) Store (DerefOf (Index (Local3, 0x1D)), Index (Local1, 0x1F)) Store (DerefOf (Index (Local3, 0x1E)), Index (Local1, 0x20)) Store (DerefOf (Index (Local3, 0x1F)), Index (Local1, 0x21)) } Store (Local1, BFDT) Store (One, STDT) } Else { Store (0xC5, P80H) Store (Zero, STDT) } } Else { Store (0xC6, P80H) Store (Zero, STDT) } Release (CFMX) } Else { Store (Zero, STDT) } } } } Name (OCSL, Package (0x03) { 0x80, 0x81, 0x82 }) Mutex (PFMX, 0x00) Method (PFUN, 4, Serialized) { Acquire (PFMX, 0xFFFF) Store (Arg0, SMID) Store (Arg1, SFNO) Store (Arg2, BFDT) Store (0xCF, SMIC) Release (PFMX) Store (Zero, STDT) } Method (CMFC, 4, Serialized) { Name (RTVL, Package (0x04) { Zero, Zero, Zero, Zero }) If (LEqual (ObjectType (Arg0), One)) { Store (0x8000, Index (RTVL, Zero)) } Else { If (LLess (DerefOf (Index (Arg0, Zero)), 0xFE)) { Store (Buffer (0x82) {}, Local1) CreateWordField (Local1, Zero, RTST) CreateField (Local1, 0x10, 0x0400, RTDT) If (LLessEqual (ToInteger (Arg0), 0x7F)) { CFUN (Arg0, Arg1, Arg2, Arg3) } Else { PFUN (Arg0, Arg1, Arg2, Arg3) } Store (STDT, RTST) Store (BFDT, RTDT) Return (Local1) } Else { Store (0x8000, Index (RTVL, Zero)) } } Return (RTVL) } } Scope (EC0) { Method (BSHK, 0, NotSerialized) { If (ECOK ()) { Store (One, Local1) If (LEqual (OSYS, 0x07D1)) { Store (Zero, Local1) } If (LEqual (OSYS, 0x07D2)) { Store (Zero, Local1) } If (LEqual (OSYS, 0x07D6)) { Store (One, Local1) } If (LEqual (OSYS, 0x03E8)) { Store (0x02, Local1) } If (LEqual (OSYS, 0x07D9)) { Store (0x03, Local1) } If (LGreaterEqual (OSYS, 0x07DC)) { Store (0x04, Local1) } Sleep (0x14) Store (Local1, OSTY) Sleep (0x14) } } } Scope (\_SB.PCI0.LPCB) { Method (GBMN, 0, NotSerialized) { Store (^EC0.BATN, Local0) Return (Local0) } Method (GUBS, 0, NotSerialized) { Name (SN0, Buffer (0x04) { 0x31, 0x32, 0x33, 0x34 }) Store (^EC0.BSN0, Local0) Store (Zero, Local1) While (LLess (Local1, 0x04)) { ShiftRight (Local0, Subtract (0x0C, Multiply (Local1, 0x04)), Local2) And (Local2, 0x0F, Local2) If (LGreater (Local2, 0x09)) { Add (Local2, 0x37, Local2) } Else { Add (Local2, 0x30, Local2) } Store (Local2, Index (SN0, Local1)) Increment (Local1) } Return (SN0) } Method (GUBI, 0, NotSerialized) { If (ECOK ()) { Store (^EC0.BMF0, Local0) If (LEqual (Local0, One)) { Return ("SANYO") } Else { If (LEqual (Local0, 0x02)) { Return ("SONY") } Else { If (LEqual (Local0, 0x03)) { Return ("SDI") } Else { If (LEqual (Local0, 0x04)) { Return ("PANASONIC") } Else { If (LEqual (Local0, 0x05)) { Return ("SAMSUNG") } Else { If (LEqual (Local0, 0x06)) { Return ("SIMPLO") } Else { If (LEqual (Local0, 0x07)) { Return ("DYNAPACK") } Else { If (LEqual (Local0, 0x08)) { Return ("LGC") } Else { Return ("Unknow") } } } } } } } } } Else { Return ("DELL") } } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { _SB }) Name (BMDL, Zero) Name (BASC, One) Method (_STA, 0, NotSerialized) // _STA: Status { ^^EC0.BSHK () If (ECOK ()) { If (^^EC0.BOL0) { Sleep (0x14) Return (0x1F) } Else { Sleep (0x14) Return (0x0F) } } Else { Sleep (0x14) Return (0x1F) } } Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { Name (STAT, Package (0x0D) { One, 0x1770, 0x1770, One, 0x2A30, 0x0258, 0xB4, 0x0108, 0x0EC4, "PABAS0241231", "41167", "Li-Ion", "COMPAL " }) Store (^^EC0.BAM0, Index (STAT, Zero)) Store (GBMN (), Index (STAT, 0x09)) Store (GUBS (), Index (STAT, 0x0A)) Store (GUBI (), Index (STAT, 0x0C)) If (ECOK ()) { If (LEqual (^^EC0.BAM0, Zero)) { Store (0x0A, BASC) } Store (^^EC0.BDN0, Local0) Store (Local0, BMDL) Store (Multiply (^^EC0.BDC0, BASC), Index (STAT, One)) Sleep (0x14) Store (^^EC0.BDV0, Index (STAT, 0x04)) Sleep (0x14) Store (Multiply (^^EC0.BFC0, BASC), Local2) Sleep (0x14) Store (Local2, Index (STAT, 0x02)) Divide (Local2, 0x64, Local0, Local1) Multiply (Local1, 0x0A, Local1) Store (Local1, Index (STAT, 0x05)) Divide (Local2, 0x64, Local0, Local1) Multiply (Local1, 0x03, Local1) Store (Local1, Index (STAT, 0x06)) } Return (STAT) } Method (_BST, 0, NotSerialized) // _BST: Battery Status { Name (PBST, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0x1770 }) If (ECOK ()) { Store (^^EC0.BST0, Index (PBST, Zero)) Sleep (0x14) Store (^^EC0.BAC0, Local4) Subtract (0xFFFF, Local4, Local4) Store (Local4, Index (PBST, One)) Sleep (0x14) Store (Multiply (^^EC0.BRC0, BASC), Index (PBST, 0x02)) Sleep (0x14) Store (^^EC0.BPV0, Index (PBST, 0x03)) Sleep (0x14) If (LNotEqual (^^EC0.BDN0, BMDL)) { Notify (BAT1, 0x81) } } Return (PBST) } } Device (ACAD) { Name (_HID, "ACPI0003") // _HID: Hardware ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { _SB }) Method (_PSR, 0, NotSerialized) // _PSR: Power Source { Store (^^EC0.ADPT, Local0) Return (Local0) } } Method (OSTP, 0, NotSerialized) { Store (One, Local1) If (LEqual (OSYS, 0x07D1)) { Store (Zero, Local1) } If (LEqual (OSYS, 0x07D2)) { Store (Zero, Local1) } If (LEqual (OSYS, 0x07D6)) { Store (One, Local1) } If (LEqual (OSYS, 0x03E8)) { Store (0x02, Local1) } If (LEqual (OSYS, 0x07D9)) { Store (0x03, Local1) } If (LGreaterEqual (OSYS, 0x07DC)) { Store (0x04, Local1) } Sleep (0x14) Store (Local1, ^EC0.OSTY) Sleep (0x14) } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q10, 0, NotSerialized) // _Qxx: EC Query { Store (0x14, DTSF) Store (0xD6, SSMP) Sleep (0x14) } Method (_Q11, 0, NotSerialized) // _Qxx: EC Query { Store (0x11, P80H) Store (^^^GFX0.DD1F._BQC (), Local1) Store (0x03, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE005, ^^^^WMID.INF2) Store (Local1, ^^^^WMID.INF3) Notify (WMID, 0xD0) Notify (^^^GFX0.DD1F, 0x87) } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query { Store (0x12, P80H) Store (^^^GFX0.DD1F._BQC (), Local1) If (LGreaterEqual (OSYS, 0x07DC)) { Store (0x64, Local2) } Else { Store (0x0F, Local2) } If (LNotEqual (Local1, Local2)) { Increment (Local1) } Store (0x03, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE006, ^^^^WMID.INF2) Store (Local1, ^^^^WMID.INF3) Notify (WMID, 0xD0) Notify (^^^GFX0.DD1F, 0x86) } Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query { Store (0x1D, P80H) Store ("=====QUERY_1D=====", Debug) Store (0x94, SMID) Store (0xB2, SMIC) Sleep (One) PCLK () } Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query { Store (0x1D, P80H) If (LEqual (Q1FF, Zero)) { Sleep (0x1388) Store (One, Q1FF) } Store (0x06, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE00D, ^^^^WMID.INF2) Store (Zero, ^^^^WMID.INF4) Store (One, ^^^^WMID.INF5) If (LEqual (QSBT, One)) { Store (Zero, QSBT) Store (Zero, ^^^^WMID.INF6) If (LEqual (BPFL, 0x09)) { Store (0x16, ^^^^WMID.INF3) Notify (WMID, 0xD0) } If (LEqual (BPFL, 0x0A)) { Store (0x18, ^^^^WMID.INF3) Notify (WMID, 0xD0) } } If (LEqual (QSAC, One)) { Store (Zero, QSAC) Store (0x4100, ^^^^WMID.INF6) If (LEqual (ACND, One)) { Store (One, ^^^^WMID.INF3) Notify (WMID, 0xD0) } Else { If (LEqual (ACWA, One)) { Store (0x05, ^^^^WMID.INF3) Notify (WMID, 0xD0) } } } } Method (_Q25, 0, NotSerialized) // _Qxx: EC Query { Store (0x25, P80H) Store ("=====QUERY_25=====", Debug) Sleep (0x03E8) Notify (BAT1, 0x81) Sleep (0x03E8) Notify (BAT1, 0x80) Store (0x08, ^^^^WMID.CBCS) Store (One, ^^^^WMID.CBST) Store (^^^^WMID.WMIC (^^^^WMID.CMDB, 0x24, 0xDA), ^^^^WMID.CMDB) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE00E, ^^^^WMID.INF2) Store (^^^^WMID.CBR1, ^^^^WMID.INF3) Store (^^^^WMID.CBR2, ^^^^WMID.INF4) Store (^^^^WMID.CBR3, ^^^^WMID.INF5) Store (^^^^WMID.CBR4, ^^^^WMID.INF6) Notify (WMID, 0xD0) } Method (_Q26, 0, NotSerialized) // _Qxx: EC Query { Store (0x26, P80H) Sleep (0x1E) Store ("=====QUERY_26=====", Debug) CMSW (0xE3, EXRB) Store (CMSR (0xC0), Local0) If (LEqual (EXRB, Zero)) { Sleep (0xC8) If (LNotEqual (CMSR (0xE3), 0x02)) { If (And (Local0, 0x10)) { And (Local0, 0xEF, Local0) Store (Zero, Local1) } Else { Or (Local0, 0x10, Local0) Store (One, Local1) } If (LNot (QSEX)) { Or (Local0, 0x03, Local0) } CMSW (0xC0, Local0) If (And (Local0, 0x08)) { If (And (Local0, 0x02)) {} Else { } } Else { } If (And (Local0, 0x04)) { If (And (Local0, One)) { STWL (Local1) Store (Local1, WLAT) } Else { STWL (One) Store (One, WLAT) } } Else { STWL (Zero) Store (Zero, WLAT) } Store (0x11, ^^^^WMID.CBCS) Store (0x0B, ^^^^WMID.CBST) Store (Zero, ^^^^WMID.CBA1) Store (^^^^WMID.WMIC (^^^^WMID.CMDB, 0x24, 0xDA), ^^^^WMID.CMDB) Store (0x06, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE008, ^^^^WMID.INF2) Store (^^^^WMID.CR20, ^^^^WMID.INF3) Store (^^^^WMID.CR21, ^^^^WMID.INF4) Store (0x0100, ^^^^WMID.INF5) Store (One, ^^^^WMID.INF6) Notify (WMID, 0xD0) } } Else { If (And (Local0, 0x10)) { And (Local0, 0xEF, Local0) } Else { Or (Local0, 0x10, Local0) } CMSW (0xC0, Local0) Notify (RBTN, 0x80) } } Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query { Store ("=====QUERY_2C=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE02E, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q2D, 0, NotSerialized) // _Qxx: EC Query { Store ("=====QUERY_2D=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE030, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q33, 0, NotSerialized) // _Qxx: EC Query { Store ("=====QUERY_33=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE029, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q35, 0, NotSerialized) // _Qxx: EC Query { Store (0x35, P80H) Store ("=====QUERY_35=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE099, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q36, 0, NotSerialized) // _Qxx: EC Query { Store (0x36, P80H) Store ("=====QUERY_35=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE098, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q37, 0, NotSerialized) // _Qxx: EC Query { Store (0x37, P80H) Store ("=====QUERY_37=====", Debug) Notify (ACAD, 0x80) Sleep (0x03E8) Notify (BAT1, 0x80) } Method (_Q38, 0, NotSerialized) // _Qxx: EC Query { Store (0x38, P80H) Store ("=====QUERY_38=====", Debug) Notify (ACAD, 0x80) Sleep (0x03E8) Notify (BAT1, 0x80) } Method (_Q39, 0, NotSerialized) // _Qxx: EC Query { Store (0x39, P80H) Store ("=====QUERY_39=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE097, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q41, 0, NotSerialized) // _Qxx: EC Query { Store (0x41, P80H) Store ("=====QUERY_41=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE02A, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q42, 0, NotSerialized) // _Qxx: EC Query { Store (0x42, P80H) Store ("=====QUERY_42=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE02B, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q43, 0, NotSerialized) // _Qxx: EC Query { Store (0x43, P80H) Store ("=====QUERY_43=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE02C, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q44, 0, NotSerialized) // _Qxx: EC Query { Store (0x44, P80H) Store ("=====QUERY_44=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE028, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q45, 0, NotSerialized) // _Qxx: EC Query { Store (0x45, P80H) Store ("=====QUERY_45=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE024, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q46, 0, NotSerialized) // _Qxx: EC Query { Store (0x46, P80H) Store ("=====QUERY_46=====", Debug) Store (0x02, ^^^^WMID.INF0) Store (Zero, ^^^^WMID.INF1) Store (0xE025, ^^^^WMID.INF2) Notify (WMID, 0xD0) } Method (_Q47, 0, NotSerialized) // _Qxx: EC Query { Store (0x47, P80H) Store (^^^GFX0.DD1F._BQC (), Local0) While (LGreaterEqual (Local0, One)) { Decrement (Local0) Sleep (0x14) Notify (^^^GFX0.DD1F, 0x87) } } } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) Name (_S3, Package (0x04) // _S3_: S3 System State { 0x05, Zero, Zero, Zero }) Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) {} } Method (WAK, 1, NotSerialized) { } }