/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20150930-64 * Copyright (c) 2000 - 2015 Intel Corporation * * Disassembling to non-symbolic legacy ASL operators * * Disassembly of DSDT.aml, Tue Jun 7 18:48:09 2016 * * Original Table Header: * Signature "DSDT" * Length 0x0000F4BB (62651) * Revision 0x02 * Checksum 0x49 * OEM ID "LENOVO" * OEM Table ID "CB-01 " * OEM Revision 0x00000001 (1) * Compiler ID "ACPI" * Compiler Version 0x00040000 (262144) */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "LENOVO", "CB-01 ", 0x00000001) { /* * iASL Warning: There were 10 external control methods found during * disassembly, but only 0 was resolved (10 unresolved). Additional * ACPI tables may be required to properly disassemble the code. This * resulting disassembler output file may not compile because the * disassembler did not know how many arguments to assign to the * unresolved methods. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * * If necessary, 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, ) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ External (_GPE.MMTB, MethodObj) // Warning: Unresolved method, guessing 2 arguments External (_GPE.OSUP, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (_SB_.PCI0.GFX0.GSCI, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (_SB_.PCI0.GFX0.IUEH, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (_SB_.PCI0.PAUD.PUAM, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (_SB_.PCI0.PEG0.PEGP.EPON, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (_SB_.PCI0.RP05.PEGP.EPON, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (_SB_.PCI0.XHC_.DUAM, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (PS0X, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (PS3X, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (_PR_.CFGD, UnknownObj) External (_PR_.CPU0._PPC, UnknownObj) External (_PR_.CPU0._PSS, UnknownObj) External (_SB_.IAOE.PTSL, UnknownObj) External (_SB_.IETM, UnknownObj) External (_SB_.PCCD, UnknownObj) External (_SB_.PCCD.PENB, UnknownObj) External (_SB_.PCI0.B0D3.ABAR, IntObj) External (_SB_.PCI0.B0D3.BARA, UnknownObj) External (_SB_.PCI0.GFX0.CADL, UnknownObj) External (_SB_.PCI0.GFX0.CBLV, IntObj) External (_SB_.PCI0.GFX0.CLID, UnknownObj) External (_SB_.PCI0.GFX0.DD1F, UnknownObj) External (_SB_.PCI0.GFX0.GLID, IntObj) External (_SB_.PCI0.GFX0.GSSE, UnknownObj) External (_SB_.PCI0.RP05.PEGP, UnknownObj) External (AR08, IntObj) External (DIDX, UnknownObj) External (GSMI, UnknownObj) External (IGDS, IntObj) External (LIDS, UnknownObj) External (PDC0, UnknownObj) External (PDC1, UnknownObj) External (PDC2, UnknownObj) External (PDC3, UnknownObj) External (PDC4, UnknownObj) External (PDC5, UnknownObj) External (PDC6, UnknownObj) External (PDC7, UnknownObj) External (PR08, IntObj) External (SGMD, UnknownObj) Name (SS1, Zero) Name (SS2, Zero) Name (SS3, One) Name (SS4, One) Name (SP2O, 0x4E) Name (SP1O, 0x2E) Name (IO1B, 0x0600) Name (IO1L, 0x70) Name (IO2B, 0x0600) Name (IO2L, 0x20) Name (IO3B, 0x0290) Name (IO3L, 0x10) Name (SP3O, 0x2E) Name (IO4B, 0x0A20) Name (IO4L, 0x20) Name (HSCS, One) Name (MCHB, 0xFED10000) Name (MCHL, 0x8000) 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 (TTTB, 0xFED20000) Name (TTTL, 0x00020000) Name (SMBS, 0xEFA0) Name (SMBL, 0x10) Name (PBLK, 0x1810) Name (PMBS, 0x1800) Name (PMLN, 0x0100) Name (LVL2, 0x1814) Name (LVL3, 0x1815) Name (LVL4, 0x1816) Name (SMIP, 0xB2) Name (GPBS, 0x0800) Name (GPLN, 0x0400) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (PM30, 0x1830) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (HPTB, 0xFED00000) Name (HPTC, 0xFED1F404) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, One) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (DSSP, Zero) Name (FHPP, Zero) Name (FMBL, One) Name (FDTP, 0x02) Name (FUPS, 0x03) Name (FEMD, 0x04) Name (BGR, One) Name (BFR, 0x02) Name (BBR, 0x03) Name (BWC, 0x04) Name (BGRP, 0x09) Name (BGRC, 0x0A) Name (BFRP, 0x0B) Name (BBRP, 0x0C) Name (BRPS, 0x10) Name (BRCS, 0x11) Name (BRDS, 0x12) Name (BR4S, 0x13) Name (BR5S, 0x14) Name (BWT1, 0x20) Name (BW1P, 0x21) Name (BW2C, 0x22) Name (BW2P, 0x23) Name (BSPC, 0x24) Name (BSPP, 0x25) Name (BTS, 0x26) Name (BICO, 0x27) Name (BICC, 0x28) Name (BHB, 0x30) Name (BFS2, 0x31) Name (BFS3, 0x32) Name (BFS4, 0x33) Name (BRH, 0x35) Name (BFHC, 0x40) Name (BFD1, 0x41) Name (BFD2, 0x42) Name (BFCC, 0x43) Name (BHCP, 0x44) Name (BCOC, 0x45) Name (BFHP, 0x46) Name (BFCP, 0x47) Name (BTDT, 0x50) Name (BTMB, 0x51) Name (BBGB, 0x52) Name (BHC2, 0x53) Name (TCGM, One) Name (TRTP, One) Name (WDTE, One) Name (TRTD, 0x02) Name (TRTI, 0x03) Name (PFTI, 0x04) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x0C) Name (DSLC, 0x0E) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (SOOT, 0x35) Name (PDBR, 0x4D) Name (DPPB, 0xFED98000) Name (DPPL, 0x8000) OperationRegion (GNVS, SystemMemory, 0xAAFBCA98, 0x000002F6) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, Offset (0x1E), Offset (0x25), REVN, 8, Offset (0x28), APIC, 8, TCNT, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, C67L, 8, NATP, 8, CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, COMA, 8, COMB, 8, SMSC, 8, W381, 8, SMC1, 8, EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x42), MEFE, 8, DSTS, 8, Offset (0x48), MORD, 8, TCGP, 8, PPRP, 32, PPRQ, 8, LPPR, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 16, PLID, 8, ECTG, 8, Offset (0x70), OSCC, 8, NEXP, 8, SBV1, 8, SBV2, 8, Offset (0x7A), DSEN, 8, Offset (0x7C), GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, VFN2, 8, VFN3, 8, VFN4, 8, VFN5, 8, VFN6, 8, VFN7, 8, VFN8, 8, VFN9, 8, Offset (0x8F), ATMC, 8, PTMC, 8, ATRA, 8, PTRA, 8, PNHM, 32, TBAB, 32, TBAH, 32, RTIP, 8, TSOD, 8, ATPC, 8, PTPC, 8, PFLV, 8, BREV, 8, PDTS, 8, PKGA, 8, PAMT, 8, AC0F, 8, AC1F, 8, DTS3, 8, DTS4, 8, Offset (0xB0), LTR1, 8, LTR2, 8, LTR3, 8, LTR4, 8, LTR5, 8, LTR6, 8, LTR7, 8, LTR8, 8, OBF1, 8, OBF2, 8, OBF3, 8, OBF4, 8, OBF5, 8, OBF6, 8, OBF7, 8, OBF8, 8, XHCI, 8, XTUB, 32, XTUS, 32, XMPB, 32, DDRF, 8, RTD3, 8, PEP0, 8, PEP3, 8, DPTF, 8, SADE, 8, SACR, 8, SAHT, 8, PCHD, 8, PCHC, 8, PCHH, 8, CTDP, 8, LPMP, 8, LPMV, 8, ECEU, 8, TGFG, 16, MEMD, 8, MEMC, 8, MEMH, 8, FND1, 8, FND2, 8, AMBD, 8, AMAT, 8, AMPT, 8, AMCT, 8, AMHT, 8, SKDE, 8, SKAT, 8, SKPT, 8, SKCT, 8, SKHT, 8, EFDE, 8, EFAT, 8, EFPT, 8, EFCT, 8, EFHT, 8, VRDE, 8, VRAT, 8, VRPT, 8, VRCT, 8, VRHT, 8, DPAP, 8, DPPP, 8, DPCP, 8, DCMP, 8, TRTV, 8, LPOE, 8, LPOP, 8, LPOS, 8, LPOW, 8, LPER, 8, PPSZ, 32, DISE, 8, PFMA, 64, PFMS, 8, PFIA, 16, ICNF, 8, DSP0, 32, DSP1, 32, NFCE, 8, CODS, 8, SNHE, 8, S0ID, 8, CTDB, 8, Offset (0x207), PWRE, 8, PWRP, 8, XHPR, 8, SDS0, 8, SDS1, 16, SDS2, 8, SDS3, 8, SDS4, 8, SDS5, 8, Offset (0x212), RIC0, 8, PEPY, 8, DVS0, 8, DVS1, 8, DVS2, 8, DVS3, 8, GBSX, 8, IUBE, 8, IUCE, 8, IUDE, 8, ECNO, 8, AUDD, 16, DSPD, 16, IC0D, 16, IC1D, 16, IC1S, 16, VRRD, 16, PSCP, 8, RWAG, 8, I20D, 16, I21D, 16, Offset (0x231), RCG0, 8, ECDB, 8, P2ME, 8, SSH0, 16, SSL0, 16, SSD0, 16, FMH0, 16, FML0, 16, FMD0, 16, FPH0, 16, FPL0, 16, FPD0, 16, SSH1, 16, SSL1, 16, SSD1, 16, FMH1, 16, FML1, 16, FMD1, 16, FPH1, 16, FPL1, 16, FPD1, 16, M0C0, 16, M1C0, 16, M2C0, 16, M0C1, 16, M1C1, 16, M2C1, 16, M0C2, 16, M1C2, 16, M0C3, 16, M1C3, 16, M0C4, 16, M1C4, 16, M0C5, 16, M1C5, 16, TBSF, 8, GIRQ, 32, DMTP, 8, DMTD, 8, DMSH, 8, LANP, 8, Offset (0x27E), SHSB, 8, PLCS, 8, PLVL, 16, GN1E, 8, G1AT, 8, G1PT, 8, G1CT, 8, G1HT, 8, GN2E, 8, G2AT, 8, G2PT, 8, G2CT, 8, G2HT, 8, WWSD, 8, CVSD, 8, SSDD, 8, INLD, 8, IFAT, 8, IFPT, 8, IFCT, 8, IFHT, 8, DOSD, 8, USBH, 8, BCV4, 8, WTV0, 8, WTV1, 8, APFU, 8, SOHP, 8, NOHP, 8, TBSE, 8, WKFN, 8, PEPC, 16, VRSD, 16, PB1E, 8, WAND, 8, WWAT, 8, WWPT, 8, WWCT, 8, WWHT, 8, Offset (0x2AD), MPLT, 16, GR13, 8, SPST, 8, ECLP, 8, Offset (0x2BC), CCMD, 8, COMD, 8, LPT1, 8, PSTP, 8, WKMD, 8, IDER, 8, PIE0, 8, PIE1, 8, CSTS, 8, PMEE, 8, WOLE, 8, NVAD, 32, NVSZ, 32, OPTF, 8, IFSE, 8, ISCT, 8, S1C0, 16, S1C1, 16, S2C0, 16, S2C1, 16, SLPS, 8, ALAT, 32, HRAM, 8, MDEN, 8, TBEP, 8, WIFD, 8, WFAT, 8, WFPT, 8, WFCT, 8, WFHT, 8, SDEB, 8, FGNE, 8, MAUL, 8, U2PR, 32, U3SS, 8, TBTC, 8, TRPN, 8, TBTM, 32, ULTP, 8 } OperationRegion (OGNS, SystemMemory, 0xAAFBBF98, 0x0000000F) Field (OGNS, AnyAcc, Lock, Preserve) { OBID, 8, OG01, 8, OG02, 8, OG03, 8, OG04, 8, OG05, 8, OG06, 8, OG07, 8, OG08, 8, OG09, 8, OG10, 8, ECON, 8, KBID, 8, KBSZ, 8, PS2V, 8 } OperationRegion (SMIO, SystemIO, 0xB2, 0x02) Field (SMIO, ByteAcc, NoLock, Preserve) { SMIC, 8, SMID, 8 } Scope (_SB) { Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } Name (_UID, Zero) // _UID: Unique ID Name (PR00, Package (0x26) { Package (0x04) { 0x0013FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0014FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0014FFFF, One, LNKB, Zero }, Package (0x04) { 0x0014FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0014FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0015FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0015FFFF, One, LNKF, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0017FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, 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) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0018FFFF, Zero, LNKE, Zero } }) Name (AR00, Package (0x26) { Package (0x04) { 0x0014FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0014FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0014FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0014FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0015FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0015FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0017FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0013FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, 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) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0018FFFF, Zero, Zero, 0x14 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR00) /* \_SB_.PCI0.AR00 */ } Return (PR00) /* \_SB_.PCI0.PR00 */ } Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR0A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR0A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR0B, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR0B, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) OperationRegion (HBUS, PCI_Config, Zero, 0x0100) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0x40), EPEN, 1, , 11, EPBR, 20, Offset (0x48), MHEN, 1, , 14, MHBR, 17, Offset (0x50), GCLK, 1, Offset (0x54), D0EN, 1, D1F2, 1, D1F1, 1, D1F0, 1, Offset (0x60), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x68), DIEN, 1, , 11, DIBR, 20, Offset (0x70), , 20, MEBR, 12, Offset (0x80), , 4, PM0H, 2, Offset (0x81), PM1L, 2, , 2, PM1H, 2, Offset (0x82), PM2L, 2, , 2, PM2H, 2, Offset (0x83), PM3L, 2, , 2, PM3H, 2, Offset (0x84), PM4L, 2, , 2, PM4H, 2, Offset (0x85), PM5L, 2, , 2, PM5H, 2, Offset (0x86), PM6L, 2, , 2, PM6H, 2, Offset (0x87), Offset (0xA8), , 20, TUUD, 19, Offset (0xBC), , 20, TLUD, 12, Offset (0xC8), , 7, HTSE, 1 } OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100) Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, _Y00) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, _Y0D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEAFFFFF, // Range Maximum 0x00000000, // Translation Offset 0xFEB00000, // Length ,, _Y0E, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address Store (Subtract (ShiftRight (PELN, 0x14), 0x02), PBMX) /* \_SB_.PCI0._CRS.PBMX */ CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length Store (Subtract (ShiftRight (PELN, 0x14), One), PBLN) /* \_SB_.PCI0._CRS.PBLN */ If (PM1L) { CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length Store (Zero, C0LN) /* \_SB_.PCI0._CRS.C0LN */ } If (LEqual (PM1L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW) // _RW_: Read-Write Status Store (Zero, C0RW) /* \_SB_.PCI0._CRS.C0RW */ } If (PM1H) { CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN) // _LEN: Length Store (Zero, C4LN) /* \_SB_.PCI0._CRS.C4LN */ } If (LEqual (PM1H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW) // _RW_: Read-Write Status Store (Zero, C4RW) /* \_SB_.PCI0._CRS.C4RW */ } If (PM2L) { CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN) // _LEN: Length Store (Zero, C8LN) /* \_SB_.PCI0._CRS.C8LN */ } If (LEqual (PM2L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW) // _RW_: Read-Write Status Store (Zero, C8RW) /* \_SB_.PCI0._CRS.C8RW */ } If (PM2H) { CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN) // _LEN: Length Store (Zero, CCLN) /* \_SB_.PCI0._CRS.CCLN */ } If (LEqual (PM2H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW) // _RW_: Read-Write Status Store (Zero, CCRW) /* \_SB_.PCI0._CRS.CCRW */ } If (PM3L) { CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN) // _LEN: Length Store (Zero, D0LN) /* \_SB_.PCI0._CRS.D0LN */ } If (LEqual (PM3L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW) // _RW_: Read-Write Status Store (Zero, D0RW) /* \_SB_.PCI0._CRS.D0RW */ } If (PM3H) { CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN) // _LEN: Length Store (Zero, D4LN) /* \_SB_.PCI0._CRS.D4LN */ } If (LEqual (PM3H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW) // _RW_: Read-Write Status Store (Zero, D4RW) /* \_SB_.PCI0._CRS.D4RW */ } If (PM4L) { CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN) // _LEN: Length Store (Zero, D8LN) /* \_SB_.PCI0._CRS.D8LN */ } If (LEqual (PM4L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW) // _RW_: Read-Write Status Store (Zero, D8RW) /* \_SB_.PCI0._CRS.D8RW */ } If (PM4H) { CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN) // _LEN: Length Store (Zero, DCLN) /* \_SB_.PCI0._CRS.DCLN */ } If (LEqual (PM4H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW) // _RW_: Read-Write Status Store (Zero, DCRW) /* \_SB_.PCI0._CRS.DCRW */ } If (PM5L) { CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN) // _LEN: Length Store (Zero, E0LN) /* \_SB_.PCI0._CRS.E0LN */ } If (LEqual (PM5L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW) // _RW_: Read-Write Status Store (Zero, E0RW) /* \_SB_.PCI0._CRS.E0RW */ } If (PM5H) { CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN) // _LEN: Length Store (Zero, E4LN) /* \_SB_.PCI0._CRS.E4LN */ } If (LEqual (PM5H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW) // _RW_: Read-Write Status Store (Zero, E4RW) /* \_SB_.PCI0._CRS.E4RW */ } If (PM6L) { CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN) // _LEN: Length Store (Zero, E8LN) /* \_SB_.PCI0._CRS.E8LN */ } If (LEqual (PM6L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW) // _RW_: Read-Write Status Store (Zero, E8RW) /* \_SB_.PCI0._CRS.E8RW */ } If (PM6H) { CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN) // _LEN: Length Store (Zero, ECLN) /* \_SB_.PCI0._CRS.ECLN */ } If (LEqual (PM6H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status Store (Zero, ECRW) /* \_SB_.PCI0._CRS.ECRW */ } If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length Store (Zero, F0LN) /* \_SB_.PCI0._CRS.F0LN */ } If (LEqual (PM0H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW) // _RW_: Read-Write Status Store (Zero, F0RW) /* \_SB_.PCI0._CRS.F0RW */ } CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length ShiftLeft (TLUD, 0x14, M1MN) /* \_SB_.PCI0._CRS.M1MN */ Add (Subtract (M1MX, M1MN), One, M1LN) /* \_SB_.PCI0._CRS.M1LN */ Return (BUF0) /* \_SB_.PCI0.BUF0 */ } Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) Name (SUPP, Zero) Name (CTRL, Zero) Name (XCNT, Zero) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Store (Arg3, Local0) CreateDWordField (Local0, Zero, CDW1) CreateDWordField (Local0, 0x04, CDW2) CreateDWordField (Local0, 0x08, CDW3) If (^XHC.CUID (Arg0)) { Return (^XHC.POSC (Arg1, Arg2, Arg3)) } Else { If (LGreaterEqual (OSYS, 0x07DC)) { If (LEqual (XCNT, Zero)) { ^XHC.XSEL () Increment (XCNT) } } } If (LAnd (LEqual (Arg0, GUID), NEXP)) { Store (CDW2, SUPP) /* \_SB_.PCI0.SUPP */ Store (CDW3, CTRL) /* \_SB_.PCI0.CTRL */ If (Not (And (CDW1, One))) { If (And (CTRL, One)) { NHPG () } If (And (CTRL, 0x04)) { NPME () } } If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) /* \_SB_.PCI0._OSC.CDW1 */ } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) /* \_SB_.PCI0._OSC.CDW1 */ } Store (CTRL, CDW3) /* \_SB_.PCI0._OSC.CDW3 */ Store (CTRL, OSCC) /* \OSCC */ Return (Local0) } Else { Or (CDW1, 0x04, CDW1) /* \_SB_.PCI0._OSC.CDW1 */ Return (Local0) } } Device (P0P1) { Name (_ADR, 0x001E0000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (PMEE) { Return (GPRW (0x6B, 0x04)) } Else { Return (GPRW (0x6B, Zero)) } } Name (PR01, Package (0x18) { 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, LNKH, Zero }, Package (0x04) { 0x0002FFFF, One, LNKE, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKG, 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 }, Package (0x04) { 0x0004FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0004FFFF, One, LNKH, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0005FFFF, One, LNKE, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKG, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKF, Zero } }) Name (AR01, Package (0x18) { 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, 0x17 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x16 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x16 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x17 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x16 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x15 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR01) /* \_SB_.PCI0.P0P1.AR01 */ } Return (PR01) /* \_SB_.PCI0.P0P1.PR01 */ } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Scope (\_SB) { OperationRegion (PCI0.LPCB.LPC1, PCI_Config, Zero, 0x0100) Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve) { Offset (0x02), CDID, 16, Offset (0x08), CRID, 8, Offset (0x60), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x68), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0xAC), Offset (0xAD), Offset (0xAE), XUSB, 1 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PARC, 0x80, PARC) /* \_SB_.PARC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSA) /* \_SB_.PRSA */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKA._CRS.IRQ0 */ ShiftLeft (One, And (PARC, 0x0F), IRQ0) /* \_SB_.LNKA._CRS.IRQ0 */ Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) /* \_SB_.PARC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PBRC, 0x80, PBRC) /* \_SB_.PBRC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSB) /* \_SB_.PRSB */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKB._CRS.IRQ0 */ ShiftLeft (One, And (PBRC, 0x0F), IRQ0) /* \_SB_.LNKB._CRS.IRQ0 */ Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) /* \_SB_.PBRC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PCRC, 0x80, PCRC) /* \_SB_.PCRC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSC) /* \_SB_.PRSC */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKC._CRS.IRQ0 */ ShiftLeft (One, And (PCRC, 0x0F), IRQ0) /* \_SB_.LNKC._CRS.IRQ0 */ Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) /* \_SB_.PCRC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PDRC, 0x80, PDRC) /* \_SB_.PDRC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSD) /* \_SB_.PRSD */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKD._CRS.IRQ0 */ ShiftLeft (One, And (PDRC, 0x0F), IRQ0) /* \_SB_.LNKD._CRS.IRQ0 */ Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) /* \_SB_.PDRC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PERC, 0x80, PERC) /* \_SB_.PERC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSE) /* \_SB_.PRSE */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKE._CRS.IRQ0 */ ShiftLeft (One, And (PERC, 0x0F), IRQ0) /* \_SB_.LNKE._CRS.IRQ0 */ Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) /* \_SB_.PERC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PFRC, 0x80, PFRC) /* \_SB_.PFRC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSF) /* \_SB_.PRSF */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKF._CRS.IRQ0 */ ShiftLeft (One, And (PFRC, 0x0F), IRQ0) /* \_SB_.LNKF._CRS.IRQ0 */ Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) /* \_SB_.PFRC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PGRC, 0x80, PGRC) /* \_SB_.PGRC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSG) /* \_SB_.PRSG */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKG._CRS.IRQ0 */ ShiftLeft (One, And (PGRC, 0x0F), IRQ0) /* \_SB_.LNKG._CRS.IRQ0 */ Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) /* \_SB_.PGRC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Or (PHRC, 0x80, PHRC) /* \_SB_.PHRC */ } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSH) /* \_SB_.PRSH */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) Store (Zero, IRQ0) /* \_SB_.LNKH._CRS.IRQ0 */ ShiftLeft (One, And (PHRC, 0x0F), IRQ0) /* \_SB_.LNKH._CRS.IRQ0 */ Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) /* \_SB_.PHRC */ } Method (_STA, 0, Serialized) // _STA: Status { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x40), IOD0, 8, IOD1, 8, Offset (0x78), , 6, GR03, 2, Offset (0x7A), GR08, 2, GR09, 2, GR0A, 2, GR0B, 2, Offset (0x7C), , 2, GR19, 2, Offset (0x80), Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } Device (EC0) { Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (ECAV, Zero) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Return (BFFR) /* \_SB_.PCI0.LPCB.EC0_._CRS.BFFR */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (ECON, One)) { Return (0x0F) } Return (Zero) } OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { VCMD, 8, VDAT, 8, VSTS, 8, Offset (0x06), FANS, 8, BUSG, 1, BLEG, 1, BATF, 1, BNSM, 1, BTST, 1, BBAD, 1, AUTO, 1, FCHG, 1, ABTL, 8, DBTL, 8, EDCC, 1, ALSC, 1, CDMB, 1, CCSB, 1, BTSM, 1, BTCM, 1, LBTM, 1, CSBM, 1, SGST, 1, HDMI, 1, HYBD, 1, SWST, 1, EVNT, 1, DCRF, 1, COLR, 1, SGCN, 1, ODPO, 1, EODD, 1, ODPK, 1, CMEX, 1, CMON, 1, SODD, 1, ODFB, 1, EODS, 1, RTMP, 8, VTMP, 8, AFCC, 8, PINF, 3, SUPR, 1, GTMP, 1, QUIT, 1, LS35, 1, Offset (0x11), RMBT, 1, RSBT, 1, VTYP, 2, Offset (0x12), FUSL, 8, FUSH, 8, FWBT, 64, Offset (0x5D), EXSI, 8, EXSB, 8, EXND, 8, SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMDA, 256, BCNT, 8, SMAA, 8, SAD0, 8, SAD1, 8, Offset (0x90), BMN0, 72, BDN0, 56, IBTL, 1, IBCL, 1, ISS0, 1, IRTC, 1, ISUP, 1, ISC2, 1, IWAK, 1, Offset (0xA1), , 1, VOUT, 1, TPAD, 1, HKDB, 1, Offset (0xA2), Offset (0xA3), OSTY, 3, , 1, ADPI, 2, , 1, ADPT, 1, PMEW, 1, MODW, 1, LANW, 1, RTCW, 1, WLAW, 1, USBW, 1, KEYW, 1, TPWK, 1, CHCR, 1, ADPP, 1, LERN, 1, ACMD, 1, BOVP, 1, LEAK, 1, AIRP, 1, ACOF, 1, S3EN, 1, S3RS, 1, S4EN, 1, S4RS, 1, S5EN, 1, S5RS, 1, Offset (0xA7), OSTT, 8, OSST, 8, THRT, 8, TCOT, 8, MODE, 1, , 2, INIT, 1, FAN1, 1, FAN2, 1, FAOK, 1, SKIN, 1, SDTE, 8, SPDN, 4, FNUM, 4, TLVL, 4, , 2, THSW, 1, TPIN, 1, TSTH, 1, TSCP, 1, , 2, PLVL, 4, CPUT, 8, CPTL, 8, Offset (0xB7), , 1, PWDB, 1, DIGT, 1, CDLK, 1, Offset (0xB8), , 1, LSTE, 1, PMEE, 1, PWBE, 1, RNGE, 1, BTWE, 1, Offset (0xB9), LCBV, 8, AOAC, 1, S35F, 1, IFFS, 1, INS0, 1, ISBL, 1, ISOV, 1, , 1, ISRT, 1, WLAN, 1, BLUE, 1, WEXT, 1, BEXT, 1, KILL, 1, WLOK, 1, EN3G, 1, EX3G, 1, KPID, 8, CTYP, 3, CORE, 3, GATY, 2, BA1P, 1, BA2P, 1, , 2, B1CH, 1, B2CH, 1, Offset (0xBF), PBY1, 1, PBY2, 1, , 2, SMB1, 1, SMB2, 1, Offset (0xC0), B1TY, 1, B1MD, 1, B1LW, 1, , 1, B1MF, 3, Offset (0xC1), B1ST, 8, B1RC, 16, B1SN, 16, B1FV, 16, B1DV, 16, B1DC, 16, B1FC, 16, B1GS, 8, B1CT, 8, B1CR, 16, B1AC, 16, B1PC, 8, B1VL, 8, B1TM, 8, B1AT, 8, B1CC, 16, B1TC, 8, B1CI, 8, B1CU, 8, B1CA, 8, B1SM, 16, B1VC, 8, B1FA, 8, B1VA, 8, B1C1, 16, B1C2, 16, B1C3, 16, B1C4, 16, Offset (0xF0), B1EX, 1, B1FL, 1, B1EP, 1, B1FI, 1, , 2, B1RE, 1, Offset (0xF1), B1LL, 1, B1CE, 1, B1SE, 1, B1S5, 1, B1SR, 1, B1SC, 1, Offset (0xF2), B1TO, 1, B1BC, 1, B1CF, 1, B1CS, 1, B1SG, 1, B1SU, 1, B1OV, 1, B1OT, 1, B1TT, 1, B1SA, 1, B1SS, 1, , 1, B1SF, 1, B1WN, 1, Offset (0xF4), B1DA, 16, Offset (0xF8), B1CN, 8, LUXV, 16 } Method (ECMD, 1, Serialized) { Return (Zero) } Device (CIND) { Name (_HID, "CIND0C60") // _HID: Hardware ID Name (_CID, "PNP0C60" /* Display Sensor Device */) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LGreaterEqual (OSYS, 0x07DC)) { Return (0x0F) } Return (Zero) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { _SB }) Name (PBIF, Package (0x0D) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, Zero, Zero, 0x64, Zero, "AIUU0", "BAT20101001", "Li Polymer", "Lenovo IdeaPad" }) Name (PBST, Package (0x04) { One, 0x0A90, 0x1000, 0x2A30 }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (ECON, One)) { Store (BA1P, Local0) If (And (Local0, One)) { Return (0x1F) } Else { Return (0x0F) } } Else { Return (0x1F) } Return (Zero) } Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { If (LEqual (ECON, One)) { Store (B1DC, Local0) Multiply (Local0, 0x0A, Local0) Store (Local0, Index (PBIF, One)) Store (B1FC, Local0) Multiply (Local0, 0x0A, Local0) Store (Local0, Index (PBIF, 0x02)) Store (B1DV, Index (PBIF, 0x04)) Store ("", Index (PBIF, 0x09)) Store ("", Index (PBIF, 0x0B)) } Return (PBIF) /* \_SB_.PCI0.LPCB.EC0_.BAT0.PBIF */ } Name (OBST, Zero) Name (OBAC, Zero) Name (OBPR, Zero) Name (OBRC, Zero) Name (OBPV, Zero) Method (_BST, 0, Serialized) // _BST: Battery Status { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (ECON, One)) { Sleep (0x10) Store (B1ST, Local0) Store (DerefOf (Index (PBST, Zero)), Local1) While (One) { Store (And (Local0, 0x07), _T_0) /* \_SB_.PCI0.LPCB.EC0_.BAT0._BST._T_0 */ If (LEqual (_T_0, Zero)) { Store (And (Local1, 0xF8), OBST) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBST */ } Else { If (LEqual (_T_0, One)) { Store (Or (One, And (Local1, 0xF8)), OBST) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBST */ } Else { If (LEqual (_T_0, 0x02)) { Store (Or (0x02, And (Local1, 0xF8)), OBST) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBST */ } Else { If (LEqual (_T_0, 0x04)) { Store (Or (0x04, And (Local1, 0xF8)), OBST) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBST */ } } } } Break } Sleep (0x10) Store (B1AC, OBAC) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBAC */ If (And (OBST, One)) { Store (And (Not (OBAC), 0x7FFF), OBAC) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBAC */ } Store (OBAC, OBPR) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBPR */ Sleep (0x10) Store (B1RC, OBRC) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBRC */ Sleep (0x10) Store (B1FV, OBPV) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBPV */ Multiply (OBRC, 0x0A, OBRC) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBRC */ Store (Divide (Multiply (OBAC, OBPV), 0x03E8, ), OBPR) /* \_SB_.PCI0.LPCB.EC0_.BAT0.OBPR */ Store (OBST, Index (PBST, Zero)) Store (OBPR, Index (PBST, One)) Store (OBRC, Index (PBST, 0x02)) Store (OBPV, Index (PBST, 0x03)) } Return (PBST) /* \_SB_.PCI0.LPCB.EC0_.BAT0.PBST */ } } Scope (\) { Name (APFG, Zero) } Scope (\_SB.PCI0.LPCB.EC0) { Device (VPC0) { Name (_HID, "VPC2004") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_VPC, 0x00FDE104) Name (VPCD, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CFG, 0, NotSerialized) { If (LEqual (OSYS, 0x07D9)) { Store (_VPC, Local0) If (ECON) { If (LEqual (RP4D, Zero)) { Or (Local0, 0x00040000, Local0) Store (One, WEXT) /* \_SB_.PCI0.LPCB.EC0_.WEXT */ } Else { And (Local0, 0xFFFBFFFF, Local0) Store (Zero, WEXT) /* \_SB_.PCI0.LPCB.EC0_.WEXT */ } Store (One, BEXT) /* \_SB_.PCI0.LPCB.EC0_.BEXT */ If (LEqual (CMWL, One)) { Store (One, WLAN) /* \_SB_.PCI0.LPCB.EC0_.WLAN */ WTGP (0x58, One) } Else { Store (Zero, WLAN) /* \_SB_.PCI0.LPCB.EC0_.WLAN */ WTGP (0x58, Zero) } If (LEqual (CMBL, One)) { Store (One, BLUE) /* \_SB_.PCI0.LPCB.EC0_.BLUE */ WTGP (0x57, One) } Else { Store (Zero, BLUE) /* \_SB_.PCI0.LPCB.EC0_.BLUE */ WTGP (0x57, Zero) } Store (Local0, _VPC) /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */ } } Store (One, APFG) /* \APFG */ Return (_VPC) /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */ } Method (VPCR, 1, Serialized) { If (LEqual (Arg0, One)) { Store (VCMD, VPCD) /* \_SB_.PCI0.LPCB.EC0_.VPC0.VPCD */ } Else { Store (VDAT, VPCD) /* \_SB_.PCI0.LPCB.EC0_.VPC0.VPCD */ } Return (VPCD) /* \_SB_.PCI0.LPCB.EC0_.VPC0.VPCD */ } Method (VPCW, 2, Serialized) { If (LEqual (Arg0, One)) { Store (Arg1, VCMD) /* \_SB_.PCI0.LPCB.EC0_.VCMD */ } Else { Store (Arg1, VDAT) /* \_SB_.PCI0.LPCB.EC0_.VDAT */ } Return (Zero) } Method (SVCR, 1, Serialized) { } Method (HALS, 0, NotSerialized) { Store (Zero, Local0) Or (Local0, 0x08, Local0) Or (Local0, 0x0200, Local0) If (LNot (HKDB)) { Or (Local0, 0x0400, Local0) } Return (Local0) } Method (SALS, 1, Serialized) { Store (ToInteger (Arg0), Local0) If (LEqual (Local0, 0x0E)) { Store (Zero, HKDB) /* \_SB_.PCI0.LPCB.EC0_.HKDB */ Store (0x30, SMID) /* \SMID */ Store (0xCA, SMIC) /* \SMIC */ Return (Zero) } If (LEqual (Local0, 0x0F)) { Store (One, HKDB) /* \_SB_.PCI0.LPCB.EC0_.HKDB */ Store (0x31, SMID) /* \SMID */ Store (0xCA, SMIC) /* \SMIC */ Return (Zero) } Return (Zero) } Method (GBMD, 0, NotSerialized) { Store (0x10000000, Local0) If (LEqual (One, CDMB)) { Or (Local0, One, Local0) } If (LEqual (One, BBAD)) { Or (Local0, 0x08, Local0) } If (LEqual (One, LBTM)) { Or (Local0, 0x20, Local0) } If (LEqual (One, BLEG)) { Or (Local0, 0x80, Local0) } If (LEqual (One, BATF)) { Or (Local0, 0x0100, Local0) } If (LEqual (Zero, BTSM)) { Or (Local0, 0x0200, Local0) } Else { Or (Local0, 0x20, Local0) And (Local0, 0xFFFFFDFF, Local0) } If (LEqual (One, BUSG)) { Or (Local0, 0x0800, Local0) } If (LEqual (Zero, ADPI)) { And (Local0, 0xFFFE7FFF, Local0) } If (LEqual (One, ADPI)) { Or (Local0, 0x8000, Local0) } If (LEqual (0x02, ADPI)) { Or (Local0, 0x00010000, Local0) } Return (Local0) } Method (SBMC, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, CDMB) /* \_SB_.PCI0.LPCB.EC0_.CDMB */ Store (One, EDCC) /* \_SB_.PCI0.LPCB.EC0_.EDCC */ Return (Zero) } If (LEqual (Arg0, One)) { Store (One, CDMB) /* \_SB_.PCI0.LPCB.EC0_.CDMB */ Return (Zero) } If (LEqual (Arg0, 0x03)) { Store (One, BTSM) /* \_SB_.PCI0.LPCB.EC0_.BTSM */ Return (Zero) } If (LEqual (Arg0, 0x05)) { Store (Zero, BTSM) /* \_SB_.PCI0.LPCB.EC0_.BTSM */ Return (Zero) } Return (Zero) } Method (MHCF, 1, NotSerialized) { Store (0x78, P80H) /* \P80H */ Store (Arg0, Local0) And (Local0, 0x20, Local0) ShiftRight (Local0, 0x05, Local0) Store (Local0, RMBT) /* \_SB_.PCI0.LPCB.EC0_.RMBT */ Sleep (0x14) Return (Local0) } Method (MHPF, 1, NotSerialized) { Name (BFWB, Buffer (0x25) {}) CreateByteField (BFWB, Zero, FB0) CreateByteField (BFWB, One, FB1) CreateByteField (BFWB, 0x02, FB2) CreateByteField (BFWB, 0x03, FB3) CreateField (BFWB, 0x20, 0x0100, FB4) CreateByteField (BFWB, 0x24, FB5) If (LLessEqual (SizeOf (Arg0), 0x25)) { If (LNotEqual (SMPR, Zero)) { Store (SMST, FB1) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB1_ */ } Else { Store (Arg0, BFWB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.BFWB */ Store (FB2, SMAD) /* \_SB_.PCI0.LPCB.EC0_.SMAD */ Store (FB3, SMCM) /* \_SB_.PCI0.LPCB.EC0_.SMCM */ Store (FB5, BCNT) /* \_SB_.PCI0.LPCB.EC0_.BCNT */ Store (FB0, Local0) If (LEqual (And (Local0, One), Zero)) { Store (FB4, SMDA) /* \_SB_.PCI0.LPCB.EC0_.SMDA */ } Store (Zero, SMST) /* \_SB_.PCI0.LPCB.EC0_.SMST */ Store (FB0, SMPR) /* \_SB_.PCI0.LPCB.EC0_.SMPR */ Store (0x03E8, Local1) While (Local1) { Sleep (One) Decrement (Local1) If (LOr (LAnd (SMST, 0x80), LEqual (SMPR, Zero))) { Break } } Store (FB0, Local0) If (LNotEqual (And (Local0, One), Zero)) { Store (SMDA, FB4) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB4_ */ } Store (SMST, FB1) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB1_ */ If (LOr (LEqual (Local1, Zero), LNot (LAnd (SMST, 0x80)))) { Store (Zero, SMPR) /* \_SB_.PCI0.LPCB.EC0_.SMPR */ Store (0x92, FB1) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB1_ */ } } Return (BFWB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.BFWB */ } } Method (MHIF, 1, NotSerialized) { Store (0x50, P80H) /* \P80H */ If (LEqual (Arg0, Zero)) { Name (RETB, Buffer (0x0A) {}) Name (BUF1, Buffer (0x08) {}) Store (FWBT, BUF1) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHIF.BUF1 */ CreateByteField (BUF1, Zero, FW0) CreateByteField (BUF1, One, FW1) CreateByteField (BUF1, 0x02, FW2) CreateByteField (BUF1, 0x03, FW3) CreateByteField (BUF1, 0x04, FW4) CreateByteField (BUF1, 0x05, FW5) CreateByteField (BUF1, 0x06, FW6) CreateByteField (BUF1, 0x07, FW7) Store (FUSL, Index (RETB, Zero)) Store (FUSH, Index (RETB, One)) Store (FW0, Index (RETB, 0x02)) Store (FW1, Index (RETB, 0x03)) Store (FW2, Index (RETB, 0x04)) Store (FW3, Index (RETB, 0x05)) Store (FW4, Index (RETB, 0x06)) Store (FW5, Index (RETB, 0x07)) Store (FW6, Index (RETB, 0x08)) Store (FW7, Index (RETB, 0x09)) Return (RETB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHIF.RETB */ } } Method (HODD, 0, NotSerialized) { } Method (SODD, 1, Serialized) { } Method (GBID, 0, Serialized) { Name (GBUF, Package (0x04) { Buffer (0x02) { 0x00, 0x00 /* .. */ }, Buffer (0x02) { 0x00, 0x00 /* .. */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Store (B1CT, Index (DerefOf (Index (GBUF, Zero)), Zero)) Store (Zero, Index (DerefOf (Index (GBUF, One)), Zero)) Name (BUF1, Buffer (0x08) {}) Store (FWBT, BUF1) /* \_SB_.PCI0.LPCB.EC0_.VPC0.GBID.BUF1 */ CreateByteField (BUF1, Zero, FW0) CreateByteField (BUF1, One, FW1) CreateByteField (BUF1, 0x02, FW2) CreateByteField (BUF1, 0x03, FW3) CreateByteField (BUF1, 0x04, FW4) CreateByteField (BUF1, 0x05, FW5) CreateByteField (BUF1, 0x06, FW6) CreateByteField (BUF1, 0x07, FW7) Store (FW0, Index (DerefOf (Index (GBUF, 0x02)), Zero)) Store (FW1, Index (DerefOf (Index (GBUF, 0x02)), One)) Store (FW2, Index (DerefOf (Index (GBUF, 0x02)), 0x02)) Store (FW3, Index (DerefOf (Index (GBUF, 0x02)), 0x03)) Store (FW4, Index (DerefOf (Index (GBUF, 0x02)), 0x04)) Store (FW5, Index (DerefOf (Index (GBUF, 0x02)), 0x05)) Store (FW6, Index (DerefOf (Index (GBUF, 0x02)), 0x06)) Store (FW7, Index (DerefOf (Index (GBUF, 0x02)), 0x07)) Store (Zero, Index (DerefOf (Index (GBUF, 0x03)), Zero)) Return (GBUF) /* \_SB_.PCI0.LPCB.EC0_.VPC0.GBID.GBUF */ } Name (APDT, Zero) Method (APPC, 1, Serialized) { Store (Arg0, APDT) /* \_SB_.PCI0.LPCB.EC0_.VPC0.APDT */ Return (Zero) } Method (DBSL, 0, NotSerialized) { Return (Package (0x10) { 0xC9, 0xAE, 0x95, 0x7E, 0x69, 0x56, 0x45, 0x36, 0x29, 0x1E, 0x15, 0x0E, 0x09, 0x06, 0x05, Zero }) } Method (SBSL, 1, Serialized) { Store (Arg0, Local0) If (LEqual (Local0, One)) { Store (0x0E, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } If (LEqual (Local0, 0x02)) { Store (0x07, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } Return (Zero) } Method (STHT, 1, Serialized) { Return (Zero) } } } Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) { If (LEqual (OSYS, 0x03E8)) { Store (One, Local0) } If (LEqual (OSYS, 0x07D6)) { Store (0x02, Local0) } If (LEqual (OSYS, 0x07D9)) { Store (0x03, Local0) } If (LEqual (OSYS, 0x07DC)) { Store (0x04, Local0) } If (LEqual (OSYS, 0x07DD)) { Store (0x05, Local0) } Store (Local0, OSTY) /* \_SB_.PCI0.LPCB.EC0_.OSTY */ } } Name (_GPE, 0x07) // _GPE: General Purpose Events OperationRegion (SPRT, SystemIO, 0xB3, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SMSF, 8 } Method (SERF, 1, NotSerialized) { Store (Arg0, SMSF) /* \_SB_.PCI0.LPCB.EC0_.SMSF */ Store (0xC1, SSMP) /* \SSMP */ } Method (GCBL, 0, Serialized) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler Store (0x43, P80H) /* \P80H */ Store (Zero, Local0) Store (^^^GFX0.CBLV, Local1) And (Local1, 0xFF, Local1) While (One) { Store (ToInteger (Local1), _T_0) /* \_SB_.PCI0.LPCB.EC0_.GCBL._T_0 */ If (LEqual (_T_0, Zero)) { Store (Zero, Local0) Break } Else { If (LEqual (_T_0, 0x04)) { Store (One, Local0) Break } Else { If (LEqual (_T_0, 0x05)) { Store (0x02, Local0) Break } Else { If (LEqual (_T_0, 0x06)) { Store (0x03, Local0) Break } Else { If (LEqual (_T_0, 0x07)) { Store (0x04, Local0) Break } Else { If (LEqual (_T_0, 0x09)) { Store (0x05, Local0) Break } Else { If (LEqual (_T_0, 0x0A)) { Store (0x06, Local0) Break } Else { If (LEqual (_T_0, 0x0C)) { Store (0x07, Local0) Break } Else { If (LEqual (_T_0, 0x0E)) { Store (0x08, Local0) Break } Else { If (LEqual (_T_0, 0x12)) { Store (0x09, Local0) Break } Else { If (LEqual (_T_0, 0x18)) { Store (0x0A, Local0) Break } Else { If (LEqual (_T_0, 0x1D)) { Store (0x0B, Local0) Break } Else { If (LEqual (_T_0, 0x25)) { Store (0x0C, Local0) Break } Else { If (LEqual (_T_0, 0x32)) { Store (0x0D, Local0) Break } Else { If (LEqual (_T_0, 0x48)) { Store (0x0E, Local0) Break } Else { If (LEqual (_T_0, 0x64)) { Store (0x0F, Local0) Break } } } } } } } } } } } } } } } } Break } Store (Local0, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } Method (_Q11, 0, NotSerialized) // _Qxx: EC Query { Store (0x11, P80H) /* \P80H */ If (LEqual (OSYS, 0x07D9)) { GCBL () Store (LCBV, Local0) If (LGreater (Local0, 0x0F)) { Store (0x0F, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } If (LNotEqual (Local0, Zero)) { Subtract (Local0, One, Local0) Store (Local0, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } } Notify (^^^GFX0.DD1F, 0x87) // Device-Specific Notify (VPC0, 0x80) // Status Change } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query { Store (0x12, P80H) /* \P80H */ If (LEqual (OSYS, 0x07D9)) { GCBL () Store (LCBV, Local0) If (LLess (Local0, 0x0F)) { Add (Local0, One, Local0) Store (Local0, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } Else { Store (0x0F, LCBV) /* \_SB_.PCI0.LPCB.EC0_.LCBV */ } } Notify (^^^GFX0.DD1F, 0x86) // Device-Specific Notify (VPC0, 0x80) // Status Change } Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query { Store (0x1C, P80H) /* \P80H */ Notify (VPC0, 0x80) // Status Change } Method (_Q25, 0, NotSerialized) // _Qxx: EC Query { Store (0x25, P80H) /* \P80H */ Notify (ADP0, 0x80) // Status Change Notify (BAT0, 0x80) // Status Change Notify (BAT0, 0x81) // Information Change } Method (_Q37, 0, NotSerialized) // _Qxx: EC Query { Sleep (0x012C) Store (0x37, P80H) /* \P80H */ Store (One, PWRS) /* \PWRS */ Notify (ADP0, 0x80) // Status Change Notify (BAT0, 0x80) // Status Change PNOT () } Method (_Q38, 0, NotSerialized) // _Qxx: EC Query { Sleep (0x012C) Store (0x38, P80H) /* \P80H */ Store (Zero, PWRS) /* \PWRS */ Notify (ADP0, 0x80) // Status Change Notify (BAT0, 0x80) // Status Change PNOT () } Method (_Q32, 0, NotSerialized) // _Qxx: EC Query { Store (0x32, P80H) /* \P80H */ Notify (PWRB, 0x80) // Status Change } Method (_Q42, 0, NotSerialized) // _Qxx: EC Query { If (LEqual (OSYS, 0x07D9)) { Store (0x42, P80H) /* \P80H */ If (LEqual (APFG, One)) { If (LAnd (WLAN, WEXT)) { WTGP (0x58, One) } Else { WTGP (0x58, Zero) } If (BLUE) { WTGP (0x57, One) } Else { WTGP (0x57, Zero) } } Else { WTGP (0x58, One) WTGP (0x57, One) } } } Method (_Q44, 0, NotSerialized) // _Qxx: EC Query { Store (0x44, P80H) /* \P80H */ Notify (VPC0, 0x80) // Status Change } Method (_Q53, 0, NotSerialized) // _Qxx: EC Query { } Scope (\) { Name (GPSF, Zero) Name (DCPS, Zero) } Name (DGST, 0xD1) Method (_Q62, 0, NotSerialized) // _Qxx: EC Query { If (LEqual (GATY, 0x02)) { Store (One, DCPS) /* \DCPS */ If (LNotEqual (DGST, 0xD2)) { Store (0x62, P80H) /* \P80H */ Store (0xD2, DGST) /* \_SB_.PCI0.LPCB.EC0_.DGST */ Notify (^^^RP05.PEGP, 0xD2) // Hardware-Specific } Sleep (0x0A) If (LEqual (GPSF, One)) { Store (Zero, GPSF) /* \GPSF */ Notify (^^^RP05.PEGP, 0xC0) // Hardware-Specific } } } Method (_Q63, 0, NotSerialized) // _Qxx: EC Query { If (LEqual (GATY, 0x02)) { Store (Zero, DCPS) /* \DCPS */ If (LNotEqual (DGST, 0xD1)) { Store (0x63, P80H) /* \P80H */ Store (0xD1, DGST) /* \_SB_.PCI0.LPCB.EC0_.DGST */ Notify (^^^RP05.PEGP, 0xD1) // Hardware-Specific } Sleep (0x0A) If (LEqual (GPSF, Zero)) { Store (One, GPSF) /* \GPSF */ Notify (^^^RP05.PEGP, 0xC0) // Hardware-Specific } } } Method (_Q66, 0, NotSerialized) // _Qxx: EC Query { Store (0xCC, SMIC) /* \SMIC */ } Method (_Q67, 0, NotSerialized) // _Qxx: EC Query { Store (0xCD, SMIC) /* \SMIC */ } Name (CMFP, Package (0x0E) { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x60, 0x61, 0x62, 0x63, 0x64, 0x20, 0x21, 0x22 }) Mutex (CFMX, 0x00) Method (CFUN, 4, Serialized) { Name (ESRC, 0x05) If (LNotEqual (Match (CMFP, MEQ, DerefOf (Index (Arg0, Zero)), MTR, Zero, Zero), Ones)) { Acquire (CFMX, 0xFFFF) Store (Arg0, SMID) /* \SMID */ Store (Arg1, SFNO) /* \SFNO */ Store (Arg2, BFDT) /* \BFDT */ Store (0xCE, SMIC) /* \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) /* \CAVR */ Store (One, STDT) /* \STDT */ } Else { If (LEqual (DerefOf (Index (Arg1, Zero)), 0x02)) { Store (Buffer (0x80) {}, Local0) CreateByteField (Local0, Zero, BFD0) Store (0x08, BFD0) /* \_SB_.PCI0.LPCB.EC0_.CFUN.BFD0 */ Store (One, STDT) /* \STDT */ Store (Local0, BFDT) /* \BFDT */ } Else { Store (Zero, STDT) /* \STDT */ } } } Else { If (LEqual (DerefOf (Index (Arg0, Zero)), 0x18)) { Acquire (CFMX, 0xFFFF) If (LEqual (DerefOf (Index (Arg1, Zero)), 0x02)) { Store (Zero, SMDA) /* \_SB_.PCI0.LPCB.EC0_.SMDA */ Store (DerefOf (Index (Arg2, One)), SMAD) /* \_SB_.PCI0.LPCB.EC0_.SMAD */ Store (DerefOf (Index (Arg2, 0x02)), SMCM) /* \_SB_.PCI0.LPCB.EC0_.SMCM */ Store (DerefOf (Index (Arg2, Zero)), SMPR) /* \_SB_.PCI0.LPCB.EC0_.SMPR */ While (LAnd (Not (LEqual (ESRC, Zero)), Not (LEqual (And (SMST, 0x80 ), 0x80)))) { Sleep (0x14) Subtract (ESRC, One, ESRC) /* \_SB_.PCI0.LPCB.EC0_.CFUN.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) /* \P80H */ Store (BCNT, Index (Local1, One)) Store (SMDA, 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) /* \BFDT */ Store (One, STDT) /* \STDT */ } Else { Store (0xC5, P80H) /* \P80H */ Store (Zero, STDT) /* \STDT */ } } Else { Store (0xC6, P80H) /* \P80H */ Store (Zero, STDT) /* \STDT */ } Release (CFMX) } Else { Store (Zero, STDT) /* \STDT */ } } } } Mutex (PFMX, 0x00) Method (PFUN, 4, Serialized) { Acquire (PFMX, 0xFFFF) Store (Arg0, SMID) /* \SMID */ Store (Arg1, SFNO) /* \SFNO */ Store (Arg2, BFDT) /* \BFDT */ Store (0xCF, SMIC) /* \SMIC */ Release (PFMX) Store (Zero, STDT) /* \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 { Store (Index (Arg0, Zero), P80H) /* \P80H */ PFUN (Arg0, Arg1, Arg2, Arg3) Store (0x8000, Index (RTVL, Zero)) Return (RTVL) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTVL */ } Store (STDT, RTST) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTST */ Store (BFDT, RTDT) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTDT */ Return (Local1) } Else { Store (0x8000, Index (RTVL, Zero)) } } Return (RTVL) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTVL */ } } Scope (\_SB) { Device (ADP0) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (ECON, One)) { Return (0x0F) } Return (Zero) } Method (_PSR, 0, NotSerialized) // _PSR: Power Source { Return (^^PCI0.LPCB.EC0.ADPT) /* \_SB_.PCI0.LPCB.EC0_.ADPT */ } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (ECON, One)) { Return (0x0F) } Return (Zero) } Method (_LID, 0, NotSerialized) // _LID: Lid Status { Return (GL14) /* \GL14 */ } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0E, 0x03 }) } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x17, 0x04 }) } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (ECON, One)) { Return (0x0F) } Return (Zero) } } } Scope (\) { OperationRegion (COMP, SystemMemory, 0xAAFBEC98, 0x00000200) Field (COMP, AnyAcc, Lock, Preserve) { RSV0, 32, BDID, 8, CPFB, 8, PBTI, 8, BRLV, 8, CAVR, 8, TJMA, 16, CORE, 8, CG12, 8, TPID, 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, RSV2, 1024 } } Device (DMAC) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0F) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LGreaterEqual (OSYS, 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (HPAE) { CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y0F._BAS, HPT0) // _BAS: Base Address If (LEqual (HPAS, One)) { Store (0xFED01000, HPT0) /* \_SB_.PCI0.LPCB.HPET._CRS.HPT0 */ } If (LEqual (HPAS, 0x02)) { Store (0xFED02000, HPT0) /* \_SB_.PCI0.LPCB.HPET._CRS.HPT0 */ } If (LEqual (HPAS, 0x03)) { Store (0xFED03000, HPT0) /* \_SB_.PCI0.LPCB.HPET._CRS.HPT0 */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */ } } Device (IPIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x1F) } Else { Return (Zero) } } } Device (LDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x1800, // Range Minimum 0x1800, // Range Maximum 0x01, // Alignment 0xFF, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) } Device (LDR2) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x80, // Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } } Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (CWDT) { Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x1854, // Range Minimum 0x1854, // Range Maximum 0x04, // Alignment 0x04, // Length ) }) Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (WDTE, One)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */ } } Device (N393) { Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If (NATP) { Return (0x0F) } Return (Zero) } OperationRegion (N393, SystemIO, 0x2E, 0x02) Field (N393, ByteAcc, Lock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, Lock, Preserve) { Offset (0x07), R07H, 8, Offset (0x20), R20H, 8, R21H, 8, R22H, 8, R23H, 8, R24H, 8, R25H, 8, R26H, 8, R27H, 8, R28H, 8, R29H, 8, R2AH, 8, Offset (0x30), R30H, 8, Offset (0x60), R60H, 8, R61H, 8, Offset (0x70), R70H, 8, R71H, 8, Offset (0x74), R74H, 8, R75H, 8, Offset (0xF0), RF0H, 8, RF1H, 8 } Device (UAR3) { Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (NATP, CMAP)) { Store (0x03, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (R30H) { Return (0x0F) } Return (0x0D) } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x03, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length _Y10) IRQNoFlags (_Y11) {4} }) Store (0x03, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LAnd (NATP, CMAP)) { CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y10._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y10._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y10._LEN, LEN0) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.UAR3._CRS._Y11._INT, IRQW) // _INT: Interrupts Store (R60H, IOH0) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.IOH0 */ Store (R61H, IOL0) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.IOL0 */ Store (R60H, IOH1) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.IOH1 */ Store (R61H, IOL1) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.IOL1 */ Store (0x08, LEN0) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.LEN0 */ And (R70H, 0x0F, Local0) If (Local0) { ShiftLeft (One, Local0, IRQW) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.IRQW */ } Else { Store (Zero, IRQW) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.IRQW */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.N393.UAR3._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) Store (0x03, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ Store (IOLO, R61H) /* \_SB_.PCI0.LPCB.N393.R61H */ Store (IOHI, R60H) /* \_SB_.PCI0.LPCB.N393.R60H */ FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) /* \_SB_.PCI0.LPCB.N393.R70H */ And (IOD0, 0xF8, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ If (LEqual (IOHI, 0x03)) { If (LEqual (IOLO, 0xF8)) { Or (IOD0, Zero, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x07, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Else { If (LEqual (IOLO, 0xF8)) { Or (IOD0, One, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x05, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (0x03, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (0x03, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Device (UAR4) { Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (NATP, CMBP)) { Store (0x02, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (R30H) { Return (0x0F) } Return (0x0D) } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x02, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length _Y12) IRQNoFlags (_Y13) {3} }) Store (0x02, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LAnd (NATP, CMBP)) { CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y12._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y12._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y12._LEN, LEN0) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.UAR4._CRS._Y13._INT, IRQW) // _INT: Interrupts Store (R60H, IOH0) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.IOH0 */ Store (R61H, IOL0) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.IOL0 */ Store (R60H, IOH1) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.IOH1 */ Store (R61H, IOL1) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.IOL1 */ Store (0x08, LEN0) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.LEN0 */ And (R70H, 0x0F, Local0) If (Local0) { ShiftLeft (One, Local0, IRQW) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.IRQW */ } Else { Store (Zero, IRQW) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.IRQW */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.N393.UAR4._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) Store (0x02, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ Store (IOLO, R61H) /* \_SB_.PCI0.LPCB.N393.R61H */ Store (IOHI, R60H) /* \_SB_.PCI0.LPCB.N393.R60H */ FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) /* \_SB_.PCI0.LPCB.N393.R70H */ And (IOD0, 0x8F, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ If (LEqual (IOHI, 0x03)) { If (LEqual (IOLO, 0xF8)) { Or (IOD0, Zero, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x70, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Else { If (LEqual (IOLO, 0xF8)) { Or (IOD0, 0x10, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x50, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (0x02, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (0x02, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Device (LPT1) { Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LEqual (And (RF0H, 0xE0), Zero)) { If (LAnd (NATP, LPTP)) { If (R30H) { Return (0x0F) } Return (0x0D) } } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LEqual (And (RF0H, 0xE0), Zero)) { Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length _Y14) IRQNoFlags (_Y15) {7} }) If (LEqual (And (RF0H, 0xE0), Zero)) { CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y14._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y14._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y14._LEN, LEN0) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.LPT1._CRS._Y15._INT, IRQW) // _INT: Interrupts Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (R61H, IOL0) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IOL0 */ Store (R60H, IOH0) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IOH0 */ Store (IOL0, IOL1) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IOL1 */ Store (IOH0, IOH1) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IOH1 */ Store (0x04, LEN0) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.LEN0 */ If (And (R70H, 0x0F)) { ShiftLeft (One, And (R70H, 0x0F), IRQW) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IRQW */ } Else { Store (Zero, IRQW) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.IRQW */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.N393.LPT1._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOL0) CreateByteField (Arg0, 0x03, IOH0) CreateWordField (Arg0, 0x09, IRQW) Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ And (RF0H, 0x0F, RF0H) /* \_SB_.PCI0.LPCB.N393.RF0H */ Store (0x04, R74H) /* \_SB_.PCI0.LPCB.N393.R74H */ Store (IOL0, R61H) /* \_SB_.PCI0.LPCB.N393.R61H */ Store (IOH0, R60H) /* \_SB_.PCI0.LPCB.N393.R60H */ FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) /* \_SB_.PCI0.LPCB.N393.R70H */ And (IOD1, 0xFC, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ If (LEqual (IOH0, 0x03)) { If (LEqual (IOL0, 0x78)) { Or (IOD1, Zero, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Else { Or (IOD1, 0x02, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } } Else { Or (IOD1, One, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Device (PBI1) { Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LEqual (And (RF0H, 0xE0), 0x20)) { If (LAnd (NATP, LPTP)) { If (R30H) { Return (0x0F) } Return (0x0D) } } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LEqual (And (RF0H, 0xE0), 0x20)) { Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length _Y16) IRQNoFlags (_Y17) {7} }) If (LEqual (And (RF0H, 0xE0), 0x20)) { CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y16._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y16._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y16._LEN, LEN0) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.PBI1._CRS._Y17._INT, IRQW) // _INT: Interrupts Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (R61H, IOL0) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IOL0 */ Store (R60H, IOH0) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IOH0 */ Store (IOL0, IOL1) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IOL1 */ Store (IOH0, IOH1) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IOH1 */ Store (0x04, LEN0) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.LEN0 */ If (And (R70H, 0x0F)) { ShiftLeft (One, And (R70H, 0x0F), IRQW) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IRQW */ } Else { Store (Zero, IRQW) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.IRQW */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.N393.PBI1._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOL0) CreateByteField (Arg0, 0x03, IOH0) CreateWordField (Arg0, 0x09, IRQW) Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ Or (And (RF0H, 0x0F), 0x20, RF0H) /* \_SB_.PCI0.LPCB.N393.RF0H */ Store (0x04, R74H) /* \_SB_.PCI0.LPCB.N393.R74H */ Store (IOL0, R61H) /* \_SB_.PCI0.LPCB.N393.R61H */ Store (IOH0, R60H) /* \_SB_.PCI0.LPCB.N393.R60H */ FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) /* \_SB_.PCI0.LPCB.N393.R70H */ And (IOD1, 0xFC, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ If (LEqual (IOH0, 0x03)) { If (LEqual (IOL0, 0x78)) { Or (IOD1, Zero, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Else { Or (IOD1, 0x02, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } } Else { Or (IOD1, One, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Device (PEP1) { Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LOr (LEqual (And (RF0H, 0xE0), 0x60), LEqual (And (RF0H, 0xE0 ), 0x40))) { If (LAnd (NATP, LPTP)) { If (R30H) { Return (0x0F) } Else { Return (0x0D) } } } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LOr (LEqual (And (RF0H, 0xE0), 0x60), LEqual (And (RF0H, 0xE0 ), 0x40))) { Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length _Y18) IRQNoFlags (_Y19) {7} }) If (LOr (LEqual (And (RF0H, 0xE0), 0x60), LEqual (And (RF0H, 0xE0 ), 0x40))) { CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y18._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y18._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y18._LEN, LEN0) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.PEP1._CRS._Y19._INT, IRQW) // _INT: Interrupts Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (R61H, IOL0) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IOL0 */ Store (R60H, IOH0) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IOH0 */ Store (IOL0, IOL1) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IOL1 */ Store (IOH0, IOH1) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IOH1 */ Store (0x08, LEN0) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.LEN0 */ If (And (R70H, 0x0F)) { ShiftLeft (One, And (R70H, 0x0F), IRQW) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IRQW */ } Else { Store (Zero, IRQW) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.IRQW */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.N393.PEP1._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOL0) CreateByteField (Arg0, 0x03, IOH0) CreateWordField (Arg0, 0x09, IRQW) Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ Or (And (RF0H, 0x0F), 0x60, RF0H) /* \_SB_.PCI0.LPCB.N393.RF0H */ Store (0x04, R74H) /* \_SB_.PCI0.LPCB.N393.R74H */ Store (IOL0, R61H) /* \_SB_.PCI0.LPCB.N393.R61H */ Store (IOH0, R60H) /* \_SB_.PCI0.LPCB.N393.R60H */ FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) /* \_SB_.PCI0.LPCB.N393.R70H */ And (IOD1, 0xFC, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ If (LEqual (IOH0, 0x03)) { Or (IOD1, Zero, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Else { Or (IOD1, One, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Device (PEC1) { Name (_HID, EisaId ("PNP0401") /* ECP Parallel Port */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LOr (LEqual (And (RF0H, 0xE0), 0xE0), LEqual (And (RF0H, 0xE0 ), 0x80))) { If (LAnd (NATP, LPTP)) { If (R30H) { Return (0x0F) } Else { Return (0x0D) } } } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ If (LOr (LEqual (And (RF0H, 0xE0), 0xE0), LEqual (And (RF0H, 0xE0 ), 0x80))) { Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length _Y1A) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length _Y1B) IRQNoFlags (_Y1C) {7} DMA (Compatibility, NotBusMaster, Transfer8_16, _Y1D) {1} }) If (LOr (LEqual (And (RF0H, 0xE0), 0xE0), LEqual (And (RF0H, 0xE0 ), 0x80))) { CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1A._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1A._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1A._LEN, LEN0) // _LEN: Length CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1B._MIN, IOL2) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x0B, IOH2) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1B._MAX, IOL3) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x0D, IOH3) CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1B._LEN, LEN1) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1C._INT, IRQW) // _INT: Interrupts CreateByteField (BUF0, \_SB.PCI0.LPCB.N393.PEC1._CRS._Y1D._DMA, DMA0) // _DMA: Direct Memory Access Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (R61H, IOL0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL0 */ Store (R60H, IOH0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOH0 */ Store (IOL0, IOL1) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL1 */ Store (IOH0, IOH1) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOH1 */ Store (IOL0, IOL2) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL2 */ Store (Add (0x04, IOH0), IOH2) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOH2 */ Store (IOL0, IOL3) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOL3 */ Store (Add (0x04, IOH0), IOH3) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IOH3 */ Store (0x08, LEN0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.LEN0 */ Store (0x08, LEN1) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.LEN1 */ And (R70H, 0x0F, Local0) If (Local0) { ShiftLeft (One, Local0, IRQW) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IRQW */ } Else { Store (Zero, IRQW) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.IRQW */ } Store (R74H, Local0) If (LEqual (Local0, 0x04)) { Store (Zero, DMA0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.DMA0 */ } Else { ShiftLeft (One, Local0, DMA0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.DMA0 */ } } Return (BUF0) /* \_SB_.PCI0.LPCB.N393.PEC1._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {1,2,3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {1,2,3} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOL0) CreateByteField (Arg0, 0x03, IOH0) CreateWordField (Arg0, 0x11, IRQW) CreateByteField (Arg0, 0x14, DMA0) Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ Or (RF0H, 0xF0, RF0H) /* \_SB_.PCI0.LPCB.N393.RF0H */ Store (IOL0, R61H) /* \_SB_.PCI0.LPCB.N393.R61H */ Store (IOH0, R60H) /* \_SB_.PCI0.LPCB.N393.R60H */ FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) /* \_SB_.PCI0.LPCB.N393.R70H */ FindSetRightBit (DMA0, Local0) If (LNotEqual (DMA0, Zero)) { Decrement (Local0) } Store (Local0, R74H) /* \_SB_.PCI0.LPCB.N393.R74H */ And (IOD1, 0xFC, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ If (LEqual (IOH0, 0x03)) { Or (IOD1, Zero, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Else { Or (IOD1, One, IOD1) /* \_SB_.PCI0.LPCB.IOD1 */ } Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (One, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (One, R07H) /* \_SB_.PCI0.LPCB.N393.R07H */ Store (Zero, R30H) /* \_SB_.PCI0.LPCB.N393.R30H */ } } } Scope (\) { OperationRegion (S_IO, SystemIO, IO2B, 0x11) Field (S_IO, ByteAcc, NoLock, Preserve) { PMS0, 8, PME0, 8, PMS1, 8, PMS2, 8, PMS3, 8, PME1, 8, PME2, 8, PME3, 8, SS10, 1, SS11, 1, SS12, 1, SS13, 1, SS14, 1, SS15, 1, SS16, 1, SS17, 1, SMS2, 8, SE10, 1, SE11, 1, SE12, 1, SE13, 1, SE14, 1, SE15, 1, SE16, 1, SE17, 1, SME2, 8, RT10, 1, RT11, 1, RT12, 1, RT13, 1, RT14, 1, RT15, 1, RT16, 1, RT17, 1, Offset (0x0E), RT30, 1, RT31, 1, RT32, 1, RT33, 1, RT34, 1, RT35, 1, RT36, 1, RT37, 1, Offset (0x10), DLPC, 1, CK33, 1, CK14, 1 } } Device (SM17) { Name (_HID, EisaId ("PNP0A05") /* Generic Container Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If (SMSC) { Return (0x0F) } Return (Zero) } OperationRegion (SM17, SystemIO, SP1O, 0x02) Field (SM17, ByteAcc, Lock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, Lock, Preserve) { Offset (0x02), CR02, 8, Offset (0x0C), CR0C, 8, Offset (0x24), CR24, 8, CR25, 8, Offset (0x28), CR28, 8, Offset (0x2B), CR2B, 8, CR2C, 8, Offset (0x3A), CR3A, 8, CR3B, 8, CR3C, 8, Offset (0x55), CR55, 8, Offset (0xAA), CRAA, 8 } Device (UAR1) { Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x68, 0x03)) } Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (SMSC, COMA)) { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (CR02, Local0) Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ If (And (Local0, 0x08)) { Return (0x0F) } Return (0x0D) } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (And (CR02, 0xF0), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length _Y1E) IRQNoFlags (_Y1F) {4} }) If (LAnd (SMSC, COMA)) { CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y1E._MIN, IOL0) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y1E._MAX, IOL1) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y1E._LEN, LEN0) // _LEN: Length CreateWordField (BUF0, \_SB.PCI0.LPCB.SM17.UAR1._CRS._Y1F._INT, IRQW) // _INT: Interrupts Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ ShiftLeft (CR24, 0x02, IOL0) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.IOL0 */ ShiftLeft (CR24, 0x02, IOL1) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.IOL1 */ ShiftRight (CR24, 0x06, IOH0) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.IOH0 */ ShiftRight (CR24, 0x06, IOH1) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.IOH1 */ Store (0x08, LEN0) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.LEN0 */ ShiftLeft (One, ShiftRight (And (CR28, 0xF0), 0x04), IRQW) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.IRQW */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Return (BUF0) /* \_SB_.PCI0.LPCB.SM17.UAR1._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4,5,6,7,10,11,12} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4,5,6,7,10,11,12} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4,5,6,7,10,11,12} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4,5,6,7,10,11,12} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (And (CR02, 0xF0), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (ShiftRight (IOLO, 0x02), CR24) /* \_SB_.PCI0.LPCB.SM17.CR24 */ Or (CR24, ShiftLeft (IOHI, 0x06), CR24) /* \_SB_.PCI0.LPCB.SM17.CR24 */ And (CR28, 0x0F, CR28) /* \_SB_.PCI0.LPCB.SM17.CR28 */ Or (CR28, ShiftLeft (Subtract (FindSetRightBit (IRQW), One), 0x04), CR28) /* \_SB_.PCI0.LPCB.SM17.CR28 */ And (IOD0, 0xF8, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ If (LEqual (IOHI, 0x03)) { If (LEqual (IOLO, 0xF8)) { Or (IOD0, Zero, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x07, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Else { If (LEqual (IOLO, 0xF8)) { Or (IOD0, One, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x05, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Store (Or (CR02, 0x08), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (Or (CR02, 0x08), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (And (CR02, 0xF0), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } } Device (UAR2) { Name (_HID, EisaId ("PNP0510") /* Generic IRDA-compatible Device */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (SMSC, COMB)) { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (CR02, Local0) Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ If (And (Local0, 0x80)) { Return (0x0F) } Return (0x0D) } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (And (CR02, 0x0F), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (And (CR3A, 0xFA), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x08, // Length _Y20) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x08, // Length _Y21) IRQNoFlags (_Y22) {7} DMA (Compatibility, NotBusMaster, Transfer8, _Y23) {2} }) If (LAnd (SMSC, COMB)) { CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y20._MIN, IO10) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IO11) CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y20._MAX, IO12) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IO13) CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y21._MIN, IO20) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x0B, IO21) CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y21._MAX, IO22) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x0D, IO23) CreateWordField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y22._INT, IRQW) // _INT: Interrupts CreateByteField (BUF0, \_SB.PCI0.LPCB.SM17.UAR2._CRS._Y23._DMA, DMA0) // _DMA: Direct Memory Access Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ ShiftLeft (CR25, 0x02, IO10) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO10 */ ShiftRight (And (CR25, 0xC0), 0x06, IO11) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO11 */ Store (IO10, IO12) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO12 */ Store (IO11, IO13) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO13 */ ShiftLeft (CR2B, 0x03, IO20) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO20 */ ShiftRight (And (CR2B, 0xE0), 0x05, IO21) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO21 */ Store (IO20, IO22) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO22 */ Store (IO21, IO23) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IO23 */ Store (Zero, Local1) And (CR28, 0x0F, Local1) ShiftLeft (One, Local1, IRQW) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.IRQW */ Store (Zero, Local1) And (CR2C, 0x0F, Local1) If (LEqual (Local1, 0x0F)) { Store (Zero, DMA0) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.DMA0 */ } Else { ShiftLeft (One, Local1, DMA0) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.DMA0 */ } Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Return (BUF0) /* \_SB_.PCI0.LPCB.SM17.UAR2._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x07E8, // Range Minimum 0x07E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x07E8, // Range Minimum 0x07E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x07E8, // Range Minimum 0x07E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x07E8, // Range Minimum 0x07E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x07E8, // Range Minimum 0x07E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8_16, ) {1,2,3} } EndDependentFn () }) Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (CR2B, Local0) Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ If (Local0) { CreateByteField (Arg0, 0x02, IO10) CreateByteField (Arg0, 0x03, IO11) CreateByteField (Arg0, 0x0A, IO20) CreateByteField (Arg0, 0x0B, IO21) CreateWordField (Arg0, 0x11, IRQW) CreateByteField (Arg0, 0x14, DMA0) Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ And (CR02, 0x0F, CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (ShiftRight (IO10, 0x02), CR25) /* \_SB_.PCI0.LPCB.SM17.CR25 */ Or (CR25, ShiftLeft (IO11, 0x06), CR25) /* \_SB_.PCI0.LPCB.SM17.CR25 */ If (IO20) { Store (ShiftRight (IO20, 0x03), CR2B) /* \_SB_.PCI0.LPCB.SM17.CR2B */ Or (CR2B, ShiftLeft (IO21, 0x05), CR2B) /* \_SB_.PCI0.LPCB.SM17.CR2B */ } And (CR28, 0xF0, CR28) /* \_SB_.PCI0.LPCB.SM17.CR28 */ Or (CR28, Subtract (FindSetRightBit (IRQW), One), CR28) /* \_SB_.PCI0.LPCB.SM17.CR28 */ And (CR2C, 0xF0, CR2C) /* \_SB_.PCI0.LPCB.SM17.CR2C */ If (DMA0) { Or (CR2C, Subtract (FindSetRightBit (DMA0), One), CR2C) /* \_SB_.PCI0.LPCB.SM17.CR2C */ } Else { Or (CR2C, 0x0F, CR2C) /* \_SB_.PCI0.LPCB.SM17.CR2C */ } And (IOD0, 0x8F, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ If (LEqual (IO11, 0x03)) { If (LEqual (IO10, 0xF8)) { Or (IOD0, Zero, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x70, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Else { If (LEqual (IO10, 0xF8)) { Or (IOD0, 0x10, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x50, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Or (CR02, 0x80, CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Else { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQR) Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ And (CR02, 0x0F, CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (ShiftRight (IOLO, 0x02), CR25) /* \_SB_.PCI0.LPCB.SM17.CR25 */ Or (CR25, ShiftLeft (IOHI, 0x06), CR25) /* \_SB_.PCI0.LPCB.SM17.CR25 */ And (CR28, 0xF0, CR28) /* \_SB_.PCI0.LPCB.SM17.CR28 */ Or (CR28, Subtract (FindSetRightBit (IRQR), One), CR28) /* \_SB_.PCI0.LPCB.SM17.CR28 */ And (IOD0, 0x8F, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ If (LEqual (IOHI, 0x03)) { If (LEqual (IOLO, 0xF8)) { Or (IOD0, Zero, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x70, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Else { If (LEqual (IOLO, 0xF8)) { Or (IOD0, 0x10, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } Else { Or (IOD0, 0x50, IOD0) /* \_SB_.PCI0.LPCB.IOD0 */ } } Or (CR02, 0x80, CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (Or (CR02, 0x80), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Store (Zero, CR55) /* \_SB_.PCI0.LPCB.SM17.CR55 */ Store (And (CR02, 0x0F), CR02) /* \_SB_.PCI0.LPCB.SM17.CR02 */ Store (Zero, CRAA) /* \_SB_.PCI0.LPCB.SM17.CRAA */ } } } OperationRegion (PKBS, SystemIO, 0x60, 0x05) Field (PKBS, ByteAcc, Lock, Preserve) { PKBD, 8, Offset (0x02), Offset (0x03), Offset (0x04), PKBC, 8 } Device (PS2K) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (LEqual (KBID, 0x42)) { If (LEqual (KBSZ, 0x02)) { Return ("IDEA0103") } Else { If (LEqual (KBSZ, 0x03)) { Return ("IDEA0105") } Else { Return ("IDEA0101") } } } Else { If (LEqual (KBSZ, 0x02)) { Return ("IDEA0102") } Else { If (LEqual (KBSZ, 0x03)) { Return ("IDEA0104") } Else { Return ("IDEA0100") } } } } Name (_CID, Package (0x01) // _CID: Compatible ID { EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */ }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } Device (PS2M) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (LEqual (PS2V, 0x02)) { If (And (OBID, 0x04)) { Return (0x372B2E4F) } Else { Return (0x362B2E4F) } } Else { If (LEqual (PS2V, 0x03)) { Return (0x130FD041) } Else { If (LEqual (PS2V, One)) { If (And (OBID, 0x04)) { Return (0x24068416) } Else { Return (0x23068416) } } Else { Return (0x130FD041) } } } } Method (_CID, 0, NotSerialized) // _CID: Compatible ID { If (LEqual (PS2V, 0x02)) { Return (Package (0x03) { 0x130FD041, 0x02002E4F, 0x002B2E4F }) } Else { If (LEqual (PS2V, 0x03)) { Return (0x130FD041) } Else { If (LEqual (PS2V, One)) { Return (Package (0x02) { 0x8416, 0x130FD041 }) } Else { Return (0x130FD041) } } } } 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 () }) } } } } Name (ECUP, One) Scope (\) { Device (NFC1) { Name (_HID, EisaId ("SKTD000")) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (NFCE, 0x03)) { Return (0x0F) } Else { Return (Zero) } } } Device (NFC2) { Name (_HID, EisaId ("NXP5442") /* NXP 5442 Near Field Communications Controller */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (NFCE, 0x02)) { Return (0x0F) } Else { Return (Zero) } } } Device (NFC3) { Name (_HID, EisaId ("ICV0A12")) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (NFCE, One)) { Return (0x0F) } Else { Return (Zero) } } } } Mutex (MUTX, 0x00) Mutex (OSUM, 0x00) Mutex (WFDM, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 3, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) /* \P80D */ } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)), P80D) /* \P80D */ } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)), P80D) /* \P80D */ } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)), P80D) /* \P80D */ } If (LEqual (Arg0, 0x04)) { Store (Or (And (P80D, Zero), Arg1), P80D) /* \P80D */ } If (LEqual (Arg2, Zero)) {} If (LEqual (Arg2, One)) { Store (P80D, P80H) /* \P80H */ } } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { Store (Arg0, GPIC) /* \GPIC */ Store (Arg0, PICM) /* \PICM */ } OperationRegion (CMS2, SystemIO, 0x72, 0x02) Field (CMS2, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0xE0), CMWL, 1, CMBL, 1 } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { Store (Zero, P80D) /* \P80D */ P8XH (Zero, Arg0, Zero) Store (Arg0, SLPS) /* \SLPS */ If (LEqual (ECNO, One)) { ADBG ("EC Notify") If (LEqual (BID, BHB)) { \_SB.WTGP (0x58, One) } \_SB.PCI0.LPCB.EC0.ECMD (0x2D) ADBG ("EC Debug") } ADBG (Concatenate ("_PTS=", ToHexString (Arg0))) If (LOr (LEqual (BID, BICO), LEqual (BID, BICC))) { Acquire (WFDM, 0xFFFF) Store (Zero, WKFN) /* \WKFN */ Release (WFDM) } If (And (ICNF, 0x10)) { If (CondRefOf (\_SB.IAOE.PTSL)) { Store (Arg0, \_SB.IAOE.PTSL) /* External reference */ } } If (LEqual (Arg0, 0x03)) { P8XH (0x04, 0x53, Zero) P8XH (0x04, 0x53, One) If (LAnd (DTSE, LGreater (TCNT, One))) { TRAP (TRTD, 0x1E) } } If (LEqual (Arg0, 0x04)) { P8XH (0x04, 0x54, Zero) P8XH (0x04, 0x54, One) } If (LEqual (Arg0, 0x05)) { P8XH (0x04, 0x55, Zero) P8XH (0x04, 0x55, One) } If (LAnd (LEqual (OSYS, 0x07D9), LEqual (ECON, One))) { If (LEqual (APFG, One)) { If (LEqual (\_SB.PCI0.LPCB.EC0.WLAN, One)) { Store (One, CMWL) /* \CMWL */ } Else { Store (Zero, CMWL) /* \CMWL */ } If (LEqual (\_SB.PCI0.LPCB.EC0.BLUE, One)) { Store (One, CMBL) /* \CMBL */ } Else { Store (Zero, CMBL) /* \CMBL */ } } } } Method (MMRP, 0, NotSerialized) { Store (PEBS, Local0) Add (Local0, 0x000E0000, Local0) Subtract (ToInteger (TBSE), One, Local1) Multiply (Local1, 0x1000, Local1) Add (Local0, Local1, Local0) Return (Local0) } Method (_WAK, 1, Serialized) // _WAK: Wake { Store (Zero, P80D) /* \P80D */ If (LEqual (OSYS, 0x07D6)) { Store (0x02, Local0) } If (LEqual (OSYS, 0x03E8)) { Store (One, Local0) } If (LEqual (OSYS, 0x07D9)) { Store (0x03, Local0) } If (LEqual (OSYS, 0x07DC)) { Store (0x04, Local0) } If (LEqual (OSYS, 0x07DD)) { Store (0x05, Local0) } Store (Local0, \_SB.PCI0.LPCB.EC0.OSTY) If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { If (CondRefOf (\_SB.PCI0.PEG0.PEGP.EPON)) { \_SB.PCI0.PEG0.PEGP.EPON () } If (CondRefOf (\_SB.PCI0.RP05.PEGP.EPON)) { \_SB.PCI0.RP05.PEGP.EPON () } } If (LAnd (LNotEqual (And (\_SB.PCI0.B0D3.ABAR, 0xFFFFC004), 0xFFFFC004), LNotEqual (And ( \_SB.PCI0.B0D3.ABAR, 0xFFFFC000), Zero))) { Store (\_SB.PCI0.B0D3.ABAR, \_SB.PCI0.B0D3.BARA) /* External reference */ } If (NEXP) { If (And (OSCC, 0x02)) { \_SB.PCI0.NHPG () } If (And (OSCC, 0x04)) { \_SB.PCI0.NPME () } } If (LEqual (Arg0, 0x03)) { P8XH (0x04, 0xE3, Zero) P8XH (0x04, 0xE3, One) Store (0x70, SSMP) /* \SSMP */ } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { If (And (GBSX, 0x40)) { \_SB.PCI0.GFX0.IUEH (0x06) } If (And (GBSX, 0x80)) { \_SB.PCI0.GFX0.IUEH (0x07) } If (LAnd (DTSE, LGreater (TCNT, One))) { TRAP (TRTD, 0x14) } If (LEqual (OSYS, 0x07D2)) { If (And (\_PR.CFGD, One)) { If (LGreater (\_PR.CPU0._PPC, Zero)) { Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) /* External reference */ PNOT () Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) /* External reference */ PNOT () } Else { Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) /* External reference */ PNOT () Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) /* External reference */ PNOT () } } } If (LEqual (ECON, One)) { If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { Store (GL14, LIDS) /* External reference */ If (IGDS) { If (LEqual (LIDS, Zero)) { Store (0x80000000, \_SB.PCI0.GFX0.CLID) /* External reference */ } If (LEqual (LIDS, One)) { Store (0x03, \_SB.PCI0.GFX0.CLID) /* External reference */ } } } } If (LOr (LEqual (BID, BICO), LEqual (BID, BICC))) { Acquire (OSUM, 0xFFFF) Store (MMRP (), Local0) OperationRegion (RP_X, SystemMemory, Local0, 0x20) Field (RP_X, DWordAcc, NoLock, Preserve) { REG0, 32, REG1, 32, REG2, 32, REG3, 32, REG4, 32, REG5, 32, REG6, 32, REG7, 32 } Store (REG6, Local1) Store (0x00F0F000, REG6) /* \_WAK.REG6 */ Store (\_GPE.MMTB, Local2) \_GPE.OSUP (Local2) Store (Local1, REG6) /* \_WAK.REG6 */ Release (OSUM) } If (LEqual (RP1D, Zero)) { Notify (\_SB.PCI0.RP01, Zero) // Bus Check } If (LEqual (RP2D, Zero)) { Notify (\_SB.PCI0.RP02, Zero) // Bus Check } If (LEqual (RP3D, Zero)) { Notify (\_SB.PCI0.RP03, Zero) // Bus Check } If (LEqual (RP4D, Zero)) { Notify (\_SB.PCI0.RP04, Zero) // Bus Check } If (LEqual (RP5D, Zero)) { Notify (\_SB.PCI0.RP05, Zero) // Bus Check } If (LEqual (RP6D, Zero)) { Notify (\_SB.PCI0.RP06, Zero) // Bus Check } If (LEqual (RP7D, Zero)) { If (LEqual (DSTS, Zero)) { Notify (\_SB.PCI0.RP07, Zero) // Bus Check } } If (LEqual (RP8D, Zero)) { If (LEqual (DSTS, Zero)) { Notify (\_SB.PCI0.RP08, Zero) // Bus Check } } } If (LEqual (Arg0, 0x04)) { P8XH (0x04, 0xE4, Zero) P8XH (0x04, 0xE4, One) } If (LEqual (Arg0, 0x05)) { P8XH (0x04, 0xE5, Zero) P8XH (0x04, 0xE5, One) } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { \_SB.PCI0.XHC.XWAK () } If (LOr (LEqual (BID, BICO), LEqual (BID, BICC))) { Acquire (WFDM, 0xFFFF) Store (One, WKFN) /* \WKFN */ Release (WFDM) ADBG (Concatenate ("_WAK=", ToHexString (Timer))) } Return (Package (0x02) { Zero, Zero }) } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) /* \GETB.TBF3 */ } Method (PNOT, 0, Serialized) { If (CondRefOf (\_SB.PCCD.PENB)) { Store (0x82, Local0) } Else { Store (0x80, Local0) } If (LGreater (TCNT, One)) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, Local0) If (And (PDC0, 0x10)) { Notify (\_PR.CPU0, 0x81) // C-State Change } } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, Local0) If (And (PDC1, 0x10)) { Notify (\_PR.CPU1, 0x81) // C-State Change } } If (And (PDC2, 0x08)) { Notify (\_PR.CPU2, Local0) If (And (PDC2, 0x10)) { Notify (\_PR.CPU2, 0x81) // C-State Change } } If (And (PDC3, 0x08)) { Notify (\_PR.CPU3, Local0) If (And (PDC3, 0x10)) { Notify (\_PR.CPU3, 0x81) // C-State Change } } If (And (PDC4, 0x08)) { Notify (\_PR.CPU4, Local0) If (And (PDC4, 0x10)) { Notify (\_PR.CPU4, 0x81) // C-State Change } } If (And (PDC5, 0x08)) { Notify (\_PR.CPU5, Local0) If (And (PDC5, 0x10)) { Notify (\_PR.CPU5, 0x81) // C-State Change } } If (And (PDC6, 0x08)) { Notify (\_PR.CPU6, Local0) If (And (PDC6, 0x10)) { Notify (\_PR.CPU6, 0x81) // C-State Change } } If (And (PDC7, 0x08)) { Notify (\_PR.CPU7, Local0) If (And (PDC7, 0x10)) { Notify (\_PR.CPU7, 0x81) // C-State Change } } } Else { Notify (\_PR.CPU0, Local0) Notify (\_PR.CPU0, 0x81) // C-State Change } If (LEqual (ECON, One)) { If (LGreaterEqual (OSYS, 0x07D6)) { Notify (\_SB.PCI0.LPCB.EC0.BAT0, 0x81) // Information Change } Else { Notify (\_SB.PCI0.LPCB.EC0.BAT0, 0x80) // Status Change } } If (LEqual (DPTF, One)) { Notify (\_SB.IETM, 0x86) // Device-Specific } } OperationRegion (MBAR, SystemMemory, Add (ShiftLeft (\_SB.PCI0.MHBR, 0x0F), 0x5000), 0x1000) Field (MBAR, ByteAcc, NoLock, Preserve) { Offset (0x938), PWRU, 4, Offset (0x9A0), PPL1, 15, PL1E, 1, CLP1, 1 } Name (CLMP, Zero) Name (PLEN, Zero) Name (PLSV, 0x8000) Name (CSEM, Zero) Method (SPL1, 0, Serialized) { Name (PPUU, Zero) If (LEqual (CSEM, One)) { Return (Zero) } Store (One, CSEM) /* \CSEM */ Store (PPL1, PLSV) /* \PLSV */ Store (PL1E, PLEN) /* \PLEN */ Store (CLP1, CLMP) /* \CLMP */ If (LEqual (PWRU, Zero)) { Store (One, PPUU) /* \SPL1.PPUU */ } Else { ShiftLeft (Decrement (PWRU), 0x02, PPUU) /* \SPL1.PPUU */ } Multiply (PLVL, PPUU, Local0) Divide (Local0, 0x03E8, , Local1) Store (Local1, PPL1) /* \PPL1 */ Store (One, PL1E) /* \PL1E */ Store (One, CLP1) /* \CLP1 */ } Method (RPL1, 0, Serialized) { Store (PLSV, PPL1) /* \PPL1 */ Store (PLEN, PL1E) /* \PL1E */ Store (CLMP, CLP1) /* \CLP1 */ Store (Zero, CSEM) /* \CSEM */ } Name (DDPS, Zero) Name (UAMS, Zero) Method (GUAM, 1, Serialized) { If (LNotEqual (Arg0, DDPS)) { Store (Arg0, DDPS) /* \DDPS */ Store (LAnd (Arg0, Not (PWRS)), UAMS) /* \UAMS */ If (Arg0) { If (LEqual (ECNO, One)) { ADBG ("EC Notify") If (LEqual (ECDB, One)) { ADBG ("EC Debug") } } P8XH (Zero, 0xC5, Zero) P8XH (One, Zero, Zero) ADBG ("Enter CS") If (PSCP) { If (LAnd (CondRefOf (\_PR.CPU0._PSS), CondRefOf (\_PR.CPU0._PPC))) { Subtract (SizeOf (\_PR.CPU0._PSS), One, \_PR.CPU0._PPC) /* External reference */ PNOT () } } If (PLCS) { SPL1 () } } Else { If (LEqual (ECNO, One)) { ADBG ("EC Notify") Store (One, ECUP) /* \ECUP */ ADBG ("EC Debug") } P8XH (Zero, 0xC5, Zero) P8XH (One, 0xAB, Zero) ADBG ("Exit CS") If (PSCP) { If (CondRefOf (\_PR.CPU0._PPC)) { Store (Zero, \_PR.CPU0._PPC) /* External reference */ PNOT () } } If (PLCS) { RPL1 () } } P_CS () } } Method (P_CS, 0, Serialized) { If (CondRefOf (\_SB.PCI0.PAUD.PUAM)) { \_SB.PCI0.PAUD.PUAM () } If (LEqual (OSYS, 0x07DC)) { If (CondRefOf (\_SB.PCI0.XHC.DUAM)) { \_SB.PCI0.XHC.DUAM () } } } Method (TRAP, 2, Serialized) { Store (Arg1, SMIF) /* \SMIF */ If (LEqual (Arg0, TRTD)) { Store (Arg1, DTSF) /* \DTSF */ Store (Zero, TRPD) /* \TRPD */ Return (DTSF) /* \DTSF */ } If (LEqual (Arg0, TRTI)) { Store (Zero, TRPH) /* \TRPH */ } If (LEqual (Arg0, PFTI)) { Store (Zero, TRPF) /* \TRPF */ } Return (SMIF) /* \SMIF */ } Scope (_SB) { Device (BIND) { Name (_HID, "INT33D2" /* Intel GPIO Buttons */) // _HID: Hardware ID Name (_CID, "PNP0C40" /* Standard Button Controller */) // _CID: Compatible ID Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (And (IUBE, One), LEqual (OSYS, 0x07DC))) { Return (0x0F) } Return (Zero) } } Device (CIND) { Name (_HID, "INT33D3" /* Intel GPIO Buttons */) // _HID: Hardware ID Name (_CID, "PNP0C60" /* Display Sensor Device */) // _CID: Compatible ID Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (And (IUCE, One), LEqual (OSYS, 0x07DC))) { Return (0x0F) } Return (Zero) } } Device (DIND) { Name (_HID, "INT33D4" /* Intel GPIO Buttons */) // _HID: Hardware ID Name (_CID, "PNP0C70" /* Dock Sensor Device */) // _CID: Compatible ID Method (_STA, 0, Serialized) // _STA: Status { If (LAnd (And (IUDE, One), LEqual (OSYS, 0x07DC))) { Return (0x0F) } Return (Zero) } } } Scope (_SB.PCI0) { Method (PTMA, 0, NotSerialized) { Return (PFMA) /* \PFMA */ } Method (PTMS, 0, NotSerialized) { Return (PFMS) /* \PFMS */ } Method (PTIA, 0, NotSerialized) { Return (PFIA) /* \PFIA */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (0x07D0, OSYS) /* \OSYS */ If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, OSYS) /* \OSYS */ } If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) /* \OSYS */ } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) /* \OSYS */ } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) /* \OSYS */ } If (_OSI ("Windows 2001.1")) { Store (0x07D3, OSYS) /* \OSYS */ } If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) /* \OSYS */ } If (_OSI ("Windows 2009")) { Store (0x07D9, OSYS) /* \OSYS */ } If (_OSI ("Windows 2012")) { Store (0x07DC, OSYS) /* \OSYS */ } If (_OSI ("Windows 2013")) { Store (0x07DD, OSYS) /* \OSYS */ } } If (LOr (LEqual (BID, BICO), LEqual (BID, BICC))) { Acquire (OSUM, 0xFFFF) Store (MMRP (), Local1) OperationRegion (RP_X, SystemMemory, Local1, 0x20) Field (RP_X, DWordAcc, NoLock, Preserve) { REG0, 32, REG1, 32, REG2, 32, REG3, 32, REG4, 32, REG5, 32, REG6, 32, REG7, 32 } Store (REG6, Local2) Store (0x00F0F000, REG6) /* \_SB_.PCI0._INI.REG6 */ Store (\_GPE.MMTB, Local3) \_GPE.OSUP (Local3) Store (Local2, REG6) /* \_SB_.PCI0._INI.REG6 */ Release (OSUM) Acquire (WFDM, 0xFFFF) Store (One, WKFN) /* \WKFN */ Release (WFDM) } } Method (NHPG, 0, Serialized) { Store (Zero, ^RP01.HPEX) /* \_SB_.PCI0.RP01.HPEX */ Store (Zero, ^RP02.HPEX) /* \_SB_.PCI0.RP02.HPEX */ Store (Zero, ^RP03.HPEX) /* \_SB_.PCI0.RP03.HPEX */ Store (Zero, ^RP04.HPEX) /* \_SB_.PCI0.RP04.HPEX */ Store (Zero, ^RP06.HPEX) /* \_SB_.PCI0.RP06.HPEX */ Store (One, ^RP01.HPSX) /* \_SB_.PCI0.RP01.HPSX */ Store (One, ^RP02.HPSX) /* \_SB_.PCI0.RP02.HPSX */ Store (One, ^RP03.HPSX) /* \_SB_.PCI0.RP03.HPSX */ Store (One, ^RP04.HPSX) /* \_SB_.PCI0.RP04.HPSX */ Store (One, ^RP06.HPSX) /* \_SB_.PCI0.RP06.HPSX */ } Method (NPME, 0, Serialized) { Store (Zero, ^RP01.PMEX) /* \_SB_.PCI0.RP01.PMEX */ Store (Zero, ^RP02.PMEX) /* \_SB_.PCI0.RP02.PMEX */ Store (Zero, ^RP03.PMEX) /* \_SB_.PCI0.RP03.PMEX */ Store (Zero, ^RP04.PMEX) /* \_SB_.PCI0.RP04.PMEX */ Store (Zero, ^RP06.PMEX) /* \_SB_.PCI0.RP06.PMEX */ Store (One, ^RP01.PMSX) /* \_SB_.PCI0.RP01.PMSX */ Store (One, ^RP02.PMSX) /* \_SB_.PCI0.RP02.PMSX */ Store (One, ^RP03.PMSX) /* \_SB_.PCI0.RP03.PMSX */ Store (One, ^RP04.PMSX) /* \_SB_.PCI0.RP04.PMSX */ Store (One, ^RP06.PMSX) /* \_SB_.PCI0.RP06.PMSX */ } } Scope (\) { Name (PICM, Zero) Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Store (Arg0, Index (PRWP, Zero)) Store (ShiftLeft (SS1, One), Local0) Or (Local0, ShiftLeft (SS2, 0x02), Local0) Or (Local0, ShiftLeft (SS3, 0x03), Local0) Or (Local0, ShiftLeft (SS4, 0x04), Local0) If (And (ShiftLeft (One, Arg1), Local0)) { Store (Arg1, Index (PRWP, One)) } Else { ShiftRight (Local0, One, Local0) FindSetLeftBit (Local0, Index (PRWP, One)) } If (ULTP) { Store (0x69, Local1) } Else { Store (0x09, Local1) } Return (PRWP) /* \PRWP */ } } Scope (_SB) { Name (OSCI, Zero) Name (OSCO, Zero) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, Zero, STS0) CreateDWordField (Arg3, 0x04, CAP0) If (LEqual (Arg0, ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */)) { If (LEqual (Arg1, One)) { If (And (CAP0, 0x04)) { Store (0x04, OSCO) /* \_SB_.OSCO */ If (LNotEqual (And (SGMD, 0x0F), 0x02)) { If (LEqual (RTD3, Zero)) { And (CAP0, 0x3B, CAP0) /* \_SB_._OSC.CAP0 */ Or (STS0, 0x10, STS0) /* \_SB_._OSC.STS0 */ } } } If (And (CAP0, 0x20)) { If (CondRefOf (\_SB.PCCD.PENB)) { If (LEqual (^PCCD.PENB, Zero)) { And (CAP0, 0x1F, CAP0) /* \_SB_._OSC.CAP0 */ Or (STS0, 0x10, STS0) /* \_SB_._OSC.STS0 */ } } Else { And (CAP0, 0x1F, CAP0) /* \_SB_._OSC.CAP0 */ Or (STS0, 0x10, STS0) /* \_SB_._OSC.STS0 */ } } If (_OSI ("Windows 2013")) { Or (CAP0, 0x04, CAP0) /* \_SB_._OSC.CAP0 */ Store (STS0, OSCI) /* \_SB_.OSCI */ Store (CAP0, OSCO) /* \_SB_.OSCO */ } } Else { And (STS0, 0xFFFFFF00, STS0) /* \_SB_._OSC.STS0 */ Or (STS0, 0x0A, STS0) /* \_SB_._OSC.STS0 */ } } Else { And (STS0, 0xFFFFFF00, STS0) /* \_SB_._OSC.STS0 */ Or (STS0, 0x06, STS0) /* \_SB_._OSC.STS0 */ } Return (Arg3) } Device (PEPD) { Name (_HID, "INT33A1" /* Intel Power Engine */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (PEPP, Zero) Name (DEVS, Package (0x03) { 0x02, Package (0x01) { "\\_SB.PCI0.GFX0" }, Package (0x01) { "\\_SB.PCI0.SAT0.PRT1" } }) Name (DEVX, Package (0x08) { Package (0x02) { "\\_SB.PCI0.GFX0", 0xFFFFFFFF }, Package (0x02) { "\\_SB.PCI0.SAT0.PRT1", 0xFFFFFFFF }, Package (0x02) { "\\_SB.PCI0.UA01", 0xFFFFFFFF }, Package (0x02) { "\\_SB.PCI0.SDHC", 0xFFFFFFFF }, Package (0x02) { "\\_SB.PCI0.I2C0", 0xFFFFFFFF }, Package (0x02) { "\\_SB.PCI0.I2C1", 0xFFFFFFFF }, Package (0x02) { "\\_SB.PCI0.XHC", 0xFFFFFFFF }, Package (0x02) { "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0282&SUBSYS_00000000&REV_1000\\4&a02b74b&0&0001", 0xFFFFFFFF } }) Name (DEVY, Package (0x12) { Package (0x03) { "\\_PR.CPU0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { "\\_PR.CPU1", One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { "\\_PR.CPU2", One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { "\\_PR.CPU3", One, Package (0x02) { Zero, Package (0x02) { 0xFF, Zero } } }, Package (0x03) { "\\_SB.PCI0.GFX0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.SAT0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.SAT0.PRT0", One, Package (0x02) { Zero, Package (0x03) { 0xFF, Zero, 0x81 } } }, Package (0x03) { "\\_SB.PCI0.SAT0.PRT1", One, Package (0x02) { Zero, Package (0x03) { 0xFF, Zero, 0x81 } } }, Package (0x03) { "\\_SB.PCI0.SAT0.PRT2", One, Package (0x02) { Zero, Package (0x03) { 0xFF, Zero, 0x81 } } }, Package (0x03) { "\\_SB.PCI0.SAT0.PRT3", One, Package (0x02) { Zero, Package (0x03) { 0xFF, Zero, 0x81 } } }, Package (0x03) { "\\_SB.PCI0.UA00", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.UA01", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.SDHC", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.I2C0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.I2C1", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.XHC", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0282*", One, Package (0x03) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.ADSP", One, Package (0x03) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 } } } }) Name (BCCD, Package (0x05) { Package (0x02) { "\\_SB.PCI0.SAT0", Package (0x01) { Package (0x03) { Package (0x05) { One, 0x08, Zero, One, 0xB2 }, Package (0x03) { Zero, 0xCD, One }, 0x3E80 } } }, Package (0x02) { "\\_SB.PCI0.SAT0.PRT0", Package (0x01) { Package (0x03) { Package (0x05) { One, 0x08, Zero, One, 0xB2 }, Package (0x03) { Zero, 0xCD, One }, 0x3E80 } } }, Package (0x02) { "\\_SB.PCI0.SAT0.PRT1", Package (0x01) { Package (0x03) { Package (0x05) { One, 0x08, Zero, One, 0xB2 }, Package (0x03) { Zero, 0xCD, One }, 0x3E80 } } }, Package (0x02) { "\\_SB.PCI0.SAT0.PRT2", Package (0x01) { Package (0x03) { Package (0x05) { One, 0x08, Zero, One, 0xB2 }, Package (0x03) { Zero, 0xCD, One }, 0x3E80 } } }, Package (0x02) { "\\_SB.PCI0.SAT0.PRT3", Package (0x01) { Package (0x03) { Package (0x05) { One, 0x08, Zero, One, 0xB2 }, Package (0x03) { Zero, 0xCD, One }, 0x3E80 } } } }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LGreaterEqual (OSYS, 0x07DC)) { If (LEqual (And (CDID, 0xF000), 0x9000)) { If (LEqual (S0ID, One)) { Return (0x0F) } } } Return (Zero) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, ToUUID ("b8febfe0-baf8-454b-aecd-49fb91137b21"))) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x07 /* . */ }) } If (LEqual (Arg2, One)) { Store (One, PEPP) /* \_SB_.PEPD.PEPP */ Return (0x0F) } If (LEqual (Arg2, 0x02)) { If (LEqual (Arg1, Zero)) { While (One) { Store (PEPY, _T_0) /* \_SB_.PEPD._DSM._T_0 */ If (LEqual (_T_0, One)) { Return (Package (0x02) { One, Package (0x01) { "\\_SB.PCI0.GFX0" } }) } Else { If (LEqual (_T_0, 0x02)) { Return (Package (0x02) { One, Package (0x01) { "\\_SB.PCI0.SAT0.PRT1" } }) } Else { If (LEqual (_T_0, 0x03)) { Return (DEVS) /* \_SB_.PEPD.DEVS */ } Else { Return (Package (0x01) { Zero }) } } } Break } } If (LEqual (Arg1, One)) { If (LNot (And (PEPY, One))) { Store (Zero, Index (DerefOf (Index (DEVX, Zero)), One)) } If (LNot (And (PEPY, 0x02))) { Store (Zero, Index (DerefOf (Index (DEVX, One)), One)) } If (LNot (And (PEPY, 0x04))) { Store (Zero, Index (DerefOf (Index (DEVX, 0x02)), One)) } If (LNot (And (PEPY, 0x08))) { Store (Zero, Index (DerefOf (Index (DEVX, 0x03)), One)) } If (LNot (And (PEPY, 0x10))) { Store (Zero, Index (DerefOf (Index (DEVX, 0x04)), One)) } If (LNot (And (PEPY, 0x20))) { Store (Zero, Index (DerefOf (Index (DEVX, 0x05)), One)) } If (LNot (And (PEPY, 0x40))) { Store (Zero, Index (DerefOf (Index (DEVX, 0x06)), One)) } If (LNot (And (PEPY, 0x80))) { Store (Zero, Index (DerefOf (Index (DEVX, 0x07)), One)) } Return (DEVX) /* \_SB_.PEPD.DEVX */ } } } If (LEqual (Arg0, ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66"))) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x07 /* . */ }) } If (LEqual (Arg2, One)) { If (LNotEqual (And (PEPC, 0x03), One)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x06)), One)) Store (Zero, Index (DerefOf (Index (DEVY, 0x07)), One)) Store (Zero, Index (DerefOf (Index (DEVY, 0x08)), One)) Store (Zero, Index (DerefOf (Index (DEVY, 0x09)), One)) } If (LNotEqual (And (PEPC, 0x03), 0x02)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x05)), One)) If (LNot (And (SPST, One))) { Store (Zero, Index (DerefOf (Index (DEVY, 0x06)), One)) } If (LNot (And (SPST, 0x02))) { Store (Zero, Index (DerefOf (Index (DEVY, 0x07)), One)) } If (LNot (And (SPST, 0x04))) { Store (Zero, Index (DerefOf (Index (DEVY, 0x08)), One)) } If (LNot (And (SPST, 0x08))) { Store (Zero, Index (DerefOf (Index (DEVY, 0x09)), One)) } } If (LEqual (And (PEPC, 0x04), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x0A)), One)) } If (LEqual (And (PEPC, 0x08), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x0B)), One)) } If (LEqual (And (PEPC, 0x10), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x0C)), One)) } If (LEqual (And (PEPC, 0x20), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x0D)), One)) } If (LEqual (And (PEPC, 0x40), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x0E)), One)) } If (LEqual (And (PEPC, 0x80), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x0F)), One)) } If (LEqual (And (PEPC, 0x0100), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x10)), One)) } If (LEqual (And (PEPC, 0x0200), Zero)) { Store (Zero, Index (DerefOf (Index (DEVY, 0x11)), One)) } Return (DEVY) /* \_SB_.PEPD.DEVY */ } If (LEqual (Arg2, 0x02)) { Return (BCCD) /* \_SB_.PEPD.BCCD */ } } Return (One) } } } Scope (_SB) { Device (BTKL) { Name (_HID, "INT3420" /* Intel Bluetooth RF Kill */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Windows 2012")) { If (LEqual (BID, BW2C)) { Return (0x0F) } } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { And (GL0A, 0x7F, GL0A) /* \GL0A */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { Or (GL0A, 0x80, GL0A) /* \GL0A */ } Method (PSTS, 0, NotSerialized) { Return (RDGP (0x57)) } } } Scope (_PR) { Processor (CPU0, 0x01, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU0 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU0 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU0 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU1, 0x02, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU1 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU1 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU1 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU2, 0x03, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU2 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU2 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU2 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU3, 0x04, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU3 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU3 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU3 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU4, 0x05, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU4 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU4 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU4 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU5, 0x06, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU5 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU5 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU5 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU6, 0x07, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU6 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU6 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU6 DEP NULL") Return (Package (0x00) {}) } } } Processor (CPU7, 0x08, 0x00001810, 0x06) { Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("CPU7 DEP Call") If (LEqual (S0ID, One)) { ADBG ("CPU7 DEP") Return (Package (0x01) { \_SB.PEPD }) } Else { ADBG ("CPU7 DEP NULL") Return (Package (0x00) {}) } } } } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y24) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00008000, // Address Length _Y27) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y28) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y29) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2A) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFED90000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y25) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00010000, // Address Length _Y26) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y24._BAS, RBR0) // _BAS: Base Address ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0) /* \_SB_.PCI0.PDRC._CRS.RBR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y25._BAS, TBR0) // _BAS: Base Address Store (TBAB, TBR0) /* \_SB_.PCI0.PDRC._CRS.TBR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y25._LEN, TBLN) // _LEN: Length If (LEqual (TBAB, Zero)) { Store (Zero, TBLN) /* \_SB_.PCI0.PDRC._CRS.TBLN */ } CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y26._BAS, SNR0) // _BAS: Base Address Store (SRMB, SNR0) /* \_SB_.PCI0.PDRC._CRS.SNR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y27._BAS, MBR0) // _BAS: Base Address ShiftLeft (MHBR, 0x0F, MBR0) /* \_SB_.PCI0.PDRC._CRS.MBR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y28._BAS, DBR0) // _BAS: Base Address ShiftLeft (DIBR, 0x0C, DBR0) /* \_SB_.PCI0.PDRC._CRS.DBR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y29._BAS, EBR0) // _BAS: Base Address ShiftLeft (EPBR, 0x0C, EBR0) /* \_SB_.PCI0.PDRC._CRS.EBR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y2A._BAS, XBR0) // _BAS: Base Address ShiftLeft (PXBR, 0x1A, XBR0) /* \_SB_.PCI0.PDRC._CRS.XBR0 */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y2A._LEN, XSZ0) // _LEN: Length ShiftRight (0x10000000, PXSZ, XSZ0) /* \_SB_.PCI0.PDRC._CRS.XSZ0 */ Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */ } } } Method (BRTN, 1, Serialized) { If (LEqual (And (DIDX, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD1F, Arg0) } } Scope (_GPE) { Method (_L6B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake } Method (_L69, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LEqual (RP1D, Zero)) { \_SB.PCI0.RP01.HPME () Notify (\_SB.PCI0.RP01, 0x02) // Device Wake } If (LEqual (RP2D, Zero)) { \_SB.PCI0.RP02.HPME () Notify (\_SB.PCI0.RP02, 0x02) // Device Wake } If (LEqual (RP3D, Zero)) { \_SB.PCI0.RP03.HPME () Notify (\_SB.PCI0.RP03, 0x02) // Device Wake } If (LEqual (RP4D, Zero)) { \_SB.PCI0.RP04.HPME () Notify (\_SB.PCI0.RP04, 0x02) // Device Wake } If (LEqual (RP5D, Zero)) { Notify (\_SB.PCI0.RP05, 0x02) // Device Wake } If (LEqual (RP6D, Zero)) { \_SB.PCI0.RP06.HPME () Notify (\_SB.PCI0.RP06, 0x02) // Device Wake } If (LEqual (RP7D, Zero)) { \_SB.PCI0.RP07.HPME () Notify (\_SB.PCI0.RP07, 0x02) // Device Wake } If (LEqual (RP8D, Zero)) { \_SB.PCI0.RP08.HPME () Notify (\_SB.PCI0.RP08, 0x02) // Device Wake } } Method (_L6D, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LAnd (\_SB.PCI0.EHC1.PMES, \_SB.PCI0.EHC1.PMES)) { Store (One, \_SB.PCI0.EHC1.PMES) Store (Zero, \_SB.PCI0.EHC1.PMEE) Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake } If (LAnd (\_SB.PCI0.XHC.PMES, \_SB.PCI0.XHC.PMES)) { Store (One, \_SB.PCI0.XHC.PMES) Store (Zero, \_SB.PCI0.XHC.PMEE) Notify (\_SB.PCI0.XHC, 0x02) // Device Wake } Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake } Method (_L61, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Add (L01C, One, L01C) /* \L01C */ If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX)) { P8XH (One, One, One) P8XH (Zero, L01C, One) 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) // Bus Check } Else { Store (One, \_SB.PCI0.RP01.HPSX) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX)) { P8XH (One, 0x02, One) P8XH (Zero, L01C, One) 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) // Bus Check } Else { Store (One, \_SB.PCI0.RP02.HPSX) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX)) { P8XH (One, 0x03, One) P8XH (Zero, L01C, One) 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) // Bus Check } Else { Store (One, \_SB.PCI0.RP03.HPSX) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX)) { P8XH (One, 0x04, One) P8XH (Zero, L01C, One) 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) // Bus Check } Else { Store (One, \_SB.PCI0.RP04.HPSX) } } If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP06.PDCX) { Store (One, \_SB.PCI0.RP06.PDCX) Store (One, \_SB.PCI0.RP06.HPSX) If (LNot (\_SB.PCI0.RP06.PDSX)) { Store (Zero, \_SB.PCI0.RP06.L0SE) } Notify (\_SB.PCI0.RP06, Zero) // Bus Check } Else { Store (One, \_SB.PCI0.RP06.HPSX) } } If (LAnd (LEqual (RP7D, Zero), \_SB.PCI0.RP07.HPSX)) { P8XH (One, 0x07, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP07.PDCX) { Store (One, \_SB.PCI0.RP07.PDCX) Store (One, \_SB.PCI0.RP07.HPSX) If (LNot (\_SB.PCI0.RP07.PDSX)) { Store (Zero, \_SB.PCI0.RP07.L0SE) } } Else { Store (One, \_SB.PCI0.RP07.HPSX) } } If (LAnd (LEqual (RP8D, Zero), \_SB.PCI0.RP08.HPSX)) { P8XH (One, 0x08, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP08.PDCX) { Store (One, \_SB.PCI0.RP08.PDCX) Store (One, \_SB.PCI0.RP08.HPSX) If (LNot (\_SB.PCI0.RP08.PDSX)) { Store (Zero, \_SB.PCI0.RP08.L0SE) } } Else { Store (One, \_SB.PCI0.RP08.HPSX) } } } Method (_L62, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Store (Zero, GPEC) /* \GPEC */ If (CondRefOf (\_SB.PCCD.PENB)) { If (LEqual (\_SB.PCCD.PENB, One)) { Notify (\_SB.PCCD, 0x80) // Status Change } } } Method (_L66, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI))) { \_SB.PCI0.GFX0.GSCI () } } Method (_L67, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Store (0x20, \_SB.PCI0.SBUS.HSTS) } Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (LEqual (GL14, One)) { Store (GL14, LIDS) /* External reference */ Or (GV14, One, GV14) /* \GV14 */ } Else { Store (GL14, LIDS) /* External reference */ And (GV14, Zero, GV14) /* \GV14 */ } If (IGDS) { If (LEqual (\_SB.PCI0.GFX0.CADL, 0x0400)) { If (\_SB.PCI0.GFX0.GLID) { LAnd (GL14, One) Return (One) } Else { Notify (\_SB.LID0, 0x80) // Status Change } } Else { \_SB.PCI0.GFX0.GLID 0x03 Notify (\_SB.LID0, 0x80) // Status Change } } } } Name (RPA0, 0x001C0002) Name (RPA1, 0x001C0001) Name (RPA2, 0x001C0000) Name (RPA3, 0x001C0003) Name (RPA4, 0x001C0004) Name (RPA5, 0x001C0005) Name (RPA6, 0x001C0006) Name (RPA7, 0x001C0007) Name (PCHS, 0x00000002) Name (SRMB, 0xAFA10000) Name (PML1, 0x00001003) Name (PML2, 0x00001003) Name (PML3, 0x00001003) Name (PML4, 0x00001003) Name (PML5, 0x00001003) Name (PML6, 0x00001003) Name (PML7, 0xFFFFFFFF) Name (PML8, 0xFFFFFFFF) Name (PNL1, 0x00001003) Name (PNL2, 0x00001003) Name (PNL3, 0x00001003) Name (PNL4, 0x00001003) Name (PNL5, 0x00001003) Name (PNL6, 0x00001003) Name (PNL7, 0xFFFFFFFF) Name (PNL8, 0xFFFFFFFF) Scope (\) { OperationRegion (IO_D, SystemIO, 0x0810, 0x04) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (IO_H, SystemIO, 0x1000, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (PMIO, SystemIO, PMBS, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x28), Offset (0x2A), , 3, GPE3, 1, , 7, GPEB, 1, Offset (0x3C), , 1, UPRW, 1, Offset (0x42), , 1, GPEC, 1 } Field (PMIO, ByteAcc, NoLock, WriteAsZeros) { Offset (0x20), Offset (0x22), , 3, GPS3, 1, , 7, GPSB, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (PMLP, SystemIO, Add (PMBS, 0x80), 0x20) Field (PMLP, ByteAcc, NoLock, Preserve) { Offset (0x10), Offset (0x11), GE08, 1, , 8, GE17, 1, , 27, GE45, 1, , 5, GE51, 1, Offset (0x20) } Field (PMLP, ByteAcc, NoLock, WriteAsZeros) { Offset (0x01), GS08, 1, , 8, GS17, 1, , 27, GS45, 1, , 5, GS51, 1, Offset (0x10) } OperationRegion (GPR, SystemIO, GPBS, 0x0400) Field (GPR, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, GL01, 8, GL02, 8, GP24, 1, , 2, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, GL04, 8, GL05, 8, GL06, 8, GL07, 8, Offset (0x40), GU08, 8, GU09, 8, GU0A, 8, GU0B, 8, GIO8, 8, GIO9, 8, GIOA, 8, GIOB, 8, GL08, 8, GL09, 8, GL0A, 8, GL0B, 8, Offset (0x170), , 3, GV14, 1, Offset (0x171), Offset (0x172), Offset (0x173), , 6, GL14, 1, Offset (0x174) } OperationRegion (GPRL, SystemIO, GPBS, 0x40) Field (GPRL, ByteAcc, NoLock, Preserve) { Offset (0x01), GO08, 1, GO09, 1, , 3, GO13, 1, GO14, 1, , 2, GO17, 1, , 27, GO45, 1, , 5, GO51, 1, Offset (0x10), Offset (0x30), GR00, 32, GR01, 32, GR02, 32 } OperationRegion (RCRB, SystemMemory, SRCB, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x2330), AFEA, 32, AFED, 32, AFES, 16, AFER, 16, Offset (0x3000), Offset (0x331C), Offset (0x331F), PMFS, 1, Offset (0x3320), CKEN, 32, Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, ADSD, 1, SATD, 1, SMBD, 1, HDAD, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1, RP7D, 1, RP8D, 1, Offset (0x359C), UP0D, 1, UP1D, 1, UP2D, 1, UP3D, 1, UP4D, 1, UP5D, 1, UP6D, 1, UP7D, 1, UP8D, 1, UP9D, 1, UPAD, 1, UPBD, 1, UPCD, 1, UPDD, 1, , 1, Offset (0x359E) } OperationRegion (IO_P, SystemIO, 0x1000, 0x04) Field (IO_P, ByteAcc, NoLock, Preserve) { TRPF, 8 } } Scope (_SB) { Method (RDGI, 1, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x04) Field (LGPI, AnyAcc, NoLock, Preserve) { , 30, TEMP, 1 } Return (TEMP) /* \_SB_.RDGI.TEMP */ } } Method (RDGP, 1, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x04) Field (LGPI, AnyAcc, NoLock, Preserve) { , 31, TEMP, 1 } Return (TEMP) /* \_SB_.RDGP.TEMP */ } } Method (WTGP, 2, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x04) Field (LGPI, AnyAcc, NoLock, Preserve) { , 31, TEMP, 1 } Store (Arg1, TEMP) /* \_SB_.WTGP.TEMP */ } } Method (WTIN, 2, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x04) Field (LGPI, ByteAcc, NoLock, Preserve) { , 3, TEMP, 1 } Store (Arg1, TEMP) /* \_SB_.WTIN.TEMP */ } } Method (WPGP, 2, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0104), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x04) Field (LGPI, AnyAcc, NoLock, Preserve) { TEMP, 2 } Store (Arg1, TEMP) /* \_SB_.WPGP.TEMP */ } } Method (GP2N, 2, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0100), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x04) Field (LGPI, AnyAcc, NoLock, Preserve) { TEMP, 1 } Store (Arg1, TEMP) /* \_SB_.GP2N.TEMP */ } } Method (GP2A, 2, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (Add (GPBS, 0x0104), Multiply (Arg0, 0x08)), Local0) OperationRegion (LGP2, SystemIO, Local0, 0x04) Field (LGP2, AnyAcc, NoLock, Preserve) { GPWP, 2, GPIS, 1 } If (LEqual (Arg1, One)) { Store (Zero, GPIS) /* \_SB_.GP2A.GPIS */ Store (Zero, GPWP) /* \_SB_.GP2A.GPWP */ } Else { Store (0x02, GPWP) /* \_SB_.GP2A.GPWP */ Store (One, GPIS) /* \_SB_.GP2A.GPIS */ } Store (Add (GPBS, 0x10), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x02) Field (LGPI, AnyAcc, NoLock, Preserve) { TEMP, 16 } If (LGreaterEqual (Arg0, 0x2D)) { Subtract (Arg0, 0x28, Local1) } Else { If (LLessEqual (Arg0, 0x0A)) { Subtract (Arg0, 0x08, Local1) } Else { Subtract (Arg0, 0x0A, Local1) } } Store (ShiftLeft (One, Local1), Local2) If (Arg1) { Or (TEMP, Local2, TEMP) /* \_SB_.GP2A.TEMP */ } Else { And (TEMP, Not (Local2), TEMP) /* \_SB_.GP2A.TEMP */ } } } Method (GP2B, 2, Serialized) { If (LLessEqual (Arg0, 0x5E)) { Store (Add (GPBS, 0x10), Local0) OperationRegion (LGPI, SystemIO, Local0, 0x02) Field (LGPI, AnyAcc, NoLock, Preserve) { TEMP, 16 } If (LGreaterEqual (Arg0, 0x2D)) { Subtract (Arg0, 0x28, Local1) } Else { If (LLessEqual (Arg0, 0x0A)) { Subtract (Arg0, 0x08, Local1) } Else { Subtract (Arg0, 0x0A, Local1) } } Store (ShiftLeft (One, Local1), Local2) If (Arg1) { Or (TEMP, Local2, TEMP) /* \_SB_.GP2B.TEMP */ } Else { And (TEMP, Not (Local2), TEMP) /* \_SB_.GP2B.TEMP */ } } } } Scope (_SB.PCI0) { Name (LTRE, Zero) Name (OBFF, Zero) Name (LMSL, Zero) Name (LNSL, Zero) Device (EHC1) { Name (_ADR, 0x001D0000) // _ADR: Address OperationRegion (PWKE, PCI_Config, 0x54, 0x12) Field (PWKE, DWordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1, Offset (0x0E), , 1, PWUC, 8 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { Store (Ones, PWUC) /* \_SB_.PCI0.EHC1.PWUC */ } Else { Store (Zero, PWUC) /* \_SB_.PCI0.EHC1.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 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCA, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCA) /* \_SB_.PCI0.EHC1.HUBN.PR01._UPC.UPCA */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01._PLD.PLDP */ } Device (PR11) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._PLD.PLDP */ } } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._PLD.PLDP */ } } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x01, 0x1E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._PLD.PLDP */ } } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._PLD.PLDP */ } Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { Store (ToInteger (Arg2), _T_0) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._DSM._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) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */ } } } Break } } Return (Zero) } } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._PLD.PLDP */ } } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._UPC.UPCP */ } Device (CAM6) { Name (_ADR, 0x06) // _ADR: Address Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x24, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* $....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.CAM6._PLD.PLDP */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._PLD.PLDP */ } Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { Store (ToInteger (Arg2), _T_0) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._DSM._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) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */ } } } Break } } Return (Zero) } } Device (PR17) { Name (_ADR, 0x07) // _ADR: Address Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x03) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x03) } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._PLD.PLDP */ } Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (Arg0, ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { Store (ToInteger (Arg2), _T_0) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._DSM._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) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */ } } } Break } } Return (Zero) } } Device (PR18) { Name (_ADR, 0x08) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._PLD.PLDP */ } } } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x6D, 0x03)) } } Device (XHC) { Name (_ADR, 0x00140000) // _ADR: Address Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { If (LEqual (S0ID, One)) { Return (Package (0x01) { PEPD }) } Else { Return (Package (0x00) {}) } } OperationRegion (XPRT, PCI_Config, Zero, 0x0100) Field (XPRT, AnyAcc, NoLock, Preserve) { DVID, 16, Offset (0x74), D0D3, 2, Offset (0x75), PMEE, 1, , 6, PMES, 1, Offset (0xB0), , 13, MB13, 1, MB14, 1, Offset (0xB4), Offset (0xD0), PR2, 32, PR2M, 32, PR3, 32, PR3M, 32 } OperationRegion (XHCP, SystemMemory, Add (PEBS, 0x000A0000), 0x0100) Field (XHCP, AnyAcc, Lock, Preserve) { Offset (0x04), PDBM, 16, Offset (0x10), MEMB, 64 } Method (PR2S, 1, Serialized) { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LEqual (And (CDID, 0xF000), 0x8000)) { While (One) { Store (Arg0, _T_0) /* \_SB_.PCI0.XHC_.PR2S._T_0 */ If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (0x02) } Else { If (LEqual (_T_0, 0x03)) { Return (0x04) } Else { If (LEqual (_T_0, 0x04)) { Return (0x08) } Else { If (LEqual (_T_0, 0x05)) { Return (0x0100) } Else { If (LEqual (_T_0, 0x06)) { Return (0x0200) } Else { If (LEqual (_T_0, 0x07)) { Return (0x0400) } Else { If (LEqual (_T_0, 0x08)) { Return (0x0800) } Else { If (LEqual (_T_0, 0x09)) { Return (0x10) } Else { If (LEqual (_T_0, 0x0A)) { Return (0x20) } Else { If (LEqual (_T_0, 0x0B)) { Return (0x1000) } Else { If (LEqual (_T_0, 0x0C)) { Return (0x2000) } Else { If (LEqual (_T_0, 0x0D)) { Return (0x40) } Else { If (LEqual (_T_0, 0x0E)) { Return (0x80) } Else { If (LEqual (_T_0, 0x0F)) { Return (0x4000) } } } } } } } } } } } } } } } Break } } Else { While (One) { Store (Arg0, _T_1) /* \_SB_.PCI0.XHC_.PR2S._T_1 */ If (LEqual (_T_1, One)) { Return (One) } Else { If (LEqual (_T_1, 0x02)) { Return (0x02) } Else { If (LEqual (_T_1, 0x03)) { Return (0x04) } Else { If (LEqual (_T_1, 0x04)) { Return (0x08) } Else { If (LEqual (_T_1, 0x05)) { Return (0x10) } Else { If (LEqual (_T_1, 0x06)) { Return (0x20) } Else { If (LEqual (_T_1, 0x07)) { Return (0x40) } Else { If (LEqual (_T_1, 0x08)) { Return (0x80) } Else { If (LEqual (_T_1, 0x09)) { Return (0x0100) } } } } } } } } } Break } } } Name (XRST, Zero) Method (_PS0, 0, Serialized) // _PS0: Power State 0 { If (LEqual (DVID, 0xFFFF)) { Return (Zero) } Store (MEMB, Local2) Store (PDBM, Local1) And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ Store (SRMB, MEMB) /* \_SB_.PCI0.XHC_.MEMB */ Or (PDBM, 0x02, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ OperationRegion (MCA1, SystemMemory, SRMB, 0x9000) Field (MCA1, DWordAcc, Lock, Preserve) { Offset (0x510), R510, 32, Offset (0x520), R520, 32, Offset (0x530), R530, 32, Offset (0x540), R540, 32, Offset (0x80E0), , 15, AX15, 1, Offset (0x8154), , 31, CLK2, 1, Offset (0x816C), , 2, CLK0, 1, , 11, CLK1, 1 } Store (D0D3, Local3) If (LEqual (Local3, 0x03)) { Store (Zero, D0D3) /* \_SB_.PCI0.XHC_.D0D3 */ } If (LEqual (PCHS, 0x02)) { Store (Zero, MB13) /* \_SB_.PCI0.XHC_.MB13 */ Store (Zero, MB14) /* \_SB_.PCI0.XHC_.MB14 */ Store (Zero, CLK0) /* \_SB_.PCI0.XHC_._PS0.CLK0 */ Store (Zero, CLK1) /* \_SB_.PCI0.XHC_._PS0.CLK1 */ } Store (One, CLK2) /* \_SB_.PCI0.XHC_._PS0.CLK2 */ If (LEqual (PCHS, 0x02)) { While (LOr (LOr (LEqual (And (R510, 0x03FB), 0x02E0), LEqual (And (R520, 0x03FB), 0x02E0)), LOr (LEqual (And (R530, 0x03FB), 0x02E0), LEqual (And (R540, 0x03FB), 0x02E0)))) { Stall (0x32) } Store (R510, Local0) If (LEqual (And (Local0, 0x000203FB), 0x02A0)) { Or (Local0, 0x80000000, R510) /* \_SB_.PCI0.XHC_._PS0.R510 */ While (LEqual (And (R510, 0x00180000), Zero)) { Stall (0x32) } And (R510, 0xFFFFFFFFFFFFFFFD, Local0) Or (Local0, 0x00FE0000, R510) /* \_SB_.PCI0.XHC_._PS0.R510 */ } Store (R520, Local0) If (LEqual (And (Local0, 0x000203FB), 0x02A0)) { Or (Local0, 0x80000000, R520) /* \_SB_.PCI0.XHC_._PS0.R520 */ While (LEqual (And (R520, 0x00180000), Zero)) { Stall (0x32) } And (R520, 0xFFFFFFFFFFFFFFFD, Local0) Or (Local0, 0x00FE0000, R520) /* \_SB_.PCI0.XHC_._PS0.R520 */ } Store (R530, Local0) If (LEqual (And (Local0, 0x000203FB), 0x02A0)) { Or (Local0, 0x80000000, R530) /* \_SB_.PCI0.XHC_._PS0.R530 */ While (LEqual (And (R530, 0x00180000), Zero)) { Stall (0x32) } And (R530, 0xFFFFFFFFFFFFFFFD, Local0) Or (Local0, 0x00FE0000, R530) /* \_SB_.PCI0.XHC_._PS0.R530 */ } Store (R540, Local0) If (LEqual (And (Local0, 0x000203FB), 0x02A0)) { Or (Local0, 0x80000000, R540) /* \_SB_.PCI0.XHC_._PS0.R540 */ While (LEqual (And (R540, 0x00180000), Zero)) { Stall (0x32) } And (R540, 0xFFFFFFFFFFFFFFFD, Local0) Or (Local0, 0x00FE0000, R540) /* \_SB_.PCI0.XHC_._PS0.R540 */ } Store (One, AX15) /* \_SB_.PCI0.XHC_._PS0.AX15 */ } If (CondRefOf (\_SB.PCI0.XHC.PS0X)) { PS0X () } If (LEqual (Local3, 0x03)) { Store (0x03, D0D3) /* \_SB_.PCI0.XHC_.D0D3 */ } And (PDBM, 0xFFFFFFFFFFFFFFFD, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ Store (Local2, MEMB) /* \_SB_.PCI0.XHC_.MEMB */ Store (Local1, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If (LEqual (DVID, 0xFFFF)) { Return (Zero) } Store (One, PMES) /* \_SB_.PCI0.XHC_.PMES */ Store (One, PMEE) /* \_SB_.PCI0.XHC_.PMEE */ Store (MEMB, Local2) Store (PDBM, Local1) And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ Store (SRMB, MEMB) /* \_SB_.PCI0.XHC_.MEMB */ Or (PDBM, 0x02, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ OperationRegion (MCA1, SystemMemory, SRMB, 0x9000) Field (MCA1, DWordAcc, Lock, Preserve) { Offset (0x80E0), , 15, AX15, 1, Offset (0x8154), , 31, CLK2, 1, Offset (0x816C), , 2, CLK0, 1, , 11, CLK1, 1, Offset (0x8170) } Store (D0D3, Local3) If (LEqual (Local3, 0x03)) { Store (Zero, D0D3) /* \_SB_.PCI0.XHC_.D0D3 */ } If (LEqual (PCHS, 0x02)) { Store (One, MB13) /* \_SB_.PCI0.XHC_.MB13 */ Store (One, MB14) /* \_SB_.PCI0.XHC_.MB14 */ Store (One, CLK0) /* \_SB_.PCI0.XHC_._PS3.CLK0 */ Store (One, CLK1) /* \_SB_.PCI0.XHC_._PS3.CLK1 */ } Store (Zero, CLK2) /* \_SB_.PCI0.XHC_._PS3.CLK2 */ If (LEqual (PCHS, 0x02)) { Store (Zero, AX15) /* \_SB_.PCI0.XHC_._PS3.AX15 */ } If (CondRefOf (\_SB.PCI0.XHC.PS3X)) { PS3X () } If (LEqual (Local3, 0x03)) { Store (0x03, D0D3) /* \_SB_.PCI0.XHC_.D0D3 */ } And (PDBM, 0xFFFFFFFFFFFFFFFD, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ Store (Local2, MEMB) /* \_SB_.PCI0.XHC_.MEMB */ Store (Local1, PDBM) /* \_SB_.PCI0.XHC_.PDBM */ } Method (CUID, 1, Serialized) { If (LEqual (Arg0, ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71"))) { Return (One) } Return (Zero) } Method (POSC, 3, Serialized) { CreateDWordField (Arg2, Zero, CDW1) CreateDWordField (Arg2, 0x08, CDW3) If (LEqual (XHCI, Zero)) { Or (CDW1, 0x02, CDW1) /* \_SB_.PCI0.XHC_.POSC.CDW1 */ } If (LNot (And (CDW1, One))) { If (And (CDW3, One)) { ESEL () } Else { If (LEqual (And (CDID, 0xF000), 0x8000)) { If (LGreater (Arg0, One)) { XSEL () } Else { Or (CDW1, 0x0A, CDW1) /* \_SB_.PCI0.XHC_.POSC.CDW1 */ } } Else { If (LGreater (Arg0, 0x02)) { XSEL () } Else { Or (CDW1, 0x0A, CDW1) /* \_SB_.PCI0.XHC_.POSC.CDW1 */ } } } } Return (Arg2) } Method (XSEL, 0, Serialized) { If (LEqual (MAUL, One)) { If (LOr (LEqual (XHCI, 0x02), LEqual (XHCI, 0x03))) { Store (One, XUSB) /* \_SB_.XUSB */ Store (One, XRST) /* \_SB_.PCI0.XHC_.XRST */ Store (U3SS, PR3) /* \_SB_.PCI0.XHC_.PR3_ */ Store (U2PR, PR2) /* \_SB_.PCI0.XHC_.PR2_ */ } } Else { If (LOr (LEqual (XHCI, 0x02), LEqual (XHCI, 0x03))) { Store (One, XUSB) /* \_SB_.XUSB */ Store (One, XRST) /* \_SB_.PCI0.XHC_.XRST */ Store (Zero, Local0) And (PR3, 0xFFFFFFC0, Local0) Or (Local0, PR3M, PR3) /* \_SB_.PCI0.XHC_.PR3_ */ Store (Zero, Local0) And (PR2, 0xFFFF8000, Local0) Or (Local0, PR2M, PR2) /* \_SB_.PCI0.XHC_.PR2_ */ } } } Method (ESEL, 0, Serialized) { If (LOr (LEqual (XHCI, 0x02), LEqual (XHCI, 0x03))) { And (PR3, 0xFFFFFFC0, PR3) /* \_SB_.PCI0.XHC_.PR3_ */ And (PR2, 0xFFFF8000, PR2) /* \_SB_.PCI0.XHC_.PR2_ */ Store (Zero, XUSB) /* \_SB_.XUSB */ Store (Zero, XRST) /* \_SB_.PCI0.XHC_.XRST */ } } Method (XWAK, 0, Serialized) { If (LOr (LEqual (XUSB, One), LEqual (XRST, One))) { XSEL () } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (HS01) { Name (_ADR, One) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) If (LNot (And (PR2S (One), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS01._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (One), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS01._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS01._PLD.PLDP */ } } Device (HS02) { Name (_ADR, 0x02) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR2S (0x02), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS02._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x01, 0x1C, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00 /* ........ */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2, 0x02))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS02._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS02._PLD.PLDP */ } } Device (HS03) { Name (_ADR, 0x03) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) If (LNot (And (PR2S (0x03), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x40, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* @....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x03), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS03._PLD.VIS_ */ } If (LEqual (And (CDID, 0xF000), 0x9000)) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS03._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03._PLD.PLDP */ } } Device (HS04) { Name (_ADR, 0x04) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR2S (0x04), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS04._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x40, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* @....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x04), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS04._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS04._PLD.PLDP */ } } Device (HS05) { Name (_ADR, 0x05) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) If (LNot (And (PR2S (0x05), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS05._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x68, 0x0C, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00 /* h....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x05), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS05._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS05._PLD.PLDP */ } } Device (HS06) { Name (_ADR, 0x06) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) If (LNot (And (PR2S (0x06), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS06._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x68, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 /* h....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x06), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS06._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS06._PLD.PLDP */ } } Device (HS07) { Name (_ADR, 0x07) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) If (LNot (And (PR2S (0x07), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS07._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x07), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS07._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS07._PLD.PLDP */ } } Device (HS08) { Name (_ADR, 0x08) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) If (LNot (And (PR2S (0x08), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS08._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x40, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* @....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x08), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS08._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS08._PLD.PLDP */ } } Device (HS09) { Name (_ADR, 0x09) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR2S (0x09), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS09._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x70, 0x0C, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00 /* p....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x09), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS09._PLD.VIS_ */ } If (LEqual (And (CDID, 0xF000), 0x9000)) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS09._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS09._PLD.PLDP */ } } Device (HS10) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0A) } Else { Return (0xFA) } } Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR2S (0x0A), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS10._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x70, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00 /* p....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x0A), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS10._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS10._PLD.PLDP */ } } Device (HS11) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0B) } Else { Return (0xFB) } } Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) If (LNot (And (PR2S (0x0B), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS11._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x0B), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS11._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS11._PLD.PLDP */ } } Device (HS12) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0C) } Else { Return (0xFC) } } Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) If (LNot (And (PR2S (0x0C), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS12._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x0C), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS12._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS12._PLD.PLDP */ } } Device (HS13) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0D) } Else { Return (0xFD) } } Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) If (LNot (And (PR2S (0x0D), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS13._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x0D), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS13._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS13._PLD.PLDP */ } } Device (HS14) { Name (_ADR, 0x0E) // _ADR: Address Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) If (LNot (And (PR2S (0x0E), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS14._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x0E), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS14._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS14._PLD.PLDP */ } } Device (HS15) { Name (_ADR, 0x0F) // _ADR: Address Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, Zero, Zero, Zero }) If (LNot (And (PR2S (0x0F), PR2))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS15._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR2S (0x0F), PR2))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.HS15._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS15._PLD.PLDP */ } } Device (SSP1) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x10) } Else { Return (0x0A) } } Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR3, One))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x01, 0x1C, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00 /* ........ */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR3, One))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */ } } Device (SSP2) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x11) } Else { Return (0x0B) } } Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR3, 0x02))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x01, 0x1C, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00 /* ........ */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR3, 0x02))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */ } } Device (SSP3) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x12) } Else { Return (0x0C) } } Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR3, 0x04))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x70, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 /* p....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR3, 0x04))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */ } } Device (SSP4) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x13) } Else { Return (0x0D) } } Name (_STA, 0x0F) // _STA: Status Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR3, 0x08))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x70, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* p....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR3, 0x08))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */ } } Device (SSP5) { Name (_ADR, 0x14) // _ADR: Address Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR3, 0x10))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP5._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x70, 0x0C, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00 /* p....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR3, 0x10))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.SSP5._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP5._PLD.PLDP */ } } Device (SSP6) { Name (_ADR, 0x15) // _ADR: Address Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (LNot (And (PR3, 0x20))) { Store (Zero, Index (UPCP, Zero)) } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP6._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x70, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 /* p....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (LNot (And (PR3, 0x20))) { And (VIS, Zero, VIS) /* \_SB_.PCI0.XHC_.RHUB.SSP6._PLD.VIS_ */ } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP6._PLD.PLDP */ } } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x6D, 0x03)) } } 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 (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x6D, 0x04)) } } Scope (\_SB.PCI0) { Device (SIRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (And (CDID, 0xF000), 0x8000)) { Return (Zero) } Return (0x0F) } Name (BUF1, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y2B) }) Name (BUF2, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y2C) }) Name (BUF3, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y2D) }) Name (BUF4, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y2E) }) Name (BUF5, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y2F) }) Name (BUF6, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y30) }) Name (BUF7, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y31) }) Name (BUF8, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y32) }) Name (BUFL, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000008, // Address Length _Y33) }) Name (BUFH, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000FEC, // Address Length _Y34) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Store (ResourceTemplate () { }, Local0) CreateDWordField (BUF1, \_SB.PCI0.SIRC._Y2B._BAS, BR01) // _BAS: Base Address CreateDWordField (BUF2, \_SB.PCI0.SIRC._Y2C._BAS, BR02) // _BAS: Base Address CreateDWordField (BUF3, \_SB.PCI0.SIRC._Y2D._BAS, BR03) // _BAS: Base Address CreateDWordField (BUF4, \_SB.PCI0.SIRC._Y2E._BAS, BR04) // _BAS: Base Address CreateDWordField (BUF5, \_SB.PCI0.SIRC._Y2F._BAS, BR05) // _BAS: Base Address CreateDWordField (BUF6, \_SB.PCI0.SIRC._Y30._BAS, BR06) // _BAS: Base Address CreateDWordField (BUF7, \_SB.PCI0.SIRC._Y31._BAS, BR07) // _BAS: Base Address CreateDWordField (BUF8, \_SB.PCI0.SIRC._Y32._BAS, BR08) // _BAS: Base Address If (LNotEqual (BR01, Zero)) { ConcatenateResTemplate (Local0, BUF1, Local0) } If (LNotEqual (BR02, Zero)) { ConcatenateResTemplate (Local0, BUF2, Local0) } If (LNotEqual (BR03, Zero)) { ConcatenateResTemplate (Local0, BUF3, Local0) } If (LNotEqual (BR04, Zero)) { ConcatenateResTemplate (Local0, BUF4, Local0) } If (LNotEqual (BR05, Zero)) { ConcatenateResTemplate (Local0, BUF5, Local0) } If (LNotEqual (BR06, Zero)) { ConcatenateResTemplate (Local0, BUF6, Local0) } If (LNotEqual (BR07, Zero)) { ConcatenateResTemplate (Local0, BUF7, Local0) } If (LNotEqual (BR08, Zero)) { ConcatenateResTemplate (Local0, BUF8, Local0) OperationRegion (SDCH, SystemMemory, BR08, 0x40) Field (SDCH, DWordAcc, NoLock, Preserve) { Offset (0x10), BAR0, 32 } CreateDWordField (BUFL, \_SB.PCI0.SIRC._Y33._BAS, LBAS) // _BAS: Base Address CreateDWordField (BUFH, \_SB.PCI0.SIRC._Y34._BAS, HBAS) // _BAS: Base Address Add (BAR0, 0x1000, LBAS) /* \_SB_.PCI0.SIRC._CRS.LBAS */ Add (BAR0, 0x1014, HBAS) /* \_SB_.PCI0.SIRC._CRS.HBAS */ ConcatenateResTemplate (Local0, BUFL, Local0) ConcatenateResTemplate (Local0, BUFH, Local0) } Return (Local0) } Method (CNTR, 1, Serialized) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.SIRC.CNTR._T_0 */ If (LEqual (_T_0, One)) { CreateDWordField (BUF1, \_SB.PCI0.SIRC._Y2B._BAS, BAR1) // _BAS: Base Address Return (BAR1) /* \_SB_.PCI0.SIRC.CNTR.BAR1 */ } Else { If (LEqual (_T_0, 0x02)) { CreateDWordField (BUF2, \_SB.PCI0.SIRC._Y2C._BAS, BAR2) // _BAS: Base Address Return (BAR2) /* \_SB_.PCI0.SIRC.CNTR.BAR2 */ } Else { If (LEqual (_T_0, 0x03)) { CreateDWordField (BUF3, \_SB.PCI0.SIRC._Y2D._BAS, BAR3) // _BAS: Base Address Return (BAR3) /* \_SB_.PCI0.SIRC.CNTR.BAR3 */ } Else { If (LEqual (_T_0, 0x04)) { CreateDWordField (BUF4, \_SB.PCI0.SIRC._Y2E._BAS, BAR4) // _BAS: Base Address Return (BAR4) /* \_SB_.PCI0.SIRC.CNTR.BAR4 */ } Else { If (LEqual (_T_0, 0x05)) { CreateDWordField (BUF5, \_SB.PCI0.SIRC._Y2F._BAS, BAR5) // _BAS: Base Address Return (BAR5) /* \_SB_.PCI0.SIRC.CNTR.BAR5 */ } Else { If (LEqual (_T_0, 0x06)) { CreateDWordField (BUF6, \_SB.PCI0.SIRC._Y30._BAS, BAR6) // _BAS: Base Address Return (BAR6) /* \_SB_.PCI0.SIRC.CNTR.BAR6 */ } Else { If (LEqual (_T_0, 0x07)) { CreateDWordField (BUF7, \_SB.PCI0.SIRC._Y31._BAS, BAR7) // _BAS: Base Address Return (BAR7) /* \_SB_.PCI0.SIRC.CNTR.BAR7 */ } Else { If (LEqual (_T_0, 0x08)) { CreateDWordField (BUF8, \_SB.PCI0.SIRC._Y32._BAS, BAR8) // _BAS: Base Address Return (BAR8) /* \_SB_.PCI0.SIRC.CNTR.BAR8 */ } Else { Return (0xFFFFFFFF) } } } } } } } } Break } } } Device (GPI0) { Name (_HID, "INT33C7" /* Intel Serial I/O GPIO Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C7" /* Intel Serial I/O GPIO Host Controller */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000800, // Range Minimum 0x00000BFF, // Range Maximum 0x00000000, // Translation Offset 0x00000400, // Length ,, _Y35, TypeStatic) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.GPI0.RBUF */ } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.GPI0._Y35._MIN, BVAL) // _MIN: Minimum Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } } Device (SDMA) { Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_ADR, 0x00150000) // _ADR: Address Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y36) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000014, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.SDMA.RBUF */ } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } Method (PTD3, 0, NotSerialized) { If (LNotEqual (^^SIRC.CNTR (One), Zero)) { Add (^^SIRC.CNTR (One), 0x84, Local0) OperationRegion (DMB1, SystemMemory, Local0, 0x04) Field (DMB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.SDMA.PTD3.TEMP */ } } CreateDWordField (RBUF, \_SB.PCI0.SDMA._Y36._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LAnd (LEqual (DOSD, 0x02), LEqual (OSYS, 0x07DC))) { PTD3 () Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } } Device (I2C0) { Name (_HID, "INT33C2" /* Intel Serial I/O I2C Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C2" /* Intel Serial I/O I2C Host Controller */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_ADR, 0x00150001) // _ADR: Address Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("I2C0 DEP Call") If (LEqual (S0ID, One)) { ADBG ("I2C0 DEP") Return (Package (0x01) { PEPD }) } Else { ADBG ("I2C0 DEP NULL") Return (Package (0x00) {}) } } Method (SSCN, 0, NotSerialized) { Name (PKG, Package (0x03) { 0x01B0, 0x01FB, 0x09 }) Store (SSH0, Index (PKG, Zero)) Store (SSL0, Index (PKG, One)) Store (SSD0, Index (PKG, 0x02)) Return (PKG) /* \_SB_.PCI0.I2C0.SSCN.PKG_ */ } Method (FMCN, 0, NotSerialized) { Name (PKG, Package (0x03) { 0x48, 0xA0, 0x09 }) Store (FMH0, Index (PKG, Zero)) Store (FML0, Index (PKG, One)) Store (FMD0, Index (PKG, 0x02)) Return (PKG) /* \_SB_.PCI0.I2C0.FMCN.PKG_ */ } Method (FPCN, 0, NotSerialized) { Name (PKG, Package (0x03) { 0x1A, 0x32, 0x05 }) Store (FPH0, Index (PKG, Zero)) Store (FPL0, Index (PKG, One)) Store (FPD0, Index (PKG, 0x02)) Return (PKG) /* \_SB_.PCI0.I2C0.FPCN.PKG_ */ } Method (M0D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M0C0, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.I2C0.M0D3.PKG_ */ } Method (M1D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0x07D0 }) Store (M1C0, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.I2C0.M1D3.PKG_ */ } Method (M0D0, 0, NotSerialized) { Name (PKG, Package (0x01) { Zero }) Store (M2C0, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.I2C0.M0D0.PKG_ */ } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y37) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (DBUF, ResourceTemplate () { FixedDMA (0x0018, 0x0004, Width32bit, ) FixedDMA (0x0019, 0x0005, Width32bit, ) }) If (LNotEqual (^^SDMA._STA (), Zero)) { Return (ConcatenateResTemplate (RBUF, DBUF)) } Else { Return (RBUF) /* \_SB_.PCI0.I2C0.RBUF */ } } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.I2C0._Y37._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("I2C0 Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x02), Zero)) { Add (^^SIRC.CNTR (0x02), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.I2C0._PS0.TEMP */ Store (TEMP, Local0) } If (CondRefOf (\_SB.PCI0.I2C0.PS0X)) { PS0X () } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("I2C0 Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x02), Zero)) { Add (^^SIRC.CNTR (0x02), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.I2C0._PS3.TEMP */ Store (TEMP, Local0) } If (CondRefOf (\_SB.PCI0.I2C0.PS3X)) { PS3X () } } } Device (I2C1) { Name (_HID, "INT33C3" /* Intel Serial I/O I2C Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C3" /* Intel Serial I/O I2C Host Controller */) // _CID: Compatible ID Name (_UID, 0x02) // _UID: Unique ID Name (_ADR, 0x00150002) // _ADR: Address Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("I2C1 DEP Call") If (LEqual (S0ID, One)) { ADBG ("I2C1 DEP") Return (Package (0x01) { PEPD }) } Else { ADBG ("I2C1 DEP NULL") Return (Package (0x00) {}) } } Method (SSCN, 0, NotSerialized) { Name (PKG, Package (0x03) { 0x01B0, 0x01FB, 0x09 }) Store (SSH1, Index (PKG, Zero)) Store (SSL1, Index (PKG, One)) Store (SSD1, Index (PKG, 0x02)) Return (PKG) /* \_SB_.PCI0.I2C1.SSCN.PKG_ */ } Method (FMCN, 0, NotSerialized) { Name (PKG, Package (0x03) { 0x48, 0xA0, 0x09 }) Store (FMH1, Index (PKG, Zero)) Store (FML1, Index (PKG, One)) Store (FMD1, Index (PKG, 0x02)) Return (PKG) /* \_SB_.PCI0.I2C1.FMCN.PKG_ */ } Method (FPCN, 0, NotSerialized) { Name (PKG, Package (0x03) { 0x1A, 0x32, 0x05 }) Store (FPH1, Index (PKG, Zero)) Store (FPL1, Index (PKG, One)) Store (FPD1, Index (PKG, 0x02)) Return (PKG) /* \_SB_.PCI0.I2C1.FPCN.PKG_ */ } Method (M0D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M0C1, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.I2C1.M0D3.PKG_ */ } Method (M1D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0x07D0 }) Store (M1C1, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.I2C1.M1D3.PKG_ */ } Method (M0D0, 0, NotSerialized) { Name (PKG, Package (0x01) { Zero }) Store (M2C1, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.I2C1.M0D0.PKG_ */ } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y38) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (DBUF, ResourceTemplate () { FixedDMA (0x001A, 0x0006, Width32bit, ) FixedDMA (0x001B, 0x0007, Width32bit, ) }) If (LNotEqual (^^SDMA._STA (), Zero)) { Return (ConcatenateResTemplate (RBUF, DBUF)) } Else { Return (RBUF) /* \_SB_.PCI0.I2C1.RBUF */ } } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y38._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("I2C1 Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x03), Zero)) { If (CondRefOf (\_SB.PCI0.I2C1.PS0X)) { PS0X () } Add (^^SIRC.CNTR (0x03), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.I2C1._PS0.TEMP */ Store (TEMP, Local0) } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("I2C1 Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x03), Zero)) { Add (^^SIRC.CNTR (0x03), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.I2C1._PS3.TEMP */ Store (TEMP, Local0) } } } Device (SPI0) { Name (_HID, "INT33C0" /* Intel Serial I/O SPI Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C0" /* Intel Serial I/O SPI Host Controller */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_ADR, 0x00150003) // _ADR: Address Method (M0D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M0C2, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.SPI0.M0D3.PKG_ */ } Method (M1D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0x07D0 }) Store (M1C2, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.SPI0.M1D3.PKG_ */ } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y39) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.SPI0.RBUF */ } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.SPI0._Y39._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("SPI0 Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x04), Zero)) { Add (^^SIRC.CNTR (0x04), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.SPI0._PS0.TEMP */ Store (TEMP, Local0) } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("SPI0 Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x04), Zero)) { Add (^^SIRC.CNTR (0x04), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.SPI0._PS3.TEMP */ Store (TEMP, Local0) } } } Device (SPI1) { Name (_HID, "INT33C1" /* Intel Serial I/O SPI Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C1" /* Intel Serial I/O SPI Host Controller */) // _CID: Compatible ID Name (_UID, 0x02) // _UID: Unique ID Name (_ADR, 0x00150004) // _ADR: Address Method (M0D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M0C3, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.SPI1.M0D3.PKG_ */ } Method (M1D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0x07D0 }) Store (M1C3, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.SPI1.M1D3.PKG_ */ } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y3A) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (DBUF, ResourceTemplate () { FixedDMA (0x0010, 0x0000, Width32bit, ) FixedDMA (0x0011, 0x0001, Width32bit, ) }) If (LNotEqual (^^SDMA._STA (), Zero)) { Return (ConcatenateResTemplate (RBUF, DBUF)) } Else { Return (RBUF) /* \_SB_.PCI0.SPI1.RBUF */ } } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y3A._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("SPI1 Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x05), Zero)) { Add (^^SIRC.CNTR (0x05), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.SPI1._PS0.TEMP */ Store (TEMP, Local0) } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("SPI1 Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x05), Zero)) { Add (^^SIRC.CNTR (0x05), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.SPI1._PS3.TEMP */ Store (TEMP, Local0) } } } Device (UA00) { Name (_HID, "INT33C4" /* Intel Serial I/O UART Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C4" /* Intel Serial I/O UART Host Controller */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_ADR, 0x00150005) // _ADR: Address Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("UA00 DEP Call") If (LEqual (S0ID, One)) { ADBG ("UA00 DEP") Return (Package (0x01) { PEPD }) } Else { ADBG ("UA00 DEP NULL") Return (Package (0x00) {}) } } Method (M0D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M0C4, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.UA00.M0D3.PKG_ */ } Method (M1D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M1C4, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.UA00.M1D3.PKG_ */ } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y3B) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.UA00.RBUF */ } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.UA00._Y3B._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("UAR0 Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x06), Zero)) { Add (^^SIRC.CNTR (0x06), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.UA00._PS0.TEMP */ Store (TEMP, Local0) } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("UAR0 Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x06), Zero)) { Add (^^SIRC.CNTR (0x06), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.UA00._PS3.TEMP */ Store (TEMP, Local0) } } } Device (UA01) { Name (_HID, "INT33C5" /* Intel Serial I/O UART Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C5" /* Intel Serial I/O UART Host Controller */) // _CID: Compatible ID Name (_UID, 0x02) // _UID: Unique ID Name (_ADR, 0x00150006) // _ADR: Address Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("UA01 DEP Call") If (LEqual (S0ID, One)) { ADBG ("UA01 DEP") Return (Package (0x01) { PEPD }) } Else { ADBG ("UA01 DEP NULL") Return (Package (0x00) {}) } } Method (M0D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M0C5, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.UA01.M0D3.PKG_ */ } Method (M1D3, 0, NotSerialized) { Name (PKG, Package (0x01) { 0xC8 }) Store (M1C5, Index (PKG, Zero)) Return (PKG) /* \_SB_.PCI0.UA01.M1D3.PKG_ */ } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y3C) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (DBUF, ResourceTemplate () { FixedDMA (0x0016, 0x0002, Width32bit, ) FixedDMA (0x0017, 0x0003, Width32bit, ) }) If (LNotEqual (^^SDMA._STA (), Zero)) { Return (ConcatenateResTemplate (RBUF, DBUF)) } Else { Return (RBUF) /* \_SB_.PCI0.UA01.RBUF */ } } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (CRID) /* \_SB_.CRID */ } CreateDWordField (RBUF, \_SB.PCI0.UA01._Y3C._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("UAR1 Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x07), Zero)) { Add (^^SIRC.CNTR (0x07), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.UA01._PS0.TEMP */ Store (TEMP, Local0) } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("UAR1 Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x07), Zero)) { Add (^^SIRC.CNTR (0x07), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.UA01._PS3.TEMP */ Store (TEMP, Local0) } } } Device (SDHC) { Name (_HID, "INT33C6" /* Intel SD Host Controller */) // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_ADR, 0x00170000) // _ADR: Address Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("SDHC DEP Call") If (LEqual (S0ID, One)) { ADBG ("SDHC DEP") Return (Package (0x01) { PEPD }) } Else { ADBG ("SDHC DEP NULL") Return (Package (0x00) {}) } } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y3D) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000016, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.SDHC.RBUF */ } CreateDWordField (RBUF, \_SB.PCI0.SDHC._Y3D._BAS, BVAL) // _BAS: Base Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (BVAL, Zero)) { Return (Zero) } If (LLess (OSYS, 0x07DC)) { Return (Zero) } If (LEqual (S0ID, One)) { Return (0x0F) } Return (Zero) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("SDHC Ctrlr D0") If (LNotEqual (^^SIRC.CNTR (0x08), Zero)) { Add (^^SIRC.CNTR (0x08), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } And (TEMP, 0xFFFFFFFC, TEMP) /* \_SB_.PCI0.SDHC._PS0.TEMP */ Store (TEMP, Local0) } If (CondRefOf (\_SB.PCI0.SDHC.PS0X)) { PS0X () } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("SDHC Ctrlr D3") If (LNotEqual (^^SIRC.CNTR (0x08), Zero)) { Add (^^SIRC.CNTR (0x08), 0x84, Local0) OperationRegion (ICB1, SystemMemory, Local0, 0x04) Field (ICB1, DWordAcc, NoLock, Preserve) { TEMP, 32 } Or (TEMP, 0x03, TEMP) /* \_SB_.PCI0.SDHC._PS3.TEMP */ Store (TEMP, Local0) } } } } Scope (\_SB.PCI0) { } Scope (I2C0) { Device (ACD0) { Name (_ADR, 0x1C) // _ADR: Address Name (_HID, "INT33CA" /* Intel SPB Peripheral */) // _HID: Hardware ID Name (_CID, "INT33CA" /* Intel SPB Peripheral */) // _CID: Compatible ID Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec - INT33CA") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (MCLK, Zero) Name (SCLK, 0x09) Name (SSPM, Zero) Name (RBUF, ResourceTemplate () { I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, ) { 0x00000025, } }) Name (EOD, One) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.I2C0.ACD0.RBUF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { Store (One, EOD) /* \_SB_.PCI0.I2C0.ACD0.EOD_ */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LOr (LNotEqual (CODS, Zero), LNotEqual (ADSD, Zero))) { Return (Zero) } If (And (EOD, One, EOD) /* \_SB_.PCI0.I2C0.ACD0.EOD_ */) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { Store (Zero, EOD) /* \_SB_.PCI0.I2C0.ACD0.EOD_ */ } } Device (ACD1) { Name (_ADR, 0x4A) // _ADR: Address Name (_HID, "INT33C9" /* Wolfson Microelectronics Audio WM5102 */) // _HID: Hardware ID Name (_CID, "INT33C9" /* Wolfson Microelectronics Audio WM5102 */) // _CID: Compatible ID Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec - INT33C9") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (MCLK, 0x06) Name (SCLK, Zero) Name (SSPM, One) Name (RBUF, ResourceTemplate () { I2cSerialBus (0x004A, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , ) }) Name (EOD, One) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Store (One, EOD) /* \_SB_.PCI0.I2C0.ACD1.EOD_ */ Return (RBUF) /* \_SB_.PCI0.I2C0.ACD1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LOr (LNotEqual (CODS, One), LNotEqual (ADSD, Zero))) { Return (Zero) } If (And (EOD, One, EOD) /* \_SB_.PCI0.I2C0.ACD1.EOD_ */) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { Store (Zero, EOD) /* \_SB_.PCI0.I2C0.ACD1.EOD_ */ } } Device (ACD2) { Name (_ADR, 0x69) // _ADR: Address Name (_HID, "INT33CB" /* Intel Smart Sound Technology Audio Codec */) // _HID: Hardware ID Name (_CID, "INT33CB" /* Intel Smart Sound Technology Audio Codec */) // _CID: Compatible ID Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec - INT33CB") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (MCLK, 0x18) Name (SCLK, 0x09) Name (SSPM, Zero) Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0069, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0033 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0035 } Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, ) { 0x00000023, } Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, ) { 0x00000025, } }) Name (EOD, One) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.I2C0.ACD2.RBUF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { Store (One, EOD) /* \_SB_.PCI0.I2C0.ACD2.EOD_ */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LOr (LNotEqual (CODS, 0x02), LNotEqual (ADSD, Zero))) { Return (Zero) } If (And (EOD, One, EOD) /* \_SB_.PCI0.I2C0.ACD2.EOD_ */) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { Store (Zero, EOD) /* \_SB_.PCI0.I2C0.ACD2.EOD_ */ } } Device (SHUB) { Name (_HID, "INT33D1" /* Intel GPIO Buttons */) // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Name (_UID, One) // _UID: Unique ID Name (_RMV, One) // _RMV: Removal Status Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (And (SDS0, One), One)) { Return (Zero) } If (LNotEqual (RDGP (0x2E), One)) { Return (Zero) } If (LNotEqual (RDGP (0x2E), One)) { Return (Zero) } If (LAnd (LEqual (RDGP (0x2C), One), LEqual (_HID, "INT33D1"))) { Return (0x0F) } If (LAnd (LEqual (RDGP (0x2C), Zero), LEqual (_HID, "INT33D7"))) { Return (0x0F) } Return (Zero) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0040, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } }) Return (SBFI) /* \_SB_.PCI0.I2C0.SHUB._CRS.SBFI */ } } Device (DFUD) { Name (_HID, "INT33D7") // _HID: Hardware ID Name (_ADR, Zero) // _ADR: Address Name (_UID, One) // _UID: Unique ID Name (_RMV, One) // _RMV: Removal Status Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (And (SDS0, One), One)) { Return (Zero) } If (LNotEqual (RDGP (0x2E), One)) { Return (Zero) } If (LNotEqual (RDGP (0x2E), One)) { Return (Zero) } If (LAnd (LEqual (RDGP (0x2C), One), LEqual (_HID, "INT33D1"))) { Return (0x0F) } If (LAnd (LEqual (RDGP (0x2C), Zero), LEqual (_HID, "INT33D7"))) { Return (0x0F) } Return (Zero) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0040, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } }) Return (SBFI) /* \_SB_.PCI0.I2C0.DFUD._CRS.SBFI */ } } Device (TPD4) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "MSFT1111") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS0, 0x04), 0x04)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0060, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } }) Return (SBFI) /* \_SB_.PCI0.I2C0.TPD4._CRS.SBFI */ } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x0E, 0x04 }) } Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State { Return (0x03) } Method (_S4W, 0, NotSerialized) // _S4W: S4 Device Wake State { Return (0x03) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("TPD4 Ctrlr D0") WTIN (0x0E, Zero) Store (One, GO14) /* \GO14 */ } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("TPD4 Ctrlr D3") WTIN (0x0E, One) Store (Zero, GO14) /* \GO14 */ } } } Scope (I2C1) { Device (TPL0) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "ATML1000" /* Atmel Touchscreen Controller */) // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (Zero) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, One), One)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000022, } }) Return (SBFI) /* \_SB_.PCI0.I2C1.TPL0._CRS.SBFI */ } } Device (TPFU) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "ATML2000") // _HID: Hardware ID Name (_CID, "PNP0C02" /* PNP Motherboard Resources */) // _CID: Compatible ID Name (_UID, 0x0A) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LAnd (And (SDS1, One), And (APFU, One))) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0026, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) I2cSerialBus (0x0027, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) }) Return (SBFI) /* \_SB_.PCI0.I2C1.TPFU._CRS.SBFI */ } } Device (TPL1) { Name (_HID, "ELAN1001") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x02), 0x02)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000022, } }) Return (SBFI) /* \_SB_.PCI0.I2C1.TPL1._CRS.SBFI */ } } Device (TPL2) { Name (_ADR, One) // _ADR: Address Name (_HID, "NTRG0001") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x20), 0x20)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0007, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000022, } }) Return (SBFI) /* \_SB_.PCI0.I2C1.TPL2._CRS.SBFI */ } } Device (TPL3) { Name (_ADR, One) // _ADR: Address Name (_HID, "EETI7900") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (0x0F) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x40), 0x40)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x002A, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000022, } }) Return (SBFI) /* \_SB_.PCI0.I2C1.TPL3._CRS.SBFI */ } } Device (TPD0) { Name (_ADR, One) // _ADR: Address Name (_HID, "ELAN1000") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x04), 0x04)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0015, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y3E) { 0x00000027, } }) If (LEqual (GR13, One)) { CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD0._CRS._Y3E._INT, VAL3) // _INT: Interrupts Store (0x1B, VAL3) /* \_SB_.PCI0.I2C1.TPD0._CRS.VAL3 */ } Return (SBFI) /* \_SB_.PCI0.I2C1.TPD0._CRS.SBFI */ } } Device (TPD1) { Name (_ADR, One) // _ADR: Address Name (_HID, "MSFT0001") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (0x20) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x08), 0x08)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0020, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y3F) { 0x00000027, } }) If (LEqual (GR13, One)) { CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD1._CRS._Y3F._INT, VAL3) // _INT: Interrupts Store (0x1B, VAL3) /* \_SB_.PCI0.I2C1.TPD1._CRS.VAL3 */ } Return (SBFI) /* \_SB_.PCI0.I2C1.TPD1._CRS.SBFI */ } } Device (TPD2) { Name (_ADR, One) // _ADR: Address Name (_HID, "ALP0001") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x80), 0x80)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x002A, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y40) { 0x00000027, } }) If (LEqual (GR13, One)) { CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD2._CRS._Y40._INT, VAL3) // _INT: Interrupts Store (0x1B, VAL3) /* \_SB_.PCI0.I2C1.TPD2._CRS.VAL3 */ } Return (SBFI) /* \_SB_.PCI0.I2C1.TPD2._CRS.SBFI */ } } Device (TPD3) { Name (_ADR, One) // _ADR: Address Name (_HID, "CYP0001") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x04) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x0100), 0x0100)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0024, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y41) { 0x00000027, } }) If (LEqual (GR13, One)) { CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD3._CRS._Y41._INT, VAL3) // _INT: Interrupts Store (0x1B, VAL3) /* \_SB_.PCI0.I2C1.TPD3._CRS.VAL3 */ } Return (SBFI) /* \_SB_.PCI0.I2C1.TPD3._CRS.SBFI */ } } Device (TPD7) { Name (_ADR, One) // _ADR: Address Name (_HID, "ELAN1010") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x03) // _S0W: S0 Device Wake State Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State { If (LEqual (S0ID, Zero)) { Return (0x03) } Else { Return (Zero) } } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x0800), 0x0800)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0015, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y42) { 0x00000027, } }) If (LEqual (GR13, One)) { CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD7._CRS._Y42._INT, VAL3) // _INT: Interrupts Store (0x1B, VAL3) /* \_SB_.PCI0.I2C1.TPD7._CRS.VAL3 */ If (LEqual (S0ID, Zero)) { CreateByteField (SBFI, 0x24, VAL4) And (VAL4, 0xE7, VAL4) /* \_SB_.PCI0.I2C1.TPD7._CRS.VAL4 */ } } Return (SBFI) /* \_SB_.PCI0.I2C1.TPD7._CRS.SBFI */ } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (LAnd (LEqual (S0ID, Zero), LEqual (GR13, One))) { Return (Package (0x02) { 0x0D, 0x03 }) } Return (Package (0x02) { Zero, Zero }) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("TPD7 Ctrlr D0") If (LAnd (LEqual (S0ID, Zero), LEqual (GR13, One))) { WTIN (0x0D, Zero) Store (One, GO13) /* \GO13 */ } If (CondRefOf (\_SB.PCI0.I2C1.TPD7.PS0X)) { PS0X () } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("TPD7 Ctrlr D3") If (LAnd (LEqual (S0ID, Zero), LEqual (GR13, One))) { WTIN (0x0D, One) Store (Zero, GO13) /* \GO13 */ } } } Device (TPD8) { Name (_ADR, One) // _ADR: Address Name (_HID, "MSFT0002") // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x03) // _S0W: S0 Device Wake State Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State { If (LEqual (S0ID, Zero)) { Return (0x03) } Else { Return (Zero) } } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If (LEqual (Arg2, Zero)) { If (LEqual (Arg1, One)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } If (LEqual (Arg2, One)) { Return (0x20) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS1, 0x1000), 0x1000)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBFI, ResourceTemplate () { I2cSerialBus (0x0020, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y43) { 0x00000027, } }) If (LEqual (GR13, One)) { CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD8._CRS._Y43._INT, VAL3) // _INT: Interrupts Store (0x1B, VAL3) /* \_SB_.PCI0.I2C1.TPD8._CRS.VAL3 */ } If (LEqual (S0ID, Zero)) { CreateByteField (SBFI, 0x24, VAL4) And (VAL4, 0xE7, VAL4) /* \_SB_.PCI0.I2C1.TPD8._CRS.VAL4 */ } Return (SBFI) /* \_SB_.PCI0.I2C1.TPD8._CRS.SBFI */ } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (LAnd (LEqual (S0ID, Zero), LEqual (GR13, One))) { Return (Package (0x02) { 0x0D, 0x03 }) } Return (Package (0x02) { Zero, Zero }) } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("TPD8 Ctrlr D0") If (LAnd (LEqual (S0ID, Zero), LEqual (GR13, One))) { WTIN (0x0D, Zero) Store (One, GO13) /* \GO13 */ } If (CondRefOf (\_SB.PCI0.I2C1.TPD8.PS0X)) { PS0X () } } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("TPD8 Ctrlr D3") If (LAnd (LEqual (S0ID, Zero), LEqual (GR13, One))) { WTIN (0x0D, One) Store (Zero, GO13) /* \GO13 */ } } } } Scope (SPI0) { } Scope (SPI1) { } Scope (UA00) { Device (BTH0) { Name (_HID, "INT33E0") // _HID: Hardware ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xC0, LittleEndian, ParityTypeNone, FlowControlHardware, 0x0020, 0x0020, "\\_SB.PCI0.UA00", 0x00, ResourceConsumer, , ) }) Return (UBUF) /* \_SB_.PCI0.UA00.BTH0._CRS.UBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS4, One), One)) { Return (0x0F) } Else { Return (Zero) } } } } Scope (UA01) { Device (BTH1) { Name (_HID, "INT33E0") // _HID: Hardware ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xC0, LittleEndian, ParityTypeNone, FlowControlHardware, 0x0020, 0x0020, "\\_SB.PCI0.UA01", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveLow, SharedAndWake, ,, ) { 0x00000019, } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0057 } }) Return (UBUF) /* \_SB_.PCI0.UA01.BTH1._CRS.UBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS5, One), One)) { Return (0x0F) } Else { Return (Zero) } } } Device (BTH2) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (LEqual (BCV4, Zero)) { Return ("BCM2E20") } Else { Return ("BCM2E40") } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xC0, LittleEndian, ParityTypeNone, FlowControlHardware, 0x0020, 0x0020, "\\_SB.PCI0.UA01", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive, ,, ) { 0x00000019, } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0039 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0057 } }) Return (UBUF) /* \_SB_.PCI0.UA01.BTH2._CRS.UBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (And (SDS5, 0x02), 0x02)) { Return (0x0F) } Else { Return (Zero) } } Name (_S0W, 0x02) // _S0W: S0 Device Wake State } } Scope (SDHC) { Device (WI01) { Name (_ADR, One) // _ADR: Address Name (_DDN, "SDIO Wifi device Function 1") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Name (_S4W, 0x02) // _S4W: S4 Device Wake State Name (_S0W, 0x02) // _S0W: S0 Device Wake State Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("WiFi1 Enter D0") If (CondRefOf (\_SB.PCI0.SDHC.WI01.PS0X)) { PS0X () } } Method (_PS2, 0, Serialized) // _PS2: Power State 2 { ADBG ("WiFi1 Enter D2") } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("WiFi1 Enter D3") If (CondRefOf (\_SB.PCI0.SDHC.WI01.PS3X)) { PS3X () } } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y44) Interrupt (ResourceConsumer, Level, ActiveLow, SharedAndWake, ,, ) { 0x00000026, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (^^RBUF, \_SB.PCI0.SDHC._Y3D._BAS, AVAL) // _BAS: Base Address If (LNotEqual (AVAL, Zero)) { CreateDWordField (RBUF, \_SB.PCI0.SDHC.WI01._Y44._LEN, WLN0) // _LEN: Length Store (0x0C, WLN0) /* \_SB_.PCI0.SDHC.WI01._CRS.WLN0 */ CreateDWordField (RBUF, \_SB.PCI0.SDHC.WI01._Y44._BAS, WVAL) // _BAS: Base Address Add (AVAL, 0x1008, WVAL) /* \_SB_.PCI0.SDHC.WI01._CRS.WVAL */ } Return (RBUF) /* \_SB_.PCI0.SDHC.WI01.RBUF */ } } } Device (ADSP) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33C8" /* Intel Smart Sound Technology Host Controller */) // _HID: Hardware ID Name (_CID, "INT33C8" /* Intel Smart Sound Technology Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) Smart Sound Technology Host Controller - INT33C8") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("ADSP DEP Call") If (LEqual (S0ID, One)) { ADBG ("ADSP DEP") Return (Package (0x01) { PEPD }) } Else { ADBG ("ADSP DEP NULL") Return (Package (0x00) {}) } } Name (MCLK, Zero) Name (SCLK, 0x09) Name (SSPM, Zero) Name (ABTH, Zero) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00100000, // Address Length _Y45) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000003, } }) Name (EOD, One) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (CODS), _T_0) /* \_SB_.PCI0.ADSP._CRS._T_0 */ If (LEqual (_T_0, Zero)) { Store (^^I2C0.ACD0.MCLK, MCLK) /* \_SB_.PCI0.ADSP.MCLK */ Store (^^I2C0.ACD0.SCLK, SCLK) /* \_SB_.PCI0.ADSP.SCLK */ Store (^^I2C0.ACD0.SSPM, SSPM) /* \_SB_.PCI0.ADSP.SSPM */ } Else { If (LEqual (_T_0, One)) { Store (^^I2C0.ACD1.MCLK, MCLK) /* \_SB_.PCI0.ADSP.MCLK */ Store (^^I2C0.ACD1.SCLK, SCLK) /* \_SB_.PCI0.ADSP.SCLK */ Store (^^I2C0.ACD1.SSPM, SSPM) /* \_SB_.PCI0.ADSP.SSPM */ } Else { If (LEqual (_T_0, 0x02)) { Store (^^I2C0.ACD2.MCLK, MCLK) /* \_SB_.PCI0.ADSP.MCLK */ Store (^^I2C0.ACD2.SCLK, SCLK) /* \_SB_.PCI0.ADSP.SCLK */ Store (^^I2C0.ACD2.SSPM, SSPM) /* \_SB_.PCI0.ADSP.SSPM */ } Else { Store (^^I2C0.ACD0.MCLK, MCLK) /* \_SB_.PCI0.ADSP.MCLK */ Store (^^I2C0.ACD0.SCLK, SCLK) /* \_SB_.PCI0.ADSP.SCLK */ Store (^^I2C0.ACD0.SSPM, SSPM) /* \_SB_.PCI0.ADSP.SSPM */ } } } Break } Return (RBUF) /* \_SB_.PCI0.ADSP.RBUF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { Store (One, EOD) /* \_SB_.PCI0.ADSP.EOD_ */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (LGreaterEqual (OSYS, 0x07DC)) { If (LEqual (S0ID, One)) { CreateDWordField (RBUF, \_SB.PCI0.ADSP._Y45._BAS, BVAL) // _BAS: Base Address If (LEqual (BVAL, Zero)) { Return (Zero) } If (And (EOD, One, EOD) /* \_SB_.PCI0.ADSP.EOD_ */) { Return (0x0F) } Else { Return (0x0D) } } } Return (Zero) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { Store (Zero, EOD) /* \_SB_.PCI0.ADSP.EOD_ */ } Device (I2S0) { Name (_ADR, Zero) // _ADR: Address } Device (I2S1) { Name (_ADR, One) // _ADR: Address } } Device (RP01) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA0) /* \RPA0 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR1, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML1, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL1, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF1, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP01._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP01._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP01.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP01.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP01.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP01.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP01.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP01.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } 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 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR04) /* \_SB_.PCI0.RP01.AR04 */ } Return (PR04) /* \_SB_.PCI0.RP01.PR04 */ } } Device (RP02) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA1) /* \RPA1 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR2, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML2, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL2, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF2, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP02._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP02._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP02.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP02.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP02.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP02.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP02.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP02.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } 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 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR05) /* \_SB_.PCI0.RP02.AR05 */ } Return (PR05) /* \_SB_.PCI0.RP02.PR05 */ } } Device (RP03) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA2) /* \RPA2 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR3, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML3, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL3, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF3, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP03._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP03._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP03.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP03.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP03.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP03.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP03.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP03.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } 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 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR06) /* \_SB_.PCI0.RP03.AR06 */ } Return (PR06) /* \_SB_.PCI0.RP03.PR06 */ } } Device (RP04) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA3) /* \RPA3 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR4, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML4, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL4, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF4, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP04._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP04._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP04.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP04.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP04.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP04.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP04.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP04.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } 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 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR07) /* \_SB_.PCI0.RP04.AR07 */ } Return (PR07) /* \_SB_.PCI0.RP04.PR07 */ } } Device (RP05) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA4) /* \RPA4 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR08) /* \_SB_.PCI0.RP05.AR08 */ } Return (PR08) /* \_SB_.PCI0.RP05.PR08 */ } } Device (RP06) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA5) /* \RPA5 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR6, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML6, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL6, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF6, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP06._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP06._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP06.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP06.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP06.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP06.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP06.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP06.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Name (PR09, 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 (AR09, 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 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (LEqual (And (CDID, 0xF000), 0x8000)) { If (PICM) { Return (AR09) /* \_SB_.PCI0.RP06.AR09 */ } Return (PR09) /* \_SB_.PCI0.RP06.PR09 */ } Else { If (PICM) { Return (AR08) /* External reference */ } Return (PR08) /* External reference */ } } } Device (RP07) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA6) /* \RPA6 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR7, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML7, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL7, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF7, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP07._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP07._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP07.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP07.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP07.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP07.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP07.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP07.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Name (PR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0E) /* \_SB_.PCI0.RP07.AR0E */ } Return (PR0E) /* \_SB_.PCI0.RP07.PR0E */ } } Device (RP08) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (RPA7) /* \RPA7 */ } Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (LTR8, LTRE) /* \_SB_.PCI0.LTRE */ Store (PML8, LMSL) /* \_SB_.PCI0.LMSL */ Store (PNL8, LNSL) /* \_SB_.PCI0.LNSL */ Store (OBF8, OBFF) /* \_SB_.PCI0.OBFF */ } OperationRegion (PXCS, PCI_Config, Zero, 0x0380) Field (PXCS, AnyAcc, NoLock, Preserve) { VDID, 32, Offset (0x50), L0SE, 1, , 3, LDIS, 1, Offset (0x51), Offset (0x52), , 13, LASX, 1, Offset (0x5A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x5B), Offset (0x60), Offset (0x62), PSPX, 1, Offset (0xA4), D3HT, 2, Offset (0xD8), , 30, HPEX, 1, PMEX, 1, Offset (0xE2), , 2, L23E, 1, L23R, 1, Offset (0x324), , 3, LEDM, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0xDC), , 30, HPSX, 1, PMSX, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (VDID, 0xFFFFFFFF)) { Return (Zero) } Else { Return (0x0F) } } Name (LTRV, Package (0x04) { Zero, Zero, Zero, Zero }) Name (OPTS, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { Store (ToInteger (Arg0), _T_0) /* \_SB_.PCI0.RP08._DSM._T_0 */ If (LEqual (_T_0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) { While (One) { Store (ToInteger (Arg2), _T_1) /* \_SB_.PCI0.RP08._DSM._T_1 */ If (LEqual (_T_1, Zero)) { If (LEqual (Arg1, 0x02)) { Store (One, OPTS) /* \_SB_.PCI0.RP08.OPTS */ If (LTRE) { Or (OPTS, 0x40, OPTS) /* \_SB_.PCI0.RP08.OPTS */ } If (OBFF) { Or (OPTS, 0x10, OPTS) /* \_SB_.PCI0.RP08.OPTS */ } Return (OPTS) /* \_SB_.PCI0.RP08.OPTS */ } Else { Return (Zero) } } Else { If (LEqual (_T_1, 0x04)) { If (LEqual (Arg1, 0x02)) { If (OBFF) { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } Else { Return (Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) } } } Else { If (LEqual (_T_1, 0x06)) { If (LEqual (Arg1, 0x02)) { If (LTRE) { If (LOr (LEqual (LMSL, 0xFFFFFFFF), LEqual (LNSL, 0xFFFFFFFF))) { If (LEqual (PCHS, One)) { Store (0x0846, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x0846, LNSL) /* \_SB_.PCI0.LNSL */ } Else { If (LEqual (PCHS, 0x02)) { Store (0x1003, LMSL) /* \_SB_.PCI0.LMSL */ Store (0x1003, LNSL) /* \_SB_.PCI0.LNSL */ } } } Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero)) Store (And (LMSL, 0x03FF), Index (LTRV, One)) Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02)) Store (And (LNSL, 0x03FF), Index (LTRV, 0x03)) Return (LTRV) /* \_SB_.PCI0.RP08.LTRV */ } Else { Return (Zero) } } } } } Break } } Break } Return (Buffer (One) { 0x00 /* . */ }) } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) /* \_SB_.PCI0.RP08.PMSX */ If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Name (PR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0E) /* \_SB_.PCI0.RP08.AR0E */ } Return (PR0E) /* \_SB_.PCI0.RP08.PR0E */ } } Device (SAT0) { Name (_ADR, 0x001F0002) // _ADR: Address Name (FDEV, Zero) Name (FDRP, Zero) Method (_DEP, 0, NotSerialized) // _DEP: Dependencies { ADBG ("SAT0 DEP Call") If (LGreaterEqual (OSYS, 0x07DD)) { If (LAnd (LEqual (S0ID, One), LNotEqual (And (PEPC, 0x03), Zero))) { ADBG ("SAT0 DEP") Return (Package (0x01) { PEPD }) } } ADBG ("SAT0 DEP NULL") Return (Package (0x00) {}) } Device (PRT0) { Name (_ADR, 0xFFFF) // _ADR: Address Method (_SDD, 1, Serialized) // _SDD: Set Device Data { CreateByteField (Arg0, 0x9D, BFDS) ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.FDEV */ CreateByteField (Arg0, 0x9A, BFRP) ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.FDRP */ } Method (_GTF, 0, Serialized) // _GTF: Get Task File { If (LAnd (LAnd (LEqual (DVS0, One), LEqual (And (FDEV, One), One)), LEqual (And (FDRP, 0x80), 0x80))) { Name (PIB1, Buffer (0x07) { 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ }) Return (PIB1) /* \_SB_.PCI0.SAT0.PRT0._GTF.PIB1 */ } Name (PIB2, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ....... */ }) Return (PIB2) /* \_SB_.PCI0.SAT0.PRT0._GTF.PIB2 */ } } Device (PRT1) { Name (_ADR, 0x0001FFFF) // _ADR: Address Name (FDEV, Zero) Name (FDRP, Zero) Method (_SDD, 1, Serialized) // _SDD: Set Device Data { CreateByteField (Arg0, 0x9D, BFDS) ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.PRT1.FDEV */ CreateByteField (Arg0, 0x9A, BFRP) ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.PRT1.FDRP */ } Method (_GTF, 0, Serialized) // _GTF: Get Task File { If (LAnd (LAnd (LEqual (DVS1, One), LEqual (And (FDEV, One), One)), LEqual (And (FDRP, 0x80), 0x80))) { Name (PIB1, Buffer (0x07) { 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ }) Return (PIB1) /* \_SB_.PCI0.SAT0.PRT1._GTF.PIB1 */ } Name (PIB2, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ....... */ }) Return (PIB2) /* \_SB_.PCI0.SAT0.PRT1._GTF.PIB2 */ } } Device (PRT2) { Name (_ADR, 0x0002FFFF) // _ADR: Address Name (FDEV, Zero) Name (FDRP, Zero) Method (_SDD, 1, Serialized) // _SDD: Set Device Data { CreateByteField (Arg0, 0x9D, BFDS) ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.PRT2.FDEV */ CreateByteField (Arg0, 0x9A, BFRP) ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.PRT2.FDRP */ } Method (_GTF, 0, Serialized) // _GTF: Get Task File { If (LAnd (LAnd (LEqual (DVS2, One), LEqual (And (FDEV, One), One)), LEqual (And (FDRP, 0x80), 0x80))) { Name (PIB1, Buffer (0x07) { 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ }) Return (PIB1) /* \_SB_.PCI0.SAT0.PRT2._GTF.PIB1 */ } Name (PIB2, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ....... */ }) Return (PIB2) /* \_SB_.PCI0.SAT0.PRT2._GTF.PIB2 */ } } Device (PRT3) { Name (_ADR, 0x0003FFFF) // _ADR: Address Name (FDEV, Zero) Name (FDRP, Zero) Method (_SDD, 1, Serialized) // _SDD: Set Device Data { CreateByteField (Arg0, 0x9D, BFDS) ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.PRT3.FDEV */ CreateByteField (Arg0, 0x9A, BFRP) ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.PRT3.FDRP */ } Method (_GTF, 0, Serialized) // _GTF: Get Task File { If (LAnd (LAnd (LEqual (DVS3, One), LEqual (And (FDEV, One), One)), LEqual (And (FDRP, 0x80), 0x80))) { Name (PIB1, Buffer (0x07) { 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */ }) Return (PIB1) /* \_SB_.PCI0.SAT0.PRT3._GTF.PIB1 */ } Name (PIB2, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ....... */ }) Return (PIB2) /* \_SB_.PCI0.SAT0.PRT3._GTF.PIB2 */ } } } Device (SAT1) { Name (_ADR, 0x001F0005) // _ADR: Address } 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) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Arg0, TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ Store (0x48, HCON) /* \_SB_.PCI0.SBUS.HCON */ If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Or (Arg0, One), TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (0x44, HCON) /* \_SB_.PCI0.SBUS.HCON */ If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Arg0, TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ Store (Arg2, DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ Store (0x48, HCON) /* \_SB_.PCI0.SBUS.HCON */ If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Or (Arg0, One), TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ Store (0x48, HCON) /* \_SB_.PCI0.SBUS.HCON */ If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Arg0, TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ And (Arg2, 0xFF, DAT1) /* \_SB_.PCI0.SBUS.DAT1 */ And (ShiftRight (Arg2, 0x08), 0xFF, DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ Store (0x4C, HCON) /* \_SB_.PCI0.SBUS.HCON */ If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Or (Arg0, One), TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ Store (0x4C, HCON) /* \_SB_.PCI0.SBUS.HCON */ If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (Or (ShiftLeft (DAT0, 0x08), DAT1)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Arg0, TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ Store (SizeOf (Arg2), DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) /* \_SB_.PCI0.SBUS.HBDR */ Store (0x54, HCON) /* \_SB_.PCI0.SBUS.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) /* \_SB_.PCI0.SBUS.HSTS */ Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) /* \_SB_.PCI0.SBUS.HBDR */ } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) /* \_SB_.PCI0.SBUS.I2CE */ Store (0xBF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Store (Or (Arg0, One), TXSA) /* \_SB_.PCI0.SBUS.TXSA */ Store (Arg1, HCOM) /* \_SB_.PCI0.SBUS.HCOM */ Store (0x54, HCON) /* \_SB_.PCI0.SBUS.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) /* \_SB_.PCI0.SBUS.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) /* \_SB_.PCI0.SBUS.HSTS */ Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.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) /* \_SB_.PCI0.SBUS.HCON */ Or (HSTS, 0xFF, HSTS) /* \_SB_.PCI0.SBUS.HSTS */ } } } Name (BUFN, Zero) Name (MBUF, Buffer (0x1000) {}) OperationRegion (MDBG, SystemMemory, 0xAAFB8018, 0x00001004) Field (MDBG, AnyAcc, Lock, Preserve) { MDG0, 32768 } Method (DB2H, 1, Serialized) { If (MDEN) { SHOW (Arg0) MDGC (0x20) Store (MBUF, MDG0) /* \MDG0 */ } Else { Return (Zero) } } Method (DW2H, 1, Serialized) { Store (Arg0, Local0) ShiftRight (Arg0, 0x08, Local1) And (Local0, 0xFF, Local0) And (Local1, 0xFF, Local1) DB2H (Local1) Decrement (BUFN) DB2H (Local0) } Method (DD2H, 1, Serialized) { Store (Arg0, Local0) ShiftRight (Arg0, 0x10, Local1) And (Local0, 0xFFFF, Local0) And (Local1, 0xFFFF, Local1) DW2H (Local1) Decrement (BUFN) DW2H (Local0) } Method (MBGS, 1, Serialized) { If (MDEN) { Store (SizeOf (Arg0), Local0) Name (BUFS, Buffer (Local0) {}) Store (Arg0, BUFS) /* \MBGS.BUFS */ MDGC (0x20) While (Local0) { MDGC (DerefOf (Index (BUFS, Subtract (SizeOf (Arg0), Local0)))) Decrement (Local0) } Store (MBUF, MDG0) /* \MDG0 */ } Else { Return (Zero) } } Method (ADBG, 1, Serialized) { If (MDEN) { Store (SizeOf (Arg0), Local0) Name (BUFS, Buffer (Local0) {}) Store (Arg0, BUFS) /* \ADBG.BUFS */ MDGC (0x20) While (Local0) { MDGC (DerefOf (Index (BUFS, Subtract (SizeOf (Arg0), Local0)))) Decrement (Local0) } Store (MBUF, MDG0) /* \MDG0 */ } Else { Return (Zero) } } Method (SHOW, 1, Serialized) { MDGC (NTOC (ShiftRight (Arg0, 0x04))) MDGC (NTOC (Arg0)) } Method (LINE, 0, Serialized) { Store (BUFN, Local0) And (Local0, 0x0F, Local0) While (Local0) { MDGC (Zero) Increment (Local0) And (Local0, 0x0F, Local0) } } Method (MDGC, 1, Serialized) { Store (Arg0, Index (MBUF, BUFN)) Add (BUFN, One, BUFN) /* \BUFN */ If (LGreater (BUFN, 0x0FFF)) { And (BUFN, 0x0FFF, BUFN) /* \BUFN */ UP_L (One) } } Method (UP_L, 1, Serialized) { Store (Arg0, Local2) ShiftLeft (Local2, 0x04, Local2) MOVE (Local2) Subtract (0x1000, Local2, Local3) While (Local2) { Store (Zero, Index (MBUF, Local3)) Increment (Local3) Decrement (Local2) } } Method (MOVE, 1, Serialized) { Store (Arg0, Local4) Store (Zero, BUFN) /* \BUFN */ Subtract (0x1000, Local4, Local5) While (Local5) { Decrement (Local5) Store (DerefOf (Index (MBUF, Local4)), Index (MBUF, BUFN)) Increment (BUFN) Increment (Local4) } } Method (NTOC, 1, Serialized) { And (Arg0, 0x0F, Local0) If (LLess (Local0, 0x0A)) { Add (Local0, 0x30, Local0) } Else { Add (Local0, 0x37, Local0) } Return (Local0) } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) If (Zero) { Name (_S1, Package (0x04) // _S1_: S1 System State { One, Zero, Zero, Zero }) } If (SS3) { Name (_S3, Package (0x04) // _S3_: S3 System State { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) {} } Method (WAK, 1, NotSerialized) { } Scope (_SB) { Device (PNLF) { Name (_ADR, Zero) Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 10) Name (_STA, 0x0B) } } }