+/*
+ * 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 (<method pathname>, MethodObj, <argument count>)
+ * Invocation:
+ * iasl -fe refs.txt -d dsdt.aml
+ *
+ * The following methods were unresolved and many not compile properly
+ * because the disassembler had to guess at the number of arguments
+ * required for each:
+ */
+ External (_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, NotSerialized) // _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, NotSerialized) // _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, ,, )
+ {
+ 0x0000001D,
+ }
+ 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,
+ }
+ })
+ 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 (ADMA)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "ADMA0F28" /* Intel Audio DMA */) // _HID: Hardware ID
+ Name (_CID, "ADMA0F28" /* Intel Audio DMA */) // _CID: Compatible ID
+ Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28") // _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, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ Memory32Fixed (ReadWrite,
+ 0xDF498000, // Address Base
+ 0x00001000, // Address Length
+ _Y07)
+ Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
+ {
+ 0x00000018,
+ }
+ })
+ CreateDWordField (RBUF, \_SB.LPEA.ADMA._CRS._Y07._BAS, B0BA) // _BAS: Base Address
+ B0BA = LPE0 /* \LPE0 */
+ Return (RBUF) /* \_SB_.LPEA.ADMA._CRS.RBUF */
+ }
+ }
+
+ Device (SSP1)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "SSPX0000" /* Intel SSP Device */) // _HID: Hardware ID
+ Name (_CID, "SSPX0000" /* Intel SSP Device */) // _CID: Compatible ID
+ Name (_DDN, "Intel(R) SSP Device") // _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, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ Memory32Fixed (ReadWrite,
+ 0xDF4A1000, // Address Base
+ 0x00001000, // Address Length
+ _Y08)
+ Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
+ {
+ 0x0000001B,
+ }
+ })
+ CreateDWordField (RBUF, \_SB.LPEA.SSP1._CRS._Y08._BAS, B0BA) // _BAS: Base Address
+ B0BA = (LPE0 + 0x000A1000)
+ Return (RBUF) /* \_SB_.LPEA.SSP1._CRS.RBUF */
+ }
+
+ Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
+ {
+ Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
+ If ((Arg0 == ToUUID ("886a3f26-600c-4401-b7b1-01e9c2e7e77e")))
+ {
+ Return ("BLUET")
+ }
+
+ If ((Arg0 == ToUUID ("30d3f83e-2ee1-4bf0-86e9-f69ded2887ee")))
+ {
+ Return (One)
+ }
+
+ If ((Arg0 == ToUUID ("208b1400-f7c8-4325-ab32-53cd79b7d0a6")))
+ {
+ Return (0xFF2A1000)
+ }
+
+ If ((Arg0 == ToUUID ("e6e37c60-e78b-4fbd-bd26-5bd3667a6c9a")))
+ {
+ While (One)
+ {
+ _T_0 = ToInteger (Arg1)
+ If ((_T_0 == 0x08))
+ {
+ Return (Buffer (0x05)
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x01 /* ..... */
+ })
+ }
+ Else
+ {
+ If ((_T_0 == 0x10))
+ {
+ Return (Buffer (0x05)
+ {
+ 0x06, 0x02, 0x00, 0x0E, 0x10 /* ..... */
+ })
+ }
+ Else
+ {
+ If ((_T_0 == 0x30))
+ {
+ Return (Buffer (0x05)
+ {
+ 0x06, 0x02, 0x00, 0x0E, 0x10 /* ..... */
+ })
+ }
+ }
+ }
+
+ Break
+ }
+
+ Return ("ERR-T")
+ }
+
+ Return ("ERR-M")
+ }
+ }
+ }
+
+ Device (TIMC)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "TIMC0F28") // _HID: Hardware ID
+ Name (_CID, "TIMC0F28") // _CID: Compatible ID
+ Name (_DDN, "Intel(R) Audio Machine Driver - TIMC0F28") // _DDN: DOS Device Name
+ Name (_UID, One) // _UID: Unique ID
+ Name (_DEP, Package (0x02) // _DEP: Dependencies
+ {
+ GPO2,
+ ^I2C2.TTLV
+ })
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ Return (Zero)
+ }
+
+ Method (_CRS, 0, NotSerialized) // _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_.TIMC._CRS.RBUF */
+ }
+ }
+
+ 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, NotSerialized) // _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, NotSerialized) // _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
+ }
+
+ 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
+ }
+
+ 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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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
+ 0x001A
+ }
+ ),
+ 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, NotSerialized) // _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, NotSerialized) // _AEI: ACPI Event Interrupts
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0012
+ }
+ GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0002
+ }
+ })
+ 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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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")))
+ {
+ CreateByteField (Arg3, Zero, FARG)
+ 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 (TTLV)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "10TI3100") // _HID: Hardware ID
+ Name (_CID, "10TI3100") // _CID: Compatible ID
+ Name (_DDN, "TI TLV320AIC3100 Codec Controller ") // _DDN: DOS Device Name
+ Name (_UID, One) // _UID: Unique ID
+ Name (OBJ1, Package (0x0A)
+ {
+ One,
+ 0x017D7840,
+ One,
+ 0x97,
+ One,
+ 0x86,
+ One,
+ One,
+ 0x14,
+ 0xB3
+ })
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (SBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0018, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C2",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+ Return (SBUF) /* \_SB_.I2C2.TTLV._CRS.SBUF */
+ }
+
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ Return (Zero)
+ }
+
+ Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
+ {
+ }
+ }
+
+ 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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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 (TCS0)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "GODX0911") // _HID: Hardware ID
+ Name (_CID, "PNP0C50" /* 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, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
+ AddressingMode7Bit, "\\_SB.I2C2",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0044
+ }
+ })
+ Name (ABUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
+ AddressingMode7Bit, "\\_SB.I2C2",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0044
+ }
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
+ "\\_SB.GPO1", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x001A
+ }
+ })
+ If ((OSSL && 0x80))
+ {
+ Return (ABUF) /* \_SB_.I2C2.TCS0._CRS.ABUF */
+ }
+ Else
+ {
+ Return (RBUF) /* \_SB_.I2C2.TCS0._CRS.RBUF */
+ }
+ }
+
+ 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
+ Debug = "Method _DSM begin"
+ If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
+ {
+ While (One)
+ {
+ _T_0 = ToInteger (Arg2)
+ If ((_T_0 == Zero))
+ {
+ While (One)
+ {
+ _T_1 = ToInteger (Arg1)
+ If ((_T_1 == One))
+ {
+ Debug = "Method _DSM Function Query"
+ Return (Buffer (One)
+ {
+ 0x03 /* . */
+ })
+ }
+ Else
+ {
+ Return (Buffer (One)
+ {
+ 0x00 /* . */
+ })
+ }
+
+ Break
+ }
+ }
+ Else
+ {
+ If ((_T_0 == One))
+ {
+ Debug = "Method _DSM Function HID"
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Break
+ }
+ }
+ Else
+ {
+ Return (Buffer (One)
+ {
+ 0x00 /* . */
+ })
+ }
+ }
+
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL == 0x83))
+ {
+ Return (0x0F)
+ }
+
+ 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 (STAC)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "STAC0303") // _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 == 0x02))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0019, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C3",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+ Return (RBUF) /* \_SB_.I2C3.STAC._CRS.RBUF */
+ }
+ }
+
+ Device (STMA)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "STMA0303") // _HID: Hardware ID
+ Name (_CID, "INTMAGN") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL & 0x80))
+ {
+ If ((ACCS == 0x02))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x001E, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C3",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x0000,
+ "\\_SB.GPO0", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x005F
+ }
+ GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x0000,
+ "\\_SB.GPO0", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x003A
+ }
+ })
+ Return (RBUF) /* \_SB_.I2C3.STMA._CRS.RBUF */
+ }
+ }
+
+ Device (STGY)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "STGY0320") // _HID: Hardware ID
+ Name (_CID, "INTGYRO") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL & 0x80))
+ {
+ If ((GYRS == 0x02))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x006B, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C3",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioInt (Level, ActiveHigh, Exclusive, PullDown, 0x0000,
+ "\\_SB.GPO0", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x005E
+ }
+ })
+ Return (RBUF) /* \_SB_.I2C3.STGY._CRS.RBUF */
+ }
+ }
+
+ Device (FUSI)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "FUSI0001") // _HID: Hardware ID
+ Name (_CID, "INTFUSI") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ Return (Zero)
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0017
+ }
+ GpioInt (Edge, ActiveLow, Exclusive, PullDown, 0x0000,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0006
+ }
+ })
+ Return (RBUF) /* \_SB_.I2C3.FUSI._CRS.RBUF */
+ }
+ }
+
+ Device (ALSW)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "JSA01212") // _HID: Hardware ID
+ Name (_CID, "INTLALS") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL & 0x80))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0044, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C3",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0006
+ }
+ })
+ Return (RBUF) /* \_SB_.I2C3.ALSW._CRS.RBUF */
+ }
+ }
+
+ 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))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_CRS, 0, NotSerialized) // _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 (SPBM)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "CPAK8963") // _HID: Hardware ID
+ Name (_CID, "INTMAGN") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL & 0x80))
+ {
+ If ((ACCS == One))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0013, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C3",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+ Return (RBUF) /* \_SB_.I2C3.SPBM._CRS.RBUF */
+ }
+ }
+
+ Device (SPBG)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "BSBG0160") // _HID: Hardware ID
+ Name (_CID, "INTGYRO") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL & 0x80))
+ {
+ If ((GYRS == One))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0068, ControllerInitiated, 0x00061A80,
+ AddressingMode7Bit, "\\_SB.I2C3",
+ 0x00, ResourceConsumer, ,
+ )
+ })
+ Return (RBUF) /* \_SB_.I2C3.SPBG._CRS.RBUF */
+ }
+ }
+
+ Device (SAR1)
+ {
+ Name (_ADR, Zero) // _ADR: Address
+ Name (_HID, "SASX9500") // _HID: Hardware ID
+ Name (_CID, "INTSRCL") // _CID: Compatible ID
+ Name (_UID, One) // _UID: Unique ID
+ Method (_STA, 0, NotSerialized) // _STA: Status
+ {
+ If ((OSSL & 0x80))
+ {
+ Return (0x0F)
+ }
+
+ Return (Zero)
+ }
+
+ Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0013
+ }
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
+ "\\_SB.GPO1", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0014
+ }
+ })
+ Return (RBUF) /* \_SB_.I2C3.SAR1._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, NotSerialized) // _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, "GODX0911") // _HID: Hardware ID
+ Name (_CID, "PNP0C50" /* 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, NotSerialized) // _CRS: Current Resource Settings
+ {
+ Name (RBUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
+ AddressingMode7Bit, "\\_SB.I2C4",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0044
+ }
+ })
+ Name (ABUF, ResourceTemplate ()
+ {
+ I2cSerialBus (0x0014, ControllerInitiated, 0x0019F0A0,
+ AddressingMode7Bit, "\\_SB.I2C4",
+ 0x00, ResourceConsumer, ,
+ )
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
+ "\\_SB.GPO2", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0044
+ }
+ GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
+ "\\_SB.GPO1", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x001A
+ }
+ })
+ If ((OSSL && 0x80))
+ {
+ Return (ABUF) /* \_SB_.I2C4.TCS0._CRS.ABUF */
+ }
+ Else
+ {
+ Return (RBUF) /* \_SB_.I2C4.TCS0._CRS.RBUF */
+ }
+ }
+
+ 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
+ Debug = "Method _DSM begin"
+ If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
+ {
+ While (One)
+ {
+ _T_0 = ToInteger (Arg2)
+ If ((_T_0 == Zero))
+ {
+ While (One)
+ {
+ _T_1 = ToInteger (Arg1)
+ If ((_T_1 == One))
+ {
+ Debug = "Method _DSM Function Query"
+ Return (Buffer (One)
+ {
+ 0x03 /* . */
+ })
+ }
+ Else
+ {
+ Return (Buffer (One)
+ {
+ 0x00 /* . */
+ })
+ }
+
+ Break
+ }
+ }
+ Else
+ {
+ If ((_T_0 == One))
+ {
+ Debug = "Method _DSM Function HID"
+ Return (Zero)
+ }
+ Else
+ {
+ Return (Zero)
+ }
+ }
+
+ Break
+ }
+ }
+ Else
+ {
+ Return (Buffer (One)
+ {
+ 0x00 /* . */
+ })
+ }
+ }
+
+ 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 */
+ }
+
+ 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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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, NotSerialized) // _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 (RBU0, 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.GPO0", 0x00, ResourceConsumer, ,
+ )
+ { // Pin list
+ 0x0028
+ }
+ })
+ 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, NotSerialized) // _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, NotSerialized)
+ {
+ 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)
+ }
+ }
+ }
+}
+