/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20141107-64 [Nov 17 2014] * Copyright (c) 2000 - 2014 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of dsdt.dat, Tue Feb 3 11:29:51 2015 * * Original Table Header: * Signature "DSDT" * Length 0x000103C3 (66499) * Revision 0x02 * Checksum 0x04 * OEM ID "ALASKA" * OEM Table ID "A M I " * OEM Revision 0x00000003 (3) * Compiler ID "AMI " * Compiler Version 0x0100000D (16777229) */ DefinitionBlock ("dsdt.aml", "DSDT", 2, "ALASKA", "A M I ", 0x00000003) { /* * iASL Warning: There were 2 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (, MethodObj, ) * 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 (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (NDN3, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (_PR_.CPU0._PPC, UnknownObj) External (CFGD, UnknownObj) External (DPTF, UnknownObj) External (PDC0, UnknownObj) External (PDC1, UnknownObj) External (PDC2, UnknownObj) External (PDC3, UnknownObj) External (TCHG, UnknownObj) Name (LAPB, 0xFEE00000) Name (CPVD, Zero) Name (SMBS, 0xEFA0) Name (SMBL, 0x20) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (PMBS, 0x0400) Name (PMLN, 0x80) Name (SMIP, 0xB2) Name (GPBS, 0x0500) Name (GPLN, 0x40) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (RCRB, 0xFED1C000) Name (RCRL, 0x4000) Name (HPTB, 0xFED00000) Name (HPTC, 0xFED1F404) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, Zero) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (MBEC, 0xFFFF) Name (PEBS, 0xE0000000) Name (PELN, 0x10000000) Name (SRSI, 0xB2) Name (CSMI, 0x61) Name (SP3O, 0x2E) Name (IO4B, 0x0A20) Name (IO4L, 0x20) Name (SP1O, 0x4E) Name (PFDR, 0xFED03034) Name (PMCB, 0xFED03000) Name (PCLK, 0xFED03060) Name (PUNB, 0xFED05000) Name (IBAS, 0xFED08000) Name (MCHB, 0xFED14000) Name (MCHL, 0x4000) Name (EGPB, 0xFED19000) Name (EGPL, 0x1000) Name (DMIB, 0xFED18000) Name (DMIL, 0x1000) Name (IFPB, 0xFED14000) Name (IFPL, 0x1000) Name (FMBL, One) Name (FDTP, 0x02) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x02) Name (DSLC, 0x03) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (PSSS, 0x2B) Name (SOOT, 0x35) Name (ESCS, 0x48) Name (SDGV, 0x1C) Name (ACPH, 0xDE) Name (FTBL, 0x04) OperationRegion (GNVS, SystemMemory, 0x7BEBAA98, 0x0334) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, Offset (0x15), PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, BNUM, 8, B0SC, 8, B1SC, 8, B2SC, 8, B0SS, 8, B1SS, 8, B2SS, 8, Offset (0x28), APIC, 8, MPEN, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, Offset (0x32), NATP, 8, CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, CMCP, 8, CIRP, 8, W381, 8, NPCE, 8, Offset (0x3C), IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, KSV0, 32, KSV1, 8, Offset (0x67), BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x74), MEFE, 8, DSTS, 8, Offset (0x78), TPMP, 8, TPME, 8, MORD, 8, TCGP, 8, PPRP, 32, PPRQ, 8, LPPR, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, PAVP, 8, Offset (0xE1), OSCC, 8, NEXP, 8, Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, Offset (0x100), NVGA, 32, NVHA, 32, AMDA, 32, DID6, 32, DID7, 32, DID8, 32, Offset (0x14C), USEL, 8, PU1E, 8, PU2E, 8, LPE0, 32, LPE1, 32, LPE2, 32, ACST, 8, BTST, 8, PFLV, 8, Offset (0x15F), AOAC, 8, XHCI, 8, PMEN, 8, LPEE, 8, ISPA, 32, ISPD, 8, PCIB, 32, PCIT, 32, D10A, 32, D10L, 32, D11A, 32, D11L, 32, P10A, 32, P10L, 32, P11A, 32, P11L, 32, P20A, 32, P20L, 32, P21A, 32, P21L, 32, U10A, 32, U10L, 32, U11A, 32, U11L, 32, U20A, 32, U20L, 32, U21A, 32, U21L, 32, SP0A, 32, SP0L, 32, SP1A, 32, SP1L, 32, D20A, 32, D20L, 32, D21A, 32, D21L, 32, I10A, 32, I10L, 32, I11A, 32, I11L, 32, I20A, 32, I20L, 32, I21A, 32, I21L, 32, I30A, 32, I30L, 32, I31A, 32, I31L, 32, I40A, 32, I40L, 32, I41A, 32, I41L, 32, I50A, 32, I50L, 32, I51A, 32, I51L, 32, I60A, 32, I60L, 32, I61A, 32, I61L, 32, I70A, 32, I70L, 32, I71A, 32, I71L, 32, EM0A, 32, EM0L, 32, EM1A, 32, EM1L, 32, SI0A, 32, SI0L, 32, SI1A, 32, SI1L, 32, SD0A, 32, SD0L, 32, SD1A, 32, SD1L, 32, MH0A, 32, MH0L, 32, MH1A, 32, MH1L, 32, OSSL, 8, Offset (0x294), DPTE, 8, THM0, 8, THM1, 8, THM2, 8, THM3, 8, THM4, 8, CHGR, 8, DDSP, 8, DSOC, 8, DPSR, 8, DPCT, 32, DPPT, 32, DGC0, 32, DGP0, 32, DGC1, 32, DGP1, 32, DGC2, 32, DGP2, 32, DGC3, 32, DGP3, 32, DGC4, 32, DGP4, 32, DLPM, 8, DSC0, 32, DSC1, 32, DSC2, 32, DSC3, 32, DSC4, 32, DDBG, 8, LPOE, 32, LPPS, 32, LPST, 32, LPPC, 32, LPPF, 32, DPME, 8, BCSL, 8, NFCS, 8, Offset (0x2FC), TPMA, 32, TPML, 32, ITSA, 8, S0IX, 8, SDMD, 8, EMVR, 8, BMBD, 32, USBM, 8, BDID, 8, FBID, 8, OTGM, 8, STEP, 8, SOCS, 8, AMTE, 8, SCPE, 8, SARE, 8, PSSD, 8, EDPV, 8, DIDX, 32, PAVB, 32, PAVL, 32, PMID, 8, PMIS, 8, ADOS, 8, MIPS, 8, WIFS, 8, BTSL, 8, GPSS, 8, RCAS, 8, FCAS, 8, CHRS, 8, FUES, 8, ALSS, 8, GYRS, 8, ACCS, 8, SARS, 8 } Method (ADBG, 1, Serialized) { Return (Zero) } Name (WAKP, Package (0x02) { Zero, Zero }) Scope (_SB) { Device (RTC0) { 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 ) }) } } Scope (_SB) { Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x00000008, } }) Return (RBUF) /* \_SB_.HPET._CRS.RBUF */ } } } Scope (_SB) { Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Name (PR00, Package (0x11) { Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0010FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0011FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0012FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0014FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0015FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0017FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0018FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0018FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0018FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0018FFFF, One, LNKA, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001EFFFF, Zero, LNKD, Zero }, Package (0x04) { 0x001EFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001EFFFF, One, LNKB, Zero }, Package (0x04) { 0x001EFFFF, 0x02, LNKC, Zero } }) Name (AR00, Package (0x11) { Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0010FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0011FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0012FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0014FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0015FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0017FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0018FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0018FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0018FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0018FFFF, One, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001EFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x001EFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001EFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001EFFFF, 0x02, Zero, 0x12 } }) } Scope (_SB) { Device (PCI0) { Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } Name (_UID, Zero) // _UID: Unique ID Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR00) /* \_SB_.AR00 */ } Return (PR00) /* \_SB_.PR00 */ } Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Device (VLVC) { Name (_ADR, Zero) // _ADR: Address OperationRegion (HBUS, PCI_Config, Zero, 0xFF) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0xD0), SMCR, 32, SMDR, 32, MCRX, 32 } Method (RMBR, 2, Serialized) { Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08)) SMCR = (0x100000F0 | Local0) Return (SMDR) /* \_SB_.PCI0.VLVC.SMDR */ } Method (WMBR, 3, Serialized) { SMDR = Arg2 Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08)) SMCR = (0x110000F0 | Local0) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (TPMP) { CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, TPML) // _LEN: Length TPML = 0x1000 } CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, ISMN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, ISMX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, ISLN) // _LEN: Length If ((ISPD == One)) { ISMN = ISPA /* \ISPA */ ISMX = (ISMN + ISLN) /* \_SB_.PCI0._CRS.ISLN */ ISMX -= One } Else { ISMN = Zero ISMX = Zero ISLN = Zero } CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, M1MN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, M1MX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, M1LN) // _LEN: Length M1MN = (BMBD & 0xFF000000) M1MX = PCIT /* \PCIT */ M1LN = ((M1MX - M1MN) + One) M1MX -= One CreateDWordField (RES0, \_SB.PCI0._Y03._MIN, GSMN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y03._MAX, GSMX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y03._LEN, GSLN) // _LEN: Length GSMN = ^GFX0.GSTM /* \_SB_.PCI0.GFX0.GSTM */ GSLN = (^GFX0.GUMA << 0x19) GSMX = (GSMN + GSLN) /* \_SB_.PCI0._CRS.GSLN */ GSMX -= One Return (RES0) /* \_SB_.PCI0.RES0 */ } Name (RES0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0070, // Range Minimum 0x0077, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x006F, // Range Maximum 0x0000, // Translation Offset 0x0070, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0078, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0C80, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x7A000000, // Range Minimum 0x7A3FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00400000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x7C000000, // Range Minimum 0x7FFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x04000000, // Length ,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x80000000, // Range Minimum 0xDFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x60000000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED40000, // Range Minimum 0xFED40FFF, // Range Maximum 0x00000000, // Translation Offset 0x00001000, // Length ,, _Y00, AddressRangeMemory, TypeStatic) }) Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) Name (SUPP, Zero) Name (CTRL, Zero) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Local0 = Arg3 CreateDWordField (Local0, Zero, CDW1) CreateDWordField (Local0, 0x04, CDW2) CreateDWordField (Local0, 0x08, CDW3) If (((Arg0 == GUID) && NEXP)) { SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ If (~(CDW1 & One)) { If ((CTRL & 0x02)) { NHPG () } If ((CTRL & 0x04)) { NPME () } } If ((Arg1 != One)) { CDW1 |= 0x08 } If ((CDW3 != CTRL)) { CDW1 |= 0x10 } CDW3 = CTRL /* \_SB_.PCI0.CTRL */ OSCC = CTRL /* \_SB_.PCI0.CTRL */ Return (Local0) } Else { CDW1 |= 0x04 Return (Local0) } } Device (GFX0) { Name (_ADR, 0x00020000) // _ADR: Address Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C4, PEPD }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x002C, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C4", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.PCI0.GFX0._CRS.SBUF */ } Name (_S0W, 0x03) // _S0W: S0 Device Wake State Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { DSEN = (Arg0 & 0x07) } Method (_DOD, 0, Serialized) // _DOD: Display Output Devices { NDID = Zero If ((DIDL != Zero)) { DID1 = SDDL (DIDL) } If ((DDL2 != Zero)) { DID2 = SDDL (DDL2) } If ((DDL3 != Zero)) { DID3 = SDDL (DDL3) } If ((DDL4 != Zero)) { DID4 = SDDL (DDL4) } If ((DDL5 != Zero)) { DID5 = SDDL (DDL5) } If ((NDID == One)) { Name (TMP1, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP1, Zero) = (0x00010000 | DID1) If ((SOCS < 0x02)) { Index (TMP1, One) = 0x00020F39 } Else { Index (TMP1, One) = 0x00020F38 } Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */ } If ((NDID == 0x02)) { Name (TMP2, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP2, Zero) = (0x00010000 | DID1) Index (TMP2, One) = (0x00010000 | DID2) If ((SOCS < 0x02)) { Index (TMP2, 0x02) = 0x00020F39 } Else { Index (TMP2, 0x02) = 0x00020F38 } Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */ } If ((NDID == 0x03)) { Name (TMP3, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP3, Zero) = (0x00010000 | DID1) Index (TMP3, One) = (0x00010000 | DID2) Index (TMP3, 0x02) = (0x00010000 | DID3) If ((SOCS < 0x02)) { Index (TMP3, 0x03) = 0x00020F39 } Else { Index (TMP3, 0x03) = 0x00020F38 } Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */ } If ((NDID == 0x04)) { Name (TMP4, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP4, Zero) = (0x00010000 | DID1) Index (TMP4, One) = (0x00010000 | DID2) Index (TMP4, 0x02) = (0x00010000 | DID3) Index (TMP4, 0x03) = (0x00010000 | DID4) If ((SOCS < 0x02)) { Index (TMP4, 0x04) = 0x00020F39 } Else { Index (TMP4, 0x04) = 0x00020F38 } Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */ } If ((NDID > 0x04)) { Name (TMP5, Package (0x06) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP5, Zero) = (0x00010000 | DID1) Index (TMP5, One) = (0x00010000 | DID2) Index (TMP5, 0x02) = (0x00010000 | DID3) Index (TMP5, 0x03) = (0x00010000 | DID4) Index (TMP5, 0x04) = (0x00010000 | DID5) If ((SOCS < 0x02)) { Index (TMP5, 0x05) = 0x00020F39 } Else { Index (TMP5, 0x05) = 0x00020F38 } Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */ } If ((SOCS < 0x02)) { Return (Package (0x02) { 0x0400, 0x00020F39 }) } Else { Return (Package (0x02) { 0x0400, 0x00020F38 }) } } Device (DD01) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID1) == 0x0400)) { EDPV = One DIDX = DID1 /* \DID1 */ Return (One) } If ((DID1 == Zero)) { Return (One) } Else { Return ((0xFFFF & DID1)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD02) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID2) == 0x0400)) { EDPV = 0x02 DIDX = DID2 /* \DID2 */ Return (0x02) } If ((DID2 == Zero)) { Return (0x02) } Else { Return ((0xFFFF & DID2)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD03) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID3) == 0x0400)) { EDPV = 0x03 DIDX = DID3 /* \DID3 */ Return (0x03) } If ((DID3 == Zero)) { Return (0x03) } Else { Return ((0xFFFF & DID3)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID3 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD04) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID4) == 0x0400)) { EDPV = 0x04 DIDX = DID4 /* \DID4 */ Return (0x04) } If ((DID4 == Zero)) { Return (0x04) } Else { Return ((0xFFFF & DID4)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID4 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD05) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID5) == 0x0400)) { EDPV = 0x05 DIDX = DID5 /* \DID5 */ Return (0x05) } If ((DID5 == Zero)) { Return (0x05) } Else { Return ((0xFFFF & DID5)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID5 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD06) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID6) == 0x0400)) { EDPV = 0x06 DIDX = DID6 /* \DID6 */ Return (0x06) } If ((DID6 == Zero)) { Return (0x06) } Else { Return ((0xFFFF & DID6)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID6 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID6)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD07) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID7) == 0x0400)) { EDPV = 0x07 DIDX = DID7 /* \DID7 */ Return (0x07) } If ((DID7 == Zero)) { Return (0x07) } Else { Return ((0xFFFF & DID7)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID7 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID7)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD08) { Method (_ADR, 0, Serialized) // _ADR: Address { If (((0x0F00 & DID8) == 0x0400)) { EDPV = 0x08 DIDX = DID8 /* \DID8 */ Return (0x08) } If ((DID8 == Zero)) { Return (0x08) } Else { Return ((0xFFFF & DID8)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID8 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DID8)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD1F) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((EDPV == Zero)) { Return (0x1F) } Else { Return ((0xFFFF & DIDX)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((EDPV == Zero)) { Return (Zero) } Else { Return (CDDS (DIDX)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (NDDS (DIDX)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { Return (Package (0x67) { 0x50, 0x32, Zero, One, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64 }) } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (((Arg0 >= Zero) && (Arg0 <= 0x64))) { AINT (One, Arg0) BRTL = Arg0 } } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { Return (BRTL) /* \BRTL */ } } Method (SDDL, 1, NotSerialized) { NDID++ Local0 = (Arg0 & 0x0F0F) Local1 = (0x80000000 | Local0) If ((DIDL == Local0)) { Return (Local1) } If ((DDL2 == Local0)) { Return (Local1) } If ((DDL3 == Local0)) { Return (Local1) } If ((DDL4 == Local0)) { Return (Local1) } If ((DDL5 == Local0)) { Return (Local1) } If ((DDL6 == Local0)) { Return (Local1) } If ((DDL7 == Local0)) { Return (Local1) } If ((DDL8 == Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { Local0 = (Arg0 & 0x0F0F) If ((Zero == Local0)) { Return (0x1D) } If ((CADL == Local0)) { Return (0x1F) } If ((CAL2 == Local0)) { Return (0x1F) } If ((CAL3 == Local0)) { Return (0x1F) } If ((CAL4 == Local0)) { Return (0x1F) } If ((CAL5 == Local0)) { Return (0x1F) } If ((CAL6 == Local0)) { Return (0x1F) } If ((CAL7 == Local0)) { Return (0x1F) } If ((CAL8 == Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { Local0 = (Arg0 & 0x0F0F) If ((Zero == Local0)) { Return (Zero) } If ((NADL == Local0)) { Return (One) } If ((NDL2 == Local0)) { Return (One) } If ((NDL3 == Local0)) { Return (One) } If ((NDL4 == Local0)) { Return (One) } If ((NDL5 == Local0)) { Return (One) } If ((NDL6 == Local0)) { Return (One) } If ((NDL7 == Local0)) { Return (One) } If ((NDL8 == Local0)) { Return (One) } Return (Zero) } OperationRegion (IGDP, PCI_Config, Zero, 0x0100) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x10), MADR, 32, Offset (0x50), , 1, GIVD, 1, , 1, GUMA, 5, Offset (0x52), Offset (0x54), , 4, GMFN, 1, Offset (0x58), Offset (0x5C), GSTM, 32, Offset (0xE0), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xE4), ASLE, 8, Offset (0xE8), Offset (0xFC), ASLS, 32 } OperationRegion (IGMM, SystemMemory, MADR, 0x3000) Field (IGMM, AnyAcc, NoLock, Preserve) { Offset (0x20C8), , 4, DCFE, 4 } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CAD1, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x06) { Package (0x01) { 0xA0 }, Package (0x01) { 0xC8 }, Package (0x01) { 0x010B }, Package (0x01) { 0x0140 }, Package (0x01) { 0x0164 }, Package (0x01) { 0x0190 } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If ((GESF == Zero)) { PARM = 0x0279 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == One)) { PARM = 0x0240 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x04)) { PARM &= 0xEFFF0000 PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10) PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */ GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x05)) { PARM = IPSC /* \IPSC */ PARM |= (IPAT << 0x08) PARM += 0x0100 PARM |= (LIDS << 0x10) PARM += 0x00010000 PARM |= (IBLC << 0x12) PARM |= (IBIA << 0x14) GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x06)) { PARM = ITVF /* \ITVF */ PARM |= (ITVM << 0x04) GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x07)) { PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */ PARM ^= One PARM |= (GMFN << One) PARM |= 0x1800 PARM |= (IDMS << 0x11) PARM |= (DerefOf (Index (CDCT, DCFE)) << 0x15) /* \_SB_.PCI0.GFX0.PARM */ GESF = One Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0A)) { PARM = Zero If (ISSC) { PARM |= 0x03 } GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } GESF = Zero Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */ } Method (SBCB, 0, Serialized) { If ((GESF == Zero)) { PARM = Zero If ((PFLV == FMBL)) { PARM = 0x000F87FD } If ((PFLV == FDTP)) { PARM = 0x000F87BD } GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == One)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x03)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x04)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x05)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x06)) { ITVF = (PARM & 0x0F) ITVM = ((PARM & 0xF0) >> 0x04) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x07)) { If ((PARM == Zero)) { Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */ If ((0x80000000 & Local0)) { CLID &= 0x0F GLID (CLID) } } GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x08)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x09)) { IBTT = (PARM & 0xFF) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0A)) { IPSC = (PARM & 0xFF) If (((PARM >> 0x08) & 0xFF)) { IPAT = ((PARM >> 0x08) & 0xFF) IPAT-- } IBLC = ((PARM >> 0x12) & 0x03) IBIA = ((PARM >> 0x14) & 0x07) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0B)) { IF1E = ((PARM >> One) & One) IDMS = ((PARM >> 0x11) & 0x0F) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x10)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x11)) { PARM = (LIDS << 0x08) PARM += 0x0100 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x12)) { If ((PARM & One)) { If (((PARM >> One) == One)) { ISSC = One } Else { GESF = Zero Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */ } } Else { ISSC = Zero } GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x13)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x14)) { PAVP = (PARM & 0x0F) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GEFC == 0x04)) { GXFC = GBDA () } If ((GEFC == 0x06)) { GXFC = SBCB () } GEFC = Zero SCIS = One GSSE = Zero SCIE = Zero Return (Zero) } Method (PDRD, 0, NotSerialized) { If (!DRDY) { Sleep (ASLP) } Return (!DRDY) } Method (PSTS, 0, NotSerialized) { If ((CSTS > 0x02)) { Sleep (ASLP) } Return ((CSTS == 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } CEVT = Arg0 CSTS = 0x03 If (((CHPD == Zero) && (Arg1 == Zero))) { If (((OSYS > 0x07D0) || (OSYS < 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } Notify (GFX0, 0x80) // Status Change Return (Zero) } Method (GHDS, 1, NotSerialized) { TIDX = Arg0 Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { CLID = Arg0 Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { CDCK = Arg0 Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (!ARDY) { Sleep (ASLP) } Return (!ARDY) } Method (AINT, 2, NotSerialized) { If (!(TCHE & (One << Arg0))) { Return (One) } If (PARD ()) { Return (One) } If ((Arg0 == 0x02)) { If (CPFM) { Local0 = (CPFM & 0x0F) Local1 = (EPFM & 0x0F) If ((Local0 == One)) { If ((Local1 & 0x06)) { PFIT = 0x06 } Else { If ((Local1 & 0x08)) { PFIT = 0x08 } Else { PFIT = One } } } If ((Local0 == 0x06)) { If ((Local1 & 0x08)) { PFIT = 0x08 } Else { If ((Local1 & One)) { PFIT = One } Else { PFIT = 0x06 } } } If ((Local0 == 0x08)) { If ((Local1 & One)) { PFIT = One } Else { If ((Local1 & 0x06)) { PFIT = 0x06 } Else { PFIT = 0x08 } } } } Else { PFIT ^= 0x07 } PFIT |= 0x80000000 ASLC = 0x04 } Else { If ((Arg0 == One)) { BCLP = ((Arg1 * 0xFF) / 0x64) BCLP |= 0x80000000 ASLC = 0x02 } Else { If ((Arg0 == Zero)) { ALSI = Arg1 ASLC = One } Else { Return (One) } } } ASLE = One Return (Zero) } Method (SCIP, 0, NotSerialized) { If ((OVER != Zero)) { Return (!GSMI) } Return (Zero) } Device (ISP0) { Name (_ADR, 0x0F38) // _ADR: Address Name (_DDN, "VLV2 ISP - 80860F38") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (Zero) } If ((SOCS >= 0x02)) { If ((ISPD == One)) { Return (0x0F) } Else { Return (Zero) } } Else { _ADR = 0x0F39 _DDN = "VLV2 ISP - 80860F39" If ((ISPD == One)) { Return (0x0F) } Else { Return (Zero) } } } Name (SBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00400000, // Address Length ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (SBUF) /* \_SB_.PCI0.GFX0.ISP0.SBUF */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == One)) { Return (One) } Else { If ((Arg0 == 0x02)) { Return (0x02) } Else { Return (0x0F) } } } } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Scope (\_SB) { OperationRegion (ILBR, SystemMemory, IBAS, 0x8C) Field (ILBR, AnyAcc, NoLock, Preserve) { Offset (0x08), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0x88), , 3, UI3E, 1, UI4E, 1 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PARC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSA) /* \_SB_.PRSA */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PARC & 0x0F)) Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PARC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PARC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PBRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSB) /* \_SB_.PRSB */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PBRC & 0x0F)) Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PBRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PBRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PCRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSC) /* \_SB_.PRSC */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PCRC & 0x0F)) Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PCRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PCRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PDRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSD) /* \_SB_.PRSD */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PDRC & 0x0F)) Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PDRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PDRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PERC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSE) /* \_SB_.PRSE */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PERC & 0x0F)) Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PERC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PERC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PFRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSF) /* \_SB_.PRSF */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PFRC & 0x0F)) Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PFRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PFRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PGRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSG) /* \_SB_.PRSG */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PGRC & 0x0F)) Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PGRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PGRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PHRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSH) /* \_SB_.PRSH */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PHRC & 0x0F)) Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PHRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PHRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } OperationRegion (LPC0, PCI_Config, Zero, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x08), SRID, 8, Offset (0x80), C1EN, 1, Offset (0x84) } Device (FWHD) { Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (IPIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0xFF, // Length ) IO (Decode16, 0x0600, // Range Minimum 0x0600, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (IUR3) { Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, Serialized) // _STA: Status { If ((USEL == Zero)) { If ((PU1E == One)) { UI3E = One UI4E = One C1EN = One Return (0x0F) } } Return (Zero) } Method (_DIS, 0, Serialized) // _DIS: Disable Device { UI3E = Zero UI4E = Zero C1EN = Zero } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} }) If ((SRID <= 0x04)) { Return (BUF0) /* \_SB_.PCI0.LPCB.IUR3._CRS.BUF0 */ } Else { Return (BUF1) /* \_SB_.PCI0.LPCB.IUR3._CRS.BUF1 */ } } } OperationRegion (PKBS, SystemIO, 0x60, 0x05) Field (PKBS, ByteAcc, Lock, Preserve) { PKBD, 8, Offset (0x02), Offset (0x03), Offset (0x04), PKBC, 8 } Device (PS2K) { Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (((PKBD == 0xFF) & (PKBC == 0xFF))) { Return (Zero) } Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } Device (PS2M) { Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (((PKBD == 0xFF) & (PKBC == 0xFF))) { Return (Zero) } Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IRQNoFlags () {12} } EndDependentFn () }) } } Device (D004) { Name (_ADR, 0x00100000) // _ADR: Address } Device (D005) { Name (_ADR, 0x00110000) // _ADR: Address } Device (D006) { Name (_ADR, 0x00120000) // _ADR: Address } Device (XHC1) { Name (_ADR, 0x00140000) // _ADR: Address } Device (D008) { Name (_ADR, 0x00150000) // _ADR: Address } Device (D009) { Name (_ADR, 0x00160000) // _ADR: Address } Device (D00A) { Name (_ADR, 0x00170000) // _ADR: Address } Device (D00B) { Name (_ADR, 0x00180000) // _ADR: Address } Device (D00C) { Name (_ADR, 0x00180001) // _ADR: Address } Device (D00D) { Name (_ADR, 0x00180002) // _ADR: Address } Device (D00E) { Name (_ADR, 0x00180003) // _ADR: Address } Device (EHC1) { Name (_ADR, 0x001D0000) // _ADR: Address } Device (D010) { Name (_ADR, 0x001E0000) // _ADR: Address } Device (D011) { Name (_ADR, 0x001E0001) // _ADR: Address } Device (D012) { Name (_ADR, 0x001E0002) // _ADR: Address } Device (D013) { Name (_ADR, 0x001E0003) // _ADR: Address } } } Scope (_GPE) { } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { If (Arg0) { PPTS (Arg0) } } Method (_WAK, 1, NotSerialized) // _WAK: Wake { PWAK (Arg0) Return (WAKP) /* \WAKP */ } Scope (\) { OperationRegion (PMIO, SystemIO, PMBS, 0x46) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x01), PWBS, 1, Offset (0x20), , 13, PMEB, 1, Offset (0x42), , 1, GPEC, 1 } Field (PMIO, ByteAcc, NoLock, WriteAsZeros) { Offset (0x20), , 4, PSCI, 1, SCIS, 1 } OperationRegion (PMCR, SystemMemory, PFDR, 0x04) Field (PMCR, DWordAcc, Lock, Preserve) { L10D, 1, L11D, 1, L12D, 1, L13D, 1, L14D, 1, L15D, 1, Offset (0x01), SD1D, 1, SD2D, 1, SD3D, 1, HSID, 1, , 1, LPED, 1, OTGD, 1, Offset (0x02), , 1, , 1, , 1, , 1, RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, L20D, 1, L21D, 1, L22D, 1, L23D, 1, L24D, 1, L25D, 1, L26D, 1, L27D, 1 } OperationRegion (CLKC, SystemMemory, PCLK, 0x18) Field (CLKC, DWordAcc, Lock, Preserve) { CKC0, 2, CKF0, 1, Offset (0x04), CKC1, 2, CKF1, 1, Offset (0x08), CKC2, 2, CKF2, 1, Offset (0x0C), CKC3, 2, CKF3, 1, Offset (0x10), CKC4, 2, CKF4, 1, Offset (0x14), CKC5, 2, CKF5, 1, Offset (0x18) } } Scope (_SB) { Device (LPEA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F28" /* Intel SST Audio DSP */) // _HID: Hardware ID Name (_CID, "80860F28" /* Intel SST Audio DSP */) // _CID: Compatible ID Name (_DDN, "Intel(R) Low Power Audio Controller - 80860F28") // _DDN: DOS Device Name Name (_SUB, "80867270") // _SUB: Subsystem ID Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { ^I2C2.RTEK }) Name (WDEP, Package (0x01) { ^I2C2.RTEK }) Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { PLPE }) Method (_STA, 0, NotSerialized) // _STA: Status { If (((LPEE == 0x02) && (LPED == Zero))) { Return (0x0F) } Return (Zero) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x12345678, // Address Base 0x00200000, // Address Length _Y04) Memory32Fixed (ReadWrite, 0xFE830000, // Address Base 0x00001000, // Address Length _Y05) Memory32Fixed (ReadWrite, 0x55AA55AA, // Address Base 0x00200000, // Address Length _Y06) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000019, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001A, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001B, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001D, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.LPEA._Y04._BAS, B0BA) // _BAS: Base Address B0BA = LPE0 /* \LPE0 */ CreateDWordField (RBUF, \_SB.LPEA._Y05._BAS, B1BA) // _BAS: Base Address B1BA = LPE1 /* \LPE1 */ CreateDWordField (RBUF, \_SB.LPEA._Y06._BAS, B2BA) // _BAS: Base Address B2BA = LPE2 /* \LPE2 */ Return (RBUF) /* \_SB_.LPEA.RBUF */ } OperationRegion (KEYS, SystemMemory, LPE1, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } PowerResource (PLPE, 0x05, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (One) } Method (_ON, 0, NotSerialized) // _ON_: Power On { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.LPEA.PSAT */ } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { PSAT |= 0x03 Local0 = PSAT /* \_SB_.LPEA.PSAT */ } } } Device (AMCR) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "AMCR0F28" /* Intel Audio Machine Driver */) // _HID: Hardware ID Name (_CID, "AMCR0F28" /* Intel Audio Machine Driver */) // _CID: Compatible ID Name (_DDN, "Intel(R) Audio Machine Driver - AMCR0F28") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { GPO2, ^I2C2.RTEK }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0004 } GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001B } }) Return (RBUF) /* \_SB_.AMCR._CRS.RBUF */ } } Device (HAD) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "HAD0F28" /* Intel HDMI Audio Driver */) // _HID: Hardware ID Name (_CID, "HAD0F28" /* Intel HDMI Audio Driver */) // _CID: Compatible ID Name (_DDN, "Intel(R) HDMI Audio Driver - HAD") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00065800, // Address Base 0x00000140, // Address Length ) }) Return (RBUF) /* \_SB_.HAD_._CRS.RBUF */ } } } Scope (_SB.PCI0) { Scope (XHC1) { Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)") // _DDN: DOS Device Name Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)")) // _STR: Description String Name (_S0W, 0x03) // _S0W: S0 Device Wake State Name (MSET, Zero) Name (DDST, Zero) OperationRegion (PCSL, SystemMemory, 0xE00A0074, One) Field (PCSL, ByteAcc, NoLock, WriteAsZeros) { PMPS, 2 } OperationRegion (PCSH, SystemMemory, 0xE00A0075, One) Field (PCSH, ByteAcc, NoLock, Preserve) { PMCH, 8 } OperationRegion (XMSE, SystemMemory, 0xE00A0000, 0x0100) Field (XMSE, AnyAcc, NoLock, Preserve) { Offset (0x04), , 1, CMSE, 1, Offset (0x10), BAR0, 32, Offset (0x74), PMCS, 16, Offset (0xB0), , 13, PHY2, 2, , 13, USHP, 1, , 1, SCFG, 1 } Method (PWOF, 0, Serialized) { SCFG = One } Method (PWON, 0, Serialized) { SCFG = Zero } OperationRegion (XPRT, SystemMemory, (PEBS + 0x000A0000), 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, (PEBS + 0x000A0000), 0x0100) Field (XHCP, AnyAcc, Lock, Preserve) { Offset (0x04), PDBM, 16, Offset (0x10), MEMB, 32 } Name (PCHS, Zero) Name (SRMB, 0x90800000) Method (_PS0, 0, Serialized) // _PS0: Power State 0 { ADBG ("XHC D0") P8XH (Zero, 0xA0) If ((DVID == 0xFFFF)) { Return (Zero) } SRMB = (MEMB & 0xFFFFFFF0) Local2 = MEMB /* \_SB_.PCI0.XHC1.MEMB */ Local1 = PDBM /* \_SB_.PCI0.XHC1.PDBM */ PDBM &= 0xFFFFFFFFFFFFFFF9 MEMB = SRMB /* \_SB_.PCI0.XHC1.SRMB */ PDBM |= 0x02 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 (0x8058), Offset (0x8059), CDES, 1, Offset (0x805A), STSP, 1, , 3, CFEC, 1, Offset (0x8060), , 25, EPRE, 1, Offset (0x8094), , 14, CMMF, 1, , 6, ESSP, 1, , 1, DAPA, 1, Offset (0x80E0), , 15, AX15, 1, Offset (0x80FC), , 25, PPL1, 1, Offset (0x8110), , 1, CRNC, 1, Offset (0x8111), EPTD, 1, , 2, HTPP, 1, , 8, TRMC, 1, Offset (0x8140), MIDS, 12, AWPC, 12, EIHR, 8, , 6, SSII, 1, SSIO, 1, HSII, 1, Offset (0x8154), , 31, CLK2, 1, Offset (0x8164), ETBC, 1, ERBC, 1, ESAI, 1, ETMA, 1, EOAI, 1, EIAI, 1, TTEA, 1, ECMA, 1, Offset (0x816C), , 2, CLK0, 1, , 11, CLK1, 1, Offset (0x8188), Offset (0x818B), FIDD, 1, , 1, FTSS, 1 } Local3 = D0D3 /* \_SB_.PCI0.XHC1.D0D3 */ If ((Local3 == 0x03)) { D0D3 = Zero Sleep (0x0A) } If ((PCHS == 0x02)) { MB13 = Zero MB14 = Zero CLK0 = Zero CLK1 = Zero } CLK2 = One CDES = One STSP = One CFEC = Zero EPRE = One DAPA = One ESSP = One CMMF = One PPL1 = One CRNC = Zero EPTD = Zero HTPP = One TRMC = One MIDS = 0x3C AWPC = 0x0F EIHR = 0xFF SSII = One SSIO = One HSII = One ERBC = One ETBC = One ESAI = One ETMA = One EOAI = One EIAI = One TTEA = One ECMA = One FIDD = One FTSS = One USHP = Zero If ((PCHS == 0x02)) { While (((((R510 & 0x03FB) == 0x02E0) || ((R520 & 0x03FB) == 0x02E0)) || (((R530 & 0x03FB) == 0x02E0) || ((R540 & 0x03FB) == 0x02E0)))) { Stall (0x32) } Local0 = R510 /* \_SB_.PCI0.XHC1._PS0.R510 */ If (((Local0 & 0x000203FB) == 0x02A0)) { R510 = (Local0 | 0x80000000) While (((R510 & 0x00180000) == Zero)) { Stall (0x32) } Local0 = (R510 & 0xFFFFFFFFFFFFFFFD) R510 = (Local0 | 0x00FE0000) } Local0 = R520 /* \_SB_.PCI0.XHC1._PS0.R520 */ If (((Local0 & 0x000203FB) == 0x02A0)) { R520 = (Local0 | 0x80000000) While (((R520 & 0x00180000) == Zero)) { Stall (0x32) } Local0 = (R520 & 0xFFFFFFFFFFFFFFFD) R520 = (Local0 | 0x00FE0000) } Local0 = R530 /* \_SB_.PCI0.XHC1._PS0.R530 */ If (((Local0 & 0x000203FB) == 0x02A0)) { R530 = (Local0 | 0x80000000) While (((R530 & 0x00180000) == Zero)) { Stall (0x32) } Local0 = (R530 & 0xFFFFFFFFFFFFFFFD) R530 = (Local0 | 0x00FE0000) } Local0 = R540 /* \_SB_.PCI0.XHC1._PS0.R540 */ If (((Local0 & 0x000203FB) == 0x02A0)) { R540 = (Local0 | 0x80000000) While (((R540 & 0x00180000) == Zero)) { Stall (0x32) } Local0 = (R540 & 0xFFFFFFFFFFFFFFFD) R540 = (Local0 | 0x00FE0000) } AX15 = One } If ((Local3 == 0x03)) { ADBG ("PS0->D3") P8XH (Zero, 0xA1) D0D3 = 0x03 } Else { P8XH (Zero, 0xA2) } PDBM &= 0xFFFFFFFFFFFFFFFD MEMB = Local2 PDBM = Local1 Return (Zero) } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { ADBG ("XHC D3") P8XH (Zero, 0xB0) If ((DVID == 0xFFFF)) { Return (Zero) } SRMB = (MEMB & 0xFFFFFFF0) Local2 = MEMB /* \_SB_.PCI0.XHC1.MEMB */ Local1 = PDBM /* \_SB_.PCI0.XHC1.PDBM */ PDBM &= 0xFFFFFFFFFFFFFFF9 MEMB = SRMB /* \_SB_.PCI0.XHC1.SRMB */ PDBM |= 0x02 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) } Local3 = D0D3 /* \_SB_.PCI0.XHC1.D0D3 */ If ((Local3 == 0x03)) { D0D3 = Zero } If ((PCHS == 0x02)) { MB13 = One MB14 = One CLK0 = One CLK1 = One } CLK2 = Zero If ((PCHS == 0x02)) { AX15 = Zero } If ((PMEE == One)) { USHP = One } If ((Local3 == 0x03)) { ADBG ("PS3->D3") P8XH (Zero, 0xB1) D0D3 = 0x03 } Else { P8XH (Zero, 0xB2) } PDBM &= 0xFFFFFFFFFFFFFFFD MEMB = Local2 PDBM = Local1 Return (Zero) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { USBC }) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((XHCI != Zero)) { Return (0x0F) } Else { Return (Zero) } } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (SSP1) { Name (_ADR, 0x07) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0x06, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x48, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* H....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM11") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM12") If ((Arg1 == Zero)) { ADBG ("DSM13") If ((Arg2 == Zero)) { ADBG ("SSP1 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("SSP1 DSM") Debug = "Method _DSM Function Index2" Return (Zero) } } } Else { Return (Zero) } Return (Zero) } } Device (HS01) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x06, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS01._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x49, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* I....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM21") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM22") If ((Arg1 == Zero)) { ADBG ("DSM23") If ((Arg2 == Zero)) { ADBG ("HS01 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("HS01 DSM") Debug = "Method _DSM Function Index2" Return (Zero) } } } Else { Return (Zero) } Return (Zero) } } Device (HS02) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (UPCR, Package (0x04) { 0xFF, Zero, Zero, Zero }) If ((BDID == 0x02)) { Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCR */ } Else { Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCP */ } } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Name (PLDR, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* A....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) If ((BDID == 0x02)) { Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDR */ } Else { Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */ } } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM31") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM32") If ((Arg1 == Zero)) { ADBG ("DSM33") If ((Arg2 == Zero)) { ADBG ("HS02 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("HS02 DSM") Debug = "Method _DSM Function Index2" Return (Zero) } } } Else { Return (Zero) } Return (Zero) } } Device (HS03) { Name (_ADR, 0x03) // _ADR: Address Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO2 }) Name (PSTS, Zero) PowerResource (WWPR, 0x00, 0x0000) { Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO2 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((\_SB.GPO2.AVBL == One)) { Return (\_SB.GPO0.WWD3) } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((PSTS == Zero)) { If ((\_SB.GPO2.AVBL == One)) { Sleep (0x0200) \_SB.GPO0.WWD3 = One PSTS = One } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((\_SB.GPO2.AVBL == One)) { \_SB.GPO0.WWD3 = Zero PSTS = Zero } } } Name (_S0W, 0x02) // _S0W: S0 Device Wake State Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { WWPR }) Name (_PR2, Package (0x01) // _PR2: Power Resources for D2 { WWPR }) Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot { WWPR }) Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM41") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM42") If ((Arg1 == Zero)) { ADBG ("DSM43") If ((Arg2 == Zero)) { ADBG ("HS03 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("HS03 DSM") Debug = "Method _DSM Function Index2" Return (Zero) } } } Else { Return (Zero) } Return (Zero) } Device (MODM) { Name (_ADR, 0x03) // _ADR: Address Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { WWPR }) Name (_PR2, Package (0x01) // _PR2: Power Resources for D2 { WWPR }) Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot { WWPR }) } } Device (HS04) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDP */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM51") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM52") If ((Arg1 == Zero)) { ADBG ("DSM53") If ((Arg2 == Zero)) { ADBG ("HS04 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("HS04 DSM") Debug = "Method _DSM Function Index2" Return (Zero) } } } Else { Return (Zero) } Return (Zero) } } Device (HSC1) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._PLD.PLDP */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM61") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM62") If ((Arg1 == Zero)) { ADBG ("DSM63") If ((Arg2 == Zero)) { ADBG ("HSIC1 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("HSIC1 DSM") Debug = "Method _DSM Function Index2" Return (One) } } } Else { Return (Zero) } Return (Zero) } } Device (HSC2) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._PLD.PLDP */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { ADBG ("DSM71") If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */)) { ADBG ("DSM72") If ((Arg1 == Zero)) { ADBG ("DSM73") If ((Arg2 == Zero)) { ADBG ("HSIC2 QUERY") Debug = "Method _DSM Function Query" Return (Buffer (One) { 0x05 /* . */ }) } If ((Arg2 == 0x02)) { ADBG ("HSIC2 DSM called") Debug = "Method _DSM Function Index2" Return (One) } } } Else { Return (Zero) } Return (Zero) } } } } Device (OTG1) { Name (_ADR, 0x00160000) // _ADR: Address Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)") // _DDN: DOS Device Name Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)")) // _STR: Description String Name (_S0W, 0x03) // _S0W: S0 Device Wake State OperationRegion (PMEB, PCI_Config, 0x84, 0x04) Field (PMEB, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } OperationRegion (GENR, PCI_Config, 0xA0, 0x10) Field (GENR, WordAcc, NoLock, Preserve) { , 18, CPME, 1, U2EN, 1, U3EN, 1 } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { CPME = One U2EN = One U3EN = One } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { CPME = Zero U2EN = Zero U3EN = Zero } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { USBC }) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((OTGM != Zero)) { Return (0x0F) } Else { Return (Zero) } } } Scope (\_SB) { PowerResource (USBC, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_ON, 0, NotSerialized) // _ON_: Power On { } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { } } } Scope (EHC1) { Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) OperationRegion (PWKE, PCI_Config, 0x62, 0x04) Field (PWKE, DWordAcc, NoLock, Preserve) { , 1, PWUC, 8 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { PWUC = Ones } Else { PWUC = Zero } } Device (HUBN) { Name (_ADR, Zero) // _ADR: Address Device (PR01) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, Zero, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "UPPER", PLD_HorizontalPosition = "LEFT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Device (PR11) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "FRONT", PLD_VerticalPosition = "", PLD_HorizontalPosition = "LEFT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "FRONT", PLD_VerticalPosition = "", PLD_HorizontalPosition = "CENTER", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "FRONT", PLD_VerticalPosition = "", PLD_HorizontalPosition = "CENTER", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "FRONT", PLD_VerticalPosition = "", PLD_HorizontalPosition = "RIGHT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { T_0 = ToInteger (Arg2) If ((T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((T_0 == 0x02)) { Return (SDGV) /* \SDGV */ } } } Break } } Return (Zero) } } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "RIGHT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { T_0 = ToInteger (Arg2) If ((T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((T_0 == 0x02)) { Return (SDGV) /* \SDGV */ } } } Break } } Return (Zero) } } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "RIGHT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { T_0 = ToInteger (Arg2) If ((T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((T_0 == 0x02)) { Return (SDGV) /* \SDGV */ } } } Break } } Return (Zero) } } Device (PR17) { Name (_ADR, 0x07) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "RIGHT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { T_0 = ToInteger (Arg2) If ((T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((T_0 == 0x02)) { Return (SDGV) /* \SDGV */ } } } Break } } Return (Zero) } } Device (PR18) { Name (_ADR, 0x08) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "RIGHT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } } } Name (_S0W, 0x03) // _S0W: S0 Device Wake State OperationRegion (USBR, PCI_Config, 0x54, 0x04) Field (USBR, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If ((XHCI == Zero)) { Return (0x0F) } Else { Return (Zero) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { USBC }) } } Device (SEC0) { Name (_ADR, 0x001A0000) // _ADR: Address Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (_S0W, 0x03) // _S0W: S0 Device Wake State OperationRegion (PMEB, PCI_Config, 0x84, 0x04) Field (PMEB, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y09) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If ((PAVP == 0x02)) { CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y09._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y09._LEN, B0LN) // _LEN: Length B0BA = PAVB /* \PAVB */ B0LN = PAVL /* \PAVL */ Return (RBUF) /* \_SB_.PCI0.SEC0.RBUF */ } Return (ResourceTemplate () { }) } } } Scope (_PR) { Processor (CPU0, 0x01, 0x00000000, 0x00) {} Processor (CPU1, 0x02, 0x00000000, 0x00) {} Processor (CPU2, 0x03, 0x00000000, 0x00) {} Processor (CPU3, 0x04, 0x00000000, 0x00) {} } Mutex (MUTX, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If ((Arg0 == Zero)) { P80D = ((P80D & 0xFFFFFF00) | Arg1) } If ((Arg0 == One)) { P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08)) } If ((Arg0 == 0x02)) { P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10)) } If ((Arg0 == 0x03)) { P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18)) } P80H = P80D /* \P80D */ } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { GPIC = Arg0 PICM = Arg0 } OperationRegion (SWC0, SystemIO, 0x0610, 0x0F) Field (SWC0, ByteAcc, NoLock, Preserve) { G1S, 8, Offset (0x04), G1E, 8, Offset (0x0A), G1S2, 8, G1S3, 8 } OperationRegion (SWC1, SystemIO, PMBS, 0x2C) Field (SWC1, DWordAcc, NoLock, Preserve) { Offset (0x20), G0S, 32, Offset (0x28), G0EN, 32 } Method (PPTS, 1, NotSerialized) { P80D = Zero P8XH (Zero, Arg0) G1S3 = Ones G1S2 = Ones G1S = One G1E = One G0S = Ones If (CondRefOf (TCGM)) { \_SB.PCI0.LPCB.TPM.PTS (Arg0) } } Method (PWAK, 1, Serialized) { P8XH (One, 0xAB) If (NEXP) { If ((OSCC & 0x02)) { \_SB.PCI0.NHPG () } If ((OSCC & 0x04)) { \_SB.PCI0.NPME () } } If (((Arg0 == 0x03) || (Arg0 == 0x04))) { If ((PFLV == FMBL)) { If ((Arg0 == 0x04)) { PNOT () } } If ((CFGD & 0x01000000)) {} If ((OSYS == 0x07D2)) { If ((CFGD & One)) { If ((\_PR.CPU0._PPC > Zero)) { \_PR.CPU0._PPC -= One PNOT () \_PR.CPU0._PPC += One PNOT () } Else { \_PR.CPU0._PPC += One PNOT () \_PR.CPU0._PPC -= One PNOT () } } } } } Method (PNOT, 0, Serialized) { If (MPEN) { If ((PDC0 & 0x08)) { Notify (\_PR.CPU0, 0x80) // Performance Capability Change If ((PDC0 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) // C-State Change } } If ((PDC1 & 0x08)) { Notify (\_PR.CPU1, 0x80) // Performance Capability Change If ((PDC1 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) // C-State Change } } If ((PDC2 & 0x08)) { Notify (\_PR.CPU2, 0x80) // Performance Capability Change If ((PDC2 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU2, 0x81) // C-State Change } } If ((PDC3 & 0x08)) { Notify (\_PR.CPU3, 0x80) // Performance Capability Change If ((PDC3 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU3, 0x81) // C-State Change } } } Else { Notify (\_PR.CPU0, 0x80) // Performance Capability Change Sleep (0x64) Notify (\_PR.CPU0, 0x81) // C-State Change } } Scope (_SB) { Name (CRTT, 0x6E) Name (ACTT, 0x55) Name (SCR0, 0x0102) Name (SCR1, 0x0102) Name (SCR2, 0x0102) Name (SCR3, 0x0102) Name (GCR0, 0x46) Name (GCR1, 0x46) Name (GCR2, 0x46) Name (GCR3, 0x46) Name (GCR4, 0x46) Name (PST0, 0x3C) Name (PST1, 0x3C) Name (PST2, 0x3C) Name (PST3, 0x3C) Name (PST4, 0x3C) Name (LPMV, 0x03) Name (PDBG, Zero) Name (PDPM, One) Name (PDBP, One) Name (DLPO, Package (0x06) { One, One, One, 0x19, One, One }) Name (BRQD, Zero) Name (PSC1, Zero) Name (PSC2, Zero) Name (PSC3, Zero) Name (PSA1, Zero) Name (PSA2, Zero) Name (PSA3, Zero) Method (_INI, 0, NotSerialized) // _INI: Initialize { CRTT = DPCT /* \DPCT */ ACTT = DPPT /* \DPPT */ GCR0 = DGC0 /* \DGC0 */ GCR1 = DGC1 /* \DGC1 */ GCR2 = DGC2 /* \DGC2 */ GCR3 = DGC3 /* \DGC3 */ GCR4 = DGC4 /* \DGC4 */ PST0 = DGP0 /* \DGP0 */ PST1 = DGP1 /* \DGP1 */ PST2 = DGP2 /* \DGP2 */ PST3 = DGP3 /* \DGP3 */ PST4 = DGP4 /* \DGP4 */ SCR0 = DSC0 /* \DSC0 */ SCR1 = DSC1 /* \DSC1 */ SCR2 = DSC2 /* \DSC2 */ SCR3 = DSC3 /* \DSC3 */ LPMV = DLPM /* \DLPM */ PDBG = DDBG /* \DDBG */ Index (DLPO, One) = LPOE /* \LPOE */ Index (DLPO, 0x02) = LPPS /* \LPPS */ Index (DLPO, 0x03) = LPST /* \LPST */ Index (DLPO, 0x04) = LPPC /* \LPPC */ Index (DLPO, 0x05) = LPPF /* \LPPF */ PDPM = DPME /* \DPME */ } Scope (PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { OSYS = 0x07D0 If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Windows 2001")) { OSYS = 0x07D1 } If (_OSI ("Windows 2001 SP1")) { OSYS = 0x07D1 } If (_OSI ("Windows 2001 SP2")) { OSYS = 0x07D2 } If (_OSI ("Windows 2006")) { OSYS = 0x07D6 } If (_OSI ("Windows 2009")) { OSYS = 0x07D9 } If (_OSI ("Windows 2012")) { OSYS = 0x07DC } If (_OSI ("Windows 2013")) { OSYS = 0x07DD } } } Method (NHPG, 0, Serialized) { } Method (NPME, 0, Serialized) { } } Device (GPED) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT0002" /* Virtual GPIO Controller */) // _HID: Hardware ID Name (_CID, "INT0002" /* Virtual GPIO Controller */) // _CID: Compatible ID Name (_DDN, "Virtual GPIO controller") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (INST, One) Name (XTMP, Zero) OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04) Field (SCIS, DWordAcc, NoLock, Preserve) { LGBE, 1, LHAD, 1, LATA, 1, LDIO, 1, LARD, 1, LIO1, 1, LCEP, 1, LANB, 1, LHCI, 1, LOTG, 1, LECI, 1, LHSI, 1 } Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("8b38b469-6f95-4b08-9b02-2defcc2d2c35"))) { If ((Arg2 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x03 /* . */ }) } } If ((Arg2 == One)) { Return ((PMBS + 0x20)) } Return (Zero) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000009, } }) Return (RBUF) /* \_SB_.GPED._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_AEI, 0, Serialized) // _AEI: ACPI Event Interrupts { Name (RBUF, ResourceTemplate () { GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000, "\\_SB.GPED", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } }) Return (RBUF) /* \_SB_.GPED._AEI.RBUF */ } Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If ((XHCI == Zero)) { If ((^^PCI0.EHC1.PMES == One)) { ^^PCI0.EHC1.PMEE = Zero Local0 = ^^PCI0.EHC1.PMEE /* \_SB_.PCI0.EHC1.PMEE */ Notify (^^PCI0.EHC1, 0x02) // Device Wake } } Else { If ((SOCS > 0x05)) { XTMP = (^^PCI0.XHC1.PMCS & 0x8000) If ((XTMP == 0x8000)) { Notify (^^PCI0.XHC1, 0x02) // Device Wake } } Else { If ((SOCS > 0x02)) { XTMP = (^^PCI0.XHC1.PMCS & 0x8000) If ((XTMP == 0x8000)) { ^^PCI0.XHC1.PMCH = 0x81 Notify (^^PCI0.XHC1, 0x02) // Device Wake } } Else { XTMP = (^^PCI0.XHC1.PMCS & 0x0103) If ((XTMP == 0x0103)) { ^^PCI0.XHC1.PMCS = 0x0100 Sleep (0x0A) XTMP = (^^PCI0.XHC1.PMCS & 0x8000) If ((XTMP == 0x8000)) { ^^PCI0.XHC1.PMCH = 0x81 } Else { ^^PCI0.XHC1.PMCS = 0x0103 } Sleep (0x0A) Notify (^^PCI0.XHC1, 0x02) // Device Wake } Else { ^^PCI0.XHC1.PMCH = 0x81 Sleep (0x0A) } } } } If ((OTGM != Zero)) { If ((^^PCI0.OTG1.PMES == One)) { ADBG ("OTG wake") ^^PCI0.OTG1.PMEE = Zero ^^PCI0.OTG1.CPME = Zero ^^PCI0.OTG1.U2EN = Zero ^^PCI0.OTG1.U3EN = Zero Notify (^^PCI0.OTG1, 0x02) // Device Wake } } If ((^^PCI0.SEC0.PMES == One)) { ^^PCI0.SEC0.PMEE = Zero Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */ Notify (^^PCI0.SEC0, 0x02) // Device Wake } } } Device (GPO0) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */) // _HID: Hardware ID Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */) // _CID: Compatible ID Name (_DDN, "ValleyView General Purpose Input/Output (GPIO) controller") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED0C000, // Address Base 0x00001000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000031, } }) Return (RBUF) /* \_SB_.GPO0._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x08)) { AVBL = Arg1 } } OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C) Field (GPOP, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } ), CCU2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0003 } ), CCU3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x005F } ), TCON, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0064 } ), WWD3, 1 } } Device (GPO1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */) // _HID: Hardware ID Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */) // _CID: Compatible ID Name (_DDN, "ValleyView GPNCORE controller") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED0D000, // Address Base 0x00001000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000030, } }) Return (RBUF) /* \_SB_.GPO1._CRS.RBUF */ } Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x08)) { AVBL = Arg1 } } OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C) Field (GPOP, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x000F } ), BST5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0009 } ), TCD3, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } Device (GPO2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FC" /* Intel Baytrail GPIO Controller */) // _HID: Hardware ID Name (_CID, "INT33FC" /* Intel Baytrail GPIO Controller */) // _CID: Compatible ID Name (_DDN, "ValleyView GPSUS controller") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED0E000, // Address Base 0x00001000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000032, } }) Return (RBUF) /* \_SB_.GPO2._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_AEI, 0, Serialized) // _AEI: ACPI Event Interrupts { Name (FBUF, ResourceTemplate () { GpioInt (Edge, ActiveBoth, SharedAndWake, PullUp, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0012 } }) Return (FBUF) /* \_SB_.GPO2._AEI.FBUF */ } Name (BMUX, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BMUX, Zero, BBBY) CreateByteField (BMUX, 0x02, DDDT) Method (_E12, 0, NotSerialized) // _Exx: Edge-Triggered GPE { If (((AVBL == One) && (^^GPO1.AVBL == One))) { If ((USID == One)) { ^^GPO1.BST5 = Zero Sleep (0x05) BMUX = ^^I2C5.XP30 /* \_SB_.I2C5.XP30 */ DDDT &= 0x7F ^^I2C5.XP30 = BMUX /* \_SB_.GPO2.BMUX */ MOTG = One ^^PCI0.XHC1.PWOF () } Else { BMUX = ^^I2C5.XP30 /* \_SB_.I2C5.XP30 */ DDDT |= 0x80 ^^I2C5.XP30 = BMUX /* \_SB_.GPO2.BMUX */ Sleep (0x05) ^^GPO1.BST5 = One Sleep (0x05) MOTG = Zero ^^PCI0.XHC1.PWON () } } } Name (BMBQ, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BMBQ, Zero, BBBQ) CreateByteField (BMBQ, 0x02, DDBQ) Method (BOST, 1, NotSerialized) { BMBQ = ^^I2C1.BQ01 /* \_SB_.I2C1.BQ01 */ If ((Arg0 == One)) { DDBQ &= 0xCF DDBQ |= 0x20 } Else { DDBQ &= 0xCF DDBQ |= 0x10 } ^^I2C1.BQ01 = BMBQ /* \_SB_.GPO2.BMBQ */ } Name (BUFC, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BUFC, Zero, BYAT) CreateByteField (BUFC, 0x02, DATA) Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x08)) { AVBL = Arg1 } } OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C) Field (GPOP, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0014 } ), WFD3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } ), MOTG, 1, Connection ( GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0012 } ), USID, 1 } } Device (PEPD) { Name (_HID, "INT3396" /* Standard Power Management Controller */) // _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 (0x01) { Zero }) Name (DEVX, Package (0x0E) { Package (0x02) { "\\_SB.PCI0.XHC1", One }, Package (0x02) { "\\_SB.PCI0.GFX0", One }, Package (0x02) { "\\_SB.PCI0.GFX0.ISP0", One }, Package (0x02) { "\\_SB.PCI0.SEC0", One }, Package (0x02) { "\\_SB.I2C1", One }, Package (0x02) { "\\_SB.I2C2", One }, Package (0x02) { "\\_SB.I2C3", One }, Package (0x02) { "\\_SB.I2C4", One }, Package (0x02) { "\\_SB.I2C5", One }, Package (0x02) { "\\_SB.SDHA", One }, Package (0x02) { "\\_SB.SDHB", One }, Package (0x02) { "\\_SB.SDHC", One }, Package (0x02) { "\\_SB.URT1", One }, Package (0x02) { "\\_SB.URT2", One } }) Name (DEX1, Package (0x0D) { Package (0x02) { "\\_SB.PCI0.XHC1", One }, Package (0x02) { "\\_SB.PCI0.GFX0", One }, Package (0x02) { "\\_SB.PCI0.GFX0.ISP0", One }, Package (0x02) { "\\_SB.PCI0.SEC0", One }, Package (0x02) { "\\_SB.I2C1", One }, Package (0x02) { "\\_SB.I2C2", One }, Package (0x02) { "\\_SB.I2C3", One }, Package (0x02) { "\\_SB.I2C4", One }, Package (0x02) { "\\_SB.SDHA", One }, Package (0x02) { "\\_SB.SDHB", One }, Package (0x02) { "\\_SB.SDHC", One }, Package (0x02) { "\\_SB.URT1", One }, Package (0x02) { "\\_SB.URT2", One } }) Name (DEX2, Package (0x0D) { Package (0x02) { "\\_SB.PCI0.XHC1", One }, Package (0x02) { "\\_SB.PCI0.GFX0", One }, Package (0x02) { "\\_SB.PCI0.GFX0.ISP0", One }, Package (0x02) { "\\_SB.PCI0.SEC0", One }, Package (0x02) { "\\_SB.I2C1", One }, Package (0x02) { "\\_SB.I2C2", One }, Package (0x02) { "\\_SB.I2C3", One }, Package (0x02) { "\\_SB.I2C4", One }, Package (0x02) { "\\_SB.SDHA", One }, Package (0x02) { "\\_SB.SDHB", One }, Package (0x02) { "\\_SB.SDHD", One }, Package (0x02) { "\\_SB.URT1", One }, Package (0x02) { "\\_SB.URT2", One } }) Name (CDMP, Package (0x02) {}) Name (DEVY, Package (0x13) { 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.GFX0.ISP0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.I2C1", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C2", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C3", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C4", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C5", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.XHC1", One, Package (0x05) { Zero, Package (0x02) { Zero, 0x03 }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.SEC0", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.LPEA", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, Zero }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHA", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHB", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHC", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.URT1", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.URT2", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } } }) Name (DEY1, 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.GFX0.ISP0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.I2C1", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C2", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C3", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C4", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.XHC1", One, Package (0x05) { Zero, Package (0x02) { Zero, 0x03 }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.SEC0", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.LPEA", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, Zero }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHA", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHB", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHC", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.URT1", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.URT2", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } } }) Name (DEY2, 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.GFX0.ISP0", One, Package (0x02) { Zero, Package (0x02) { 0xFF, 0x03 } } }, Package (0x03) { "\\_SB.I2C1", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C2", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C3", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.I2C4", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.XHC1", One, Package (0x05) { Zero, Package (0x02) { Zero, 0x03 }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.PCI0.SEC0", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.LPEA", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, Zero }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHA", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHB", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.SDHD", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.URT1", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } }, Package (0x03) { "\\_SB.URT2", One, Package (0x05) { Zero, Package (0x02) { Zero, Zero }, Package (0x02) { One, 0x03 }, Package (0x02) { 0x02, 0x03 }, Package (0x02) { 0x03, 0x03 } } } }) Name (BCCD, Package (0x01) { Package (0x02) { "\\_SB.SDHA", Package (0x01) { Package (0x03) { Package (0x05) { Zero, 0x20, Zero, 0x03, Ones }, Package (0x03) { 0xFFFFFFFC, Zero, 0x04 }, Zero } } } }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("b8febfe0-baf8-454b-aecd-49fb91137b21"))) { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x0F /* . */ }) } If ((Arg2 == One)) { PEPP = One Return (0x0F) } If ((Arg2 == 0x02)) { If ((Arg1 == Zero)) { Return (DEVS) /* \_SB_.PEPD.DEVS */ } If ((Arg1 == One)) { If ((PMID == 0x02)) { Return (DEVX) /* \_SB_.PEPD.DEVX */ } Else { If ((PMID == 0x05)) { Return (DEX2) /* \_SB_.PEPD.DEX2 */ } Return (DEX1) /* \_SB_.PEPD.DEX1 */ } } } If ((Arg2 == 0x03)) { Index (CDMP, Zero) = "\\_SB.SDHA" Index (CDMP, One) = EM1A /* \EM1A */ Return (CDMP) /* \_SB_.PEPD.CDMP */ } } If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66"))) { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x07 /* . */ }) } If ((Arg2 == One)) { If ((PMID == 0x02)) { Return (DEVY) /* \_SB_.PEPD.DEVY */ } Else { If ((PMID == 0x05)) { Return (DEY2) /* \_SB_.PEPD.DEY2 */ } Return (DEY1) /* \_SB_.PEPD.DEY1 */ } } If ((Arg2 == 0x02)) { Local0 = EM1A /* \EM1A */ Local0 += 0x84 Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (BCCD, Zero )), One)), Zero)), Zero)), 0x04) = Local0 Return (BCCD) /* \_SB_.PEPD.BCCD */ } } Return (One) } } Device (SDHA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) eMMC Controller - 80860F14") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (RBF1, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0A) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002D, } }) Name (RBF2, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0B) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002C, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBF1, \_SB.SDHA._Y0A._BAS, B0B1) // _BAS: Base Address CreateDWordField (RBF1, \_SB.SDHA._Y0A._LEN, B0L1) // _LEN: Length B0B1 = EM0A /* \EM0A */ B0L1 = EM0L /* \EM0L */ CreateDWordField (RBF2, \_SB.SDHA._Y0B._BAS, B0B2) // _BAS: Base Address CreateDWordField (RBF2, \_SB.SDHA._Y0B._LEN, B0L2) // _LEN: Length B0B2 = EM0A /* \EM0A */ B0L2 = EM0L /* \EM0L */ If ((EMVR == One)) { Return (RBF2) /* \_SB_.SDHA.RBF2 */ } Return (RBF1) /* \_SB_.SDHA.RBF1 */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.SDHA.PSAT */ If (((SOCS < 0x02) || ((SOCS == 0x02) && (EMVR == One)))) { Sleep (0x02) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.SDHA.PSAT */ If (((SOCS < 0x02) || ((SOCS == 0x02) && (EMVR == One)))) { Sleep (0x02) } } OperationRegion (KEYS, SystemMemory, EM1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Device (EMMD) { Name (_ADR, 0x08) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } } } Device (SDHB) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33BB" /* Intel Baytrail SD Host Controller */) // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) SDIO Controller - 80860F15") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_DEP, Package (0x02) // _DEP: Dependencies { PEPD, GPO2 }) Name (PSTS, Zero) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0C) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002E, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.SDHB._Y0C._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.SDHB._Y0C._LEN, B0LN) // _LEN: Length B0BA = SI0A /* \SI0A */ B0LN = SI0L /* \SI0L */ Return (RBUF) /* \_SB_.SDHB.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((STEP <= 0x04)) { _HRV = SDMD /* \SDMD */ } If (((SI0A == Zero) || (SD2D == One))) { Return (Zero) } Return (0x0F) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.SDHB.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.SDHB.PSAT */ If ((PSTS == Zero)) { If ((^^GPO2.AVBL == One)) { ^^GPO2.WFD3 = One PSTS = One } } } OperationRegion (KEYS, SystemMemory, SI1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (WLAN) { Name (_ADR, One) // _ADR: Address Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO2 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (Zero) } Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { Zero, Zero }) Name (_S4W, 0x02) // _S4W: S4 Device Wake State Name (_S0W, 0x02) // _S0W: S0 Device Wake State Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, ) { 0x00000045, } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0014 } }) Return (RBUF) /* \_SB_.SDHB.WLAN._CRS.RBUF */ } Method (_PS2, 0, NotSerialized) // _PS2: Power State 2 { } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { } } Device (WLA2) { Name (_ADR, 0x02) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (Zero) } Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (NAM, Buffer (0x0F) { "\\_SB.SDHB.WLAN" }) Name (SPB, Buffer (0x0C) { /* 0000 */ 0x8E, 0x18, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00, /* ........ */ /* 0008 */ 0x00, 0x01, 0x00, 0x00 /* .... */ }) Name (END, ResourceTemplate () { }) Concatenate (SPB, NAM, Local0) Concatenate (Local0, END, Local1) Return (Local1) } } Device (RTLW) { Name (_ADR, One) // _ADR: Address Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO2 }) Name (_HID, "RTL8723" /* Realtek Wireless Controller */) // _HID: Hardware ID Name (_CID, "RTL8723" /* Realtek Wireless Controller */) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { Zero, Zero }) Name (_S4W, 0x02) // _S4W: S4 Device Wake State Name (_S0W, 0x02) // _S0W: S0 Device Wake State Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x000F } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0014 } }) Return (RBUF) /* \_SB_.SDHB.RTLW._CRS.RBUF */ } Method (_PS2, 0, NotSerialized) // _PS2: Power State 2 { } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((^^^GPO2.AVBL == One)) { ^^^GPO2.WFD3 = Zero PSTS = Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((PSTS == Zero)) { If ((^^^GPO2.AVBL == One)) { ^^^GPO2.WFD3 = One PSTS = One } } } } } Device (SDHC) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) SD Card Controller - 80860F16") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { PEPD, GPO0 }) Name (TDEP, Package (0x04) { PEPD, GPO0, I2C5, ^I2C5.PMI2 }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0D) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002F, } GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } }) Name (ABUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0E) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002F, } GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0029 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.SDHC._Y0D._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.SDHC._Y0D._LEN, B0LN) // _LEN: Length B0BA = SD0A /* \SD0A */ B0LN = SD0L /* \SD0L */ CreateDWordField (ABUF, \_SB.SDHC._Y0E._BAS, B0BX) // _BAS: Base Address CreateDWordField (ABUF, \_SB.SDHC._Y0E._LEN, B0LX) // _LEN: Length B0BX = SD0A /* \SD0A */ B0LX = SD0L /* \SD0L */ If ((OSSL & 0x80)) { Return (ABUF) /* \_SB_.SDHC.ABUF */ } Return (RBUF) /* \_SB_.SDHC.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((SD0A == Zero) || (SD3D == One))) { Return (Zero) } If ((PMID == 0x05)) { ADBG ("XPWR_DCOVE") Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { ADBG ("SD card-----ps3") PSAT |= 0x03 Local0 = PSAT /* \_SB_.SDHC.PSAT */ If (CondRefOf (\_SB.I2C5.PMI2, Local2)) { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LDO7 = Zero If ((^^I2C5.PMI2.AVBG == One)) { ADBG ("SD card-----333ps3") ^^I2C5.PMI2.GSDX = One Sleep (0x1E) } } } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { ADBG ("SD card-----ps0") If (CondRefOf (\_SB.I2C5.PMI2, Local2)) { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LDO7 = One If ((^^I2C5.PMI2.AVBG == One)) { ADBG ("SD card-----000ps0") ^^I2C5.PMI2.GSDX = One Sleep (0x1E) } } } PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.SDHC.PSAT */ } OperationRegion (KEYS, SystemMemory, SD1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (SDHD) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) SD Card Controller - 80860F16") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Name (_DEP, Package (0x04) // _DEP: Dependencies { PEPD, GPO0, I2C5, ^I2C5.PMI1 }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0F) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002F, } GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } }) Name (ABUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y10) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002F, } GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0029 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.SDHD._Y0F._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.SDHD._Y0F._LEN, B0LN) // _LEN: Length B0BA = SD0A /* \SD0A */ B0LN = SD0L /* \SD0L */ CreateDWordField (ABUF, \_SB.SDHD._Y10._BAS, B0BX) // _BAS: Base Address CreateDWordField (ABUF, \_SB.SDHD._Y10._LEN, B0LX) // _LEN: Length B0BX = SD0A /* \SD0A */ B0LX = SD0L /* \SD0L */ If ((OSSL & 0x80)) { Return (ABUF) /* \_SB_.SDHD.ABUF */ } Return (RBUF) /* \_SB_.SDHD.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((SD0A == Zero) || (SD3D == One))) { Return (Zero) } If ((PMID == 0x05)) { ADBG ("XPWR_DCOVE") Return (0x0F) } Return (Zero) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { ADBG ("SD card-----ps3 Xpower") PSAT |= 0x03 Local0 = PSAT /* \_SB_.SDHD.PSAT */ If (CondRefOf (\_SB.I2C5.PMI1, Local1)) { ADBG ("SD card-----1ps3 Xpower") If ((^^I2C5.PMI1.AVBL == One)) { ADBG ("SD card-----2ps3 Xpower") ^^I2C5.PMI1.GPI1 = Zero If ((^^I2C5.PMI1.AVBG == One)) { ADBG ("SD card-----3ps3 Xpower") ^^I2C5.PMI1.GSDX = One Sleep (0x1E) } } } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { ADBG ("SD card-----ps0") If (CondRefOf (\_SB.I2C5.PMI1, Local1)) { ADBG ("SD card-----1ps0 Xpower") If ((^^I2C5.PMI1.AVBL == One)) { ADBG ("SD card-----2ps0 Xpower") ^^I2C5.PMI1.GPI1 = One If ((^^I2C5.PMI1.AVBG == One)) { ADBG ("SD card-----3ps0 Xpower") ^^I2C5.PMI1.GSDX = One Sleep (0x1E) } } } PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.SDHD.PSAT */ } OperationRegion (KEYS, SystemMemory, SD1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (GDM1) { Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y11) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002A, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.GDM1._Y11._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.GDM1._Y11._LEN, B0LN) // _LEN: Length B0BA = D10A /* \D10A */ B0LN = D10L /* \D10L */ Return (RBUF) /* \_SB_.GDM1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((D10A == Zero) || (L10D == One))) { Return (Zero) } Return (0x0F) } } Device (GDM2) { Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y12) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002B, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.GDM2._Y12._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.GDM2._Y12._LEN, B0LN) // _LEN: Length B0BA = D20A /* \D20A */ B0LN = D20L /* \D20L */ Return (RBUF) /* \_SB_.GDM2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((D20A == Zero) || (L20D == One))) { Return (Zero) } Return (0x0F) } } Device (PWM1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F09" /* Intel PWM Controller */) // _HID: Hardware ID Name (_CID, "80860F09" /* Intel PWM Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) PWM Controller #1 - 80860F08") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y13) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PWM1._Y13._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PWM1._Y13._LEN, B0LN) // _LEN: Length B0BA = P10A /* \P10A */ B0LN = P10L /* \P10L */ Return (RBUF) /* \_SB_.PWM1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((P10A == Zero) || (L11D == One))) { Return (Zero) } If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.PWM1.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.PWM1.PSAT */ } OperationRegion (KEYS, SystemMemory, P11A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (PWM2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F09" /* Intel PWM Controller */) // _HID: Hardware ID Name (_CID, "80860F09" /* Intel PWM Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) PWM Controller #2 - 80860F09") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y14) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PWM2._Y14._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PWM2._Y14._LEN, B0LN) // _LEN: Length B0BA = P20A /* \P20A */ B0LN = P20L /* \P20L */ Return (RBUF) /* \_SB_.PWM2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((P20A == Zero) || (L12D == One))) { Return (Zero) } If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.PWM2.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.PWM2.PSAT */ } OperationRegion (KEYS, SystemMemory, P21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (URT1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F0A" /* Intel Atom UART Controller */) // _HID: Hardware ID Name (_CID, "80860F0A" /* Intel Atom UART Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) HS-UART Controller #1 - 80860F0A") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y15) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000027, } FixedDMA (0x0002, 0x0002, Width32bit, ) FixedDMA (0x0003, 0x0003, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.URT1._Y15._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.URT1._Y15._LEN, B0LN) // _LEN: Length B0BA = U10A /* \U10A */ B0LN = U10L /* \U10L */ Return (RBUF) /* \_SB_.URT1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((U10A == Zero) || (L13D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.URT1.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.URT1.PSAT */ } OperationRegion (KEYS, SystemMemory, U11A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (BTH0) { Name (_HID, "BCM2E3A") // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xFC, LittleEndian, ParityTypeNone, FlowControlNone, 0x0020, 0x0020, "\\_SB.URT1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, ) { 0x00000046, } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0018 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0019 } }) Return (UBUF) /* \_SB_.URT1.BTH0._CRS.UBUF */ } } Device (BTH1) { Name (_HID, "OBDA8723") // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xC0, LittleEndian, ParityTypeEven, FlowControlHardware, 0x0020, 0x0020, "\\_SB.URT1", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0018 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0019 } GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } }) Name (WBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xC0, LittleEndian, ParityTypeEven, FlowControlHardware, 0x0020, 0x0020, "\\_SB.URT1", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0019 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0018 } GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } }) If ((OSSL & 0x80)) { Return (UBUF) /* \_SB_.URT1.BTH1._CRS.UBUF */ } Return (WBUF) /* \_SB_.URT1.BTH1._CRS.WBUF */ } } } Device (URT2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F0A" /* Intel Atom UART Controller */) // _HID: Hardware ID Name (_CID, "80860F0A" /* Intel Atom UART Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) HS-UART Controller #2 - 80860F0C") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y16) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000028, } FixedDMA (0x0004, 0x0004, Width32bit, ) FixedDMA (0x0005, 0x0005, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.URT2._Y16._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.URT2._Y16._LEN, B0LN) // _LEN: Length B0BA = U20A /* \U20A */ B0LN = U20L /* \U20L */ Return (RBUF) /* \_SB_.URT2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((U20A == Zero) || (L14D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.URT2.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.URT2.PSAT */ } OperationRegion (KEYS, SystemMemory, U21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (GPS0) { Name (_HID, "BCM4752") // _HID: Hardware ID Name (_HRV, Zero) // _HRV: Hardware Revision Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware, 0x0020, 0x0020, "\\_SB.URT2", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } }) Return (UBUF) /* \_SB_.URT2.GPS0._CRS.UBUF */ } } } Device (SPI1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F0E" /* Intel SPI Controller */) // _HID: Hardware ID Name (_CID, "80860F0E" /* Intel SPI Controller */) // _CID: Compatible ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (_DDN, "Intel(R) SPI Controller - 80860F0E") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y17) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000029, } FixedDMA (0x0000, 0x0000, Width32bit, ) FixedDMA (0x0001, 0x0001, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.SPI1._Y17._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.SPI1._Y17._LEN, B0LN) // _LEN: Length B0BA = SP0A /* \SP0A */ B0LN = SP0L /* \SP0L */ Return (RBUF) /* \_SB_.SPI1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((SP0A == Zero) || (L15D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.SPI1.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.SPI1.PSAT */ } OperationRegion (KEYS, SystemMemory, SP1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (FPNT) { Name (_HID, "AUTH2750" /* AuthenTec AES2750 */) // _HID: Hardware ID Name (_DDN, "AuthenTec AES2750") // _DDN: DOS Device Name Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { SpiSerialBus (0x0001, PolarityLow, FourWireMode, 0x08, ControllerInitiated, 0x007A1200, ClockPolarityLow, ClockPhaseSecond, "\\_SB.SPI1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) { 0x00000048, } }) Return (UBUF) /* \_SB_.SPI1.FPNT._CRS.UBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } } } Device (NFC2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "NXP5442" /* NXP 5442 Near Field Communications Controller */) // _HID: Hardware ID Name (_CID, "NXP5442" /* NXP 5442 Near Field Communications Controller */) // _CID: Compatible ID Name (_DDN, "NXP NFC") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((NFCS == 0x02)) { Return (0x0F) } Return (Zero) } } Device (I2C1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _HID: Hardware ID Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _CID: Compatible ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (_DDN, "Intel(R) I2C Controller #1 - 80860F41") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y18) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000020, } FixedDMA (0x0010, 0x0000, Width32bit, ) FixedDMA (0x0011, 0x0001, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.I2C1._Y18._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.I2C1._Y18._LEN, B0LN) // _LEN: Length B0BA = I10A /* \I10A */ B0LN = I10L /* \I10L */ Return (RBUF) /* \_SB_.I2C1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I10A == Zero) || (L21D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.I2C1.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.I2C1.PSAT */ } OperationRegion (KEYS, SystemMemory, I11A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (I2C2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _HID: Hardware ID Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _CID: Compatible ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (_DDN, "Intel(R) I2C Controller #2 - 80860F42") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y19) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000021, } FixedDMA (0x0012, 0x0002, Width32bit, ) FixedDMA (0x0013, 0x0003, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.I2C2._Y19._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.I2C2._Y19._LEN, B0LN) // _LEN: Length B0BA = I20A /* \I20A */ B0LN = I20L /* \I20L */ Return (RBUF) /* \_SB_.I2C2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I20A == Zero) || (L22D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.I2C2.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.I2C2.PSAT */ } OperationRegion (KEYS, SystemMemory, I21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } PowerResource (CLK0, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (CKC0) /* \CKC0 */ } Method (_ON, 0, NotSerialized) // _ON_: Power On { CKC0 = One CKF0 = One Sleep (0x20) } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { CKC0 = 0x02 } } PowerResource (CLK1, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Return (CKC1) /* \CKC1 */ } Method (_ON, 0, NotSerialized) // _ON_: Power On { CKC1 = One CKF1 = One Sleep (0x20) } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { CKC1 = 0x02 } } Device (RTEK) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "10EC5640" /* Realtek I2S Audio Codec */) // _HID: Hardware ID Name (_CID, "10EC5640" /* Realtek I2S Audio Codec */) // _CID: Compatible ID Name (_DDN, "RTEK Codec Controller ") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (CHAN, Package (0x02) { One, 0x017D7840 }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0004 } }) Return (SBUF) /* \_SB_.I2C2.RTEK._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { CKC3 = Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { CKC3 = One } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (T_1, Zero) // _T_x: Emitted by ASL Compiler Name (T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a9240c44-f032-454d-80e5-7aeed80e9551"))) { While (One) { T_0 = Arg2 If ((T_0 == 0x03)) { While (One) { T_1 = Arg3 If ((T_1 == Zero)) { Return (0x11) } Else { If ((T_1 == 0x04)) { Return (Buffer (0x34) { /* 0000 */ 0x06, 0x00, 0x00, 0xCE, 0x1D, 0x00, 0x01, 0x00, /* ........ */ /* 0008 */ 0x03, 0x40, 0xBB, 0x00, 0x40, 0x00, 0x01, 0x00, /* .@..@... */ /* 0010 */ 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x01, 0x00, /* ....F... */ /* 0018 */ 0x02, 0x00, 0x00, 0x00, 0x45, 0x00, 0x01, 0x00, /* ....E... */ /* 0020 */ 0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x01, 0x00, /* ........ */ /* 0028 */ 0x00, 0x01, 0x0D, 0x00, 0x1D, 0x00, 0x01, 0x00, /* ........ */ /* 0030 */ 0x86, 0x86, 0x01, 0x00 /* .... */ }) } Else { Return (0x80000002) } } Break } } Break } } Return (0x80000002) } } Device (CAM1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33BE" /* Camera Sensor OV5693 */) // _HID: Hardware ID Name (_CID, "INT33BE" /* Camera Sensor OV5693 */) // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "OV5693") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMIC }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28X, P18X, CLK0 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM1.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((((RCAS == 0x02) && (PMID == One)) && (OSSL & 0x80 ))) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM1._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT33BE") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("OV5693") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("12P2BA536") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0102) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (One) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (One) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (Zero) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return ("AD5823") } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x04001000) } If ((Arg2 == 0x03)) { Return (0x04000C01) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001800) } If ((Arg2 == 0x03)) { Return (0x01011501) } } Return (Zero) } } Device (CAM3) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INTCF1B") // _HID: Hardware ID Name (_CID, "INTCF1B") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "Sony IMX134") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMIC }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28X, P18X, CLK0 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM3.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((((RCAS == One) && (PMID == One)) && (OSSL & 0x80 ))) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) I2cSerialBus (0x0054, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM3._CRS.SBUF */ } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { CKC0 = 0x02 } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { CKC0 = One CKF0 = One Sleep (0x05) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INTCF1A") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("IMX175") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("13P2BA807") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0104) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (One) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (0x02) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (Zero) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return (Zero) } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (0x03) } If ((Arg2 == 0x02)) { Return (0x04001000) } If ((Arg2 == 0x03)) { Return (0x04000C01) } If ((Arg2 == 0x04)) { Return (0x04005402) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (One) } If ((Arg2 == 0x02)) { Return (0x01001800) } } Return (Zero) } } Device (CAM2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT5648") // _HID: Hardware ID Name (_CID, "INT5648") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "OV5648") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMI1 }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28X, P18X, CLK0 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM2.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM2._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT5648") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("OV5648") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("MTD5648") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0102) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (One) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (One) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (Zero) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return ("DW9714") } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x04003600) } If ((Arg2 == 0x03)) { Return (0x04000C01) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001801) } If ((Arg2 == 0x03)) { Return (0x1500) } } Return (Zero) } } Device (CAM4) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33F8") // _HID: Hardware ID Name (_CID, "INT33F8") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "GC2235") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMI1 }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28P, P18P, CLK0 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM4.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((((RCAS == 0x03) && (PMID == 0x05)) && (OSSL & 0x80 ))) { Return (Zero) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM4._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT33F8") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("GC2235") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("13P2BA807") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0101) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (One) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (Zero) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (One) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return (Zero) } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (One) } If ((Arg2 == 0x02)) { Return (0x02003C00) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001100) } If ((Arg2 == 0x03)) { Return (0x1501) } } Return (Zero) } } Device (CAM5) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33F8") // _HID: Hardware ID Name (_CID, "INT33F8") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "GC2235") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMI1 }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28P, P18P, CLK1 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* a....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM5.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((((FCAS == 0x02) && (PMID == 0x05)) && (OSSL & 0x80 ))) { Return (0x0F) } Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0012 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM5._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT33F8") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("GC2235") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("GNDF130874") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0101) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (Zero) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (0x02) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (One) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return (Zero) } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (One) } If ((Arg2 == 0x02)) { Return (0x04003C00) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001200) } If ((Arg2 == 0x03)) { Return (0x00011601) } } Return (Zero) } } Device (CAM6) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33F8") // _HID: Hardware ID Name (_CID, "INT33F8") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "GC2235") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMI2 }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28T, P18T, CLK0 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* i....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM6.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((((RCAS == 0x03) && (PMID == 0x06)) && (OSSL & 0x80 ))) { Return (Zero) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM6._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT33F8") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("GC2235") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("13P2BA807") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0101) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (One) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (Zero) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (One) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return (Zero) } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (One) } If ((Arg2 == 0x02)) { Return (0x02003C00) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001100) } If ((Arg2 == 0x03)) { Return (0x01001501) } } Return (Zero) } } Device (CAM7) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33F8") // _HID: Hardware ID Name (_CID, "INT33F8") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "GC2235") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^^I2C5.PMI2 }) Name (_PR0, Package (0x03) // _PR0: Power Resources for D0 { P28T, P1XT, CLK1 }) Name (PLDB, Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, /* a....... */ /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF /* .... */ } }) Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Return (PLDB) /* \_SB_.I2C2.CAM7.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((((FCAS == 0x02) && (PMID == 0x06)) && (OSSL & 0x80 ))) { Return (Zero) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0012 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } I2cSerialBus (0x003C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.CAM7._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT33F8") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("GC2235") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("GNDF130874") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea"))) { Return (0x0101) } If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab"))) { Return (Zero) } If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf"))) { Return (Zero) } If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d"))) { Return (0x02) } If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015"))) { Return (Zero) } If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6"))) { Return (One) } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return (Zero) } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (One) } If ((Arg2 == 0x02)) { Return (0x04003C00) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001200) } If ((Arg2 == 0x03)) { Return (0x00011601) } } Return (Zero) } } Device (STRA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INTCF1C") // _HID: Hardware ID Name (_CID, "INTCF1C") // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "Flash LM3554") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0013 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0014 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0010 } I2cSerialBus (0x0053, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C2.STRA._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INTCF1C") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("LM3554") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { If ((BDID == 0x04)) { If ((FBID == 0x02)) { Return ("INTEL_FFRD") } If ((FBID == 0x03)) { Return ("INTEL_FFRD") } } Return ("INTEL_RVP") } If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f"))) { Return (Zero) } If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881"))) { If ((Arg2 == One)) { Return (One) } If ((Arg2 == 0x02)) { Return (0x04005300) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x04) } If ((Arg2 == 0x02)) { Return (0x01001302) } If ((Arg2 == 0x03)) { Return (0x01001403) } If ((Arg2 == 0x04)) { Return (0x01001001) } If ((Arg2 == 0x05)) { Return (0x01001104) } } Return (Zero) } } } Device (I2C3) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _HID: Hardware ID Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #3 - 80860F43") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1A) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000022, } FixedDMA (0x0014, 0x0004, Width32bit, ) FixedDMA (0x0015, 0x0005, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.I2C3._Y1A._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.I2C3._Y1A._LEN, B0LN) // _LEN: Length B0BA = I30A /* \I30A */ B0LN = I30L /* \I30L */ Return (RBUF) /* \_SB_.I2C3.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I30A == Zero) || (L23D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.I2C3.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.I2C3.PSAT */ } OperationRegion (KEYS, SystemMemory, I31A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (SPBA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "KXCJ9000") // _HID: Hardware ID Name (_CID, "INTACCL") // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { If (((ACCS == One) || (ACCS == 0x3))) { Return (0x0F) } Return (Zero) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { I2cSerialBus (0x000F, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C3", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0017 } }) Return (RBUF) /* \_SB_.I2C3.SPBA._CRS.RBUF */ } } } Device (MDM) { Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID Name (_CID, "MCD0001") // _CID: Compatible ID Name (CPU, "ValleyView2") Name (MDMN, "XMM_6260") Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0017 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001E } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001C } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001D } }) Return (UBUF) /* \_SB_.MDM_._CRS.UBUF */ } } Device (I2C4) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _HID: Hardware ID Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #4 - 80860F44") // _DDN: DOS Device Name Name (_UID, 0x04) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1B) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000023, } FixedDMA (0x0016, 0x0006, Width32bit, ) FixedDMA (0x0017, 0x0007, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.I2C4._Y1B._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.I2C4._Y1B._LEN, B0LN) // _LEN: Length B0BA = I40A /* \I40A */ B0LN = I40L /* \I40L */ Return (RBUF) /* \_SB_.I2C4.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I40A == Zero) || (L24D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 Local0 = PSAT /* \_SB_.I2C4.PSAT */ } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.I2C4.PSAT */ } OperationRegion (KEYS, SystemMemory, I41A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (TCS0) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "GDIX1001") // _HID: Hardware ID Name (_CID, "GDIX1001" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_S0W, Zero) // _S0W: S0 Device Wake State Name (_DEP, Package (0x02) // _DEP: Dependencies { GPO1, I2C5 }) Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If ((^^^I2C5.PMIC.AVBG == One)) {} } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { If ((^^^GPO1.AVBL == One)) { ^^^GPO1.TCD3 = Zero } Sleep (0x05) If ((^^^I2C5.PMIC.AVBG == One)) {} Sleep (0x1E) If ((^^^GPO1.AVBL == One)) { ^^^GPO1.TCD3 = One } Sleep (0x78) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0, AddressingMode7Bit, "\\_SB.I2C4", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0003 } }) Name (ABUF, ResourceTemplate () { I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0, AddressingMode7Bit, "\\_SB.I2C4", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveLow, Exclusive, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0003 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0009 } }) If ((OSSL && 0x80)) { Return (ABUF) /* \_SB_.I2C4.TCS0._CRS.ABUF */ } Else { Return (RBUF) /* \_SB_.I2C4.TCS0._CRS.RBUF */ } } Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL == 0x83)) { Return (Zero) } Return (0x0F) } } } Device (I2C5) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _HID: Hardware ID Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */) // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #5 - 80860F45") // _DDN: DOS Device Name Name (_UID, 0x05) // _UID: Unique ID Method (_SEM, 0, NotSerialized) { If ((((PMID == 0x04) || (PMID == 0x05)) || (PMID == 0x06))) { ADBG ("$COVE") Return (One) } Else { ADBG ("CCOVE") Return (Zero) } } Name (_DEP, Package (0x01) // _DEP: Dependencies { PEPD }) Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1C) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000024, } FixedDMA (0x0018, 0x0000, Width32bit, ) FixedDMA (0x0019, 0x0001, Width32bit, ) }) Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision { Return (SOCS) /* \SOCS */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.I2C5._Y1C._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.I2C5._Y1C._LEN, B0LN) // _LEN: Length B0BA = I50A /* \I50A */ B0LN = I50L /* \I50L */ Return (RBUF) /* \_SB_.I2C5.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I50A == Zero) || (L25D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((((PMID == 0x04) || (PMID == 0x05)) || (PMID == 0x06))) { Return (Zero) } PSAT |= 0x03 Local0 = PSAT /* \_SB_.I2C5.PSAT */ Return (Zero) } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC Local0 = PSAT /* \_SB_.I2C5.PSAT */ } OperationRegion (KEYS, SystemMemory, I51A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Name (XPMC, ResourceTemplate () { I2cSerialBus (0x0034, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C5", 0x00, ResourceConsumer, , ) }) OperationRegion (XSCG, GenericSerialBus, Zero, 0x0100) Field (XSCG, BufferAcc, NoLock, Preserve) { Connection (XPMC), AccessAs (BufferAcc, AttribByte), XP00, 8 } Field (XSCG, BufferAcc, NoLock, Preserve) { Connection (XPMC), Offset (0x2C), AccessAs (BufferAcc, AttribByte), XP2C, 8, XP2D, 8, XP2E, 8, XP2F, 8, XP30, 8, XP31, 8, XP32, 8 } Field (XSCG, BufferAcc, NoLock, Preserve) { Connection (XPMC), Offset (0x2C), AccessAs (BufferAcc, AttribBytes (0x0A)), XPCG, 8 } } Scope (I2C5) { Device (PMI1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33F4" /* XPOWER PMIC Controller */) // _HID: Hardware ID Name (_CID, "INT33F4" /* XPOWER PMIC Controller */) // _CID: Compatible ID Name (_DDN, "XPOWER PMIC Controller") // _DDN: DOS Device Name Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { I2C5 }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x0034, ControllerInitiated, 0x000F4240, AddressingMode7Bit, "\\_SB.I2C5", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } }) Return (SBUF) /* \_SB_.I2C5.PMI1._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMEN == Zero)) { Return (Zero) } If ((PMID == 0x05)) { ADBG ("XPWR_DCOVE") Return (0x0F) } Return (Zero) } OperationRegion (PMOP, 0x8D, Zero, 0x0100) Field (PMOP, DWordAcc, NoLock, Preserve) { ALD1, 32, ALD2, 32, ALD3, 32, DLD1, 32, DLD2, 32, DLD3, 32, DLD4, 32, ELD1, 32, ELD2, 32, ELD3, 32, FLD1, 32, FLD2, 32, FLD3, 32, BUC1, 32, BUC2, 32, BUC3, 32, BUC4, 32, BUC5, 32, BUC6, 32, GPI1, 32 } OperationRegion (DPTF, 0x8C, Zero, 0x0100) Field (DPTF, DWordAcc, NoLock, Preserve) { TMP0, 32, AX00, 32, AX01, 32, TMP1, 32, AX10, 32, AX11, 32, TMP2, 32, AX20, 32, AX21, 32, TMP3, 32, AX30, 32, AX31, 32, TMP4, 32, AX40, 32, AX41, 32, TMP5, 32, AX50, 32, AX51, 32, PEN0, 32, PEN1, 32, PEN2, 32, PEN3, 32, PEN4, 32, PEN5, 32 } Name (LPAT, Package (0x44) { 0x091B, 0x3952, 0x094D, 0x2B69, 0x097F, 0x2135, 0x09B1, 0x19A7, 0x09E3, 0x13FE, 0x0A15, 0x0FB8, 0x0A47, 0x0C74, 0x0A79, 0x09EE, 0x0AAB, 0x07F9, 0x0ADD, 0x0674, 0x0B0F, 0x0540, 0x0B41, 0x044D, 0x0B73, 0x038A, 0x0BA5, 0x02EE, 0x0BD7, 0x0270, 0x0C09, 0x0209, 0x0C3B, 0x01B6, 0x0C6D, 0x0171, 0x0C9F, 0x0138, 0x0CD1, 0x0109, 0x0D03, 0xE2, 0x0D35, 0xC2, 0x0D67, 0xA7, 0x0D99, 0x90, 0x0DCB, 0x7D, 0x0DFD, 0x6D, 0x0E2F, 0x5F, 0x0E61, 0x53, 0x0E93, 0x49, 0x0EC5, 0x40, 0x0EF7, 0x39, 0x0F29, 0x32, 0x0F5B, 0x2D, 0x0F8D, 0x28 }) OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100) Field (GPOP, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0020 } ), GMP0, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0021 } ), GX00, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0022 } ), GX01, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0023 } ), GMP1, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0024 } ), GX10, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0025 } ), GX11, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } ), GMP2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0027 } ), GX20, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } ), GX21, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0029 } ), GMP3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x002A } ), GX30, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x002B } ), GX31, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x002C } ), GMP4, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x002D } ), GX40, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x002E } ), GX41, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x002F } ), GMP5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0030 } ), GX50, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0031 } ), GX51, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0032 } ), GEN0, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0033 } ), GEN1, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0034 } ), GEN2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0035 } ), GEN3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0036 } ), GEN4, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0037 } ), GEN5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0040 } ), G28X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0048 } ), G18X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0053 } ), GSDX, 1 } Name (AVBL, Zero) Name (AVBD, Zero) Name (AVBG, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x08)) { AVBG = Arg1 } If ((Arg0 == 0x8D)) { AVBL = Arg1 } If ((Arg0 == 0x8C)) { AVBD = Arg1 } } } Device (PMI2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33F5" /* TI PMIC Controller */) // _HID: Hardware ID Name (_CID, "INT33F5" /* TI PMIC Controller */) // _CID: Compatible ID Name (_DDN, "TI PMIC Controller") // _DDN: DOS Device Name Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { I2C5 }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240, AddressingMode7Bit, "\\_SB.I2C5", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } }) Return (SBUF) /* \_SB_.I2C5.PMI2._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMEN == Zero)) { Return (Zero) } If ((PMID == 0x06)) { ADBG ("TI_DCOVE") Return (0x0F) } Return (Zero) } OperationRegion (PMOP, 0x8D, Zero, 0x0100) Field (PMOP, DWordAcc, NoLock, Preserve) { LDO1, 32, LDO2, 32, LDO3, 32, LDO5, 32, LDO6, 32, LDO7, 32, LDO8, 32, LDO9, 32, LD10, 32, LD11, 32, LD12, 32, LD13, 32, LD14, 32 } OperationRegion (DPTF, 0x8C, Zero, 0x0100) Field (DPTF, DWordAcc, NoLock, Preserve) { TMP0, 32, AX00, 32, AX01, 32, TMP1, 32, AX10, 32, AX11, 32, TMP2, 32, AX20, 32, AX21, 32, TMP3, 32, AX30, 32, AX31, 32, TMP4, 32, AX40, 32, AX41, 32, TMP5, 32, AX50, 32, AX51, 32, PEN0, 32, PEN1, 32, PEN2, 32, PEN3, 32, PEN4, 32, PEN5, 32 } Name (LPAT, Package (0x44) { 0x091B, 0x03F1, 0x094D, 0x03EB, 0x097F, 0x03E4, 0x09B1, 0x03DA, 0x09E3, 0x03CE, 0x0A15, 0x03BE, 0x0A47, 0x03AA, 0x0A79, 0x0392, 0x0AAB, 0x0375, 0x0ADD, 0x0353, 0x0B0F, 0x032C, 0x0B41, 0x0300, 0x0B73, 0x02D0, 0x0BA5, 0x029D, 0x0BD7, 0x0268, 0x0C09, 0x0232, 0x0C3B, 0x01FD, 0x0C6D, 0x01C9, 0x0C9F, 0x0197, 0x0CD1, 0x0169, 0x0D03, 0x013E, 0x0D35, 0x0117, 0x0D67, 0xF5, 0x0D99, 0xD6, 0x0DCB, 0xBB, 0x0DFD, 0xA3, 0x0E2F, 0x8E, 0x0E61, 0x7C, 0x0E93, 0x6C, 0x0EC5, 0x5E, 0x0EF7, 0x53, 0x0F29, 0x48, 0x0F5B, 0x3F, 0x0F8D, 0x38 }) OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100) Field (GPOP, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0020 } ), GMP0, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0021 } ), GX00, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0022 } ), GX01, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0023 } ), GMP1, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0024 } ), GX10, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0025 } ), GX11, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } ), GMP2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0027 } ), GX20, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } ), GX21, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0029 } ), GMP3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x002A } ), GX30, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x002B } ), GX31, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x002C } ), GMP4, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x002D } ), GX40, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x002E } ), GX41, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x002F } ), GMP5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0030 } ), GX50, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0031 } ), GX51, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0032 } ), GEN0, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0033 } ), GEN1, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0034 } ), GEN2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0035 } ), GEN3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0036 } ), GEN4, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0037 } ), GEN5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0045 } ), GSDX, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0047 } ), G28X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0048 } ), G18X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0049 } ), G18U, 1 } Name (AVBL, Zero) Name (AVBD, Zero) Name (AVBG, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x08)) { AVBG = Arg1 } If ((Arg0 == 0x8D)) { AVBL = Arg1 } If ((Arg0 == 0x8C)) { AVBD = Arg1 } } } Device (PMIF) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "DMY0001") // _HID: Hardware ID Name (_CID, "DMY0001") // _CID: Compatible ID Name (_DDN, "Dummy PMIC controller") // _DDN: DOS Device Name Name (_HRV, Zero) // _HRV: Hardware Revision Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { I2C5 }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x005E, ControllerInitiated, 0x000F4240, AddressingMode7Bit, "\\_SB.I2C5", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } }) Return (SBUF) /* \_SB_.I2C5.PMIF._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMEN == Zero)) { Return (Zero) } If ((PMID == 0xFE)) { ADBG ("DMPMIC") Return (0x0F) } Return (Zero) } } Device (PMIC) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FD" /* Intel Baytrail Power Management IC */) // _HID: Hardware ID Name (_CID, "INT33FD" /* Intel Baytrail Power Management IC */) // _CID: Compatible ID Name (_DDN, "PMIC GPIO Controller") // _DDN: DOS Device Name Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { I2C5 }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x006E, ControllerInitiated, 0x000F4240, AddressingMode7Bit, "\\_SB.I2C5", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 0x00000043, } }) Return (SBUF) /* \_SB_.I2C5.PMIC._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMEN == Zero)) { Return (Zero) } If ((PMID == One)) { ADBG ("CCPMIC") Return (0x0F) } Return (Zero) } OperationRegion (DPTF, 0x8C, Zero, 0x0100) Field (DPTF, DWordAcc, NoLock, Preserve) { TMP0, 32, AX00, 32, AX01, 32, TMP1, 32, AX10, 32, AX11, 32, TMP2, 32, AX20, 32, AX21, 32, TMP3, 32, AX30, 32, AX31, 32, TMP4, 32, AX40, 32, AX41, 32, TMP5, 32, AX50, 32, AX51, 32, PEN0, 32, PEN1, 32, PEN2, 32, PEN3, 32, PEN4, 32, PEN5, 32 } OperationRegion (PMOP, 0x8D, Zero, 0x0100) Field (PMOP, DWordAcc, NoLock, Preserve) { VSYS, 32, SYSX, 32, SYSU, 32, SYSS, 32, V50S, 32, HOST, 32, VBUS, 32, HDMI, 32, S285, 32, X285, 32, V33A, 32, V33S, 32, V33U, 32, V33I, 32, V18A, 32, REFQ, 32, V12A, 32, V18S, 32, V18X, 32, V18U, 32, V12X, 32, V12S, 32, V10A, 32, V10S, 32, V10X, 32, V105, 32 } OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100) Field (GPOP, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0020 } ), GMP0, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0021 } ), GX00, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0022 } ), GX01, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0023 } ), GMP1, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0024 } ), GX10, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0025 } ), GX11, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0026 } ), GMP2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0027 } ), GX20, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } ), GX21, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0029 } ), GMP3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x002A } ), GX30, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x002B } ), GX31, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x002C } ), GMP4, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x002D } ), GX40, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x002E } ), GX41, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x002F } ), GMP5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0030 } ), GX50, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0031 } ), GX51, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0032 } ), GEN0, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0033 } ), GEN1, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0034 } ), GEN2, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0035 } ), GEN3, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0036 } ), GEN4, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0037 } ), GEN5, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0040 } ), GSYS, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0041 } ), GYSX, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0042 } ), GYSU, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0043 } ), GYSS, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0044 } ), G50S, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0045 } ), GOST, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0046 } ), GBUS, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0047 } ), GDMI, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0048 } ), G28S, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0049 } ), G28X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x004A } ), G33A, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x004B } ), G33S, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x004C } ), G33U, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x004D } ), G33I, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x004E } ), G18A, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x004F } ), GEFQ, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0050 } ), G12A, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0051 } ), G18S, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0052 } ), G18X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0053 } ), G18U, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0054 } ), G12X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0055 } ), G12S, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0056 } ), G10A, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0057 } ), G10S, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0058 } ), G10X, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0059 } ), G105, 1, Connection ( GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x005E } ), FCOT, 1 } Name (AVBL, Zero) Name (AVBD, Zero) Name (AVBG, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x08)) { AVBG = Arg1 } If ((Arg0 == 0x8D)) { AVBL = Arg1 } If ((Arg0 == 0x8C)) { AVBD = Arg1 } } Name (LPAT, Package (0x30) { 0x09E3, 0x03D1, 0x0A15, 0x03C1, 0x0A47, 0x03AD, 0x0A79, 0x0395, 0x0AAB, 0x0377, 0x0ADD, 0x0355, 0x0B0F, 0x032D, 0x0B41, 0x0301, 0x0B73, 0x02D0, 0x0BA5, 0x029D, 0x0BD7, 0x0267, 0x0C09, 0x0231, 0x0C3B, 0x01FC, 0x0C6D, 0x01C8, 0x0C9F, 0x0197, 0x0CD1, 0x0165, 0x0D03, 0x013B, 0x0D35, 0x0115, 0x0D67, 0xF3, 0x0D99, 0xD4, 0x0DCB, 0xBA, 0x0DFD, 0xA2, 0x0E2F, 0x8C, 0x0E93, 0x6B }) } } Scope (I2C1) { Device (IMP3) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "IMPJ0003") // _HID: Hardware ID Name (_CID, "IMPJ0003") // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((PSSD == 0x02)) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x006E, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.I2C1.IMP3._CRS.SBUF */ } } } PowerResource (P28X, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMIC }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMIC.AVBG == One)) { ^^I2C5.PMIC.G28X = Zero If ((^^I2C5.PMIC.AVBL == One)) { Return (^^I2C5.PMIC.X285) /* \_SB_.I2C5.PMIC.X285 */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMIC.AVBL == One)) { ^^I2C5.PMIC.X285 = One If ((^^I2C5.PMIC.AVBG == One)) { ^^I2C5.PMIC.G28X = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMIC.AVBL == One)) { ^^I2C5.PMIC.X285 = Zero If ((^^I2C5.PMIC.AVBG == One)) { ^^I2C5.PMIC.G28X = One Sleep (0x1E) } } } } PowerResource (P18X, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMIC }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMIC.AVBG == One)) { ^^I2C5.PMIC.G18X = Zero If ((^^I2C5.PMIC.AVBL == One)) { Return (^^I2C5.PMIC.V18X) /* \_SB_.I2C5.PMIC.V18X */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMIC.AVBL == One)) { ^^I2C5.PMIC.V18X = One If ((^^I2C5.PMIC.AVBG == One)) { ^^I2C5.PMIC.G18X = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMIC.AVBL == One)) { ^^I2C5.PMIC.V18X = Zero If ((^^I2C5.PMIC.AVBG == One)) { ^^I2C5.PMIC.G18X = One Sleep (0x1E) } } } } PowerResource (P28P, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMI1 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMI1.AVBG == One)) { ^^I2C5.PMI1.G28X = Zero If ((^^I2C5.PMI1.AVBL == One)) { Return (^^I2C5.PMI1.ALD1) /* \_SB_.I2C5.PMI1.ALD1 */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMI1.AVBL == One)) { ^^I2C5.PMI1.ALD1 = One If ((^^I2C5.PMI1.AVBG == One)) { ^^I2C5.PMI1.G28X = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMI1.AVBL == One)) { ^^I2C5.PMI1.ALD1 = Zero If ((^^I2C5.PMI1.AVBG == One)) { ^^I2C5.PMI1.G28X = One Sleep (0x1E) } } } } PowerResource (P18P, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMI1 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMI1.AVBG == One)) { ^^I2C5.PMI1.G18X = Zero If ((^^I2C5.PMI1.AVBL == One)) { Return (^^I2C5.PMI1.ELD2) /* \_SB_.I2C5.PMI1.ELD2 */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMI1.AVBL == One)) { ^^I2C5.PMI1.ELD2 = One If ((^^I2C5.PMI1.AVBG == One)) { ^^I2C5.PMI1.G18X = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMI1.AVBL == One)) { ^^I2C5.PMI1.ELD2 = Zero If ((^^I2C5.PMI1.AVBG == One)) { ^^I2C5.PMI1.G18X = One Sleep (0x1E) } } } } PowerResource (P28T, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMI2 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G28X = Zero If ((^^I2C5.PMI2.AVBL == One)) { Return (^^I2C5.PMI2.LDO9) /* \_SB_.I2C5.PMI2.LDO9 */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LDO9 = One If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G28X = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LDO9 = Zero If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G28X = One Sleep (0x1E) } } } } PowerResource (P18T, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMI2 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G18X = Zero If ((^^I2C5.PMI2.AVBL == One)) { Return (^^I2C5.PMI2.LD10) /* \_SB_.I2C5.PMI2.LD10 */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LD10 = One If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G18X = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LD10 = Zero If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G18X = One Sleep (0x1E) } } } } PowerResource (P1XT, 0x05, 0x0000) { Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, ^I2C5.PMI2 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G18U = Zero If ((^^I2C5.PMI2.AVBL == One)) { Return (^^I2C5.PMI2.LD11) /* \_SB_.I2C5.PMI2.LD11 */ } } Return (Zero) } Method (_ON, 0, NotSerialized) // _ON_: Power On { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LD11 = One If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G18U = One Sleep (0x1E) } } } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { If ((^^I2C5.PMI2.AVBL == One)) { ^^I2C5.PMI2.LD11 = Zero If ((^^I2C5.PMI2.AVBG == One)) { ^^I2C5.PMI2.G18U = One Sleep (0x1E) } } } } Device (TBAD) { Name (_HID, "INTCFD9" /* Intel Baytrail SOC GPIO Controller */) // _HID: Hardware ID Name (_CID, "PNP0C40" /* Standard Button Controller */) // _CID: Compatible ID Name (_DDN, "Keyboard less system - 5 Button Array Device") // _DDN: DOS Device Name Name (_DEP, Package (0x04) // _DEP: Dependencies { GPO0, GPO2, I2C5, ^I2C5.PMI1 }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0010 } GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.I2C5.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0007 } }) Name (ABUF, ResourceTemplate () { GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x005F } }) Name (BBUF, ResourceTemplate () { GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x005F } }) Name (ABU0, ResourceTemplate () { GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } }) Name (BBU0, ResourceTemplate () { GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0028 } }) If ((PMID == 0x05)) { If ((OSSL & 0x80)) { Return (ABUF) /* \_SB_.TBAD._CRS.ABUF */ } Else { Return (ABU0) /* \_SB_.TBAD._CRS.ABU0 */ } } If ((PMID == 0x06)) { If ((OSSL & 0x80)) { Return (BBUF) /* \_SB_.TBAD._CRS.BBUF */ } Else { Return (BBU0) /* \_SB_.TBAD._CRS.BBU0 */ } } Return (RBUF) /* \_SB_.TBAD._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */)) { While (One) { T_0 = ToInteger (Arg2) If ((T_0 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { If ((T_0 == One)) { Return (0x07) } } Break } } Else { Return (Buffer (One) { 0x00 /* . */ }) } Return (Zero) } } Device (MBID) { Name (_HID, "INT33BD" /* Intel Baytrail Mailbox Device */) // _HID: Hardware ID Name (_CID, "INT33BD" /* Intel Baytrail Mailbox Device */) // _CID: Compatible ID Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xE00000D0, // Address Base 0x0000000C, // Address Length ) }) Return (RBUF) /* \_SB_.MBID._CRS.RBUF */ } OperationRegion (REGS, 0x87, Zero, 0x30) Field (REGS, DWordAcc, NoLock, Preserve) { PORT, 32, REG, 32, DATA, 32, MASK, 32, BE, 32, OP, 32 } Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x87)) { AVBL = Arg1 } } Method (READ, 3, Serialized) { Local0 = 0xFFFFFFFF If ((AVBL == One)) { OP = Zero PORT = Arg0 REG = Arg1 BE = Arg2 Local0 = DATA /* \_SB_.MBID.DATA */ } Return (Local0) } Method (WRIT, 4, Serialized) { If ((AVBL == One)) { OP = One PORT = Arg0 REG = Arg1 BE = Arg2 DATA = Arg3 } } Method (MODI, 5, Serialized) { If ((AVBL == One)) { OP = 0x02 PORT = Arg0 REG = Arg1 BE = Arg2 DATA = Arg3 MASK = Arg4 } } } Device (PAGD) { Name (_HID, "ACPI000C" /* Processor Aggregator Device */) // _HID: Hardware ID Name (_CID, "ACPI000C" /* Processor Aggregator Device */) // _CID: Compatible ID Name (IDCN, Zero) Name (PURP, Package (0x02) { One, Zero }) Method (_PUR, 0, Serialized) // _PUR: Processor Utilization Request { Index (PURP, One) = IDCN /* \_SB_.PAGD.IDCN */ Return (PURP) /* \_SB_.PAGD.PURP */ } Method (_OST, 3, Serialized) // _OST: OSPM Status Indication { Debug = "_OST is invoked" } } } Name (PICM, Zero) Device (MDM) { Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID Name (_CID, "MCD0001") // _CID: Compatible ID Name (CPU, "ValleyView2") Name (MDMN, "XMM_6260") Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0017 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001E } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001C } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x001D } }) Return (UBUF) /* \MDM_._CRS.UBUF */ } } Scope (_SB.I2C1) { Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x09)) { AVBL = Arg1 } } Device (SMUX) { Name (_HID, "SMSC3750" /* SMSC 3750 USB MUX */) // _HID: Hardware ID Name (_CID, "SMSC3750" /* SMSC 3750 USB MUX */) // _CID: Compatible ID Name (_DDN, "SMSC 3750 USB MUX") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0068, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0001 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C1.SMUX.RBUF */ } } Name (MUXW, ResourceTemplate () { I2cSerialBus (0x0068, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) OperationRegion (MUXO, GenericSerialBus, Zero, 0x10) Field (MUXO, BufferAcc, NoLock, Preserve) { Connection (MUXW), AccessAs (BufferAcc, AttribByte), MSTA, 8 } Field (MUXO, BufferAcc, NoLock, Preserve) { Connection (MUXW), Offset (0x01), AccessAs (BufferAcc, AttribByte), MCON, 8 } Field (MUXO, BufferAcc, NoLock, Preserve) { Connection (MUXW), Offset (0x02), AccessAs (BufferAcc, AttribByte), MCHG, 8 } Field (MUXO, BufferAcc, NoLock, Preserve) { Connection (MUXW), Offset (0x03), AccessAs (BufferAcc, AttribByte), MCST, 8 } Device (GPOE) { Name (_HID, "INBC0000" /* GPIO Expander */) // _HID: Hardware ID Name (_CID, "INBC0000" /* GPIO Expander */) // _CID: Compatible ID Name (_DDN, "GPIO Expander") // _DDN: DOS Device Name Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSSL & 0x80)) { Return (0x0F) } Return (Zero) } Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0023, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C1.GPOE.RBUF */ } } Name (IOEX, ResourceTemplate () { I2cSerialBus (0x0023, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) OperationRegion (IOXO, GenericSerialBus, Zero, 0x20) Field (IOXO, BufferAcc, NoLock, Preserve) { Connection (IOEX), Offset (0x01), AccessAs (BufferAcc, AttribByte), INR1, 8 } Field (IOXO, BufferAcc, NoLock, Preserve) { Connection (IOEX), Offset (0x05), AccessAs (BufferAcc, AttribByte), OUTR, 8 } Field (IOXO, BufferAcc, NoLock, Preserve) { Connection (IOEX), Offset (0x0D), AccessAs (BufferAcc, AttribByte), CONR, 8 } } Scope (_TZ) { ThermalZone (TZ00) { Name (_DEP, Package (0x02) // _DEP: Dependencies { \_SB.I2C5, \_SB.I2C5.PMIC }) Method (_TMP, 0, Serialized) // _TMP: Temperature { If ((\_SB.I2C5.PMIC.AVBG == One)) { \_SB.I2C5.PMIC.GMP2 = Zero If ((\_SB.I2C5.PMIC.AVBD == One)) { Return (\_SB.I2C5.PMIC.TMP2) } } Return (0x0AAC) } } } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED01000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED03000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED04000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED0C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED08000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEF00000, // Address Base 0x00100000, // Address Length ) }) } } Method (BRTN, 1, Serialized) { If (((DID1 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD01, Arg0) } If (((DID2 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD02, Arg0) } If (((DID3 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD03, Arg0) } If (((DID4 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD04, Arg0) } If (((DID5 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD05, Arg0) } If (CondRefOf (NDN3)) { NDN3 (Arg0) } } Scope (_SB.I2C1) { Device (SMFG) { Name (_HID, "MAX17047" /* Fuel Gauge Controller */) // _HID: Hardware ID Name (_CID, "MAX17047" /* Fuel Gauge Controller */) // _CID: Compatible ID Name (_DDN, "Fuel Gauge Controller") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0036, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0012 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C1.SMFG.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((BDID == 0x06) && (OSSL & 0x80))) { Return (0x0F) } Return (Zero) } } Device (SMCG) { Name (_HID, "SMB0349" /* Charger */) // _HID: Hardware ID Name (_CID, "SMB0349" /* Charger */) // _CID: Compatible ID Name (_DDN, "Charger") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0035, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C1.SMCG.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((BDID == 0x06) && (OSSL & 0x80))) { Return (0x0F) } Return (Zero) } } Device (TBCG) { Name (_HID, "TBQ24296" /* Charger */) // _HID: Hardware ID Name (_CID, "TBQ24296" /* Charger */) // _CID: Compatible ID Name (_DDN, "Charger") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C1.TBCG.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((BDID == 0x06) && (OSSL & 0x80))) { Return (0x0F) } Return (Zero) } } } Scope (_SB.I2C1) { Name (MXFG, ResourceTemplate () { I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) OperationRegion (DVFG, GenericSerialBus, Zero, 0x0100) Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x05), AccessAs (BufferAcc, AttribBytes (0x02)), FG05, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x10), AccessAs (BufferAcc, AttribBytes (0x02)), FG10, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x17), AccessAs (BufferAcc, AttribBytes (0x02)), FG17, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x18), AccessAs (BufferAcc, AttribBytes (0x02)), FG18, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x09), AccessAs (BufferAcc, AttribBytes (0x02)), FG09, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x0A), AccessAs (BufferAcc, AttribBytes (0x02)), FG0A, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x11), AccessAs (BufferAcc, AttribBytes (0x02)), FG11, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), AccessAs (BufferAcc, AttribBytes (0x02)), FG00, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x03), AccessAs (BufferAcc, AttribBytes (0x02)), FG03, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x1D), AccessAs (BufferAcc, AttribBytes (0x02)), FG1D, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x2B), AccessAs (BufferAcc, AttribBytes (0x02)), FG2B, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x08), AccessAs (BufferAcc, AttribBytes (0x02)), THRM, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x06), AccessAs (BufferAcc, AttribBytes (0x02)), SOCR, 8 } Field (DVFG, BufferAcc, NoLock, Preserve) { Connection (MXFG), Offset (0x1C), AccessAs (BufferAcc, AttribBytes (0x02)), MXCU, 8 } Name (SMBC, ResourceTemplate () { I2cSerialBus (0x0035, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) OperationRegion (DVBC, GenericSerialBus, Zero, 0x0100) Field (DVBC, BufferAcc, NoLock, Preserve) { Connection (SMBC), AccessAs (BufferAcc, AttribByte), BC00, 8, BC01, 8, BC02, 8, BC03, 8, BC04, 8, BC05, 8, BC06, 8, BC07, 8, BC08, 8, BC09, 8, BC0A, 8, BC0B, 8, BC0C, 8, BC0D, 8, BC0E, 8, BC0F, 8, BC10, 8 } Field (DVBC, BufferAcc, NoLock, Preserve) { Connection (SMBC), Offset (0x3D), AccessAs (BufferAcc, AttribByte), BC3D, 8 } Field (DVBC, BufferAcc, NoLock, Preserve) { Connection (SMBC), Offset (0x30), AccessAs (BufferAcc, AttribByte), BC30, 8 } Field (DVBC, BufferAcc, NoLock, Preserve) { Connection (SMBC), Offset (0x3E), AccessAs (BufferAcc, AttribByte), BC3E, 8 } Field (DVBC, BufferAcc, NoLock, Preserve) { Connection (SMBC), Offset (0x35), AccessAs (BufferAcc, AttribBytes (0x06)), BC35, 8 } Name (BQBC, ResourceTemplate () { I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) }) OperationRegion (DVBQ, GenericSerialBus, Zero, 0x20) Field (DVBQ, BufferAcc, NoLock, Preserve) { Connection (BQBC), AccessAs (BufferAcc, AttribByte), BQ00, 8, BQ01, 8, BQ02, 8, BQ03, 8, BQ04, 8, BQ05, 8, BQ06, 8, BQ07, 8, BQ08, 8, BQ09, 8, BQ0A, 8 } Device (BATC) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (FGDV, 0x0A) Name (BCCC, 0x60) Name (BCCE, One) Name (BCCL, 0xFFFFFFFF) Name (BCLP, 0x1004) Name (DSCP, 0x132A) Name (DSVO, 0x0ED8) Name (RECT, 0x1004) Name (BTPC, Zero) Name (AVCU, Zero) Name (ACMD, 0xFF) Name (_DEP, Package (0x03) // _DEP: Dependencies { I2C1, GPO2, GPO0 }) Name (BUFF, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BUFF, Zero, BYAT) CreateByteField (BUFF, 0x02, DATA) Name (BUF1, Buffer (0x06) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ...... */ }) CreateByteField (BUF1, Zero, BSTA) CreateByteField (BUF1, One, BLEN) CreateDWordField (BUF1, 0x02, DAT1) Name (BUF2, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) CreateByteField (BUF2, Zero, BSTS) CreateByteField (BUF2, One, SLEN) CreateWordField (BUF2, 0x02, WRD1) Name (INBU, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }) CreateByteField (INBU, Zero, INST) CreateByteField (INBU, One, INLN) CreateByteField (INBU, 0x02, INT0) CreateByteField (INBU, 0x03, INT1) CreateByteField (INBU, 0x04, INT2) CreateByteField (INBU, 0x05, INT3) CreateByteField (INBU, 0x06, INT4) CreateByteField (INBU, 0x07, INT5) Method (CLIM, 0, NotSerialized) { BUFF = MSTA /* \_SB_.I2C1.MSTA */ Local1 = 0x02 Sleep (0x64) ADBG ("CLIM") ADBG (DATA) If ((DATA & 0x10)) { If ((DATA & 0xE0)) { Local0 = (DATA & 0xE0) If (((Local0 == 0xA0) || (Local0 == 0x60))) { ADBG ("CLIM----1") Local1 = 0x02 } If (((Local0 == 0x40) || (Local0 == 0x20))) { ADBG ("CLIM----2") Local1 = 0x07 } If ((Local0 == 0x80)) { ADBG ("CLIM----3") Local1 = Zero } } } Return (Local1) } Name (BIXP, Package (0x14) { Zero, One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, 0x0A, 0x04, Zero, 0x00017318, 0xFFFFFFFF, 0xFFFFFFFF, 0x88B8, 0x61A8, One, One, "SR Real Battery", "123456789", "LION", "Intel SR 1" }) Name (BSTP, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended { ADBG ("BIX") If ((AVBL == One)) { BUF2 = FG10 /* \_SB_.I2C1.FG10 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Local2 = (Local1 * 0x05) Divide (Local2, FGDV, Local0, Local1) Index (BIXP, 0x03) = Local1 } BUF2 = FG17 /* \_SB_.I2C1.FG17 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Divide (Local1, 0x64, Local0, Local2) Index (BIXP, 0x08) = Local2 } } Index (BIXP, 0x02) = DSCP /* \_SB_.I2C1.BATC.DSCP */ Index (BIXP, 0x05) = DSVO /* \_SB_.I2C1.BATC.DSVO */ Divide (DSCP, 0x0A, Local0, Local1) Index (BIXP, 0x06) = Local1 Divide (DSCP, 0x14, Local0, Local1) Index (BIXP, 0x07) = Local1 If ((ACMD == 0xFF)) { BUFF = INR1 /* \_SB_.I2C1.INR1 */ If (((DATA & 0x20) == 0x20)) { ACMD = One ADBG ("AC Mode") } Else { ACMD = Zero ADBG ("Non-AC Mode") } } Return (BIXP) /* \_SB_.I2C1.BATC.BIXP */ } Method (_BST, 0, NotSerialized) // _BST: Battery Status { If ((AVBL == One)) { ADBG ("BST") BUFF = BQ09 /* \_SB_.I2C1.BQ09 */ Local0 = (DATA & 0x80) If ((Local0 == 0x80)) { BUFF = BQ05 /* \_SB_.I2C1.BQ05 */ Local0 = (DATA & 0xCF) DATA = Local0 BQ05 = BUFF /* \_SB_.I2C1.BATC.BUFF */ } BUF2 = FG00 /* \_SB_.I2C1.FG00 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ } ADBG (Local1) If ((Local1 != Zero)) { Local0 = (WRD1 & 0x02) WRD1 = Local0 FG00 = BUF2 /* \_SB_.I2C1.BATC.BUF2 */ } BUFF = BQ00 /* \_SB_.I2C1.BQ00 */ Local0 = (DATA & 0x80) If ((Local0 == 0x80)) { Local0 = (DATA & 0x7F) DATA = Local0 BQ00 = BUFF /* \_SB_.I2C1.BATC.BUFF */ BUFF = BQ07 /* \_SB_.I2C1.BQ07 */ Local0 = (DATA | 0x80) DATA = Local0 BQ07 = BUFF /* \_SB_.I2C1.BATC.BUFF */ } BUFF = BQ08 /* \_SB_.I2C1.BQ08 */ If ((BYAT != One)) { Local0 = (DATA >> 0x04) Local0 &= 0x03 If (((Local0 == One) || (Local0 == 0x02))) { Local1 = 0x02 } If ((Local0 == Zero)) { Local1 = One } If ((Local0 == 0x03)) { Local1 = Zero } Index (BSTP, Zero) = Local1 } BUF2 = FG0A /* \_SB_.I2C1.FG0A */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ If ((Local1 & 0x8000)) { Local1 -= 0xFFFF } Divide (Local1, FGDV, Local0, Local2) Local1 = (Local2 * 0x9C) Divide (Local1, 0x64, Local0, Local2) Index (BSTP, One) = Local2 } BUF2 = FG05 /* \_SB_.I2C1.FG05 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Local2 = (Local1 * 0x05) Divide (Local2, FGDV, Local0, Local1) Index (BSTP, 0x02) = Local1 } BUF2 = FG09 /* \_SB_.I2C1.FG09 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Local2 = (Local1 >> 0x03) Local1 = (Local2 * 0x0271) Divide (Local1, 0x03E8, Local0, Local2) Index (BSTP, 0x03) = Local2 } BUFF = BQ01 /* \_SB_.I2C1.BQ01 */ If ((BYAT != One)) { If ((BCCE == One)) { DATA |= 0x10 BQ01 = BUFF /* \_SB_.I2C1.BATC.BUFF */ } Else { DATA &= 0xEF BQ01 = BUFF /* \_SB_.I2C1.BATC.BUFF */ } Local0 = DATA /* \_SB_.I2C1.BATC.DATA */ ADBG ("Charger enable") ADBG (Local0) } BUFF = BQ02 /* \_SB_.I2C1.BQ02 */ If ((BYAT != One)) { Local1 = BCCC /* \_SB_.I2C1.BATC.BCCC */ Local0 = DATA /* \_SB_.I2C1.BATC.DATA */ Local2 = (Local0 & 0xFC) If ((Local2 != Local1)) { ADBG ("UPD CU From") ADBG (DATA) Local2 = (DATA & 0x03) DATA = (Local2 | Local1) BQ02 = BUFF /* \_SB_.I2C1.BATC.BUFF */ } Local1 = DATA /* \_SB_.I2C1.BATC.DATA */ ADBG ("Fast Current") ADBG (Local1) } If ((ACMD != One)) { Local3 = CLIM () ADBG (Local3) BUFF = BQ00 /* \_SB_.I2C1.BQ00 */ If ((BYAT != One)) { Local2 = (DATA & 0x07) If ((Local2 != Local3)) { Local2 = (DATA & 0xF8) DATA = (Local2 | Local3) BQ00 = BUFF /* \_SB_.I2C1.BATC.BUFF */ } } Local1 = DATA /* \_SB_.I2C1.BATC.DATA */ ADBG ("Input Current") ADBG (Local1) } } Return (BSTP) /* \_SB_.I2C1.BATC.BSTP */ } Method (INTC, 0, NotSerialized) { BUFF = BQ08 /* \_SB_.I2C1.BQ08 */ If ((BYAT != One)) { Local1 = DATA /* \_SB_.I2C1.BATC.DATA */ } Return (Local1) } Method (INTF, 0, NotSerialized) { ADBG ("INTF") BUF2 = FG00 /* \_SB_.I2C1.FG00 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ } Return (Local1) } Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point { BTPC = Arg0 ADBG ("BTP") ADBG (Arg0) If ((AVBL == One)) { DAT1 = Arg0 BLEN = 0x04 BUF2 = FG2B /* \_SB_.I2C1.FG2B */ If ((BSTS != One)) { Local1 = (WRD1 & 0xFFFC) WRD1 = Local1 FG2B = BUF2 /* \_SB_.I2C1.BATC.BUF2 */ } BUF2 = FG1D /* \_SB_.I2C1.FG1D */ If ((BSTS != One)) { Local1 = (WRD1 & 0xFFFB) Local2 = (Local1 | 0x4004) WRD1 = Local2 FG1D = BUF2 /* \_SB_.I2C1.BATC.BUF2 */ } BUF2 = SOCR /* \_SB_.I2C1.SOCR */ If ((BSTS != One)) { Local0 = (WRD1 >> 0x08) Local1 = (Local0 & 0xFF) } Local2 = (Local1 + One) Local3 = (Local1 - One) Local1 = (Local2 << 0x08) Local2 = (Local1 | Local3) WRD1 = Local2 FG03 = BUF2 /* \_SB_.I2C1.BATC.BUF2 */ } } Method (_BTM, 1, NotSerialized) // _BTM: Battery Time { ADBG ("BTM") If ((Arg0 > 0x7530)) { Return (Zero) } If ((AVBL == One)) { BUF2 = FG11 /* \_SB_.I2C1.FG11 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ If ((Arg0 == Zero)) { Local2 = (Local1 >> 0x05) Local1 = (Local2 * 0x03) Local2 = (Local1 * 0x3C) Return (Local2) } BUF2 = FG05 /* \_SB_.I2C1.FG05 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Local2 = (Local1 * 0x05) Divide (Local2, FGDV, Local0, Local1) Local0 = (Local1 * 0x0E10) Divide (Local0, Arg0, Local1, Local2) Return (Local2) } } } Return (0xFFFFFFFF) } Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time { ADBG ("BCT") If (((Arg0 > 0x64) || (Arg0 < One))) { Return (Zero) } If ((AVBL == One)) { BUF2 = FG05 /* \_SB_.I2C1.FG05 */ Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ If ((BSTS != One)) { Local2 = (Local1 * 0x05) Divide (Local2, FGDV, Local0, Local1) RECT = Local1 } BUF2 = FG10 /* \_SB_.I2C1.FG10 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Local2 = (Local1 * 0x05) Divide (Local2, FGDV, Local0, Local1) BCLP = Local1 } BUF2 = FG0A /* \_SB_.I2C1.FG0A */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ If ((Local1 & 0x8000)) { Return (Zero) } } Local0 = (BCLP * Arg0) Local0 -= RECT /* \_SB_.I2C1.BATC.RECT */ Local0 *= 0x0E10 Divide (Local0, Local1, Local2, Local3) Return (Local3) } Return (0xFFFFFFFF) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */)) { If ((Arg2 == 0x02)) { If ((Arg1 == Zero)) { Return (Buffer (One) { 0x00 /* . */ }) } } } Return (Zero) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMID == 0x05)) { Return (Zero) } If ((PMID == 0x06)) { Return (Zero) } If ((AVBL == One)) { BUF2 = FG05 /* \_SB_.I2C1.FG05 */ If ((BSTS != Zero)) { Return (Zero) } } Return (0x1F) } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } Method (PSOC, 0, NotSerialized) { If ((AVBL == One)) { BUF2 = SOCR /* \_SB_.I2C1.SOCR */ If ((BSTS != One)) { Local0 = (WRD1 >> 0x08) Local1 = (Local0 & 0xFF) } Return (Local1) } Return (Zero) } Method (PMAX, 0, NotSerialized) { If ((AVBL == One)) { BUF2 = MXCU /* \_SB_.I2C1.MXCU */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ If ((Local1 & 0x8000)) { Local0 = (Local1 >> 0x08) Local1 = (Local0 & 0xFF) Local0 = (0xFFFF - Local1) Local1 = (Local0 * 0x04) } Else { Local0 = (Local1 >> 0x08) Local2 = (Local0 & 0xFF) Local1 = (Local2 * 0x04) } Divide (Local1, 0x0A, Local0, Local2) Divide (Local2, FGDV, Local0, Local1) Local2 = (Local1 * 0x03E8) Local1 = (DSVO * Local2) Return (Local1) } } Return (Zero) } Method (VMIN, 0, NotSerialized) { Return (0x0DAC) } Method (APWR, 0, NotSerialized) { Return (0x0365C040) } Method (NPWR, 0, NotSerialized) { Local3 = APWR () If ((AVBL == One)) { BUF2 = FG0A /* \_SB_.I2C1.FG0A */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ If ((Local1 & 0x8000)) { Local1 -= 0xFFFF } Divide (Local1, FGDV, Local0, Local2) Local1 = (Local2 * 0x9C) Divide (Local1, 0x64, Local0, Local2) AVCU = Local2 BUF2 = FG09 /* \_SB_.I2C1.FG09 */ If ((BSTS != One)) { Local1 = WRD1 /* \_SB_.I2C1.BATC.WRD1 */ Local2 = (Local1 >> 0x03) Local1 = (Local2 * 0x0271) Divide (Local1, 0x03E8, Local0, Local2) } Local1 = (Local2 * AVCU) /* \_SB_.I2C1.BATC.AVCU */ Local0 = (Local3 - Local1) Return (Local0) } } Return (Local0) } Method (PSRC, 0, NotSerialized) { If ((AVBL == One)) { BUFF = BQ08 /* \_SB_.I2C1.BQ08 */ If ((BYAT != One)) { Local0 = DATA /* \_SB_.I2C1.BATC.DATA */ Local0 = (DATA >> 0x06) Local0 &= 0x03 Return (Local0) } } Return (One) } Method (CTYP, 0, NotSerialized) { Return (0x02) } Method (ARTG, 0, NotSerialized) { Return (0x0365C040) } } } Scope (_SB) { Device (ADP1) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Method (_PSR, 0, NotSerialized) // _PSR: Power Source { If ((^^GPO2.USID == Zero)) { Return (Zero) } If ((PMID == One)) { If (CondRefOf (\_SB.I2C1.BATC, Local1)) { Local0 = ^^I2C1.BATC.PSRC () If ((Local0 == Zero)) { Return (Zero) } Else { Return (One) } } Return (One) } If ((PMID == 0x05)) { If (CondRefOf (\_SB.I2C5.BMBT, Local1)) { Local0 = ^^I2C5.BMBT.PSRC () If ((Local0 == Zero)) { Return (Zero) } Else { Return (One) } } } If ((PMID == 0x06)) { If (CondRefOf (\_SB.I2C5.TIBT, Local1)) { Local0 = ^^I2C5.TIBT.PSRC () If ((Local0 == Zero)) { Return (Zero) } Else { Return (One) } } } Return (One) } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } } } Scope (_SB.I2C5) { Device (BMDR) { Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID Name (_DDN, "XPOWER Battery Device") // _DDN: DOS Device Name Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, PMI1 }) Name (RBUF, ResourceTemplate () { I2cSerialBus (0x0068, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000, "\\_SB.I2C5.PMI1", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C5.BMDR.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMID == 0x05)) { Return (0x0F) } Return (Zero) } OperationRegion (BMOP, 0x9E, Zero, 0x0100) Field (BMOP, DWordAcc, NoLock, Preserve) { SOC, 32, FCCP, 32, CHST, 32, RMCP, 32, VOLT, 32, BATP, 32, SRP0, 32, STYP, 32, CHGC, 32, STPC, 32, GADC, 32, TTEM, 32, TTCH, 32, CYCL, 32, BTP, 32, DPCU, 32, DSCP, 32 } Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x9E)) { AVBL = Arg1 } } Name (CHTP, Zero) Method (SBTP, 0, Serialized) { ADBG ("SBTP") ADBG ("XP00") Name (BMUX, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BMUX, Zero, BBBY) CreateByteField (BMUX, 0x02, DDDT) BMUX = XP00 /* \_SB_.I2C5.XP00 */ ADBG (BMUX) If ((BBBY != One)) { If ((DDDT && 0x20)) { ADBG ("vbus on 2C") BMUX = XP2C /* \_SB_.I2C5.XP2C */ If ((BBBY != One)) { Local1 = 0x14 While (((DDDT && 0x04) && (Local1 != Zero))) { Sleep (0x64) BMUX = XP2C /* \_SB_.I2C5.XP2C */ DDDT &= 0x04 Local1 -= One } If ((Local1 == Zero)) { ADBG ("timeout") CHTP = Zero } Else { ADBG ("Det ok") BMUX = XP2F /* \_SB_.I2C5.XP2F */ Local0 = (DDDT >> 0x05) CHTP = Local0 } } Else { ADBG ("2C r Fail") CHTP = Zero } } Else { ADBG ("VBUS OFF") CHTP = Zero } } Else { ADBG ("00readFail") CHTP = Zero } ADBG (CHTP) If (CondRefOf (\_SB.I2C5.BMBT, Local1)) { Notify (ADP1, 0x80) // Status Change Notify (BMBT, 0x80) // Status Change Notify (BMBT, 0x81) // Information Change If (CondRefOf (\_SB.DPTF, Local3)) { Notify (DPTF, 0x86) // Device-Specific Notify (TCHG, 0x80) // Status Change } Notify (ADP1, 0x80) // Status Change Return (One) } Return (Zero) } Method (PTYP, 0, NotSerialized) { ADBG ("PTYP") Local0 = (PMID | 0x80) Return (Local0) } } Device (TIDR) { Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID Name (_DDN, "TI PMIC Battery Device") // _DDN: DOS Device Name Name (_DEP, Package (0x02) // _DEP: Dependencies { I2C5, PMI2 }) Name (RBUF, ResourceTemplate () { I2cSerialBus (0x006B, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) I2cSerialBus (0x0068, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.I2C1", 0x00, ResourceConsumer, , ) GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000, "\\_SB.I2C5.PMI2", 0x00, ResourceConsumer, , ) { // Pin list 0x0011 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.I2C5.TIDR.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMID == 0x06)) { Return (0x0F) } Return (Zero) } OperationRegion (BMOP, 0x9E, Zero, 0x0100) Field (BMOP, DWordAcc, NoLock, Preserve) { SOC, 32, FCCP, 32, CHST, 32, RMCP, 32, VOLT, 32, BATP, 32, SRP0, 32, STYP, 32, CHGC, 32, STPC, 32, GADC, 32, TTEM, 32, TTCH, 32, CYCL, 32, BTP, 32, DPCU, 32, DSCP, 32 } Name (AVBL, Zero) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x9E)) { AVBL = Arg1 } } Method (SBTP, 0, NotSerialized) { ADBG ("SBTP") If (CondRefOf (\_SB.I2C5.TIBT, Local1)) { Notify (ADP1, 0x80) // Status Change Notify (TIBT, 0x80) // Status Change Notify (TIBT, 0x81) // Information Change If (CondRefOf (\_SB.DPTF, Local3)) { Notify (DPTF, 0x86) // Device-Specific Notify (TCHG, 0x80) // Status Change } Return (One) } Return (Zero) } Method (PTYP, 0, NotSerialized) { ADBG ("PTYP") Local0 = (PMID | 0x80) Return (Local0) } } Device (BMBT) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (BCCE, One) Name (OTGS, Zero) Name (CHPR, One) Name (FGDV, 0x0A) Name (BCCC, 0x07) Name (BCIL, 0x65) Name (BCVF, 0x93) Name (BCFV, 0xED) Name (BCCH, 0x38) Name (BCST, 0x05) Name (BCPE, 0x74) Name (BCCL, 0xFFFFFFFF) Name (BCLP, 0x1004) Name (DSCP, 0x1300) Name (DSVO, 0x0EA6) Name (BTPC, Zero) Name (AVCU, Zero) Name (_DEP, Package (0x01) // _DEP: Dependencies { I2C5 }) Name (BUFF, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BUFF, Zero, BYAT) CreateByteField (BUFF, 0x02, DATA) Name (BUF1, Buffer (0x06) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ...... */ }) CreateByteField (BUF1, Zero, BSTA) CreateByteField (BUF1, One, BLEN) CreateDWordField (BUF1, 0x02, DAT1) Name (BUF2, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) CreateByteField (BUF2, Zero, BSTS) CreateByteField (BUF2, One, SLEN) CreateWordField (BUF2, 0x02, WRD1) Name (BIXP, Package (0x14) { Zero, One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, 0x0A, 0x04, Zero, 0x00017318, 0xFFFFFFFF, 0xFFFFFFFF, 0x88B8, 0x61A8, One, One, "SR Real Battery", "123456789", "LION", "Intel SR 1" }) Name (BSTP, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended { ADBG ("BIX") If ((^^BMDR.AVBL == One)) { Index (BIXP, 0x03) = ^^BMDR.FCCP /* \_SB_.I2C5.BMDR.FCCP */ Index (BIXP, 0x08) = ^^BMDR.CYCL /* \_SB_.I2C5.BMDR.CYCL */ Index (BIXP, 0x02) = ^^BMDR.DSCP /* \_SB_.I2C5.BMDR.DSCP */ DSCP = ^^BMDR.DSCP /* \_SB_.I2C5.BMDR.DSCP */ } Index (BIXP, 0x05) = DSVO /* \_SB_.I2C5.BMBT.DSVO */ Divide (DSCP, 0x0A, Local0, Local1) Index (BIXP, 0x06) = Local1 Divide (DSCP, 0x14, Local0, Local1) Index (BIXP, 0x07) = Local1 Return (BIXP) /* \_SB_.I2C5.BMBT.BIXP */ } Method (_BST, 0, NotSerialized) // _BST: Battery Status { If ((^^BMDR.AVBL == One)) { ADBG ("BST") Local0 = ^^BMDR.CHST /* \_SB_.I2C5.BMDR.CHST */ Local0 &= 0x0F If ((Local0 == 0x02)) { Local1 = 0x02 } If ((Local0 == One)) { Local1 = One } If ((Local0 == 0x08)) { Local1 = Zero } Index (BSTP, Zero) = Local1 Index (BSTP, One) = ^^BMDR.CHGC /* \_SB_.I2C5.BMDR.CHGC */ Index (BSTP, 0x02) = ^^BMDR.RMCP /* \_SB_.I2C5.BMDR.RMCP */ Index (BSTP, 0x03) = ^^BMDR.VOLT /* \_SB_.I2C5.BMDR.VOLT */ ^^BMDR.DPCU = BCCC /* \_SB_.I2C5.BMBT.BCCC */ } Return (BSTP) /* \_SB_.I2C5.BMBT.BSTP */ } Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point { BTPC = Arg0 ADBG ("BTP") ADBG (Arg0) If ((^^BMDR.AVBL == One)) { ^^BMDR.BTP = Arg0 } } Method (_BTM, 1, NotSerialized) // _BTM: Battery Time { ADBG ("BTM") If ((Arg0 > 0x7530)) { Return (Zero) } Return (0xFFFFFFFF) } Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time { ADBG ("BCT") If (((Arg0 > 0x64) || (Arg0 < One))) { Return (Zero) } Return (0xFFFFFFFF) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */)) { If ((Arg2 == 0x02)) { If ((Arg1 == Zero)) { Return (Buffer (One) { 0x00 /* . */ }) } } } Return (Zero) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMID == 0x05)) { Return (0x1F) } Return (Zero) } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } Method (PSOC, 0, NotSerialized) { ADBG ("PSOC") If ((^^BMDR.AVBL == One)) { Local1 = ^^BMDR.SOC /* \_SB_.I2C5.BMDR.SOC_ */ Return (Local1) } Return (Zero) } Method (PMAX, 0, NotSerialized) { Return (Zero) } Method (VMIN, 0, NotSerialized) { Return (0x0E10) } Method (APWR, 0, NotSerialized) { Return (0x00FC3A50) } Method (NPWR, 0, NotSerialized) { Local3 = APWR () Return (Zero) } Method (PSRC, 0, NotSerialized) { If ((^^BMDR.AVBL == One)) { Local0 = ^^BMDR.CHTP /* \_SB_.I2C5.BMDR.CHTP */ If ((Local0 == Zero)) { Return (Zero) } If ((Local0 == One)) { Return (One) } If ((Local0 == 0x02)) { Return (0x02) } If ((Local0 == 0x03)) { Return (0x03) } If ((Local0 == 0x04)) { Return (0x04) } If ((Local0 == 0x05)) { Return (0x05) } Return (Zero) } Return (One) } Method (CTYP, 0, NotSerialized) { Return (0x02) } Method (ARTG, 0, NotSerialized) { Return (APWR ()) } } Device (TIBT) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (BCCE, One) Name (OTGS, Zero) Name (CHPR, One) Name (FGDV, 0x0A) Name (BCCC, 0x80) Name (BCIL, 0x65) Name (BCVF, 0x93) Name (BCFV, 0xED) Name (BCCH, 0x38) Name (BCST, 0x05) Name (BCPE, 0x74) Name (BCCL, 0xFFFFFFFF) Name (BCLP, 0x1004) Name (DSCP, 0x1300) Name (DSVO, 0x0EA6) Name (BTPC, Zero) Name (AVCU, Zero) Name (_DEP, Package (0x01) // _DEP: Dependencies { I2C5 }) Name (BUFF, Buffer (0x03) { 0x00, 0x01, 0x00 /* ... */ }) CreateByteField (BUFF, Zero, BYAT) CreateByteField (BUFF, 0x02, DATA) Name (BUF1, Buffer (0x06) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ...... */ }) CreateByteField (BUF1, Zero, BSTA) CreateByteField (BUF1, One, BLEN) CreateDWordField (BUF1, 0x02, DAT1) Name (BUF2, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) CreateByteField (BUF2, Zero, BSTS) CreateByteField (BUF2, One, SLEN) CreateWordField (BUF2, 0x02, WRD1) Name (BIXP, Package (0x14) { Zero, One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, 0x0A, 0x04, Zero, 0x00017318, 0xFFFFFFFF, 0xFFFFFFFF, 0x88B8, 0x61A8, One, One, "SR Real Battery", "123456789", "LION", "Intel SR 1" }) Name (BSTP, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended { ADBG ("BIX") If ((^^TIDR.AVBL == One)) { Index (BIXP, 0x03) = ^^TIDR.FCCP /* \_SB_.I2C5.TIDR.FCCP */ Index (BIXP, 0x08) = ^^TIDR.CYCL /* \_SB_.I2C5.TIDR.CYCL */ Index (BIXP, 0x02) = ^^TIDR.DSCP /* \_SB_.I2C5.TIDR.DSCP */ DSCP = ^^TIDR.DSCP /* \_SB_.I2C5.TIDR.DSCP */ } Index (BIXP, 0x05) = DSVO /* \_SB_.I2C5.TIBT.DSVO */ Divide (DSCP, 0x0A, Local0, Local1) Index (BIXP, 0x06) = Local1 Divide (DSCP, 0x14, Local0, Local1) Index (BIXP, 0x07) = Local1 Return (BIXP) /* \_SB_.I2C5.TIBT.BIXP */ } Method (_BST, 0, NotSerialized) // _BST: Battery Status { If ((^^TIDR.AVBL == One)) { ADBG ("BST") Local0 = ^^TIDR.CHST /* \_SB_.I2C5.TIDR.CHST */ Local0 &= 0x0F If ((Local0 == 0x02)) { Local1 = 0x02 } If ((Local0 == One)) { Local1 = One } If ((Local0 == 0x08)) { Local1 = Zero } Index (BSTP, Zero) = Local1 Index (BSTP, One) = ^^TIDR.CHGC /* \_SB_.I2C5.TIDR.CHGC */ Index (BSTP, 0x02) = ^^TIDR.RMCP /* \_SB_.I2C5.TIDR.RMCP */ Index (BSTP, 0x03) = ^^TIDR.VOLT /* \_SB_.I2C5.TIDR.VOLT */ ^^TIDR.DPCU = BCCC /* \_SB_.I2C5.TIBT.BCCC */ } Return (BSTP) /* \_SB_.I2C5.TIBT.BSTP */ } Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point { BTPC = Arg0 ADBG ("BTP") ADBG (Arg0) If ((^^TIDR.AVBL == One)) { ^^TIDR.BTP = Arg0 } } Method (_BTM, 1, NotSerialized) // _BTM: Battery Time { ADBG ("BTM") If ((Arg0 > 0x7530)) { Return (Zero) } Return (0xFFFFFFFF) } Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time { ADBG ("BCT") If (((Arg0 > 0x64) || (Arg0 < One))) { Return (Zero) } Return (0xFFFFFFFF) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */)) { If ((Arg2 == 0x02)) { If ((Arg1 == Zero)) { Return (Buffer (One) { 0x00 /* . */ }) } } } Return (Zero) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((PMID == 0x06)) { Return (0x1F) } Return (Zero) } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } Method (PSOC, 0, NotSerialized) { ADBG ("PSOC") If ((^^TIDR.AVBL == One)) { Local1 = ^^TIDR.SOC /* \_SB_.I2C5.TIDR.SOC_ */ Return (Local1) } Return (Zero) } Method (PMAX, 0, NotSerialized) { Return (Zero) } Method (VMIN, 0, NotSerialized) { Return (0x0DAC) } Method (APWR, 0, NotSerialized) { Return (0x0365C040) } Method (NPWR, 0, NotSerialized) { Local3 = APWR () Return (Zero) } Method (PSRC, 0, NotSerialized) { If ((^^TIDR.AVBL == One)) { Local0 = ^^TIDR.STYP /* \_SB_.I2C5.TIDR.STYP */ If ((Local0 == Zero)) { Return (Zero) } If ((Local0 == One)) { Return (One) } If ((Local0 == 0x02)) { Return (0x02) } If ((Local0 == 0x03)) { Return (0x03) } If ((Local0 == 0x04)) { Return (0x04) } If ((Local0 == 0x05)) { Return (0x05) } } Return (One) } Method (CTYP, 0, NotSerialized) { Return (0x02) } Method (ARTG, 0, NotSerialized) { Return (0x0365C040) } } } }