Skip to content

Instantly share code, notes, and snippets.

@bandwidthcrunch
Created March 7, 2014 20:17
Show Gist options
  • Save bandwidthcrunch/9419163 to your computer and use it in GitHub Desktop.
Save bandwidthcrunch/9419163 to your computer and use it in GitHub Desktop.
rMBP 10,1 acpi dsl
manav@manav-rMBP:~/rMBP$ cat dsdt.dsl
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20100528
*
* Disassembly of dsdt.dat, Sat Mar 8 01:43:50 2014
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00004D5C (19804)
* Revision 0x01 **** ACPI 1.0, no 64-bit math support
* Checksum 0x93
* OEM ID "APPLE "
* OEM Table ID "MacBookP"
* OEM Revision 0x00100001 (1048577)
* Compiler ID "INTL"
* Compiler Version 0x20100915 (537921813)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 1, "APPLE ", "MacBookP", 0x00100001)
{
External (PDC7)
External (PDC6)
External (PDC5)
External (PDC4)
External (PDC3)
External (PDC2)
External (PDC1)
External (PDC0)
External (\_SB_.PCI0.DTLK, MethodObj) // 0 Arguments
External (\_SB_.PCI0.EHC2)
External (\_SB_.PCI0.EHC1)
External (\_SB_.PCI0.TGPE, MethodObj) // 0 Arguments
External (\_SB_.PCI0.RMCR, MethodObj) // 0 Arguments
External (\_SB_.PCI0.DTBP)
External (\_SB_.PCI0.XHC1._INI, MethodObj) // 1 Arguments
External (\_SB_.PCI0.P0P2.GFX0)
External (\_SB_.PCI0.IGPU.CLID)
External (\_SB_.PCI0.XHC1.PDHC)
External (\_SB_.PCI0.XHC1.PDSS)
External (\_SB_.PCI0.XHC1.PCHC)
External (\_SB_.PCI0.XHC1.PCSS)
External (\_SB_.PCI0.XHC1.PBHC)
External (\_SB_.PCI0.XHC1.PBSS)
External (\_SB_.PCI0.XHC1.PAHC)
External (\_SB_.PCI0.XHC1.PASS)
Name (SP2O, 0x4E)
Name (SP1O, 0x164E)
Name (IO1B, 0x0600)
Name (IO1L, 0x70)
Name (IO2B, 0x0680)
Name (IO2L, 0x20)
Name (IO3B, 0x0290)
Name (IO3L, 0x10)
Name (SP3O, 0x2E)
Name (IO4B, 0x0A20)
Name (IO4L, 0x20)
Name (MCHB, 0xFED10000)
Name (MCHL, 0x4000)
Name (EGPB, 0xFED19000)
Name (EGPL, 0x1000)
Name (DMIB, 0xFED18000)
Name (DMIL, 0x1000)
Name (IFPB, 0xFED14000)
Name (IFPL, 0x1000)
Name (PEBS, 0xE0000000)
Name (PELN, 0x04000000)
Name (TTTB, 0xFED20000)
Name (TTTL, 0x00020000)
Name (SMBS, 0xEFA0)
Name (SMBL, 0x10)
Name (PBLK, 0x0410)
Name (PMBS, 0x0400)
Name (PMLN, 0x80)
Name (LVL2, 0x0414)
Name (LVL3, 0x0415)
Name (LVL4, 0x0416)
Name (SMIP, 0xB2)
Name (GPBS, 0x0500)
Name (GPLN, 0x80)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (PM30, 0x0430)
Name (SRCB, 0xFED1C000)
Name (SRCL, 0x4000)
Name (SUSW, 0xFF)
Name (HPTB, 0xFED00000)
Name (HPTC, 0xFED1F404)
Name (ACPH, 0xDE)
Name (ASSB, 0x00)
Name (AOTB, 0x00)
Name (AAXB, 0x00)
Name (PEHP, 0x01)
Name (SHPC, 0x01)
Name (PEPM, 0x01)
Name (PEER, 0x01)
Name (PECS, 0x01)
Name (ITKE, 0x00)
Name (DSSP, 0x00)
Name (FHPP, 0x01)
Name (FMBL, 0x01)
Name (FDTP, 0x02)
Name (BSH, 0x00)
Name (BEL, 0x01)
Name (BEH, 0x02)
Name (BRH, 0x03)
Name (BTF, 0x04)
Name (BHC, 0x05)
Name (BYB, 0x06)
Name (BPH, 0x07)
Name (BSHS, 0x08)
Name (BELS, 0x09)
Name (BRHS, 0x0A)
Name (BTFS, 0x0B)
Name (BEHS, 0x0C)
Name (BPHS, 0x0D)
Name (BTL, 0x10)
Name (BOF, 0x20)
Name (BEF, 0x21)
Name (BLLE, 0x22)
Name (BLLC, 0x23)
Name (BLCA, 0x24)
Name (TCGM, 0x01)
Name (TRTP, 0x01)
Name (TRTD, 0x02)
Name (TRTI, 0x03)
Name (GCDD, 0x01)
Name (DSTA, 0x0A)
Name (DSLO, 0x0C)
Name (DSLC, 0x0E)
Name (PITS, 0x10)
Name (SBCS, 0x12)
Name (SALS, 0x13)
Name (LSSS, 0x2A)
Name (SOOT, 0x35)
Name (PDBR, 0x4D)
Name (WOWE, 0x00)
Name (TAPD, 0x00)
OperationRegion (GNVS, SystemMemory, 0x8AD40C10, 0x0187)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
LCKF, 8,
PRM4, 8,
PRM5, 8,
P80D, 32,
LIDS, 8,
PWRS, 8,
DBGS, 8,
THOF, 8,
ACT1, 8,
ACTT, 8,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
DTSF, 8,
Offset (0x25),
REVN, 8,
Offset (0x28),
APIC, 8,
TCNT, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
C67L, 8,
NATP, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
CMCP, 8,
CIRP, 8,
SMSC, 8,
W381, 8,
SMC1, 8,
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
KSV0, 32,
KSV1, 8,
Offset (0x67),
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
Offset (0x6E),
EMAE, 8,
EMAP, 16,
EMAL, 16,
Offset (0x74),
MEFE, 8,
DSTS, 8,
Offset (0x78),
TPMP, 8,
TPME, 8,
MORD, 8,
TCGP, 8,
PPRP, 32,
PPRQ, 8,
LPPR, 8,
GTF0, 56,
GTF2, 56,
IDEM, 8,
GTF1, 56,
BID, 8,
Offset (0xAA),
ASLB, 32,
IBTT, 8,
IPAT, 8,
ITVF, 8,
ITVM, 8,
IPSC, 8,
IBLC, 8,
IBIA, 8,
ISSC, 8,
I409, 8,
I509, 8,
I609, 8,
I709, 8,
IPCF, 8,
IDMS, 8,
IF1E, 8,
HVCO, 8,
NXD1, 32,
NXD2, 32,
NXD3, 32,
NXD4, 32,
NXD5, 32,
NXD6, 32,
NXD7, 32,
NXD8, 32,
GSMI, 8,
PAVP, 8,
Offset (0xE1),
OSCC, 8,
NEXP, 8,
SDGV, 8,
SDDV, 8,
Offset (0xEB),
DSEN, 8,
ECON, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
Offset (0x100),
NVGA, 32,
NVHA, 32,
AMDA, 32,
DID6, 32,
DID7, 32,
DID8, 32,
EBAS, 32,
CPSP, 32,
EECP, 32,
EVCP, 32,
XBAS, 32,
OBS1, 32,
OBS2, 32,
OBS3, 32,
OBS4, 32,
OBS5, 32,
OBS6, 32,
OBS7, 32,
OBS8, 32,
Offset (0x157),
ATMC, 8,
PTMC, 8,
ATRA, 8,
PTRA, 8,
PNHM, 32,
TBAB, 32,
TBAH, 32,
RTIP, 8,
TSOD, 8,
ATPC, 8,
PTPC, 8,
PFLV, 8,
BREV, 8,
DPBM, 8,
DPCM, 8,
DPDM, 8,
ALFP, 8,
IMON, 8,
SDID, 8,
BLCP, 8,
BLCC, 8,
Offset (0x176),
BLCT, 32,
BLCB, 32,
NHIB, 32,
GVNV, 32
}
Scope (\_SB)
{
Name (PR00, Package (0x1C)
{
Package (0x04)
{
0x001FFFFF,
0x00,
LNKF,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
LNKG,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKC,
0x00
},
Package (0x04)
{
0x001AFFFF,
0x00,
LNKH,
0x00
},
Package (0x04)
{
0x001AFFFF,
0x01,
LNKF,
0x00
},
Package (0x04)
{
0x001AFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x001AFFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x001BFFFF,
0x00,
LNKG,
0x00
},
Package (0x04)
{
0x0018FFFF,
0x00,
LNKE,
0x00
},
Package (0x04)
{
0x0019FFFF,
0x00,
LNKE,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKA,
0x00
}
})
Name (AR00, Package (0x1C)
{
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x15
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x12
},
Package (0x04)
{
0x001AFFFF,
0x00,
0x00,
0x17
},
Package (0x04)
{
0x001AFFFF,
0x01,
0x00,
0x15
},
Package (0x04)
{
0x001AFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001AFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001BFFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x0018FFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x0019FFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x0016FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0016FFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x0016FFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x0016FFFF,
0x03,
0x00,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x11
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x12
}
})
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
Name (PR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
Name (PR0E, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (AR0E, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x11
}
})
Name (PR0F, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (AR0F, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x12
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
Name (PR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
Name (PR0B, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (AR0B, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x11
}
})
Name (PR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (AR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x12
}
})
Name (PR01, Package (0x0C)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKF,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKG,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKH,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKE,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
LNKG,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
LNKF,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKE,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKH,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x01,
LNKE,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x02,
LNKG,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x03,
LNKF,
0x00
}
})
Name (AR01, Package (0x0C)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x15
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x16
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x17
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x14
},
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x15
},
Package (0x04)
{
0x0001FFFF,
0x02,
0x00,
0x14
},
Package (0x04)
{
0x0001FFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x0005FFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x0005FFFF,
0x01,
0x00,
0x14
},
Package (0x04)
{
0x0005FFFF,
0x02,
0x00,
0x16
},
Package (0x04)
{
0x0005FFFF,
0x03,
0x00,
0x15
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,10,11,12,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Method (^BN00, 0, NotSerialized)
{
Return (0x00)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, 0x00)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00 ())
}
Return (PR00 ())
}
OperationRegion (HBUS, PCI_Config, 0x00, 0x0100)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x40),
EPEN, 1,
, 11,
EPBR, 20,
Offset (0x48),
MHEN, 1,
, 14,
MHBR, 17,
Offset (0x50),
GCLK, 1,
Offset (0x54),
D0EN, 1,
Offset (0x60),
PXEN, 1,
PXSZ, 2,
, 23,
PXBR, 6,
Offset (0x68),
DIEN, 1,
, 11,
DIBR, 20,
Offset (0x70),
, 20,
MEBR, 12,
Offset (0x80),
, 4,
PM0H, 2,
Offset (0x81),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x82),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x83),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x84),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x85),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x86),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x87),
Offset (0xA8),
, 20,
TUUD, 19,
Offset (0xBC),
, 20,
TLUD, 12,
Offset (0xC8),
, 7,
HTSE, 1
}
OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x6000)
Field (MCHT, ByteAcc, NoLock, Preserve)
{
Offset (0x5994),
RPSL, 8,
Offset (0x5998),
RP0C, 8,
RP1C, 8,
RPNC, 8
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000CF7, // Range Maximum
0x00000000, // Translation Offset
0x00000CF8, // Length
,, , TypeStatic)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000D00, // Range Minimum
0x0000FFFF, // Range Maximum
0x00000000, // Translation Offset
0x0000F300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFEAFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xFEB00000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0xFED40000, // Range Minimum
0xFED44FFF, // Range Maximum
0x00000000, // Translation Offset
0x00005000, // Length
,, , AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, 0x7C, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, 0x01))
{
CreateBitField (BUF0, 0x0358, C0RW)
Store (Zero, C0RW)
}
If (PM1H)
{
CreateDWordField (BUF0, 0x96, C4LN)
Store (Zero, C4LN)
}
If (LEqual (PM1H, 0x01))
{
CreateBitField (BUF0, 0x0428, C4RW)
Store (Zero, C4RW)
}
If (PM2L)
{
CreateDWordField (BUF0, 0xB0, C8LN)
Store (Zero, C8LN)
}
If (LEqual (PM2L, 0x01))
{
CreateBitField (BUF0, 0x04F8, C8RW)
Store (Zero, C8RW)
}
If (PM2H)
{
CreateDWordField (BUF0, 0xCA, CCLN)
Store (Zero, CCLN)
}
If (LEqual (PM2H, 0x01))
{
CreateBitField (BUF0, 0x05C8, CCRW)
Store (Zero, CCRW)
}
If (PM3L)
{
CreateDWordField (BUF0, 0xE4, D0LN)
Store (Zero, D0LN)
}
If (LEqual (PM3L, 0x01))
{
CreateBitField (BUF0, 0x0698, D0RW)
Store (Zero, D0RW)
}
If (PM3H)
{
CreateDWordField (BUF0, 0xFE, D4LN)
Store (Zero, D4LN)
}
If (LEqual (PM3H, 0x01))
{
CreateBitField (BUF0, 0x0768, D4RW)
Store (Zero, D4RW)
}
If (PM4L)
{
CreateDWordField (BUF0, 0x0118, D8LN)
Store (Zero, D8LN)
}
If (LEqual (PM4L, 0x01))
{
CreateBitField (BUF0, 0x0838, D8RW)
Store (Zero, D8RW)
}
If (PM4H)
{
CreateDWordField (BUF0, 0x0132, DCLN)
Store (Zero, DCLN)
}
If (LEqual (PM4H, 0x01))
{
CreateBitField (BUF0, 0x0908, DCRW)
Store (Zero, DCRW)
}
If (PM5L)
{
CreateDWordField (BUF0, 0x014C, E0LN)
Store (Zero, E0LN)
}
If (LEqual (PM5L, 0x01))
{
CreateBitField (BUF0, 0x09D8, E0RW)
Store (Zero, E0RW)
}
If (PM5H)
{
CreateDWordField (BUF0, 0x0166, E4LN)
Store (Zero, E4LN)
}
If (LEqual (PM5H, 0x01))
{
CreateBitField (BUF0, 0x0AA8, E4RW)
Store (Zero, E4RW)
}
If (PM6L)
{
CreateDWordField (BUF0, 0x0180, E8LN)
Store (Zero, E8LN)
}
If (LEqual (PM6L, 0x01))
{
CreateBitField (BUF0, 0x0B78, E8RW)
Store (Zero, E8RW)
}
If (PM6H)
{
CreateDWordField (BUF0, 0x019A, ECLN)
Store (Zero, ECLN)
}
If (LEqual (PM6H, 0x01))
{
CreateBitField (BUF0, 0x0C48, ECRW)
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, 0x01B4, F0LN)
Store (Zero, F0LN)
}
If (LEqual (PM0H, 0x01))
{
CreateBitField (BUF0, 0x0D18, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, 0x01C2, M1MN)
CreateDWordField (BUF0, 0x01C6, M1MX)
CreateDWordField (BUF0, 0x01CE, M1LN)
ShiftLeft (TLUD, 0x14, M1MN)
Add (Subtract (M1MX, M1MN), 0x01, M1LN)
Return (BUF0)
}
Name (GUID, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
})
Name (SUPP, 0x00)
Name (CTRL, 0x00)
Method (_OSC, 4, Serialized)
{
Store (Arg3, Local0)
CreateDWordField (Local0, 0x00, CDW1)
CreateDWordField (Local0, 0x04, CDW2)
CreateDWordField (Local0, 0x08, CDW3)
Store (CDW2, SUPP)
Store (CDW3, CTRL)
If (LEqual (0x01, OSDW ()))
{
If (LAnd (LEqual (Arg0, GUID), NEXP))
{
If (Not (And (CDW1, 0x01)))
{
If (And (CTRL, 0x02))
{
NHPG ()
}
If (And (CTRL, 0x04))
{
NPME ()
}
}
If (LNotEqual (Arg1, One))
{
Or (CDW1, 0x08, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
Store (CTRL, OSCC)
Return (Local0)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Local0)
}
}
Else
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA9, 0x12, 0x95, 0x7C, 0x05, 0x17, 0xB4, 0x4C,
/* 0008 */ 0xAF, 0x7D, 0x50, 0x6A, 0x24, 0x23, 0xAB, 0x71
}))
{
Store (0x01, \_SB.PCI0.XHC1.PASS)
Store (0x01, \_SB.PCI0.XHC1.PAHC)
Store (0x01, \_SB.PCI0.XHC1.PBSS)
Store (0x01, \_SB.PCI0.XHC1.PBHC)
Store (0x01, GI60)
Store (0x01, \_SB.PCI0.XHC1.PCSS)
Store (0x01, \_SB.PCI0.XHC1.PCHC)
Store (0x01, \_SB.PCI0.XHC1.PDSS)
Store (0x01, \_SB.PCI0.XHC1.PDHC)
Store (0x01, GI74)
}
If (LEqual (Arg0, GUID))
{
If (LEqual (\_SB.PCI0.DTBP, 0x01))
{
And (CDW3, 0xFFFFFFFB, CDW3)
}
}
Return (Local0)
}
}
Scope (\_SB.PCI0)
{
Method (AR00, 0, NotSerialized)
{
Return (\_SB.AR00)
}
Method (PR00, 0, NotSerialized)
{
Return (\_SB.PR00)
}
Method (AR01, 0, NotSerialized)
{
Return (\_SB.AR01)
}
Method (PR01, 0, NotSerialized)
{
Return (\_SB.PR01)
}
Method (AR02, 0, NotSerialized)
{
Return (\_SB.AR02)
}
Method (PR02, 0, NotSerialized)
{
Return (\_SB.PR02)
}
Method (AR04, 0, NotSerialized)
{
Return (\_SB.AR04)
}
Method (PR04, 0, NotSerialized)
{
Return (\_SB.PR04)
}
Method (AR05, 0, NotSerialized)
{
Return (\_SB.AR05)
}
Method (PR05, 0, NotSerialized)
{
Return (\_SB.PR05)
}
Method (AR06, 0, NotSerialized)
{
Return (\_SB.AR06)
}
Method (PR06, 0, NotSerialized)
{
Return (\_SB.PR06)
}
Method (AR07, 0, NotSerialized)
{
Return (\_SB.AR07)
}
Method (PR07, 0, NotSerialized)
{
Return (\_SB.PR07)
}
Method (AR08, 0, NotSerialized)
{
Return (\_SB.AR08)
}
Method (PR08, 0, NotSerialized)
{
Return (\_SB.PR08)
}
Method (AR09, 0, NotSerialized)
{
Return (\_SB.AR09)
}
Method (PR09, 0, NotSerialized)
{
Return (\_SB.PR09)
}
Method (AR0A, 0, NotSerialized)
{
Return (\_SB.AR0A)
}
Method (PR0A, 0, NotSerialized)
{
Return (\_SB.PR0A)
}
Method (AR0B, 0, NotSerialized)
{
Return (\_SB.AR0B)
}
Method (PR0B, 0, NotSerialized)
{
Return (\_SB.PR0B)
}
}
Device (MCHC)
{
Name (_ADR, 0x00)
}
Device (P0P2)
{
Name (_ADR, 0x00010000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02 ())
}
Return (PR02 ())
}
}
Device (PEG1)
{
Name (_ADR, 0x00010001)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0A ())
}
Return (PR0A ())
}
}
Device (PEG2)
{
Name (_ADR, 0x00010002)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0B ())
}
Return (PR0B ())
}
Device (SATA)
{
Name (_ADR, 0x00)
}
}
Device (IGPU)
{
Name (_ADR, 0x00020000)
}
Device (SATA)
{
Name (_ADR, 0x001F0002)
}
Device (SBUS)
{
Name (_ADR, 0x001F0003)
OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
Field (SMBP, DWordAcc, NoLock, Preserve)
{
, 2,
I2CE, 1
}
OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
Field (SMPB, DWordAcc, NoLock, Preserve)
{
, 5,
SBAR, 11
}
OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
Offset (0x02),
HCON, 8,
HCOM, 8,
TXSA, 8,
DAT0, 8,
DAT1, 8,
HBDR, 8,
PECR, 8,
RXSA, 8,
SDAT, 16
}
Method (SSXB, 2, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRXB, 1, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (0x44, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SWRB, 3, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (Arg2, DAT0)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRDB, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SWRW, 3, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
And (Arg2, 0xFF, DAT1)
And (ShiftRight (Arg2, 0x08), 0xFF, DAT0)
Store (0x4C, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRDW, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x4C, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (Or (ShiftLeft (DAT0, 0x08), DAT1))
}
Return (0xFFFFFFFF)
}
Method (SBLW, 4, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (Arg3, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (SizeOf (Arg2), DAT0)
Store (0x00, Local1)
Store (DerefOf (Index (Arg2, 0x00)), HBDR)
Store (0x54, HCON)
While (LGreater (SizeOf (Arg2), Local1))
{
Store (0x4E20, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Increment (Local1)
If (LGreater (SizeOf (Arg2), Local1))
{
Store (DerefOf (Index (Arg2, Local1)), HBDR)
Store (0x80, HSTS)
}
}
Store (0x80, HSTS)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SBLR, 3, Serialized)
{
Name (TBUF, Buffer (0x0100) {})
If (STRT ())
{
Return (0x00)
}
Store (Arg2, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x54, HCON)
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Store (DAT0, Index (TBUF, 0x00))
Store (0x80, HSTS)
Store (0x01, Local1)
While (LLess (Local1, DerefOf (Index (TBUF, 0x00))))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Store (HBDR, Index (TBUF, Local1))
Store (0x80, HSTS)
Increment (Local1)
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (TBUF)
}
Return (0x00)
}
Method (STRT, 0, Serialized)
{
Store (0xC8, Local0)
While (Local0)
{
If (And (HSTS, 0x40))
{
Decrement (Local0)
Sleep (0x01)
If (LEqual (Local0, 0x00))
{
Return (0x01)
}
}
Else
{
Store (0x00, Local0)
}
}
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x01))
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
Else
{
Return (0x00)
}
}
Return (0x01)
}
Method (COMP, 0, Serialized)
{
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x02))
{
Return (0x01)
}
Else
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
}
Return (0x00)
}
Method (KILL, 0, Serialized)
{
Or (HCON, 0x02, HCON)
Or (HSTS, 0xFF, HSTS)
}
Device (BUS0)
{
Name (_CID, "smbus")
Name (_ADR, 0x00)
Device (MKY0)
{
Name (_ADR, 0x00)
Name (_CID, "mikey")
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"refnum",
0x00,
"address",
0x39,
"device-id",
0x0CD2,
"ramp-control-address",
0x3B,
"hdet",
0x01
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Method (H1EN, 1, Serialized)
{
If (LLessEqual (Arg0, 0x01))
{
If (LEqual (Arg0, 0x01))
{
Or (GP16, 0x01, GP16)
}
Else
{
And (GP16, 0x00, GP16)
}
}
}
Method (H1IL, 0, Serialized)
{
Store (GP05, Local0)
Return (Local0)
}
Method (H1IP, 1, Serialized)
{
Store (Arg0, Local0)
If (LLessEqual (Arg0, 0x01))
{
Not (Arg0, Arg0)
Store (Arg0, GI05)
}
}
Name (H1IN, 0x15)
Scope (\_GPE)
{
Method (_L15, 0, NotSerialized)
{
If (OSDW ())
{
Notify (\_SB.PCI0.SBUS.BUS0.MKY0, 0x80)
}
Else
{
Store (0x00, GI05)
Store (0x00, GU05)
Notify (\_SB.PWRB, 0x02)
}
}
}
Method (P1IL, 0, Serialized)
{
Store (GP03, Local0)
Return (Local0)
}
Method (P1IP, 1, Serialized)
{
If (LLessEqual (Arg0, 0x01))
{
Not (Arg0, Arg0)
Store (Arg0, GI03)
}
}
Name (P1IN, 0x13)
Scope (\_GPE)
{
Method (_L13, 0, NotSerialized)
{
XOr (GI03, 0x01, GI03)
If (OSDW ())
{
Notify (\_SB.PCI0.SBUS.BUS0.MKY0, 0x81)
}
Else
{
Notify (\_SB.PWRB, 0x02)
}
}
}
}
}
Device (BUS1)
{
Name (_CID, "smbus")
Name (_ADR, 0x01)
}
}
Device (LPCB)
{
Name (_ADR, 0x001F0000)
Scope (\_SB)
{
OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
Field (\_SB.PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
{
Offset (0x20),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
Offset (0x28),
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_DIS, 0, Serialized)
{
Or (PARC, 0x80, PARC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLA, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PARC, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PARC)
}
Method (_STA, 0, Serialized)
{
If (And (PARC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Or (PBRC, 0x80, PBRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLB, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PBRC)
}
Method (_STA, 0, Serialized)
{
If (And (PBRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Or (PCRC, 0x80, PCRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLC, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PCRC)
}
Method (_STA, 0, Serialized)
{
If (And (PCRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Or (PDRC, 0x80, PDRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLD, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PDRC)
}
Method (_STA, 0, Serialized)
{
If (And (PDRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Or (PERC, 0x80, PERC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLE, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PERC, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PERC)
}
Method (_STA, 0, Serialized)
{
If (And (PERC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Or (PFRC, 0x80, PFRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLF, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PFRC)
}
Method (_STA, 0, Serialized)
{
If (And (PFRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Or (PGRC, 0x80, PGRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLG, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PGRC)
}
Method (_STA, 0, Serialized)
{
If (And (PGRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Or (PHRC, 0x80, PHRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLH, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PHRC)
}
Method (_STA, 0, Serialized)
{
If (And (PHRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
}
OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x40),
IOD0, 8,
IOD1, 8,
Offset (0xB0),
RAEN, 1,
, 13,
RCBA, 18
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x11, // Length
)
IO (Decode16,
0x0093, // Range Minimum
0x0093, // Range Maximum
0x01, // Alignment
0x0D, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{4}
})
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (_CID, EisaId ("PNP0C01"))
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (OSYS, 0x07D1))
{
If (HPAE)
{
Return (0x0F)
}
}
Else
{
If (HPAE)
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
CreateDWordField (BUF0, 0x0A, HPT0)
If (LEqual (HPAS, 0x01))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPAS, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPAS, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
}
Device (LDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x02)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0400, // Range Minimum
0x0400, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0500, // Range Minimum
0x0500, // Range Maximum
0x01, // Alignment
0x80, // Length
)
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
})
}
Device (SMC)
{
Name (_HID, EisaId ("APP0001"))
Name (_CID, "smc-huronriver")
Name (_STA, 0x0B)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0300, // Range Minimum
0x0300, // Range Maximum
0x01, // Alignment
0x20, // Length
)
Memory32Fixed (ReadWrite,
0xFEF00000, // Address Base
0x00010000, // Address Length
)
IRQNoFlags ()
{6}
})
}
Device (ALS0)
{
Name (_HID, "ACPI0008")
Name (_CID, "smc-als")
Name (BUFF, Buffer (0x02) {})
CreateByteField (BUFF, 0x00, OB0)
CreateByteField (BUFF, 0x01, OB1)
CreateWordField (BUFF, 0x00, ALSI)
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (OSYS, 0x07D9))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_ALI, 0, NotSerialized)
{
Store (\_SB.PCI0.LPCB.EC.ALB0, OB0)
Store (\_SB.PCI0.LPCB.EC.ALB1, OB1)
Store (ALSI, Local0)
Return (Local0)
}
Name (_ALR, Package (0x05)
{
Package (0x02)
{
0x0A,
0x00
},
Package (0x02)
{
0x14,
0x0A
},
Package (0x02)
{
0x32,
0x50
},
Package (0x02)
{
0x5A,
0x012C
},
Package (0x02)
{
0x64,
0x03E8
}
})
}
Device (EC)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_UID, 0x00)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
Name (_GPE, 0x17)
Name (_PRW, Package (0x02)
{
0x23,
0x04
})
Name (ECOK, 0x00)
OperationRegion (ECOR, EmbeddedControl, 0x00, 0xFF)
Field (ECOR, ByteAcc, Lock, Preserve)
{
ECVS, 8,
Offset (0x02),
Offset (0x03),
G3HT, 1,
Offset (0x04),
WBCB, 1,
DSLP, 1,
Offset (0x05),
Offset (0x06),
WKRS, 8,
Offset (0x10),
ECSS, 8,
PLIM, 8,
ALB0, 8,
ALB1, 8,
WTLB, 8,
WTMB, 8,
Offset (0x20),
SPTR, 8,
SSTS, 8,
SADR, 8,
SCMD, 8,
SBFR, 256,
SCNT, 8,
SAAD, 8,
SAD0, 8,
SAD1, 8,
SMUX, 8,
Offset (0x60),
ELSW, 1,
EACP, 1,
ECDI, 1,
ENMI, 1,
Offset (0x61),
EMHP, 1,
Offset (0x62),
Offset (0x63),
Offset (0x64),
SWLO, 1,
SWLC, 1,
SWAI, 1,
SWAR, 1,
SWCI, 1,
SWCE, 1,
SWMI, 1,
SWMR, 1,
SWPB, 1,
SWGP, 1,
SWPM, 1,
SWWT, 1,
SWLB, 1,
Offset (0x66),
Offset (0x67),
Offset (0x68),
EWLO, 1,
EWLC, 1,
EWAI, 1,
EWAR, 1,
EWCI, 1,
EWCE, 1,
EWMI, 1,
EWMR, 1,
EWPB, 1,
EWGP, 1,
EWPM, 1,
ENWT, 1,
EWLB, 1,
Offset (0x6A),
Offset (0x6B),
Offset (0x6C),
LWLO, 1,
LWLC, 1,
LWAI, 1,
LWAR, 1,
LWCI, 1,
LWCE, 1,
LWMI, 1,
LWMR, 1,
LWPB, 1,
LWGP, 1,
LWPM, 1,
LWWT, 1,
LWLB, 1,
Offset (0x6E),
Offset (0x6F),
Offset (0x70)
}
Field (ECOR, ByteAcc, Lock, Preserve)
{
Offset (0x03),
G3AD, 1,
BLOD, 1,
S4WE, 1,
Offset (0x04),
Offset (0x6C),
LWE0, 8,
LWE1, 8,
LWE2, 8,
LWE3, 8
}
Field (ECOR, ByteAcc, Lock, Preserve)
{
Offset (0x24),
SBDW, 16,
Offset (0x46),
SADW, 16
}
Method (WAKE, 0, NotSerialized)
{
If (ECOK)
{
Store ("EC Wake reason =", Debug)
Store (WKRS, Debug)
Store (EWAI, Debug)
Store (EWAR, Debug)
Return (WKRS)
}
Else
{
Return (0x00)
}
}
Device (SMB0)
{
Name (_HID, "ACPI0001")
Name (_EC, 0x2010)
Mutex (SMTX, 0x00)
Method (_STA, 0, NotSerialized)
{
If (OSDW ())
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Device (SBS0)
{
Name (_HID, "ACPI0002")
Name (_SBS, 0x01)
}
Method (SBPC, 1, NotSerialized)
{
Store (Arg0, Local0)
While (Local0)
{
If (LEqual (SPTR, 0x00))
{
Return (And (SSTS, 0x1F))
}
Sleep (0x01)
Decrement (Local0)
}
Return (0x18)
}
Method (SBRW, 3, NotSerialized)
{
Store (One, Local0)
If (LNot (Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF)))
{
If (LEqual (SPTR, 0x00))
{
Store (ShiftLeft (Arg0, 0x01), SADR)
Store (Arg1, SCMD)
Store (0x09, SPTR)
Store (SBPC (0x03E8), Local0)
If (LNot (Local0))
{
Store (SBDW, Arg2)
}
}
Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
}
Return (Local0)
}
Method (SBRB, 3, NotSerialized)
{
Store (One, Local0)
Store (Buffer (0x01)
{
0x00
}, Local1)
If (LNot (Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF)))
{
If (LEqual (SPTR, 0x00))
{
Store (ShiftLeft (Arg0, 0x01), SADR)
Store (Arg1, SCMD)
Store (0x0B, SPTR)
Store (SBPC (0x03E8), Local0)
If (LNot (Local0))
{
Store (SBFR, Arg2)
}
}
Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
}
Return (Local0)
}
}
Method (_Q10, 0, NotSerialized)
{
If (OSDW ())
{
Notify (\_SB.PCI0.LPCB.EC.SMB0, 0x80)
}
Else
{
If (And (SSTS, 0x40))
{
If (LNot (Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF)))
{
Store (ShiftRight (SAAD, 0x01), Local0)
If (LEqual (Local0, 0x0A))
{
\_SB.BAT0.BNOT (SADW)
}
Store (0x00, SSTS)
Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
}
}
}
}
Method (_Q20, 0, NotSerialized)
{
Store (ELSW, LIDS)
Store (ELSW, \_SB.PCI0.IGPU.CLID)
Notify (\_SB.LID0, 0x80)
}
Method (_Q21, 0, NotSerialized)
{
If (EACP)
{
Store (0x01, PWRS)
}
Else
{
Store (0x00, PWRS)
}
Notify (\_SB.ADP1, 0x80)
PNOT ()
}
Method (_Q40, 0, NotSerialized)
{
Notify (\_SB.PCI0.LPCB.ALS0, 0x80)
}
Method (_Q5A, 0, NotSerialized)
{
Notify (\_SB.SLPB, 0x80)
}
Method (_Q80, 0, NotSerialized)
{
Notify (\_PR.CPU0, 0x80)
Notify (\_PR.CPU1, 0x80)
Notify (\_PR.CPU2, 0x80)
Notify (\_PR.CPU3, 0x80)
Notify (\_PR.CPU4, 0x80)
Notify (\_PR.CPU5, 0x80)
Notify (\_PR.CPU6, 0x80)
Notify (\_PR.CPU7, 0x80)
Store (EGPS, Local0)
If (LEqual (Local0, 0x00))
{
Notify (\_SB.PCI0.P0P2.GFX0, 0xD1)
}
Else
{
If (LAnd (LGreater (Local0, 0x00), LLessEqual (Local0, 0x01)))
{
Notify (\_SB.PCI0.P0P2.GFX0, 0xD2)
}
If (LAnd (LGreater (Local0, 0x01), LLessEqual (Local0, 0x07)))
{
Notify (\_SB.PCI0.P0P2.GFX0, 0xD3)
}
If (LAnd (LGreater (Local0, 0x08), LLessEqual (Local0, 0x0C)))
{
Notify (\_SB.PCI0.P0P2.GFX0, 0xD4)
}
If (LAnd (LGreater (Local0, 0x0C), LLessEqual (Local0, 0x0F)))
{
Notify (\_SB.PCI0.P0P2.GFX0, 0xD5)
}
}
}
Method (_REG, 2, NotSerialized)
{
If (LOr (LEqual (Arg0, 0x03), LGreaterEqual (OSYS, 0x07D6)))
{
Store (Arg1, ECOK)
If (LEqual (Arg1, 0x01))
{
Store (0x00, ECSS)
Store (ELSW, LIDS)
Store (ELSW, \_SB.PCI0.IGPU.CLID)
Notify (\_SB.LID0, 0x80)
Store (EACP, PWRS)
Notify (\_SB.ADP1, 0x80)
}
}
}
}
Scope (\_SB)
{
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x00)
Name (_PCL, Package (0x01)
{
\_SB
})
Name (BSSW, 0xFFFF)
Name (PBIF, Package (0x0D)
{
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0x01,
0xFFFFFFFF,
0xFA,
0x64,
0x0A,
0x0A,
" ",
" ",
" ",
" "
})
Name (PBST, Package (0x04)
{
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Method (_STA, 0, NotSerialized)
{
If (OSDW ())
{
Return (0x00)
}
If (\_SB.PCI0.LPCB.EC.ECOK)
{
UBSS ()
If (And (BSSW, 0x01))
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Else
{
Return (0x0F)
}
}
Method (_BST, 0, NotSerialized)
{
If (And (BSSW, 0x01))
{
UBST ()
}
Else
{
Store (0x00, Index (PBST, 0x00))
Store (0xFFFFFFFF, Index (PBST, 0x01))
Store (0xFFFFFFFF, Index (PBST, 0x02))
}
Return (PBST)
}
Method (_BIF, 0, NotSerialized)
{
If (And (BSSW, 0x01))
{
UBIF ()
}
Return (PBIF)
}
Method (BNOT, 1, NotSerialized)
{
Store (BSSW, Local0)
Store (Arg0, BSSW)
Notify (\_SB.BAT0, 0x80)
If (And (XOr (Local0, Arg0), 0x01))
{
Notify (\_SB.BAT0, 0x81)
}
}
Method (UBSS, 0, NotSerialized)
{
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0A, 0x01, RefOf (BSSW))
}
Method (UBIF, 0, NotSerialized)
{
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x18, RefOf (Local0))
Multiply (Local0, 0x0A, Index (PBIF, 0x01))
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x10, RefOf (Local0))
Multiply (Local0, 0x0A, Index (PBIF, 0x02))
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x19, RefOf (Local0))
Store (Local0, Index (PBIF, 0x04))
\_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x21, RefOf (Local0))
Store (Local0, Index (PBIF, 0x09))
Store (Buffer (0x01)
{
0x00
}, Index (PBIF, 0x0A))
\_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x22, RefOf (Local0))
Store (Local0, Index (PBIF, 0x0B))
\_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x20, RefOf (Local0))
Store (Local0, Index (PBIF, 0x0C))
}
Method (UBST, 0, NotSerialized)
{
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x09, RefOf (Local2))
Store (Local2, Index (PBST, 0x03))
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x0A, RefOf (Local0))
If (And (Local0, 0x8000))
{
Not (Local0, Local0)
And (Increment (Local0), 0xFFFF, Local0)
}
Multiply (Local0, Local2, Local0)
Divide (Local0, 0x03E8, , Index (PBST, 0x01))
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x0F, RefOf (Local0))
Multiply (Local0, 0x0A, Index (PBST, 0x02))
Store (0x00, Local1)
If (PWRS)
{
\_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x16, RefOf (Local0))
If (LNot (And (Local0, 0x40)))
{
Store (0x02, Local1)
}
}
Else
{
Store (0x01, Local1)
}
Store (Local1, Index (PBST, 0x00))
}
}
}
Device (GMUX)
{
Name (_HID, EisaId ("APP000B"))
Name (_CID, "gmux")
Name (_STA, 0x0B)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0700, // Range Minimum
0x07FF, // Range Maximum
0x01, // Alignment
0xFF, // Length
)
})
Name (_PRW, Package (0x02)
{
0x16,
0x03
})
Scope (\_GPE)
{
Method (_L16, 0, NotSerialized)
{
Notify (\_SB.PCI0.LPCB.GMUX, 0x80)
}
}
Name (GMGP, 0x16)
Method (GMSP, 1, NotSerialized)
{
If (LLessEqual (Arg0, 0x01))
{
Or (GP06, Arg0, GP06)
}
}
Method (GMLV, 0, NotSerialized)
{
Return (GP06)
}
}
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
}
Device (RP01)
{
Name (_ADR, 0x001C0000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04 ())
}
Return (PR04 ())
}
}
Device (RP02)
{
Name (_ADR, 0x001C0001)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05 ())
}
Return (PR05 ())
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Scope (\_SB.PCI0.RP01)
{
OperationRegion (A1E0, PCI_Config, 0x00, 0x60)
Field (A1E0, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
BMIE, 3,
Offset (0x19),
SECB, 8,
SBBN, 8,
Offset (0x1E),
, 13,
MABT, 1,
Offset (0x4A),
, 5,
TPEN, 1,
Offset (0x50),
, 4,
LDIS, 1,
, 24,
LACT, 1
}
Method (_BBN, 0, NotSerialized)
{
If (LAnd (LEqual (BMIE, 0x00), LEqual (SECB, 0xFF)))
{
Return (SNBS)
}
Else
{
Return (SECB)
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (BMIS, 0x00)
Name (SNBS, 0x00)
Name (SOBS, 0x00)
Name (LPFL, 0x00)
Method (C4PU, 0, Serialized)
{
Store (SOBS, SBBN)
Store (SNBS, SECB)
Store (BMIS, BMIE)
Store (0x00, LDIS)
Store (0x00, Local0)
Store (Or (LPFL, 0x20), LPFL)
Store (0x01, GP49)
While (0x01)
{
Sleep (0x05)
Sleep (0x64)
Store (0x00, Local1)
Add (Timer, 0x00989680, Local2)
While (LLessEqual (Timer, Local2))
{
If (LAnd (LEqual (LACT, 0x01), LNotEqual (\_SB.PCI0.RP01.SDXC.AVND, 0xFFFF)))
{
Store (0x01, Local1)
Break
}
Sleep (0x0A)
}
If (LEqual (Local1, 0x01))
{
Store (And (LPFL, Not (0x20)), LPFL)
Store (0x01, MABT)
Break
}
If (LEqual (Local0, 0x04))
{
Store (Or (LPFL, Or (0x20, 0x80)), LPFL)
Break
}
Increment (Local0)
Store (0x00, GP49)
Sleep (0x64)
Store (0x01, GP49)
}
Return (Zero)
}
Method (C4PD, 0, Serialized)
{
Store (Or (LPFL, 0x10), LPFL)
Store (BMIE, BMIS)
Store (SECB, SNBS)
Store (SBBN, SOBS)
Store (0x00, BMIE)
Store (0xFF, SECB)
Store (0xFE, SBBN)
Store (TPEN, Local0)
Store (0x01, LDIS)
Add (Timer, 0x00989680, Local0)
While (LLessEqual (Timer, Local0))
{
If (LEqual (LACT, 0x00))
{
Store (And (LPFL, Not (0x10)), LPFL)
Break
}
Sleep (0x0A)
}
If (And (LPFL, 0x10))
{
Store (Or (LPFL, Or (0x10, 0x40)), LPFL)
}
Store (0x00, GP49)
Sleep (0x32)
}
Method (C4LP, 0, Serialized)
{
If (LNot (OSDW ()))
{
Return (Zero)
}
If (LAnd (LEqual (And (LPFL, 0x04), 0x00), LEqual (And (
LPFL, 0x02), 0x02)))
{
Store (And (LPFL, Not (0x10)), LPFL)
C4PD ()
Store (Or (LPFL, 0x04), LPFL)
Return (Zero)
}
If (LAnd (LEqual (And (LPFL, 0x04), 0x04), LNotEqual (
And (LPFL, 0x02), 0x02)))
{
Store (And (LPFL, Not (0x20)), LPFL)
C4PU ()
Store (And (LPFL, Not (0x04)), LPFL)
Return (Zero)
}
Return (Zero)
}
Device (SDXC)
{
Name (_ADR, 0x01)
Name (_PRW, Package (0x02)
{
0x1E,
0x03
})
Method (_RMV, 0, NotSerialized)
{
Return (0x00)
}
OperationRegion (ARE1, PCI_Config, 0x00, 0x04)
Field (ARE1, ByteAcc, NoLock, Preserve)
{
AVND, 16
}
Name (SDAF, 0x04)
Name (_GPE, 0x1E)
Method (SLPR, 1, Serialized)
{
If (Arg0)
{
Store (Or (LPFL, 0x02), LPFL)
}
Else
{
Store (And (LPFL, Not (0x02)), LPFL)
}
C4LP ()
Return (LPFL)
}
}
}
Scope (\_SB.PCI0.RP02)
{
OperationRegion (A1E0, PCI_Config, 0x00, 0xFF)
Field (A1E0, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
BMIE, 3,
Offset (0x19),
SECB, 8,
SBBN, 8,
Offset (0x1E),
, 13,
MABT, 1,
Offset (0x4A),
, 5,
TPEN, 1,
Offset (0x50),
, 4,
LDIS, 1,
, 24,
LACT, 1,
Offset (0xA4),
PSTA, 2
}
Method (_BBN, 0, NotSerialized)
{
If (LAnd (LEqual (BMIE, 0x00), LEqual (SECB, 0xFF)))
{
Return (SNBS)
}
Else
{
Return (SECB)
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (BMIS, 0x00)
Name (SNBS, 0x00)
Name (SOBS, 0x00)
Method (APPD, 0, Serialized)
{
If (LOr (LNot (OSDW ()), LOr (LEqual (WOWE, 0x01), LNotEqual (
TAPD, 0x01))))
{
Return (Zero)
}
Store (0x03, \_SB.PCI0.RP02.ARPT.PSTA)
If (LAnd (LAnd (LNotEqual (BMIE, 0x00), LNotEqual (BMIE,
BMIS)), LAnd (LAnd (LNotEqual (SECB, 0x00), LNotEqual (SECB, SNBS)),
LAnd (LNotEqual (SBBN, 0x00), LNotEqual (SBBN, SOBS)))))
{
Store (BMIE, BMIS)
Store (SECB, SNBS)
Store (SBBN, SOBS)
}
Store (0x00, BMIE)
Store (0xFF, SECB)
Store (0xFE, SBBN)
Store (TPEN, Local0)
Store (0x03, PSTA)
Store (TPEN, Local0)
Store (0x01, LDIS)
Add (Timer, 0x00989680, Local0)
While (LLessEqual (Timer, Local0))
{
If (LEqual (LACT, 0x00))
{
Break
}
Sleep (0x0A)
}
Store (0x00, GP10)
Store (0x00, GD10)
Sleep (0x0107)
Return (Zero)
}
Method (APPU, 0, Serialized)
{
If (LOr (LNot (OSDW ()), LOr (LEqual (WOWE, 0x01), LNotEqual (
TAPD, 0x01))))
{
Return (Zero)
}
Store (0x00, Local0)
Store (0x00, PSTA)
Store (SOBS, SBBN)
Store (SNBS, SECB)
Store (0x00, LDIS)
If (LAnd (LEqual (GD10, 0x01), LEqual (GP10, 0x01)))
{
Return (Zero)
}
While (0x01)
{
Store (0x01, GD10)
Sleep (0xFA)
Store (0x00, Local1)
Add (Timer, 0x00989680, Local2)
While (LLessEqual (Timer, Local2))
{
If (LAnd (LEqual (LACT, 0x01), LNotEqual (\_SB.PCI0.RP02.ARPT.AVND, 0xFFFF)))
{
Store (0x01, Local1)
Break
}
Sleep (0x0A)
}
If (LEqual (Local1, 0x01))
{
Store (0x01, MABT)
Break
}
If (LEqual (Local0, 0x04))
{
Break
}
Increment (Local0)
Store (0x00, GD10)
Store (0x00, GP10)
Sleep (0x0107)
}
Return (Zero)
}
Method (ALPR, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
APPD ()
}
Else
{
APPU ()
}
}
Method (_PS0, 0, Serialized)
{
ALPR (0x00)
}
Method (_PS3, 0, Serialized)
{
ALPR (0x01)
}
Device (ARPT)
{
Name (_ADR, 0x00)
OperationRegion (ARE2, PCI_Config, 0x00, 0xFF)
Field (ARE2, ByteAcc, NoLock, Preserve)
{
AVND, 16,
ADID, 16,
Offset (0x44),
PSTA, 2
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (_RMV, 0, NotSerialized)
{
Return (0x00)
}
Method (WWEN, 1, NotSerialized)
{
Store (Arg0, WOWE)
}
Method (PDEN, 1, NotSerialized)
{
Store (Arg0, TAPD)
}
}
}
}
Device (ADP1)
{
Name (_HID, "ACPI0003")
Name (_PRW, Package (0x02)
{
0x23,
0x04
})
Name (WK00, 0x01)
Method (SWAK, 1, NotSerialized)
{
And (Arg0, 0x03, WK00)
If (LNot (WK00))
{
Store (0x01, WK00)
}
}
Method (_PSR, 0, NotSerialized)
{
Return (PWRS)
}
Method (_PCL, 0, NotSerialized)
{
Return (\_SB)
}
Method (_PSW, 1, NotSerialized)
{
If (OSDW ())
{
If (\_SB.PCI0.LPCB.EC.ECOK)
{
If (Arg0)
{
If (And (WK00, 0x01))
{
Store (0x01, \_SB.PCI0.LPCB.EC.EWAI)
}
If (And (WK00, 0x02))
{
Store (0x01, \_SB.PCI0.LPCB.EC.EWAR)
}
}
Else
{
Store (0x00, \_SB.PCI0.LPCB.EC.EWAI)
Store (0x00, \_SB.PCI0.LPCB.EC.EWAR)
}
}
}
}
}
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Name (_PRW, Package (0x02)
{
0x23,
0x04
})
Method (_LID, 0, NotSerialized)
{
Return (LIDS)
}
Method (_PSW, 1, NotSerialized)
{
If (\_SB.PCI0.LPCB.EC.ECOK)
{
If (Arg0)
{
Store (0x01, \_SB.PCI0.LPCB.EC.EWLO)
}
Else
{
Store (0x00, \_SB.PCI0.LPCB.EC.EWLO)
}
}
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
}
Scope (\_PR)
{
Processor (CPU0, 0x01, 0x00000410, 0x06) {}
Processor (CPU1, 0x02, 0x00000410, 0x06) {}
Processor (CPU2, 0x03, 0x00000410, 0x06) {}
Processor (CPU3, 0x04, 0x00000410, 0x06) {}
Processor (CPU4, 0x05, 0x00000410, 0x06) {}
Processor (CPU5, 0x06, 0x00000410, 0x06) {}
Processor (CPU6, 0x07, 0x00000410, 0x06) {}
Processor (CPU7, 0x08, 0x00000410, 0x06) {}
}
Mutex (MUTX, 0x00)
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
OperationRegion (PLMT, SystemIO, 0x0310, 0x0A)
Field (PLMT, WordAcc, Lock, Preserve)
{
CPLT, 8,
IGPS, 8,
MPLT, 8,
CFIL, 8,
EGPS, 8
}
Method (P8XH, 2, Serialized)
{
If (LEqual (Arg0, 0x00))
{
Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
}
If (LEqual (Arg0, 0x01))
{
Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
), P80D)
}
If (LEqual (Arg0, 0x02))
{
Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
), P80D)
}
If (LEqual (Arg0, 0x03))
{
Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
), P80D)
}
Store (P80D, P80H)
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8,
SSMY, 8
}
Method (\_PIC, 1, NotSerialized)
{
Store (Arg0, GPIC)
Store (Arg0, PICM)
}
Method (GETB, 3, Serialized)
{
Multiply (Arg0, 0x08, Local0)
Multiply (Arg1, 0x08, Local1)
CreateField (Arg2, Local0, Local1, TBF3)
Return (TBF3)
}
Method (PNOT, 0, Serialized)
{
If (LGreater (TCNT, 0x01))
{
If (And (PDC0, 0x08))
{
Notify (\_PR.CPU0, 0x80)
If (And (PDC0, 0x10))
{
Notify (\_PR.CPU0, 0x81)
}
}
If (And (PDC1, 0x08))
{
Notify (\_PR.CPU1, 0x80)
If (And (PDC1, 0x10))
{
Notify (\_PR.CPU1, 0x81)
}
}
If (And (PDC2, 0x08))
{
Notify (\_PR.CPU2, 0x80)
If (And (PDC2, 0x10))
{
Notify (\_PR.CPU2, 0x81)
}
}
If (And (PDC3, 0x08))
{
Notify (\_PR.CPU3, 0x80)
If (And (PDC3, 0x10))
{
Notify (\_PR.CPU3, 0x81)
}
}
If (And (PDC4, 0x08))
{
Notify (\_PR.CPU4, 0x80)
If (And (PDC4, 0x10))
{
Notify (\_PR.CPU4, 0x81)
}
}
If (And (PDC5, 0x08))
{
Notify (\_PR.CPU5, 0x80)
If (And (PDC5, 0x10))
{
Notify (\_PR.CPU5, 0x81)
}
}
If (And (PDC6, 0x08))
{
Notify (\_PR.CPU6, 0x80)
If (And (PDC6, 0x10))
{
Notify (\_PR.CPU6, 0x81)
}
}
If (And (PDC7, 0x08))
{
Notify (\_PR.CPU7, 0x80)
If (And (PDC7, 0x10))
{
Notify (\_PR.CPU7, 0x81)
}
}
}
Else
{
Notify (\_PR.CPU0, 0x80)
Notify (\_PR.CPU0, 0x81)
}
}
Method (TRAP, 2, Serialized)
{
Store (Arg1, SMIF)
If (LEqual (Arg0, \TRTP))
{
Store (0x00, TRP0)
}
If (LEqual (Arg0, \TRTD))
{
Store (Arg1, DTSF)
Store (0x00, TRPD)
Return (DTSF)
}
If (LEqual (Arg0, \TRTI))
{
Store (0x00, TRPH)
}
Return (SMIF)
}
Scope (\_SB)
{
Method (_INI, 0, NotSerialized)
{
PINI ()
}
Device (PNLF)
{
Name (_ADR, 0x00)
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0E)
Name (_STA, 0x0B)
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Name (_STA, 0x0B)
}
}
Scope (\_SB.PCI0)
{
Method (_INI, 0, NotSerialized)
{
\_SB.PCI0.RMCR ()
Store (0x07DC, OSYS)
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Darwin"))
{
Store (0x2710, OSYS)
}
If (\_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
If (\_OSI ("Windows 2009"))
{
Store (0x07D9, OSYS)
}
If (\_OSI ("Windows 2012"))
{
Store (0x07DC, OSYS)
}
}
}
Method (NHPG, 0, Serialized)
{
}
Method (NPME, 0, Serialized)
{
}
}
Scope (\)
{
Name (PICM, 0x00)
Method (OSDW, 0, NotSerialized)
{
If (LEqual (OSYS, 0x2710))
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (PINI, 0, NotSerialized)
{
Store (0x07DC, OSYS)
If (CondRefOf (_OSI, Local0))
{
If (_OSI ("Darwin"))
{
Store (0x2710, OSYS)
}
Else
{
If (_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
Else
{
If (_OSI ("Windows 2009"))
{
Store (0x07D9, OSYS)
}
Else
{
If (_OSI ("Windows 2012"))
{
Store (0x07DC, OSYS)
}
}
}
}
}
Else
{
Store (0x07DC, OSYS)
}
}
}
Scope (\_SB.PCI0)
{
Device (PDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x01)
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00008000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFED90000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED45000, // Address Base
0x0004B000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
)
})
Method (_CRS, 0, Serialized)
{
CreateDWordField (BUF0, 0x04, RBR0)
ShiftLeft (\_SB.PCI0.LPCB.RCBA, 0x0E, RBR0)
CreateDWordField (BUF0, 0x7C, TBR0)
Store (TBAB, TBR0)
CreateDWordField (BUF0, 0x80, TBLN)
If (LEqual (TBAB, 0x00))
{
Store (0x00, TBLN)
}
CreateDWordField (BUF0, 0x10, MBR0)
ShiftLeft (\_SB.PCI0.MHBR, 0x0F, MBR0)
CreateDWordField (BUF0, 0x1C, DBR0)
ShiftLeft (\_SB.PCI0.DIBR, 0x0C, DBR0)
CreateDWordField (BUF0, 0x28, EBR0)
ShiftLeft (\_SB.PCI0.EPBR, 0x0C, EBR0)
CreateDWordField (BUF0, 0x34, XBR0)
ShiftLeft (\_SB.PCI0.PXBR, 0x1A, XBR0)
CreateDWordField (BUF0, 0x38, XSZ0)
ShiftRight (0x10000000, \_SB.PCI0.PXSZ, XSZ0)
Return (BUF0)
}
}
}
Scope (\)
{
OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
TRPI, 16,
Offset (0x04),
Offset (0x06),
Offset (0x08),
TRP0, 8,
Offset (0x0A),
Offset (0x0B),
Offset (0x0C),
Offset (0x0D),
Offset (0x0E),
Offset (0x0F),
Offset (0x10)
}
OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
Field (IO_D, ByteAcc, NoLock, Preserve)
{
TRPD, 8
}
OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
Field (IO_H, ByteAcc, NoLock, Preserve)
{
TRPH, 8
}
OperationRegion (PMIO, SystemIO, \PMBS, 0x80)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x20),
, 1,
, 1,
SPST, 1,
, 3,
, 6,
, 1,
, 1,
Offset (0x22),
, 9,
GS09, 1,
, 3,
GS13, 1,
Offset (0x24),
, 3,
, 1,
Offset (0x28),
, 1,
, 2,
, 3,
, 6,
, 1,
, 1,
Offset (0x2A),
, 9,
GE09, 1,
, 3,
GE13, 1,
Offset (0x2C),
, 3,
, 1,
Offset (0x30),
Offset (0x42),
, 1,
GPEC, 1,
, 1,
Offset (0x43),
Offset (0x64),
, 4,
, 3,
, 2,
SCIS, 1,
, 4,
Offset (0x66)
}
OperationRegion (GPIO, SystemIO, \GPBS, 0x64)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
, 5,
GU05, 1,
Offset (0x01),
GUV1, 8,
GUV2, 8,
GUV3, 8,
GD00, 4,
GD04, 1,
, 5,
GD10, 1,
, 1,
GD12, 1,
, 1,
GD14, 1,
Offset (0x07),
GD24, 1,
Offset (0x08),
Offset (0x0C),
, 3,
GP03, 1,
GP04, 1,
GP05, 1,
GP06, 1,
GP07, 1,
GP08, 1,
GP09, 1,
GP10, 1,
GP11, 1,
GP12, 1,
GP13, 1,
GP14, 1,
GP15, 1,
GP16, 1,
GP17, 1,
GP18, 1,
GP19, 1,
GP20, 1,
GP21, 1,
GP22, 1,
GP23, 1,
GP24, 1,
, 2,
GP27, 1,
GP28, 1,
Offset (0x10),
Offset (0x18),
GB00, 8,
GB01, 8,
GB02, 8,
GB03, 8,
Offset (0x2C),
, 3,
GI03, 1,
GI04, 1,
GI05, 1,
GI06, 1,
Offset (0x2D),
GI08, 1,
GI09, 1,
GI10, 1,
GI11, 1,
Offset (0x2E),
GIV2, 8,
GIV3, 8,
GUV4, 8,
GUV5, 8,
GUV6, 8,
GUV7, 8,
GIO4, 8,
GI40, 1,
GI41, 1,
GI42, 1,
, 3,
GI46, 1,
Offset (0x36),
GIO6, 8,
, 3,
GI59, 1,
GI60, 1,
Offset (0x38),
, 4,
GP36, 1,
Offset (0x39),
GP40, 1,
GP41, 1,
GP42, 1,
, 2,
GP45, 1,
GP46, 1,
Offset (0x3A),
GP48, 1,
GP49, 1,
GL06, 6,
, 3,
GP59, 1,
GP60, 1,
Offset (0x3C),
Offset (0x40),
GUV8, 8,
GUV9, 8,
GUVA, 8,
GUVB, 8,
GIO8, 4,
GI68, 1,
GI69, 1,
GI70, 1,
GI71, 1,
GI72, 1,
GI73, 1,
GI74, 1,
GIO9, 4,
GIOA, 8,
GIOB, 8,
Offset (0x48),
GP64, 1,
, 3,
GP68, 1,
GP69, 1,
GL08, 2,
GP72, 1,
GP73, 1,
GP74, 1,
GL09, 5,
GL0A, 8,
GL0B, 8
}
OperationRegion (RCRB, SystemMemory, \SRCB, 0x4000)
Field (RCRB, DWordAcc, Lock, Preserve)
{
Offset (0x1000),
Offset (0x3000),
Offset (0x3404),
HPAS, 2,
, 5,
HPAE, 1,
Offset (0x3418),
, 1,
, 1,
SATD, 1,
SMBD, 1,
HDAD, 1,
, 2,
UH6D, 1,
UH1D, 1,
UH2D, 1,
UH3D, 1,
UH4D, 1,
UH5D, 1,
Offset (0x341A),
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
RP5D, 1,
RP6D, 1,
RP7D, 1,
RP8D, 1,
, 4,
UH7D, 1
}
}
Scope (\_GPE)
{
Method (_L07, 0, NotSerialized)
{
Store (0x20, \_SB.PCI0.SBUS.HSTS)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P2, 0x02)
Notify (\_SB.PCI0.RP01, 0x02)
Notify (\_SB.PCI0.RP02, 0x02)
Notify (\_SB.PCI0.RP03, 0x02)
\_SB.PCI0.TGPE ()
Notify (\_SB.PCI0.RP02.ARPT, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PWRB, 0x02)
Notify (\_SB.PCI0.EHC1, 0x02)
Notify (\_SB.PCI0.EHC2, 0x02)
If (OSDW ())
{
Notify (\_SB.PCI0.HDEF, 0x02)
}
}
}
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (0x01)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (0x01)
{
0x00
}, Arg4)
Return (Zero)
}
Name (_S0, Package (0x03)
{
0x00,
0x00,
0x00
})
Name (_S4, Package (0x03)
{
0x06,
0x06,
0x00
})
Name (_S5, Package (0x03)
{
0x07,
0x07,
0x00
})
Method (_PTS, 1, NotSerialized)
{
Store (0x00, P80D)
P8XH (0x00, Arg0)
Store (Arg0, \_SB.PCI0.LPCB.EC.ECSS)
If (LNot (OSDW ()))
{
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (0x01, GD24)
Sleep (0x64)
Sleep (0x64)
Store (0x0A, Local0)
While (LGreater (Local0, 0x00))
{
Decrement (Local0)
Sleep (0x64)
If (LEqual (GP24, 0x00))
{
Break
}
}
}
}
If (LAnd (LNot (OSDW ()), LGreaterEqual (Arg0, 0x04)))
{
Store (0x00, \_SB.PCI0.LPCB.EC.EWLO)
}
}
Method (_WAK, 1, NotSerialized)
{
P8XH (0x00, 0x00)
Store (0x00, \_SB.PCI0.LPCB.EC.ECSS)
If (OSDW ()) {}
Store (\_SB.PCI0.LPCB.EC.ELSW, LIDS)
Store (\_SB.PCI0.LPCB.EC.ELSW, \_SB.PCI0.IGPU.CLID)
Store (\_SB.PCI0.LPCB.EC.EACP, PWRS)
If (LNot (OSDW ()))
{
Store (0x00, \_SB.PCI0.LPCB.EC.LWE0)
Store (0x00, \_SB.PCI0.LPCB.EC.LWE1)
Store (0x00, \_SB.PCI0.LPCB.EC.LWE2)
Store (0x00, \_SB.PCI0.LPCB.EC.LWE3)
If (LEqual (Arg0, 0x03))
{
\_SB.PCI0.DTLK ()
}
If (LEqual (Arg0, 0x04))
{
\_SB.PCI0.RMCR ()
}
}
\_SB.PCI0.XHC1._INI (PNOT ())
Return (Package (0x02)
{
0x00,
0x00
})
}
}
manav@manav-rMBP:~/rMBP$ A
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment