/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20160108-64 * Copyright (c) 2000 - 2016 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of DSDT, Tue Nov 7 12:24:16 2017 * * Original Table Header: * Signature "DSDT" * Length 0x0000A6F1 (42737) * Revision 0x02 * Checksum 0xF5 * OEM ID "ALASKA" * OEM Table ID "A M I " * OEM Revision 0x01072009 (17244169) * Compiler ID "INTL" * Compiler Version 0x20120913 (538052883) */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "ALASKA", "A M I ", 0x01072009) { /* * iASL Warning: There were 1 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (, MethodObj, ) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ External (_SB_.PCI0.SBRG.TPM_.PTS_, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (_PR_.CPU0._PPC, UnknownObj) External (_SB_.TCHG, UnknownObj) External (CFGD, UnknownObj) External (PDC0, UnknownObj) External (PDC1, UnknownObj) External (PDC2, UnknownObj) External (PDC3, UnknownObj) Name (PEBS, 0xE0000000) Name (LAPB, 0xFEE00000) Name (CPVD, Zero) Name (GBA0, 0xFED80000) Name (GBA1, 0xFED88000) Name (GBA2, 0xFED90000) Name (GBA3, 0xFED98000) Name (ABTR, 0xFEB00000) 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 (SSEN, Zero) Name (SPM1, Zero) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, Zero) Name (SHPC, Zero) Name (PEPM, Zero) Name (PEER, Zero) Name (PECS, Zero) Name (ITKE, Zero) Name (MBEC, 0xFFFF) Name (SRSI, 0xB2) Name (CSMI, 0x61) Name (DSSP, Zero) Name (FHPP, Zero) Name (SMIA, 0xB2) Name (SMIB, 0xB3) Name (OFST, 0x35) Name (TRST, 0x02) Name (TCMF, Zero) Name (TMF1, Zero) Name (TMF2, Zero) Name (TMF3, Zero) Name (TTPF, One) Name (DTPT, Zero) Name (TTDP, Zero) Name (TPMB, 0xFFFFFFFF) Name (TPMC, 0xFFFFFFFF) Name (TPMM, 0xFED40000) Name (FTPM, 0xFFFFFFFF) Name (AMDT, Zero) Name (TPMF, Zero) Name (VDA1, 0x03F8) Name (VDA2, 0x03F8) Name (VDA3, Zero) Name (VIR1, 0x04) Name (VIR2, 0x04) Name (VIR3, Zero) Name (UID1, Zero) Name (UID2, One) Name (UID3, 0x02) Name (HIDK, "MSFT0001") Name (HIDM, "MSFT0003") Name (CIDK, 0x0303D041) Name (CIDM, 0x130FD041) Name (SP3O, 0x2E) Name (IO4B, 0x0A20) Name (IO4L, 0x20) Name (PMCB, 0xFED03000) Name (PUNB, 0xFED06000) Name (IBAS, 0xFED08000) 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) Name (CHRB, 0x80) Name (CIRB, 0x82) Name (CRRB, 0x55) Scope (\) { Method (UXDV, 1, Serialized) { } Method (RRIO, 4, Serialized) { } Method (RDMA, 3, NotSerialized) { } } OperationRegion (GNVS, SystemMemory, 0x77602A98, 0x0348) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, P80D, 32, REVS, 8, OSID, 8, ADED, 8, BDID, 8, FBID, 8, STEP, 8, SOCS, 8, Offset (0x18), APIC, 8, MPEN, 8, PPMF, 32, PWRS, 8, Offset (0x29), IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, DID6, 32, DID7, 32, DID8, 32, ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, IDMM, 8, IDMS, 8, IF1E, 8, GSMI, 8, PAVP, 8, PVDR, 8, BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, ISPA, 32, ISPD, 8, RCAM, 8, ECAM, 8, NVGA, 32, NVHA, 32, AMDA, 32, HGMD, 8, GBAS, 32, XBAS, 32, HGGP, 8, DLPW, 16, DLHR, 16, HRCO, 32, HRPO, 32, HRAI, 8, PECO, 32, PEPO, 32, PEAI, 8, CPSP, 32, EECP, 8, EVCP, 16, RPBA, 32, DIDX, 32, EDPV, 8, Offset (0xB6), TPMP, 8, TM2E, 8, TM2A, 32, TM2L, 32, DTPM, 8, MORD, 8, PPRP, 32, PPRQ, 8, LPPR, 8, Offset (0xD2), LPES, 8, I0D3, 8, I1D3, 8, I2D3, 8, I3D3, 8, I4D3, 8, I5D3, 8, I6D3, 8, CAMS, 8, Offset (0xDC), OTG0, 32, OTG1, 32, OTGM, 8, LPE0, 32, LPE1, 32, LPE2, 32, PFLV, 8, XHCI, 8, PMEN, 8, USEL, 8, BTHS, 8, EMVR, 8, GOAE, 8, 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, S20A, 32, S20L, 32, S21A, 32, S21L, 32, S30A, 32, S30L, 32, S31A, 32, S31L, 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, ISH0, 32, ISH1, 32, VS18, 16, VD33, 16, Offset (0x236), Offset (0x238), ITSA, 8, S0IX, 8, SDMD, 8, ELLN, 8, AUCD, 8, BTMS, 8, PMCT, 8, PSSD, 8, Offset (0x249), OSCC, 8, NEXP, 8, GPIC, 8, L01C, 8, MODS, 8, PB1E, 8, PSDE, 8, ISCT, 8, LIDS, 8, DSEN, 8, ECON, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, CTYP, 8, VFN0, 8, STTV, 16, BNUM, 8, B0SC, 8, B1SC, 8, B0SS, 8, B1SS, 8, BCSL, 8, DBAT, 8, NATP, 8, CMCP, 8, CIRP, 8, W381, 8, DPTE, 8, THM0, 8, THM1, 8, THM2, 8, THM3, 8, THM4, 8, CHGR, 8, DDSP, 8, DSOC, 8, DPSR, 8, DPCT, 32, DPPT, 32, DGC0, 32, DGP0, 32, DGC1, 32, DGP1, 32, DGC2, 32, DGP2, 32, DGC3, 32, DGP3, 32, DGC4, 32, DGP4, 32, DLPM, 8, DSC0, 32, DSC1, 32, DSC2, 32, DSC3, 32, DSC4, 32, DDBG, 8, LPOE, 32, LPPS, 32, LPST, 32, LPPC, 32, LPPF, 32, DPME, 8, WWEN, 8, WWCR, 32, WWPS, 32, RSVD, 8, ABS0, 8, ABS1, 8, ABS2, 8, ABS3, 8, ABS4, 8, ABS5, 8, AMTE, 8, ABC0, 8, ABC1, 8, ABC2, 8, ABC3, 8, ABC4, 8, ABC5, 8, DPHL, 8, DPLL, 8, NFCS, 8, BMBD, 32, FSAS, 8, WIFD, 8, DPPP, 8, DPCP, 8, DPAP, 8, DGA0, 32, DGS0, 32, DGH0, 32, DGA1, 32, DGS1, 32, DGH1, 32, DGA2, 32, DGS2, 32, DGH2, 32, SAAT, 32, SACT, 32, SAST, 32, SAHT, 32, SAPT, 32, SCDD, 8, ISPE, 8, PAVB, 32, PAVL, 32, DRMB, 64, EPBA, 32, HYSS, 32 } Name (SS1, Zero) Name (SS2, Zero) Name (SS3, Zero) Name (SS4, One) Name (IOST, 0xC400) Name (TOPM, 0x00000000) Name (ROMS, 0xFFE00000) Name (VGAF, One) Method (ADBG, 1, Serialized) { Return (Zero) } Name (WAKP, Package (0x02) { Zero, Zero }) Method (PMED, 0, NotSerialized) { \_SB.PCI0.XHC1.PMES = One \_SB.PCI0.XHC1.PMEE = Zero } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { PRWP [Zero] = Arg0 Local0 = (SS1 << One) Local0 |= (SS2 << 0x02) Local0 |= (SS3 << 0x03) Local0 |= (SS4 << 0x04) If (((One << Arg1) & Local0)) { PRWP [One] = Arg1 } Else { Local0 >>= One FindSetRightBit (Local0, PRWP [One]) } Return (PRWP) /* \PRWP */ } 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) { 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 (0x1A) { Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x000BFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x000AFFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0010FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0011FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0012FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0013FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0014FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0015FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0018FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0018FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0018FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0018FFFF, One, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001EFFFF, Zero, LNKD, Zero }, Package (0x04) { 0x001EFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001EFFFF, One, LNKB, Zero }, Package (0x04) { 0x001EFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKC, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001CFFFF, One, LNKB, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero } }) Name (AR00, Package (0x1A) { Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x000BFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x000AFFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0010FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0011FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0012FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0013FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0014FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0015FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0018FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0018FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0018FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0018FFFF, One, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001EFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x001EFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001EFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001EFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 } }) Name (PR01, Package (0x00) {}) Name (AR01, Package (0x00) {}) Name (PR02, Package (0x00) {}) Name (AR02, Package (0x00) {}) Name (PR03, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR03, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) } 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 */ } Device (CHVC) { Name (_ADR, Zero) // _ADR: Address OperationRegion (HBUS, PCI_Config, Zero, 0xFF) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0xD0), SMCR, 32, SMDR, 32, MCRX, 32, MCXX, 32 } Method (RMBR, 2, Serialized) { Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08)) SMCR = (0x100000F0 | Local0) Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */ } Method (WMBR, 3, Serialized) { SMDR = Arg2 Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08)) SMCR = (0x110000F0 | Local0) } Method (RMBX, 6, Serialized) { Local4 = (Arg3 & 0x07) Local4 = (Local4 << 0x08) Local5 = ((Arg4 << 0x03) | Arg5) Local5 &= 0xFF MCXX = (Local4 | Local5) Local3 = (Arg1 & 0xFFFFFF00) MCRX = Local3 Local0 = (Arg1 & 0xFF) Local1 = ((Arg2 << 0x18) | (Arg0 << 0x10)) Local1 &= 0xFFFF0000 Local2 = ((Local0 << 0x08) | 0xF0) Local2 &= 0xFFFF SMCR = (Local1 | Local2) Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */ } Method (WMBX, 7, Serialized) { Local4 = (Arg4 & 0x07) Local4 = (Local4 << 0x08) Local5 = ((Arg5 << 0x03) | Arg6) Local5 &= 0xFF MCXX = (Local4 | Local5) Local3 = (Arg1 & 0xFFFFFF00) MCRX = Local3 SMDR = Arg2 Local0 = (Arg1 & 0xFF) Local1 = ((Arg3 << 0x18) | (Arg0 << 0x10)) Local1 &= 0xFFFF0000 Local2 = ((Local0 << 0x08) | 0xF0) Local2 &= 0xFFFF SMCR = (Local1 | Local2) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (FTSZ, 0x00100000) CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, LPMN) // _MIN: Minimum Base Address CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, LPMX) // _MAX: Maximum Base Address CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, LPLN) // _LEN: Length If (((LPE2 != Zero) && (LPED == Zero))) { LPMN = LPE2 /* \LPE2 */ LPMX = (LPMN + LPLN) /* \_SB_.PCI0._CRS.LPLN */ LPMX -= One } Else { LPMN = Zero LPMX = Zero LPLN = Zero } 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) M1LN = ((M1MX - M1MN) + 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 0x20000000, // Range Minimum 0x201FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00200000, // Length ,, _Y00, 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 0x80000000, // Range Minimum 0xDFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x60000000, // Length ,, _Y02, 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 } Device (ISP3) { Name (_ADR, 0x00030000) // _ADR: Address } Device (D005) { Name (_ADR, 0x000B0000) // _ADR: Address } Device (SBRG) { 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 (0x14), ULKM, 8, Offset (0x88), , 4, 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) } Scope (\_SB.PCI0.SBRG) { Device (H_EC) { Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { ECON = Zero ^^^GFX0.CLID = 0x03 Return (Zero) } Name (B1CC, Zero) Name (B1ST, Zero) Name (B2CC, Zero) Name (B2ST, Zero) Name (RPWR, Zero) Name (LIDS, One) Name (LSTE, One) Name (VPWR, Zero) Name (S3WR, Zero) Name (TMPR, Zero) Name (LTMP, Zero) Name (FNSL, Zero) Name (FDCY, Zero) Name (ECAV, Zero) Name (TSSR, Zero) Method (ECMD, 1, Serialized) { Return (0xFF) } Method (ECWT, 2, Serialized) { Return (Zero) } Method (ECRD, 1, Serialized) { Return (Zero) } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } Method (_BST, 0, NotSerialized) // _BST: Battery Status { Name (PKG1, Package (0x04) { Zero, Zero, Zero, Zero }) Return (PKG1) /* \_SB_.PCI0.SBRG.H_EC.BAT1._BST.PKG1 */ } } Device (BAT2) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } } } } Scope (\_SB) { Device (LID0) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } Method (_LID, 0, NotSerialized) // _LID: Lid Status { Return (One) } } } 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, 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 ) }) } 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} }) } OperationRegion (PKBS, SystemIO, 0x60, 0x05) Field (PKBS, ByteAcc, Lock, Preserve) { PKBD, 8, Offset (0x02), Offset (0x03), Offset (0x04), PKBC, 8 } } Device (D007) { Name (_ADR, 0x000A0000) // _ADR: Address } Device (PEMC) { Name (_ADR, 0x00100000) // _ADR: Address } Device (SDHB) { Name (_ADR, 0x00110000) // _ADR: Address } Device (SDHC) { Name (_ADR, 0x00120000) // _ADR: Address } Device (SATA) { Name (_ADR, 0x00130000) // _ADR: Address } Device (XHC1) { Name (_ADR, 0x00140000) // _ADR: Address } Device (D00D) { Name (_ADR, 0x00150000) // _ADR: Address } Device (XHC2) { Name (_ADR, 0x00160000) // _ADR: Address } Device (D00F) { Name (_ADR, 0x00180000) // _ADR: Address } Device (D010) { Name (_ADR, 0x00180002) // _ADR: Address } Device (D011) { Name (_ADR, 0x00180003) // _ADR: Address } Device (D012) { Name (_ADR, 0x00180001) // _ADR: Address } Device (SEC0) { Name (_ADR, 0x001A0000) // _ADR: Address } Device (HDEF) { Name (_ADR, 0x001B0000) // _ADR: Address } Device (D015) { Name (_ADR, 0x001E0000) // _ADR: Address } Device (D016) { Name (_ADR, 0x001E0003) // _ADR: Address } Device (D017) { Name (_ADR, 0x001E0001) // _ADR: Address } Device (D018) { Name (_ADR, 0x001E0002) // _ADR: Address } Device (SBUS) { Name (_ADR, 0x001F0003) // _ADR: Address OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMPB, PCI_Config, 0x20, 0x04) Field (SMPB, DWordAcc, NoLock, Preserve) { , 5, SBAR, 11 } OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), HCON, 8, HCOM, 8, TXSA, 8, DAT0, 8, DAT1, 8, HBDR, 8, PECR, 8, RXSA, 8, SDAT, 16 } Method (SSXB, 2, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Zero HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = Zero HSTS = 0xBF TXSA = (Arg0 | One) HCON = 0x44 If (COMP ()) { HSTS |= 0xFF Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Zero HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT0 = Arg2 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = Zero HSTS = 0xBF TXSA = (Arg0 | One) HCOM = Arg1 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Zero HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT1 = (Arg2 & 0xFF) DAT0 = ((Arg2 >> 0x08) & 0xFF) HCON = 0x4C If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = Zero HSTS = 0xBF TXSA = (Arg0 | One) HCOM = Arg1 HCON = 0x4C If (COMP ()) { HSTS |= 0xFF Return (((DAT0 << 0x08) | DAT1)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Arg3 HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT0 = SizeOf (Arg2) Local1 = Zero HBDR = DerefOf (Arg2 [Zero]) HCON = 0x54 While ((SizeOf (Arg2) > Local1)) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } HSTS = 0x80 Local1++ If ((SizeOf (Arg2) > Local1)) { HBDR = DerefOf (Arg2 [Local1]) } } If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } I2CE = Arg2 HSTS = 0xBF TXSA = (Arg0 | One) HCOM = Arg1 HCON = 0x54 Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } TBUF [Zero] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */ HSTS = 0x80 Local1 = One While ((Local1 < DerefOf (TBUF [Zero]))) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } TBUF [Local1] = HBDR /* \_SB_.PCI0.SBUS.HBDR */ HSTS = 0x80 Local1++ } If (COMP ()) { HSTS |= 0xFF Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */ } Return (Zero) } Method (STRT, 0, Serialized) { Local0 = 0xC8 While (Local0) { If ((HSTS & 0x40)) { Local0-- Sleep (One) If ((Local0 == Zero)) { Return (One) } } Else { Local0 = Zero } } Local0 = 0x0FA0 While (Local0) { If ((HSTS & One)) { Local0-- Stall (0x32) If ((Local0 == Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Local0 = 0x0FA0 While (Local0) { If ((HSTS & 0x02)) { Return (One) } Else { Local0-- Stall (0x32) If ((Local0 == Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { HCON |= 0x02 HSTS |= 0xFF } } Device (RP01) { Name (_ADR, 0x001C0000) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR01) /* \_SB_.AR01 */ } Return (PR01) /* \_SB_.PR01 */ } Device (D022) { Name (_ADR, Zero) // _ADR: Address } } Device (RP02) { Name (_ADR, 0x001C0001) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR02) /* \_SB_.AR02 */ } Return (PR02) /* \_SB_.PR02 */ } Device (D023) { Name (_ADR, Zero) // _ADR: Address } } Device (RP03) { Name (_ADR, 0x001C0002) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR03) /* \_SB_.AR03 */ } Return (PR03) /* \_SB_.PR03 */ } } Device (RP04) { Name (_ADR, 0x001C0003) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR04) /* \_SB_.AR04 */ } Return (PR04) /* \_SB_.PR04 */ } } } } Scope (_GPE) { } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) Name (XS3, Package (0x04) { 0x05, Zero, Zero, Zero }) Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { If (Arg0) { PPTS (Arg0) } } Method (_WAK, 1, NotSerialized) // _WAK: Wake { PWAK (Arg0) PMED () 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, , 17, GP23, 1 } OperationRegion (PMCR, SystemMemory, PMCB, 0x0100) Field (PMCR, DWordAcc, Lock, Preserve) { Offset (0x34), L10D, 1, L11D, 1, L12D, 1, L13D, 1, L14D, 1, L15D, 1, L16D, 1, L17D, 1, SD1D, 1, SD2D, 1, SD3D, 1, , 1, , 1, LPED, 1, OTGD, 1, Offset (0x36), , 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, , 1, , 1, , 1, , 1, ISHD, 1, Offset (0x3C), Offset (0x60), CKC0, 2, CKF0, 1, Offset (0x64), CKC1, 2, CKF1, 1, Offset (0x68), CKC2, 2, CKF2, 1, Offset (0x6C), CKC3, 2, CKF3, 1, Offset (0x70), CKC4, 2, CKF4, 1, Offset (0x74), CKC5, 2, CKF5, 1, Offset (0x78), Offset (0xA0), PMCD, 32, Offset (0xC0), , 14, XPME, 1, Offset (0xEC), PMCC, 32 } OperationRegion (PPSC, SystemMemory, (PMCB + 0xA0), 0x08) Field (PPSC, DWordAcc, Lock, Preserve) { DM1P, 1, PW1P, 1, PW2P, 1, UR1P, 1, UR2P, 1, SP1P, 1, SP2P, 1, SP3P, 1, EMMP, 1, SDI1, 1, SDI2, 1, , 2, LPEP, 1, , 1, Offset (0x02), , 1, SATP, 1, USBP, 1, SECP, 1, PRP1, 1, PRP2, 1, PRP3, 1, PRP4, 1, DM2P, 1, IC1P, 1, IC2P, 1, IC3P, 1, IC4P, 1, IC5P, 1, IC6P, 1, IC7P, 1, , 2, ISHP, 1, Offset (0x08) } } Scope (_SB.PCI0) { Scope (SATA) { OperationRegion (SATR, PCI_Config, 0x74, 0x04) Field (SATR, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } } 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 (XHC1) { Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, 0x04 }) Name (_S3D, 0x02) // _S3D: S3 Device State Name (_S4D, 0x02) // _S4D: S4 Device State Name (XFLT, Zero) Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PMEB = One } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23"))) { If ((Arg1 == 0x03)) { XFLT = Arg1 } } } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { If (_OSI ("Android")) { Return (0x03) } If ((XFLT == Zero)) { Return (Zero) } Else { Return (0x03) } } OperationRegion (USBR, PCI_Config, Zero, 0x98) Field (USBR, WordAcc, NoLock, Preserve) { Offset (0x10), BAR0, 32, Offset (0x74), Offset (0x75), PMEE, 1, , 6, PMES, 1 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { USBC }) } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (HS01) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, 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 (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */ } } Device (HS02) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */ } } Device (HS03) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { If (((BDID == CHRB) | (BDID == CIRB))) { Name (PLDQ, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDQ) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDQ */ } If (((BDID != CHRB) & (BDID != CIRB))) { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */ } } } Device (HS04) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { If (((BDID == CHRB) | (BDID == CIRB))) { Name (PLDQ, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDQ) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDQ */ } If (((BDID != CHRB) & (BDID != CIRB))) { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDP */ } } } Device (HS05) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS05._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS05._PLD.PLDP */ } } Device (HS06) { 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.HS06._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS06._PLD.PLDP */ } } Device (HS07) { Name (_ADR, 0x07) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS07._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS07._PLD.PLDP */ } } Device (SSP1) { Name (_ADR, 0x08) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, 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 (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */ } } Device (SSP2) { Name (_ADR, 0x09) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDP */ } } Device (SSP3) { Name (_ADR, 0x0A) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { If (((BDID == CHRB) | (BDID == CIRB))) { Name (PLDQ, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDQ) /* \_SB_.PCI0.XHC1.RHUB.SSP3._PLD.PLDQ */ } If (((BDID != CHRB) & (BDID != CIRB))) { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._PLD.PLDP */ } } } Device (SSP4) { Name (_ADR, 0x0B) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { If (((BDID == CHRB) | (BDID == CIRB))) { Name (PLDQ, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x61, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 /* a....... */ } }) Return (PLDQ) /* \_SB_.PCI0.XHC1.RHUB.SSP4._PLD.PLDQ */ } If (((BDID != CHRB) & (BDID != CIRB))) { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._PLD.PLDP */ } } } Device (SSP5) { Name (_ADR, 0x0C) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP5._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP5._PLD.PLDP */ } } Device (SSP6) { Name (_ADR, 0x0D) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP6._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x60, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00 /* `....... */ } }) Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP6._PLD.PLDP */ } } } } Device (SDHA) { 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 - 80862294") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y03) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002D, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y03._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y03._LEN, B0LN) // _LEN: Length B0BA = EM0A /* \EM0A */ B0LN = EM0L /* \EM0L */ Return (RBUF) /* \_SB_.PCI0.SDHA.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((EM0A == Zero) || (SD1D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } 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) } } } Scope (PEMC) { OperationRegion (SDIO, PCI_Config, 0x84, 0x04) Field (SDIO, WordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1 } Method (_STA, 0, NotSerialized) // _STA: Status { If (((EM0A == Zero) && (SD1D == Zero))) { Return (0x0F) } Else { Return (Zero) } } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } Device (CARD) { Name (_ADR, 0x08) // _ADR: Address Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } } } Scope (SDHB) { 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 - 80862295") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (_HRV, 0x02) // _HRV: Hardware Revision Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO1 }) Name (PSTS, Zero) Name (ABUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y04) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002E, } GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0005 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (ABUF, \_SB.PCI0.SDHB._Y04._BAS, B0BA) // _BAS: Base Address CreateDWordField (ABUF, \_SB.PCI0.SDHB._Y04._LEN, B0LN) // _LEN: Length B0BA = SI0A /* \SI0A */ B0LN = SI0L /* \SI0L */ Return (ABUF) /* \_SB_.PCI0.SDHB.ABUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { 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 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero If ((PSTS == Zero)) { If ((^^^GPO1.AVBL == One)) { ^^^GPO1.CWLE = One } PSTS = One } } OperationRegion (KEYS, SystemMemory, SI1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (BRCM) { Name (_ADR, One) // _ADR: Address Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO1 }) Name (_HID, "BCM43241") // _HID: Hardware ID Name (_CID, "BCM43241") // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((WIFD == One)) { 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 () { Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, ) { 0x00000035, } GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0015 } GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0005 } }) Return (RBUF) /* \_SB_.PCI0.SDHB.BRCM._CRS.RBUF */ } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((^^^^GPO1.AVBL == One)) { ^^^^GPO1.CWLE = Zero } PSTS = Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((PSTS == Zero)) { If ((^^^^GPO1.AVBL == One)) { ^^^^GPO1.CWLE = One } PSTS = One } } } Device (BRC1) { Name (_ADR, 0x02) // _ADR: Address Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO1 }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((WIFD == Zero)) { 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 () { Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, ) { 0x00000035, } }) Return (RBUF) /* \_SB_.PCI0.SDHB.BRC1._CRS.RBUF */ } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((^^^^GPO1.AVBL == One)) { ^^^^GPO1.CWLE = Zero } PSTS = Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((PSTS == Zero)) { If ((^^^^GPO1.AVBL == One)) { ^^^^GPO1.CWLE = One } PSTS = One } } } Device (BRC2) { Name (_ADR, 0x02) // _ADR: Address Name (_STA, 0x0F) // _STA: Status Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (NAM, Buffer (0x14) { "\\_SB.PCI0.SDHB.BRC1" }) Name (SPB, Buffer (0x0C) { /* 0000 */ 0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00, /* ........ */ /* 0008 */ 0x00, 0x01, 0x00, 0x00 /* .... */ }) Name (END, ResourceTemplate () { }) Concatenate (SPB, NAM, Local0) Concatenate (Local0, END, Local1) Return (Local1) } } } Scope (SDHC) { 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 (_HRV, One) // _HRV: Hardware Revision Name (_DDN, "Intel(R) SD Card Controller - 80862296") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Name (ABUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y05) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002F, } GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x0051 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x0051 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x0055 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x004E } }) Name (WBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y06) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002F, } GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x0051 } GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x0051 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y05._BAS, B0BA) // _BAS: Base Address CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y05._LEN, B0LN) // _LEN: Length B0BA = SD0A /* \SD0A */ B0LN = SD0L /* \SD0L */ CreateDWordField (WBUF, \_SB.PCI0.SDHC._Y06._BAS, B01A) // _BAS: Base Address CreateDWordField (WBUF, \_SB.PCI0.SDHC._Y06._LEN, B01N) // _LEN: Length B01A = SD0A /* \SD0A */ B01N = SD0L /* \SD0L */ If ((OSID == 0x02)) { Return (ABUF) /* \_SB_.PCI0.SDHC.ABUF */ } Return (WBUF) /* \_SB_.PCI0.SDHC.WBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((SD0A == Zero) || (SD3D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero Sleep (0x03E8) } OperationRegion (KEYS, SystemMemory, SD1A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61"))) { If ((Arg1 == Zero)) { If ((Arg2 == Zero)) { Return (Unicode ("\x1F")) } If ((Arg2 == One)) { Sleep (0x05) Return (One) } If ((Arg2 == 0x02)) { Return (0x02) } If ((Arg2 == 0x03)) { Sleep (VS18) Return (0x03) } If ((Arg2 == 0x04)) { Sleep (VD33) Return (0x04) } } Else { Return (Zero) } Return (Zero) } } } 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 _Y07) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002A, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y07._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y07._LEN, B0LN) // _LEN: Length B0BA = D10A /* \D10A */ B0LN = D10L /* \D10L */ Return (RBUF) /* \_SB_.PCI0.GDM1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((D10A == Zero) || (L10D == One))) { Return (Zero) } Return (0x0F) } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { If ((DM1P == Zero)) { Return (Zero) } Else { Return (0x03) } } } Device (GDM3) { 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 _Y08) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000002B, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y08._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y08._LEN, B0LN) // _LEN: Length B0BA = D20A /* \D20A */ B0LN = D20L /* \D20L */ Return (RBUF) /* \_SB_.PCI0.GDM3.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((D20A == Zero) || (L20D == One))) { Return (Zero) } Return (0x0F) } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { If ((DM2P == Zero)) { Return (Zero) } Else { Return (0x03) } } } Device (PWM1) { Name (_HID, "80862288") // _HID: Hardware ID Name (_CID, "80862288") // _CID: Compatible ID Name (_DDN, "Intel(R) PWM Controller #1 - 80862288") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y09) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y09._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y09._LEN, B0LN) // _LEN: Length B0BA = P10A /* \P10A */ B0LN = P10L /* \P10L */ Return (RBUF) /* \_SB_.PCI0.PWM1.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((P10A == Zero) || (L11D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, P11A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (PWM2) { Name (_HID, "80862288") // _HID: Hardware ID Name (_CID, "80862288") // _CID: Compatible ID Name (_DDN, "Intel(R) PWM Controller #2 - 80862289") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0A) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0A._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0A._LEN, B0LN) // _LEN: Length B0BA = P20A /* \P20A */ B0LN = P20L /* \P20L */ Return (RBUF) /* \_SB_.PCI0.PWM2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((P20A == Zero) || (L12D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, P21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (URT1) { Name (_HID, "8086228A") // _HID: Hardware ID Name (_CID, "8086228A") // _CID: Compatible ID Name (_DDN, "Intel(R) HS-UART Controller #1 - 8086228A") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0B) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000027, } FixedDMA (0x0002, 0x0002, Width32bit, ) FixedDMA (0x0003, 0x0003, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.URT1._Y0B._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.URT1._Y0B._LEN, B0LN) // _LEN: Length B0BA = U10A /* \U10A */ B0LN = U10L /* \U10L */ Return (RBUF) /* \_SB_.PCI0.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 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, U11A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (BTH0) { Name (_HID, "BCM2E1A") // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((_OSI ("Android") & (BDID != CHRB))) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (UBUF, ResourceTemplate () { UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, 0xFC, LittleEndian, ParityTypeNone, FlowControlNone, 0x0020, 0x0020, "\\_SB.PCIO.URT1", 0x00, ResourceConsumer, , ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x003E } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x0040 } GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x003C } }) Return (UBUF) /* \_SB_.PCI0.URT1.BTH0._CRS.UBUF */ } } } Device (URT2) { Name (_HID, "8086228A") // _HID: Hardware ID Name (_CID, "8086228A") // _CID: Compatible ID Name (_DDN, "Intel(R) HS-UART Controller #2 - 8086228C") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0C) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000028, } FixedDMA (0x0004, 0x0004, Width32bit, ) FixedDMA (0x0005, 0x0005, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.URT2._Y0C._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.URT2._Y0C._LEN, B0LN) // _LEN: Length B0BA = U20A /* \U20A */ B0LN = U20L /* \U20L */ Return (RBUF) /* \_SB_.PCI0.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 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, U21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (SPI1) { Name (_HID, "8086228E") // _HID: Hardware ID Name (_CID, "8086228E") // _CID: Compatible ID Name (_DDN, "Intel(R) SPI Controller #1 - 8086228E") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0D) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000029, } FixedDMA (0x0000, 0x0000, Width32bit, ) FixedDMA (0x0001, 0x0001, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y0D._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y0D._LEN, B0LN) // _LEN: Length B0BA = SP0A /* \SP0A */ B0LN = SP0L /* \SP0L */ Return (RBUF) /* \_SB_.PCI0.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 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } 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.PCI0.SPI1", 0x00, ResourceConsumer, , ) Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) { 0x00000048, } }) Return (UBUF) /* \_SB_.PCI0.SPI1.FPNT._CRS.UBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } } } Device (SPI2) { Name (_HID, "8086228E") // _HID: Hardware ID Name (_CID, "8086228E") // _CID: Compatible ID Name (_DDN, "Intel(R) SPI Controller #2 - 80862290") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0E) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000059, } FixedDMA (0x0006, 0x0006, Width32bit, ) FixedDMA (0x0007, 0x0007, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y0E._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y0E._LEN, B0LN) // _LEN: Length B0BA = S20A /* \S20A */ B0LN = S20L /* \S20L */ Return (RBUF) /* \_SB_.PCI0.SPI2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((S20A == Zero) || (L16D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, S21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (SPI3) { Name (_HID, "8086228E") // _HID: Hardware ID Name (_CID, "8086228E") // _CID: Compatible ID Name (_DDN, "Intel(R) SPI Controller #3 - 808622AC") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y0F) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000005A, } FixedDMA (0x0008, 0x0008, Width32bit, ) FixedDMA (0x0009, 0x0009, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y0F._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y0F._LEN, B0LN) // _LEN: Length B0BA = S30A /* \S30A */ B0LN = S30L /* \S30L */ Return (RBUF) /* \_SB_.PCI0.SPI3.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((S30A == Zero) || (L16D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, S31A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (NFC2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "NXP1002") // _HID: Hardware ID Name (_CID, "NXP1002") // _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) } } Method (CDSM, 5, Serialized) { If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If ((Arg2 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x03 /* . */ }) } } ElseIf ((Arg2 == One)) { Return (Arg4) } } Return (Buffer (One) { 0x00 /* . */ }) } Device (I2C1) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #1 - 808622C1") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y10) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000020, } FixedDMA (0x0010, 0x0000, Width32bit, ) FixedDMA (0x0011, 0x0001, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y10._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y10._LEN, B0LN) // _LEN: Length B0BA = I10A /* \I10A */ B0LN = I10L /* \I10L */ Return (RBUF) /* \_SB_.PCI0.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 { If ((I0D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I0D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I11A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (SHUB) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "SMO91D0" /* Sensor Hub */) // _HID: Hardware ID Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_DDN, "STM32F103RD") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x03) // _S0W: S0 Device Wake State Name (_DEP, Package (0x01) // _DEP: Dependencies { GPO2 }) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Return (CDSM (Arg0, Arg1, Arg2, Arg3, One)) } Method (_STA, 0, NotSerialized) // _STA: Status { If (((BDID == CIRB) | (BDID == CHRB))) { Return (Zero) } Return (0x0F) } OperationRegion (GPM2, SystemMemory, (GBA2 | 0x4820), 0x04) Field (GPM2, DWordAcc, Lock, Preserve) { , 1, SHD3, 1 } Method (_PS3, 0, Serialized) // _PS3: Power State 3 { If (_OSI ("Android")) { If ((^^^^GPO2.AVBL == One)) { ^^^^GPO2.SHD3 = Zero } } Else { SHD3 = Zero } } Method (_PS0, 0, Serialized) // _PS0: Power State 0 { If (_OSI ("Android")) { If ((^^^^GPO2.AVBL == One)) { ^^^^GPO2.SHD3 = One } } Else { SHD3 = One } Sleep (0x64) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x0040, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , ) GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0016 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0013 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0010 } }) Return (SBUF) /* \_SB_.PCI0.I2C1.SHUB._CRS.SBUF */ } } } Device (I2C2) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #2 - 808622C2") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y11) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000021, } FixedDMA (0x0012, 0x0002, Width32bit, ) FixedDMA (0x0013, 0x0003, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y11._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y11._LEN, B0LN) // _LEN: Length B0BA = I20A /* \I20A */ B0LN = I20L /* \I20L */ Return (RBUF) /* \_SB_.PCI0.I2C2.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I20A == Zero) || (L22D == One))) { Return (Zero) } If ((BDID == CRRB)) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((I1D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I1D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I21A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (RTEK) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "10EC5670") // _HID: Hardware ID Name (_CID, "10EC5670") // _CID: Compatible ID Name (_DDN, "RTEK Codec Controller ") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C2", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x004D } }) Return (SBUF) /* \_SB_.PCI0.I2C2.RTEK._CRS.SBUF */ } 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 (_STA, 0, NotSerialized) // _STA: Status { If ((LPES == 0x02)) { Return (0x0F) } Return (Zero) } } Device (IMP2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "IMPJ0002") // _HID: Hardware ID Name (_CID, "IMPJ0002") // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x006F, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.PCI0.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.PCI0.I2C2.IMP2._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((PSDE == One) & (BDID != CHRB))) { Return (0x0F) } Return (Zero) } } 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 (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x006E, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.PCI0.I2C2", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.PCI0.I2C2.IMP3._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((PSDE == 0x02) & (BDID != CHRB))) { Return (0x0F) } Return (Zero) } } } Device (I2C3) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #3 - 808622C3") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y12) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000022, } FixedDMA (0x0014, 0x0004, Width32bit, ) FixedDMA (0x0015, 0x0005, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y12._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y12._LEN, B0LN) // _LEN: Length B0BA = I30A /* \I30A */ B0LN = I30L /* \I30L */ Return (RBUF) /* \_SB_.PCI0.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 { If ((I2D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I2D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I31A, 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 Sleep (0x05) } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { CKC0 = 0x02 } } } Device (I2C4) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #4 - 808622C4") // _DDN: DOS Device Name Name (_UID, 0x04) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y13) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000023, } FixedDMA (0x0016, 0x0006, Width32bit, ) FixedDMA (0x0017, 0x0007, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y13._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y13._LEN, B0LN) // _LEN: Length B0BA = I40A /* \I40A */ B0LN = I40L /* \I40L */ Return (RBUF) /* \_SB_.PCI0.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 { If ((I3D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I3D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I41A, 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 Sleep (0x05) } 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 Sleep (0x05) } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { CKC1 = 0x02 } } Device (CAM1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INTCF1A" /* Sony IMX175 Camera Sensor */) // _HID: Hardware ID Name (_CID, "INTCF1A" /* Sony IMX175 Camera Sensor */) // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "Sony IMX175") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { 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_.PCI0.I2C4.CAM1.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((CAMS == One) && (RCAM == Zero))) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0034 } I2cSerialBus (0x0010, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C4", 0x00, ResourceConsumer, , ) I2cSerialBus (0x000C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C4", 0x00, ResourceConsumer, , ) I2cSerialBus (0x0054, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C4", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.PCI0.I2C4.CAM1._CRS.SBUF */ } 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"))) { 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, "INT33FB" /* MIPI-CSI Camera Sensor OV2722 */) // _HID: Hardware ID Name (_CID, "INT33FB" /* MIPI-CSI Camera Sensor OV2722 */) // _CID: Compatible ID Name (_SUB, "INTL0000") // _SUB: Subsystem ID Name (_DDN, "OV2722") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { 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_.PCI0.I2C4.CAM2.PLDB */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((CAMS == One) && (RCAM == Zero))) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0036 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0032 } I2cSerialBus (0x0036, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C4", 0x00, ResourceConsumer, , ) }) Return (SBUF) /* \_SB_.PCI0.I2C4.CAM2._CRS.SBUF */ } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015"))) { Return ("INT33FB") } If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c"))) { Return ("OV2722") } If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee"))) { Return ("12P2SF220") } If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8"))) { 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 (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 (0x04003600) } } If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f"))) { If ((Arg2 == One)) { Return (0x02) } If ((Arg2 == 0x02)) { Return (0x01001600) } If ((Arg2 == 0x03)) { Return (0x01001901) } } Return (Zero) } } } Device (I2C5) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #5 - 808622C5") // _DDN: DOS Device Name Name (_UID, 0x05) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y14) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000024, } FixedDMA (0x0018, 0x0000, Width32bit, ) FixedDMA (0x0019, 0x0001, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y14._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y14._LEN, B0LN) // _LEN: Length B0BA = I50A /* \I50A */ B0LN = I50L /* \I50L */ Return (RBUF) /* \_SB_.PCI0.I2C5.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I50A == Zero) || (L25D == One))) { Return (Zero) } If ((BDID == CRRB)) { Return (0x0F) } Return (Zero) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((I4D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I4D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I51A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Method (TPSC, 0, Serialized) { If ((^^GPO0.AVBL == One)) { If ((BDID == CRRB)) { If ((^^GPO0.TSRR == Zero)) { Return (0x03) } Else { Return (Zero) } } ElseIf ((FBID == 0x02)) { If ((^^GPO0.TSR2 == Zero)) { Return (0x03) } Else { Return (Zero) } } ElseIf ((^^GPO0.TSRS == Zero)) { Return (0x03) } Else { Return (Zero) } } } Method (TPS3, 0, Serialized) { If ((^^GPO0.AVBL == One)) { If ((BDID == CRRB)) { ^^GPO0.TSRR = Zero } ElseIf ((FBID == 0x02)) { ^^GPO0.TSR2 = Zero } Else { ^^GPO0.TSRS = Zero } } } Method (TPS0, 0, Serialized) { If ((^^GPO0.AVBL == One)) { If ((BDID == CRRB)) { ^^GPO0.TSRR = One } ElseIf ((FBID == 0x02)) { ^^GPO0.TSR2 = One } Else { ^^GPO0.TSRS = One } } Sleep (0x64) } Method (TCRS, 1, Serialized) { Name (RSTL, ResourceTemplate () { I2cSerialBus (0x004A, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C6", 0x00, ResourceConsumer, _Y15, ) GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x004B } GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x004C } }) CreateByteField (RSTL, \_SB.PCI0.TCRS._Y15._ADR, VAL0) // _ADR: Address VAL0 = Arg0 CreateByteField (RSTL, 0x38, VAL1) If ((BDID == CRRB)) { VAL1 = 0x4B } ElseIf ((FBID == 0x02)) { VAL1 = 0x4E } Else { VAL1 = 0x50 } Return (RSTL) /* \_SB_.PCI0.TCRS.RSTL */ } Device (I2C6) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #6 - 808622C6") // _DDN: DOS Device Name Name (_UID, 0x06) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y16) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000025, } FixedDMA (0x001A, 0x0002, Width32bit, ) FixedDMA (0x001B, 0x0003, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y16._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y16._LEN, B0LN) // _LEN: Length B0BA = I60A /* \I60A */ B0LN = I60L /* \I60L */ Return (RBUF) /* \_SB_.PCI0.I2C6.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I60A == Zero) || (L26D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((I5D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I5D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I61A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (I2C7) { Name (_HID, "808622C1") // _HID: Hardware ID Name (_CID, "808622C1") // _CID: Compatible ID Name (_DDN, "Intel(R) I2C Controller #7 - 808622C7") // _DDN: DOS Device Name Name (_UID, 0x07) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y17) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000026, } FixedDMA (0x001C, 0x0004, Width32bit, ) FixedDMA (0x001D, 0x0005, Width32bit, ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y17._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y17._LEN, B0LN) // _LEN: Length B0BA = I70A /* \I70A */ B0LN = I70L /* \I70L */ Return (RBUF) /* \_SB_.PCI0.I2C7.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((I70A == Zero) || (L27D == One))) { Return (Zero) } Return (0x0F) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If ((I6D3 == One)) { PSAT |= 0x03 PSAT |= Zero } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { If ((I6D3 == One)) { PSAT &= 0xFFFFFFFC PSAT |= Zero } } OperationRegion (KEYS, SystemMemory, I71A, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (NFC1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "NXP7471") // _HID: Hardware ID Name (_CID, "NXP7471") // _CID: Compatible ID Name (_DDN, "NXP NFC") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { I2cSerialBus (0x0029, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C7", 0x00, ResourceConsumer, , ) GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0017 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x001B } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0010 } }) Return (SBUF) /* \_SB_.PCI0.I2C7.NFC1._CRS.SBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((BDID == CIRB)) { Return (Zero) } If (((NFCS == One) & (BDID != CHRB))) { Return (0x0F) } Return (Zero) } } } Scope (HDEF) { OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), Offset (0x09), PMEE, 1, , 6, PMES, 1 } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, 0x04 }) Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { } } Device (IISH) { Name (_HID, "808622D8") // _HID: Hardware ID Name (_CID, "808622D8") // _CID: Compatible ID Name (_DDN, "Intel(R) Integrated Sensor Hub - 808622D8") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y18) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y19) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000072, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.IISH._Y18._BAS, B0BA) // _BAS: Base Address B0BA = ISH0 /* \ISH0 */ CreateDWordField (RBUF, \_SB.PCI0.IISH._Y19._BAS, B1BA) // _BAS: Base Address B1BA = ISH1 /* \ISH1 */ Return (RBUF) /* \_SB_.PCI0.IISH.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((ISH0 == Zero) || (ISHD == One))) { Return (Zero) } Return (0x0F) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, ISH1, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (LPEA) { Name (_HID, "808622A8") // _HID: Hardware ID Name (_CID, "808622A8") // _CID: Compatible ID Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00200000, // Address Length _Y1A) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1B) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00200000, // Address Length _Y1C) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000019, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001A, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001B, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001D, } GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x004D } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1A._BAS, B0BA) // _BAS: Base Address B0BA = LPE0 /* \LPE0 */ CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1B._BAS, B1BA) // _BAS: Base Address B1BA = LPE1 /* \LPE1 */ CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1C._BAS, B2BA) // _BAS: Base Address B2BA = LPE2 /* \LPE2 */ Return (RBUF) /* \_SB_.PCI0.LPEA.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((LPE0 != Zero) && (LPED == Zero))) { Return (0x0F) } Return (Zero) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, LPE1, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } Device (ADMA) { Name (_HID, "ADMA22A8") // _HID: Hardware ID Name (_CID, "ADMA22A8") // _CID: Compatible ID Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00200000, // Address Length _Y1D) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.LPEA.ADMA._Y1D._BAS, B3BA) // _BAS: Base Address B3BA = LPE0 /* \LPE0 */ Return (RBUF) /* \_SB_.PCI0.LPEA.ADMA.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If (((OSID == 0x02) || (OSID == 0x03))) { Return (0x0F) } Return (Zero) } } } Device (AMCR) { Name (_HID, "AMCR22A8") // _HID: Hardware ID Name (_CID, "AMCR22A8") // _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 (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO3", 0x00, ResourceConsumer, , ) { // Pin list 0x004D } GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0006 } GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0006 } }) Return (RBUF) /* \_SB_.PCI0.AMCR._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((LPES == 0x02)) { Return (0x0F) } Return (Zero) } } Device (HAD0) { Name (_HID, "HAD022A8") // _HID: Hardware ID Name (_CID, "HAD022A8") // _CID: Compatible ID Name (_DDN, "Intel(R) HDMI Audio Driver - HAD") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00065800, // Address Base 0x00000140, // Address Length ) }) Return (RBUF) /* \_SB_.PCI0.HAD0._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((ADED == One)) { If (((OSID == 0x02) || (OSID == 0x03))) { Return (0x0F) } } Return (Zero) } } Device (UOTG) { Name (_HID, "808622B7") // _HID: Hardware ID Name (_CID, "808622B7") // _CID: Compatible ID Name (_DDN, "Intel(R) USB On-The-Go Controller - 808622B7") // _DDN: DOS Device Name Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00200000, // Address Length _Y1E) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1F) Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001E, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001F, } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.UOTG._Y1E._BAS, B0BA) // _BAS: Base Address B0BA = OTG0 /* \OTG0 */ CreateDWordField (RBUF, \_SB.PCI0.UOTG._Y1F._BAS, B1BA) // _BAS: Base Address B1BA = OTG1 /* \OTG1 */ If ((OTG0 != Zero)) { Return (RBUF) /* \_SB_.PCI0.UOTG.RBUF */ } } Method (_STA, 0, NotSerialized) // _STA: Status { If (((OTGD == One) || ((OTGM == One) || (OTG0 == Zero)))) { Return (Zero) } Return (0x0F) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PSAT |= 0x03 PSAT |= Zero } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { PSAT &= 0xFFFFFFFC PSAT |= Zero } OperationRegion (KEYS, SystemMemory, OTG1, 0x0100) Field (KEYS, DWordAcc, NoLock, WriteAsZeros) { Offset (0x84), PSAT, 32 } } Device (SPRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y20) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y21) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y22) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y23) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y24) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y25) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y26) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y27) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y28) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y29) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2A) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2B) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2C) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2D) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2E) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y2F) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y30) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y31) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y32) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y20._BAS, BR01) // _BAS: Base Address BR01 = EM1A /* \EM1A */ If (((BR01 != Zero) && (BR01 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y20._LEN, LN01) // _LEN: Length LN01 = EM1L /* \EM1L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y21._BAS, BR02) // _BAS: Base Address BR02 = SI1A /* \SI1A */ If (((BR02 != Zero) && (BR02 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y21._LEN, LN02) // _LEN: Length LN02 = SI1L /* \SI1L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y22._BAS, BR03) // _BAS: Base Address BR03 = SD1A /* \SD1A */ If (((BR03 != Zero) && (BR03 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y22._LEN, LN03) // _LEN: Length LN03 = SD1L /* \SD1L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y23._BAS, BR04) // _BAS: Base Address BR04 = D11A /* \D11A */ If (((BR04 != Zero) && (BR04 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y23._LEN, LN04) // _LEN: Length LN04 = D11L /* \D11L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y24._BAS, BR05) // _BAS: Base Address BR05 = P11A /* \P11A */ If (((BR05 != Zero) && (BR05 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y24._LEN, LN05) // _LEN: Length LN05 = P11L /* \P11L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y25._BAS, BR06) // _BAS: Base Address BR06 = P21A /* \P21A */ If (((BR06 != Zero) && (BR06 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y25._LEN, LN06) // _LEN: Length LN06 = P21L /* \P21L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y26._BAS, BR07) // _BAS: Base Address BR07 = U11A /* \U11A */ If (((BR07 != Zero) && (BR07 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y26._LEN, LN07) // _LEN: Length LN07 = U11L /* \U11L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._BAS, BR08) // _BAS: Base Address BR08 = U21A /* \U21A */ If (((BR08 != Zero) && (BR08 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._LEN, LN08) // _LEN: Length LN08 = U21L /* \U21L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._BAS, BR09) // _BAS: Base Address BR09 = SP1A /* \SP1A */ If (((BR09 != Zero) && (BR09 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._LEN, LN09) // _LEN: Length LN09 = SP1L /* \SP1L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._BAS, BR10) // _BAS: Base Address BR10 = S21A /* \S21A */ If (((BR10 != Zero) && (BR10 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._LEN, LN10) // _LEN: Length LN10 = S21L /* \S21L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._BAS, BR11) // _BAS: Base Address BR11 = S31A /* \S31A */ If (((BR11 != Zero) && (BR11 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._LEN, LN11) // _LEN: Length LN11 = S31L /* \S31L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._BAS, BR12) // _BAS: Base Address BR12 = D21A /* \D21A */ If (((BR12 != Zero) && (BR12 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._LEN, LN12) // _LEN: Length LN12 = D21L /* \D21L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._BAS, BR13) // _BAS: Base Address BR13 = I11A /* \I11A */ If (((BR13 != Zero) && (BR13 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._LEN, LN13) // _LEN: Length LN13 = I11L /* \I11L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._BAS, BR14) // _BAS: Base Address BR14 = I21A /* \I21A */ If (((BR14 != Zero) && (BR14 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._LEN, LN14) // _LEN: Length LN14 = I21L /* \I21L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._BAS, BR15) // _BAS: Base Address BR15 = I31A /* \I31A */ If (((BR15 != Zero) && (BR15 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._LEN, LN15) // _LEN: Length LN15 = I31L /* \I31L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._BAS, BR16) // _BAS: Base Address BR16 = I41A /* \I41A */ If (((BR16 != Zero) && (BR16 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._LEN, LN16) // _LEN: Length LN16 = I41L /* \I41L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._BAS, BR17) // _BAS: Base Address BR17 = I51A /* \I51A */ If (((BR17 != Zero) && (BR17 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._LEN, LN17) // _LEN: Length LN17 = I51L /* \I51L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._BAS, BR18) // _BAS: Base Address BR18 = I61A /* \I61A */ If (((BR18 != Zero) && (BR18 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._LEN, LN18) // _LEN: Length LN18 = I61L /* \I61L */ } CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._BAS, BR19) // _BAS: Base Address BR19 = I71A /* \I71A */ If (((BR19 != Zero) && (BR19 != 0xFFFFF000))) { CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._LEN, LN19) // _LEN: Length LN19 = I71L /* \I71L */ } Return (RBUF) /* \_SB_.PCI0.SPRC.RBUF */ } } Scope (SEC0) { Name (_S0W, 0x03) // _S0W: S0 Device Wake State OperationRegion (SECS, PCI_Config, 0x64, 0x04) Field (SECS, DWordAcc, NoLock, Preserve) { SHAD, 32 } 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 _Y33) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (((OSYS == 0x07DF) && (PAVL != Zero))) { CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y33._BAS, B0BA) // _BAS: Base Address CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y33._LEN, B0LN) // _LEN: Length B0BA = PAVB /* \PAVB */ B0LN = PAVL /* \PAVL */ Return (RBUF) /* \_SB_.PCI0.SEC0.RBUF */ } Return (ResourceTemplate () { }) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37"))) { If ((Arg2 == Zero)) { If ((Arg1 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } Else { Return (Zero) } } If ((Arg2 == One)) { While (One) { _T_0 = DerefOf (Arg3 [Zero]) If ((_T_0 == Zero)) {} ElseIf ((_T_0 == One)) { If (CondRefOf (\_SB.SLPB)) { Notify (SLPB, 0x80) // Status Change P8XH (Zero, 0x5D) } } ElseIf ((_T_0 == 0x02)) {} ElseIf ((_T_0 == 0x03)) {} Break } Return (Zero) } Else { Return (Zero) } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } } } Scope (_SB.PCI0.ISP3) { Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot { Return (Package (0x01) { ID3C }) } PowerResource (ID3C, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { If ((ISPD == 0x02)) { Return (0x0F) } Else { Return (Zero) } } Method (_ON, 0, NotSerialized) // _ON_: Power On { } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { } } } Scope (_SB.PCI0.GFX0) { 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 { If ((ISPE == One)) { NDID = One } Else { 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 ((DDL6 != Zero)) { DID6 = SDDL (DDL6) } If ((DDL7 != Zero)) { DID7 = SDDL (DDL7) } If ((DDL8 != Zero)) { DID8 = SDDL (DDL8) } If ((NDID == One)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) If ((ISPE == One)) { TMP1 [Zero] = 0x000222B8 } Else { TMP1 [Zero] = (0x00010000 | DID1) } Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */ } If ((NDID == 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP2 [Zero] = (0x00010000 | DID1) TMP2 [One] = 0x000222B8 } Else { TMP2 [Zero] = (0x00010000 | DID1) TMP2 [One] = (0x00010000 | DID2) } Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */ } If ((NDID == 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP3 [Zero] = (0x00010000 | DID1) TMP3 [One] = (0x00010000 | DID2) TMP3 [0x02] = 0x000222B8 } Else { TMP3 [Zero] = (0x00010000 | DID1) TMP3 [One] = (0x00010000 | DID2) TMP3 [0x02] = (0x00010000 | DID3) } Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */ } If ((NDID == 0x04)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP4 [Zero] = (0x00010000 | DID1) TMP4 [One] = (0x00010000 | DID2) TMP4 [0x02] = (0x00010000 | DID3) TMP4 [0x03] = 0x000222B8 } Else { TMP4 [Zero] = (0x00010000 | DID1) TMP4 [One] = (0x00010000 | DID2) TMP4 [0x02] = (0x00010000 | DID3) TMP4 [0x03] = (0x00010000 | DID4) } Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */ } If ((NDID == 0x05)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP5 [Zero] = (0x00010000 | DID1) TMP5 [One] = (0x00010000 | DID2) TMP5 [0x02] = (0x00010000 | DID3) TMP5 [0x03] = (0x00010000 | DID4) TMP5 [0x04] = 0x000222B8 } Else { TMP5 [Zero] = (0x00010000 | DID1) TMP5 [One] = (0x00010000 | DID2) TMP5 [0x02] = (0x00010000 | DID3) TMP5 [0x03] = (0x00010000 | DID4) TMP5 [0x04] = (0x00010000 | DID5) } Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */ } If ((NDID == 0x06)) { Name (TMP6, Package (0x06) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP6 [Zero] = (0x00010000 | DID1) TMP6 [One] = (0x00010000 | DID2) TMP6 [0x02] = (0x00010000 | DID3) TMP6 [0x03] = (0x00010000 | DID4) TMP6 [0x04] = (0x00010000 | DID5) TMP6 [0x05] = 0x000222B8 } Else { TMP6 [Zero] = (0x00010000 | DID1) TMP6 [One] = (0x00010000 | DID2) TMP6 [0x02] = (0x00010000 | DID3) TMP6 [0x03] = (0x00010000 | DID4) TMP6 [0x04] = (0x00010000 | DID5) TMP6 [0x05] = (0x00010000 | DID6) } Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */ } If ((NDID == 0x07)) { Name (TMP7, Package (0x07) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP7 [Zero] = (0x00010000 | DID1) TMP7 [One] = (0x00010000 | DID2) TMP7 [0x02] = (0x00010000 | DID3) TMP7 [0x03] = (0x00010000 | DID4) TMP7 [0x04] = (0x00010000 | DID5) TMP7 [0x05] = (0x00010000 | DID6) TMP7 [0x06] = 0x000222B8 } Else { TMP7 [Zero] = (0x00010000 | DID1) TMP7 [One] = (0x00010000 | DID2) TMP7 [0x02] = (0x00010000 | DID3) TMP7 [0x03] = (0x00010000 | DID4) TMP7 [0x04] = (0x00010000 | DID5) TMP7 [0x05] = (0x00010000 | DID6) TMP7 [0x06] = (0x00010000 | DID7) } Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */ } If ((NDID > 0x07)) { Name (TMP8, Package (0x08) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) If ((ISPE == One)) { TMP8 [Zero] = (0x00010000 | DID1) TMP8 [One] = (0x00010000 | DID2) TMP8 [0x02] = (0x00010000 | DID3) TMP8 [0x03] = (0x00010000 | DID4) TMP8 [0x04] = (0x00010000 | DID5) TMP8 [0x05] = (0x00010000 | DID6) TMP8 [0x06] = (0x00010000 | DID7) TMP8 [0x07] = 0x000222B8 } Else { TMP8 [Zero] = (0x00010000 | DID1) TMP8 [One] = (0x00010000 | DID2) TMP8 [0x02] = (0x00010000 | DID3) TMP8 [0x03] = (0x00010000 | DID4) TMP8 [0x04] = (0x00010000 | DID5) TMP8 [0x05] = (0x00010000 | DID6) TMP8 [0x06] = (0x00010000 | DID7) TMP8 [0x07] = (0x00010000 | DID8) } Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */ } Return (Package (0x02) { 0x0400, 0x000222B8 }) } 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 (0x66) { 0x50, 0x32, 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) { GVID, 32, Offset (0x10), MADR, 32, Offset (0x50), , 1, GIVD, 1, , 1, GUMA, 5, Offset (0x52), Offset (0x54), , 4, GMFN, 1, Offset (0x58), Offset (0x5C), GSTM, 32, Offset (0xE0), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xE4), ASLE, 8, Offset (0xE8), Offset (0xFC), ASLS, 32 } Method (GTTM, 0, Serialized) { If ((GVID == 0xFFFFFFFF)) { Return (ABTR) /* \ABTR */ } Else { Return (MADR) /* \_SB_.PCI0.GFX0.MADR */ } } OperationRegion (IGMM, SystemMemory, GTTM (), 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 (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 (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 ((GVID != 0xFFFFFFFF)) { If ((GEFC == 0x04)) { GXFC = GBDA () } If ((GEFC == 0x06)) { GXFC = SBCB () } GEFC = Zero GSSE = Zero SCIE = Zero } SCIS = One 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 } ElseIf ((Local1 & 0x08)) { PFIT = 0x08 } Else { PFIT = One } } If ((Local0 == 0x06)) { If ((Local1 & 0x08)) { PFIT = 0x08 } ElseIf ((Local1 & One)) { PFIT = One } Else { PFIT = 0x06 } } If ((Local0 == 0x08)) { If ((Local1 & One)) { PFIT = One } ElseIf ((Local1 & 0x06)) { PFIT = 0x06 } Else { PFIT = 0x08 } } } Else { PFIT ^= 0x07 } PFIT |= 0x80000000 ASLC = 0x04 } ElseIf ((Arg0 == One)) { BCLP = ((Arg1 * 0xFF) / 0x64) BCLP |= 0x80000000 ASLC = 0x02 } ElseIf ((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, 0x22B8) // _ADR: Address Name (_DDN, "CHV ISP - 808622B8") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (((ISPA != Zero) && (ISPD == One))) { Return (0x0F) } Else { Return (Zero) } } Name (SBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00400000, // Address Length _Y34) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (SBUF, \_SB.PCI0.GFX0.ISP0._Y34._BAS, B0BA) // _BAS: Base Address B0BA = ISPA /* \ISPA */ 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) } ElseIf ((Arg0 == 0x02)) { Return (0x02) } Else { Return (0x0F) } } } } Scope (_PR) { Processor (CPU0, 0x01, 0x00000000, 0x00) {} Processor (CPU1, 0x02, 0x00000000, 0x00) {} Processor (CPU2, 0x03, 0x00000000, 0x00) {} Processor (CPU3, 0x04, 0x00000000, 0x00) {} } Name (PICM, Zero) 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) } ElseIf ((Arg0 == One)) { P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08)) } ElseIf ((Arg0 == 0x02)) { P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10)) } ElseIf ((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, 0x34) Field (SWC1, DWordAcc, NoLock, Preserve) { Offset (0x02), PM1E, 16, Offset (0x20), G0S, 32, Offset (0x28), G0EN, 32, Offset (0x30), SSMI, 32 } OperationRegion (SCWS, SystemMemory, (GBA1 | 0x0200), 0x04) Field (SCWS, DWordAcc, Lock, Preserve) { , 9, SOCW, 1 } OperationRegion (TPIS, SystemMemory, (GBA3 | 0x0204), 0x04) Field (TPIS, DWordAcc, Lock, Preserve) { , 14, PADW, 1 } Method (PPTS, 1, NotSerialized) { SSEN = SSMI /* \SSMI */ SPM1 = PM1E /* \PM1E */ P80D = Zero P8XH (Zero, Arg0) XMIO = (XMMA & 0xFFFFFFF0) If (_OSI ("Android")) { If ((\_SB.PWRB.UPPS == One)) {} } G1S3 = Ones G1S2 = Ones G1S = One G1E = One G0S = Ones SOCW = One PADW = One If (CondRefOf (TCGM)) { \_SB.PCI0.SBRG.TPM.PTS (Arg0) } } Name (XMIO, Zero) OperationRegion (XPEB, SystemMemory, (PEBS + 0x000A0000), 0x78) Field (XPEB, DWordAcc, NoLock, Preserve) { Offset (0x04), , 1, XMSE, 1, Offset (0x10), XMMA, 32, Offset (0x74), XHDX, 2 } Method (XWAM, 1, Serialized) { If ((XPME == One)) { If (((XMIO != Zero) && (XMIO != 0xFFFFFFF0))) { Local0 = XHDX /* \XHDX */ Local1 = XMMA /* \XMMA */ Local2 = XMSE /* \XMSE */ XMMA = XMIO /* \XMIO */ XHDX = Zero XMSE = One OperationRegion (XWAM, SystemMemory, (XMIO + 0x80A4), 0x04) Field (XWAM, DWordAcc, NoLock, Preserve) { , 28, PMEC, 1 } PMEC = One PMEB = One XMSE = Local2 XMMA = Local1 XHDX = Local0 P8XH (One, Arg0) } } } Name (LLID, Zero) Method (PWAK, 1, Serialized) { SSMI = SSEN /* \SSEN */ PM1E = SPM1 /* \SPM1 */ P8XH (One, 0xAB) If ((Arg0 == 0x03)) { XWAM (0xAE) } If (\_SB.RTCS) {} Else { Notify (\_SB.PWRB, 0x02) // Device Wake } If (NEXP) { If ((OSCC & 0x02)) { \_SB.PCI0.NHPG () } If ((OSCC & 0x04)) { \_SB.PCI0.NPME () } } If ((Arg0 == 0x03)) { \_SB.PCI0.SEC0.SHAD = One } If (((BDID == CHRB) | (BDID == CIRB))) { PNOT () } Else { BNUM = Zero BNUM |= ((\_SB.PCI0.SBRG.H_EC.B1ST & 0x08) >> 0x03) If ((BNUM == Zero)) { If ((\_SB.PCI0.SBRG.H_EC.VPWR != PWRS)) { PWRS = \_SB.PCI0.SBRG.H_EC.VPWR PNOT () } } ElseIf ((\_SB.PCI0.SBRG.H_EC.RPWR != PWRS)) { PWRS = \_SB.PCI0.SBRG.H_EC.RPWR PNOT () } If ((PFLV == FMBL)) { ECON = One LIDS = \_SB.PCI0.SBRG.H_EC.LSTE LLID = LIDS /* \LIDS */ If ((Arg0 == 0x03)) { LLID |= 0x80 } If (IGDS) { P8XH (Zero, 0x0A) If ((LIDS == Zero)) { \_SB.PCI0.GFX0.CLID = 0x80000000 } If ((LIDS == One)) { \_SB.PCI0.GFX0.CLID = 0x80000003 } } Notify (\_SB.LID0, 0x80) // Status Change 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 } If ((PFLV == FMBL)) { If (((BDID != CHRB) & (BDID != CIRB))) { B1SC = \_SB.PCI0.SBRG.H_EC.B1CC B1SS = \_SB.PCI0.SBRG.H_EC.B1ST If ((OSYS >= 0x07D6)) { Notify (\_SB.PCI0.SBRG.H_EC.BAT0, 0x81) // Information Change Notify (\_SB.PCI0.SBRG.H_EC.BAT1, 0x81) // Information Change } Else { Notify (\_SB.PCI0.SBRG.H_EC.BAT0, 0x80) // Status Change Notify (\_SB.PCI0.SBRG.H_EC.BAT1, 0x80) // Status Change } } } If ((DPTE == One)) { If ((CHGR == One)) { Notify (\_SB.TCHG, 0x80) // Status Change } } } Scope (_SB) { OperationRegion (PMS0, SystemIO, PMBS, 0x04) Field (PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1 } Name (OSCI, Zero) Name (OSCO, Zero) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { CreateDWordField (Arg3, Zero, STS0) CreateDWordField (Arg3, 0x04, CAP0) If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */)) { If ((Arg1 == One)) { If ((CAP0 & 0x04)) { OSCO = 0x04 If (((HGMD & 0x0F) != 0x02)) { CAP0 &= 0x3B STS0 |= 0x10 } } } Else { STS0 &= 0xFFFFFF00 STS0 |= 0x0A } } Else { STS0 &= 0xFFFFFF00 STS0 |= 0x06 } Return (Arg3) } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x1D, 0x04 }) Name (PBST, One) Name (UPPS, Zero) Name (PBLV, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If (((ECON == One) && PBST)) { Return (0x0F) } Return (0x0F) } Method (PBUP, 0, NotSerialized) { If (UPPS) { Notify (PWRB, 0xC0) // Hardware-Specific } } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("9c355bcb-35fa-44f7-8a67-447359c36a03"))) { If ((Zero == ToInteger (Arg1))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { Return (Buffer (One) { 0x07 /* . */ }) } ElseIf ((_T_0 == One)) { UPPS = One Return (Zero) } ElseIf ((_T_0 == 0x02)) { If (UPPS) { If (!PBLV) { Return (Zero) } Else { Return (One) } } } Break } } } Return (Buffer (One) { 0x00 /* . */ }) } } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID } 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 } If (_OSI ("Windows 2015")) { OSYS = 0x07DF } If ((OSYS == 0x07D9)) { ^GFX0.GSES = One } } } 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) { , 1, LHAD, 1, LATA, 1, LDIO, 1, LARD, 1, LIO1, 1, LCEP, 1, LANB, 1, LHCI, 1, LOTG, 1, LECI, 1, LHSI, 1 } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("8b38b469-6f95-4b08-9b02-2defcc2d2c35"))) { If ((Arg2 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x03 /* . */ }) } } If ((Arg2 == One)) { Return ((PMBS + 0x20)) } Return (Zero) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x00000009, } }) Return (RBUF) /* \_SB_.GPED._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSYS >= 0x07DD)) { If ((PB1E & One)) { Return (Zero) } } Return (Zero) } Method (_AEI, 0, Serialized) // _AEI: ACPI Event Interrupts { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000, "\\_SB.GPED", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } }) Return (RBUF) /* \_SB_.GPED._AEI.RBUF */ } Method (_E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE { If ((PWBS == One)) { PWBS = One Notify (PWRB, 0x80) // Status Change } If ((PMEB == One)) { PMEB = One } If ((^^PCI0.SATA.PMES == One)) { ^^PCI0.SATA.PMES = One Notify (^^PCI0.SATA, 0x02) // Device Wake } If ((^^PCI0.HDEF.PMES == One)) { ^^PCI0.HDEF.PMES = One Notify (^^PCI0.HDEF, 0x02) // Device Wake } If ((^^PCI0.XHC1.PMES == One)) { ^^PCI0.XHC1.PMES = One Notify (^^PCI0.XHC1, 0x02) // Device Wake } } } Device (GPO0) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FF") // _HID: Hardware ID Name (_CID, "INT33FF") // _CID: Compatible ID Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHWEST") // _DDN: DOS Device Name Name (_UID, One) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED80000, // Address Base 0x00008000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000031, } }) Return (RBUF) /* \_SB_.GPO0._CRS.RBUF */ } OperationRegion (GPM0, SystemMemory, (GBA0 | 0x5800), 0x30) Field (GPM0, DWordAcc, Lock, Preserve) { , 1, TSRR, 1, Offset (0x18), , 1, TSR2, 1, Offset (0x28), , 1, TSRS, 1 } Name (AVBL, One) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == Zero)) { AVBL = Arg1 } } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Android")) { AVBL = Zero } If ((GOAE == One)) { Return (0x0F) } Return (Zero) } } Device (GPO1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FF") // _HID: Hardware ID Name (_CID, "INT33FF") // _CID: Compatible ID Name (_DDN, "General Purpose Input/Output (GPIO) controller - NORTH") // _DDN: DOS Device Name Name (_UID, 0x02) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED88000, // Address Base 0x00008000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000030, } }) Return (RBUF) /* \_SB_.GPO1._CRS.RBUF */ } OperationRegion (GPM1, SystemMemory, (GBA1 | 0x4428), 0x04) Field (GPM1, DWordAcc, Lock, Preserve) { , 1, CWLE, 1 } Name (AVBL, One) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == Zero)) { AVBL = Arg1 } } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Android")) { AVBL = Zero } If ((GOAE == One)) { Return (0x0F) } Return (Zero) } } Device (GPO2) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FF") // _HID: Hardware ID Name (_CID, "INT33FF") // _CID: Compatible ID Name (_DDN, "General Purpose Input/Output (GPIO) controller - EAST") // _DDN: DOS Device Name Name (_UID, 0x03) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED90000, // Address Base 0x00008000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000032, } }) Return (RBUF) /* \_SB_.GPO2._CRS.RBUF */ } OperationRegion (GPM2, SystemMemory, (GBA2 | 0x4820), 0x04) Field (GPM2, DWordAcc, Lock, Preserve) { , 1, SHD3, 1 } Name (AVBL, One) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == Zero)) { AVBL = Arg1 } } Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Android")) { AVBL = Zero } If ((GOAE == One)) { Return (0x0F) } Return (Zero) } } Device (GPO3) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "INT33FF") // _HID: Hardware ID Name (_CID, "INT33FF") // _CID: Compatible ID Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHEAST") // _DDN: DOS Device Name Name (_UID, 0x04) // _UID: Unique ID Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED98000, // Address Base 0x00008000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x0000005B, } }) Return (RBUF) /* \_SB_.GPO3._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((GOAE == One)) { Return (0x0F) } Return (Zero) } } 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 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (RBUF, ResourceTemplate () { GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1770, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0006 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1770, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0005 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1770, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0004 } GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x1770, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x0002 } }) Return (RBUF) /* \_SB_.TBAD._CRS.RBUF */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler Debug = "Method _DSM for Button Device" If ((Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */)) { While (One) { _T_0 = Arg2 If ((_T_0 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } ElseIf ((_T_0 == One)) { Return (0x03) } Break } } Else { Return (Buffer (One) { 0x00 /* . */ }) } } } 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 */ } Method (_STA, 0, NotSerialized) // _STA: Status { Return (Zero) } 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 (PIND) { Name (_HID, "INT3497") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Android")) { Return (0x0F) } Return (Zero) } Name (PDAT, Package (0x03) { Package (0x02) { "VOLUME_UP", Package (0x01) { 0x02 } }, Package (0x02) { "VOLUME_DOWN", Package (0x01) { 0x02 } }, Package (0x02) { "HOME_BUTTON", Package (0x01) { 0x02 } } }) Method (_IND, 0, Serialized) { Return (PDAT) /* \_SB_.PIND.PDAT */ } } } 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, 0xFEA00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED01000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED03000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED06000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED08000, // Address Base 0x00002000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED80000, // Address Base 0x00040000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */ } } } Method (BRTN, 1, Serialized) { If (((DIDX & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD1F, Arg0) } } Scope (_GPE) { Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE { L01C += One P8XH (Zero, One) P8XH (One, L01C) If (((RP1D == Zero) && \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { \_SB.PCI0.RP01.PDCX = One \_SB.PCI0.RP01.HPSX = One If (!\_SB.PCI0.RP01.PDSX) { \_SB.PCI0.RP01.L0SE = Zero } Notify (\_SB.PCI0.RP01, Zero) // Bus Check } Else { \_SB.PCI0.RP01.HPSX = One } } If (((RP2D == Zero) && \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { \_SB.PCI0.RP02.PDCX = One \_SB.PCI0.RP02.HPSX = One If (!\_SB.PCI0.RP02.PDSX) { \_SB.PCI0.RP02.L0SE = Zero } Notify (\_SB.PCI0.RP02, Zero) // Bus Check } Else { \_SB.PCI0.RP02.HPSX = One } } If (((RP3D == Zero) && \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { \_SB.PCI0.RP03.PDCX = One \_SB.PCI0.RP03.HPSX = One If (!\_SB.PCI0.RP03.PDSX) { \_SB.PCI0.RP03.L0SE = Zero } Notify (\_SB.PCI0.RP03, Zero) // Bus Check } Else { \_SB.PCI0.RP03.HPSX = One } } If (((RP4D == Zero) && \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { \_SB.PCI0.RP04.PDCX = One \_SB.PCI0.RP04.HPSX = One If (!\_SB.PCI0.RP04.PDSX) { \_SB.PCI0.RP04.L0SE = Zero } Notify (\_SB.PCI0.RP04, Zero) // Bus Check } Else { \_SB.PCI0.RP04.HPSX = One } } } Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE { GPEC = Zero If (CondRefOf (\_TZ.TZ01)) { Notify (\_TZ.TZ01, 0x80) // Thermal Status Change } } Method (_L17, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If (((BDID == CHRB) | (BDID == CIRB))) { GP23 = One If (CondRefOf (\_TZ.TZ01)) { Notify (\_TZ.TZ01, 0x80) // Thermal Status Change } } } Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE { PSCI = One } Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If ((\_SB.PCI0.GFX0.GSSE && !GSMI)) { \_SB.PCI0.GFX0.GSCI () } } Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If ((RP1D == Zero)) { \_SB.PCI0.RP01.HPME () Notify (\_SB.PCI0.RP01, 0x02) // Device Wake } If ((RP2D == Zero)) { \_SB.PCI0.RP02.HPME () Notify (\_SB.PCI0.RP02, 0x02) // Device Wake } If ((RP3D == Zero)) { \_SB.PCI0.RP03.HPME () Notify (\_SB.PCI0.RP03, 0x02) // Device Wake } If ((RP4D == Zero)) { \_SB.PCI0.RP04.HPME () Notify (\_SB.PCI0.RP04, 0x02) // Device Wake } } Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake Notify (\_SB.PCI0.XHC1, 0x02) // Device Wake } } Device (_SB.TPM) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (TCMF) { Return (0x01013469) } ElseIf ((TTDP == Zero)) { Return (0x310CD041) } Else { Return ("MSFT0101") } } Method (_STR, 0, NotSerialized) // _STR: Description String { If ((TTDP == Zero)) { Return (Unicode ("TPM 1.2 Device")) } Else { Return (Unicode ("TPM 2.0 Device")) } } Name (_UID, One) // _UID: Unique ID Name (CRST, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00001000, // Address Length _Y35) Memory32Fixed (ReadOnly, 0xFED70000, // Address Base 0x00001000, // Address Length _Y36) }) Name (CRSD, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED40000, // Address Base 0x00001000, // Address Length _Y37) }) Name (CRSI, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED40000, // Address Base 0x00001000, // Address Length _Y38) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If ((AMDT == One)) { CreateDWordField (CRST, \_SB.TPM._Y35._BAS, MTFB) // _BAS: Base Address CreateDWordField (CRST, \_SB.TPM._Y35._LEN, LTFB) // _LEN: Length MTFB = TPMB /* \TPMB */ LTFB = 0x1000 CreateDWordField (CRST, \_SB.TPM._Y36._BAS, MTFC) // _BAS: Base Address CreateDWordField (CRST, \_SB.TPM._Y36._LEN, LTFC) // _LEN: Length MTFC = TPMC /* \TPMC */ LTFC = 0x1000 Return (CRST) /* \_SB_.TPM_.CRST */ } ElseIf ((DTPT == One)) { CreateDWordField (CRSD, \_SB.TPM._Y37._BAS, MTFE) // _BAS: Base Address CreateDWordField (CRSD, \_SB.TPM._Y37._LEN, LTFE) // _LEN: Length MTFE = 0xFED40000 LTFE = 0x0880 Return (CRSD) /* \_SB_.TPM_.CRSD */ } ElseIf ((TTPF == One)) { CreateDWordField (CRSI, \_SB.TPM._Y38._BAS, MTFD) // _BAS: Base Address CreateDWordField (CRSI, \_SB.TPM._Y38._LEN, LTFD) // _LEN: Length MTFD = 0xFED40000 LTFD = 0x5000 Return (CRSI) /* \_SB_.TPM_.CRSI */ } ElseIf ((TTPF == Zero)) { CreateDWordField (CRSI, \_SB.TPM._Y38._BAS, MTFF) // _BAS: Base Address MTFF = TPMM /* \TPMM */ Return (CRSI) /* \_SB_.TPM_.CRSI */ } } OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000) Field (TMMB, ByteAcc, Lock, Preserve) { Offset (0x04), LCST, 32, Offset (0x40), CREQ, 32, CSTS, 32, Offset (0x4C), SCMD, 32 } OperationRegion (CRBD, SystemMemory, TPMM, 0x48) Field (CRBD, AnyAcc, NoLock, Preserve) { Offset (0x04), HERR, 32, Offset (0x40), HCMD, 32, HSTS, 32 } OperationRegion (TICR, SystemMemory, 0xE00D0000, 0x0100) Field (TICR, AnyAcc, NoLock, Preserve) { Offset (0x8C), STAT, 32 } Method (_STA, 0, NotSerialized) // _STA: Status { If ((TTDP == Zero)) { If (TPMF) { Return (0x0F) } Return (Zero) } ElseIf ((TTDP == One)) { If (TPMF) { Return (0x0F) } Return (Zero) } Return (Zero) } Method (STRT, 3, Serialized) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler OperationRegion (TPMR, SystemMemory, FTPM, 0x1000) Field (TPMR, AnyAcc, NoLock, Preserve) { Offset (0x04), FERR, 32, Offset (0x0C), BEGN, 32 } Name (TIMR, Zero) While (One) { _T_0 = ToInteger (Arg1) If ((_T_0 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } ElseIf ((_T_0 == One)) { STAT = One Return (Zero) } Break } Return (One) } Method (CRYF, 3, Serialized) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler While (One) { _T_0 = ToInteger (Arg1) If ((_T_0 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } ElseIf ((_T_0 == One)) { Name (TPMV, Package (0x02) { One, Package (0x02) { One, 0x20 } }) If ((_STA () == Zero)) { Return (Package (0x01) { Zero }) } Return (TPMV) /* \_SB_.TPM_.CRYF.TPMV */ } Break } Return (Buffer (One) { 0x00 /* . */ }) } } Scope (_SB.TPM) { OperationRegion (TSMI, SystemIO, SMIA, 0x02) Field (TSMI, WordAcc, NoLock, Preserve) { SMI, 16 } 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 ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { Return (Buffer (0x02) { 0xFF, 0x01 /* .. */ }) } ElseIf ((_T_0 == One)) { Return ("1.2") } ElseIf ((_T_0 == 0x02)) { ToInteger (DerefOf (Arg3 [Zero]), TMF2) /* \TMF2 */ TMF1 = OFST /* \OFST */ TMF1 |= 0x1200 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } TMF2 <<= 0x08 TMF2 |= OFST /* \TMF2 */ SMI = TMF2 /* \TMF2 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } If ((TMF1 == 0xFF)) { Return (One) } Return (Zero) } ElseIf ((_T_0 == 0x03)) { Name (PPI1, Package (0x02) { Zero, Zero }) TMF1 = OFST /* \OFST */ TMF1 |= 0x1100 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (One) } PPI1 [One] = TMF1 /* \TMF1 */ Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */ } ElseIf ((_T_0 == 0x04)) { Return (TRST) /* \TRST */ } ElseIf ((_T_0 == 0x05)) { Name (PPI2, Package (0x03) { Zero, Zero, Zero }) TMF1 = OFST /* \OFST */ TMF1 |= 0x2100 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } PPI2 [One] = TMF1 /* \TMF1 */ TMF1 = OFST /* \OFST */ TMF1 |= 0x3100 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } If ((TMF1 == 0xF0)) { TMF1 = OFST /* \OFST */ TMF1 |= 0x5100 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { PPI2 [0x02] = 0xFFFFFFF0 Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */ } } ElseIf ((TMF1 == 0xF1)) { TMF1 = OFST /* \OFST */ TMF1 |= 0x5100 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { PPI2 [0x02] = 0xFFFFFFF1 Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */ } } Else { PPI2 [0x02] = TMF1 /* \TMF1 */ } Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */ } ElseIf ((_T_0 == 0x06)) { Return (0x03) } ElseIf ((_T_0 == 0x07)) { ToInteger (DerefOf (Arg3 [Zero]), TMF2) /* \TMF2 */ TMF1 = OFST /* \OFST */ TMF1 |= 0x1200 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } TMF2 <<= 0x08 TMF2 |= OFST /* \TMF2 */ SMI = TMF2 /* \TMF2 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } If ((TMF1 == 0xF1)) { Return (One) } Return (Zero) } ElseIf ((_T_0 == 0x08)) { ToInteger (DerefOf (Arg3 [Zero]), TMF2) /* \TMF2 */ TMF1 = OFST /* \OFST */ TMF1 |= 0x4300 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF2 <<= 0x08 TMF2 |= OFST /* \TMF2 */ SMI = TMF2 /* \TMF2 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 Return (TMF1) /* \TMF1 */ } Else { } Break } } ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d"))) { While (One) { _T_1 = ToInteger (Arg2) If ((_T_1 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } ElseIf ((_T_1 == One)) { TMF1 = OFST /* \OFST */ TMF1 |= 0x2200 /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } ToInteger (DerefOf (Arg3 [Zero]), TMF1) /* \TMF1 */ TMF1 <<= 0x08 TMF1 |= OFST /* \TMF1 */ SMI = TMF1 /* \TMF1 */ TMF1 = SMI /* \_SB_.TPM_.SMI_ */ TMF1 >>= 0x08 If ((TMF1 == 0xFF)) { Return (0x02) } Return (Zero) } Else { } Break } } If ((Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8"))) { Return (CRYF (Arg1, Arg2, Arg3)) } If ((Arg0 == ToUUID ("6bbf6cab-5463-4714-b7cd-f0203c0368d4"))) { Return (STRT (Arg1, Arg2, Arg3)) } Return (Buffer (One) { 0x00 /* . */ }) } } OperationRegion (IRNV, SystemMemory, 0xFFFF0000, 0xAA55) Field (IRNV, AnyAcc, Lock, Preserve) { INSC, 8 } Scope (_TZ) { Name (LEGA, One) Name (LEGP, One) Name (LEGC, One) PowerResource (FN00, 0x00, 0x0000) { Method (_STA, 0, Serialized) // _STA: Status { If (((BDID == CHRB) | (BDID == CIRB))) { Return (Zero) } Return (VFN0) /* \VFN0 */ } Method (_ON, 0, Serialized) // _ON_: Power On { VFN0 = One If ((\_SB.PCI0.SBRG.H_EC.ECAV && LEGA)) { \_SB.PCI0.SBRG.H_EC.ECWT (One, RefOf (\_SB.PCI0.SBRG.H_EC.FNSL)) \_SB.PCI0.SBRG.H_EC.ECWT (0x64, RefOf (\_SB.PCI0.SBRG.H_EC.FDCY)) \_SB.PCI0.SBRG.H_EC.ECMD (0x1A) } } Method (_OFF, 0, Serialized) // _OFF: Power Off { VFN0 = Zero If ((\_SB.PCI0.SBRG.H_EC.ECAV && LEGA)) { \_SB.PCI0.SBRG.H_EC.ECWT (One, RefOf (\_SB.PCI0.SBRG.H_EC.FNSL)) \_SB.PCI0.SBRG.H_EC.ECWT (Zero, RefOf (\_SB.PCI0.SBRG.H_EC.FDCY)) \_SB.PCI0.SBRG.H_EC.ECMD (0x1A) } } } Device (FAN0) { Name (_HID, EisaId ("PNP0C0B") /* Fan (Thermal Solution) */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { FN00 }) } ThermalZone (TZ01) { Name (PTMP, 0x0BB8) Name (SINI, Zero) Name (ADDR, 0x96) Name (LTV0, Zero) Name (RTV1, One) Name (RTV2, 0x30) Name (HITP, 0x55) Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy { CTYP = Arg0 } Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { If ((LEGC == Zero)) { Return (0x12E0) } Return ((0x0AAC + (CRTT * 0x0A))) } Method (_AC0, 0, Serialized) // _ACx: Active Cooling { Return (0x0EF8) } Name (_AL0, Package (0x01) // _ALx: Active List { FAN0 }) Method (_TMP, 0, Serialized) // _TMP: Temperature { If (DTSE) { If ((DTS2 > DTS1)) { Local0 = DTS2 /* \DTS2 */ } Else { Local0 = DTS1 /* \DTS1 */ } Return ((0x0AAC + (Local0 * 0x0A))) } If (\_SB.PCI0.SBRG.H_EC.ECAV) { If ((\_SB.PCI0.SBRG.H_EC.ECRD (RefOf (\_SB.PCI0.SBRG.H_EC.LTMP)) > \_SB.PCI0.SBRG.H_EC.ECRD (RefOf (\_SB.PCI0.SBRG.H_EC.TMPR)))) { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.ECRD (RefOf (\_SB.PCI0.SBRG.H_EC.LTMP)) * 0x0A))) } Else { Return ((0x0AAC + (\_SB.PCI0.SBRG.H_EC.ECRD (RefOf (\_SB.PCI0.SBRG.H_EC.TMPR)) * 0x0A))) } } Return (0x0BB8) } Method (_PSL, 0, Serialized) // _PSL: Passive List { If ((MPEN == 0x04)) { Return (Package (0x04) { \_PR.CPU0, \_PR.CPU1, \_PR.CPU2, \_PR.CPU3 }) } If (MPEN) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { If ((LEGP == Zero)) { Return (0x0EF8) } Return ((0x0AAC + (PSVT * 0x0A))) } Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1 { Return (TC1V) /* \TC1V */ } Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2 { Return (TC2V) /* \TC2V */ } Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period { Return (TSPV) /* \TSPV */ } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { If ((LEGC == Zero)) { Return (0x12AE) } Local0 = (CRTT - 0x05) Return ((0x0AAC + (Local0 * 0x0A))) } } } }