Skip to content

Instantly share code, notes, and snippets.

@mschiu77
Created May 4, 2016 08:53
Show Gist options
  • Save mschiu77/47709294d373283fff9aae4a4243c95a to your computer and use it in GitHub Desktop.
Save mschiu77/47709294d373283fff9aae4a4243c95a to your computer and use it in GitHub Desktop.
ASUS X555DG DSDT
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20150717-32
* Copyright (c) 2000 - 2015 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of dsdt.dat, Wed May 4 09:50:26 2016
*
* Original Table Header:
* Signature "DSDT"
* Length 0x0000EFA6 (61350)
* Revision 0x02
* Checksum 0x64
* OEM ID "_ASUS_"
* OEM Table ID "Notebook"
* OEM Revision 0x01072009 (17244169)
* Compiler ID "INTL"
* Compiler Version 0x20120913 (538052883)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 2, "_ASUS_", "Notebook", 0x01072009)
{
/*
* iASL Warning: There were 6 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 (<method pathname>, MethodObj, <argument count>)
* Invocation:
* iasl -fe refs.txt -d dsdt.aml
*
* The following methods were unresolved and many not compile properly
* because the disassembler had to guess at the number of arguments
* required for each:
*/
External (_SB_.PCI0.PB2_.VGA_.AFN0, MethodObj) // Warning: Unresolved method, guessing 0 arguments
External (_SB_.PCI0.PB2_.VGA_.AFN7, MethodObj) // Warning: Unresolved method, guessing 1 arguments
External (AFN0, MethodObj) // Warning: Unresolved method, guessing 0 arguments
External (AFN7, MethodObj) // Warning: Unresolved method, guessing 1 arguments
External (APTS, MethodObj) // Warning: Unresolved method, guessing 1 arguments
External (AWAK, MethodObj) // Warning: Unresolved method, guessing 1 arguments
Name (PEBS, 0xF8000000)
Name (PEBL, 0x04000000)
Name (ACPM, One)
Name (CPVD, One)
Name (SMBB, 0x0B20)
Name (SMBL, 0x20)
Name (SMB0, 0x0B00)
Name (SMBM, 0x10)
Name (PMBS, 0x0800)
Name (PMLN, 0xA0)
Name (SMIO, 0xB2)
Name (GPBS, Zero)
Name (GPLN, Zero)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (SPIB, 0xFEC10000)
Name (SPIL, 0x1000)
Name (HPTB, 0xFED00000)
Name (HPTL, 0x0400)
Name (WDTB, 0xFEB00000)
Name (WDTL, 0x1000)
Name (GIOB, 0xFED81500)
Name (IOMB, 0xFED80D00)
Name (SSMB, 0xFED80200)
Name (UTDB, Zero)
Name (NBTP, 0xFED40000)
Name (NBTS, 0x5000)
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 (SRSI, 0xB2)
Name (CSMI, 0x61)
Name (DSSP, Zero)
Name (FHPP, One)
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, Zero)
Name (DTPT, Zero)
Name (TTDP, One)
Name (TPMB, 0xCD158000)
Name (TPMC, 0xCD15C000)
Name (TPMM, 0xFF200010)
Name (FTPM, 0xFF200010)
Name (AMDT, One)
Name (TPMF, One)
Name (HIDK, "MSFT0001")
Name (HIDM, "MSFT0003")
Name (CIDK, 0x0303D041)
Name (CIDM, 0x030FD041)
Name (ATIS, 0xB0)
Name (MBEC, Zero)
Name (THPN, Zero)
Name (ALST, Zero)
Name (MBLF, 0x0A)
Name (PICM, Zero)
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}
Name (OSVR, Ones)
Method (OSFL, 0, NotSerialized)
{
If ((OSVR != Ones))
{
Return (OSVR) /* \OSVR */
}
If ((PICM == Zero))
{
DBG8 = 0xAC
}
OSVR = 0x03
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Windows 2001"))
{
OSVR = 0x04
}
If (_OSI ("Windows 2001.1"))
{
OSVR = 0x05
}
If (_OSI ("FreeBSD"))
{
OSVR = 0x06
}
If (_OSI ("HP-UX"))
{
OSVR = 0x07
}
If (_OSI ("OpenVMS"))
{
OSVR = 0x08
}
If (_OSI ("Windows 2001 SP1"))
{
OSVR = 0x09
}
If (_OSI ("Windows 2001 SP2"))
{
OSVR = 0x0A
}
If (_OSI ("Windows 2001 SP3"))
{
OSVR = 0x0B
}
If (_OSI ("Windows 2006"))
{
OSVR = 0x0C
}
If (_OSI ("Windows 2006 SP1"))
{
OSVR = 0x0D
}
If (_OSI ("Windows 2009"))
{
OSVR = 0x0E
}
If (_OSI ("Windows 2012"))
{
OSVR = 0x0F
}
If (_OSI ("Windows 2013"))
{
OSVR = 0x10
}
}
Else
{
If (MCTH (_OS, "Microsoft Windows NT"))
{
OSVR = Zero
}
If (MCTH (_OS, "Microsoft Windows"))
{
OSVR = One
}
If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
{
OSVR = 0x02
}
If (MCTH (_OS, "Linux"))
{
OSVR = 0x03
}
If (MCTH (_OS, "FreeBSD"))
{
OSVR = 0x06
}
If (MCTH (_OS, "HP-UX"))
{
OSVR = 0x07
}
If (MCTH (_OS, "OpenVMS"))
{
OSVR = 0x08
}
}
Return (OSVR) /* \OSVR */
}
Method (MCTH, 2, NotSerialized)
{
If ((SizeOf (Arg0) < SizeOf (Arg1)))
{
Return (Zero)
}
Local0 = (SizeOf (Arg0) + One)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
BUF0 = Arg0
BUF1 = Arg1
While (Local0)
{
Local0--
If ((DerefOf (Index (BUF0, Local0)) != DerefOf (Index (BUF1, Local0
))))
{
Return (Zero)
}
}
Return (One)
}
Name (PRWP, Package (0x02)
{
Zero,
Zero
})
Method (GPRW, 2, NotSerialized)
{
Index (PRWP, Zero) = Arg0
Local0 = (SS1 << One)
Local0 |= (SS2 << 0x02)
Local0 |= (SS3 << 0x03)
Local0 |= (SS4 << 0x04)
If (((One << Arg1) & Local0))
{
Index (PRWP, One) = Arg1
}
Else
{
Local0 >>= One
If (((OSFL () == One) || (OSFL () == 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, One))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, One))
}
}
Return (PRWP) /* \PRWP */
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
Method (UPWP, 1, NotSerialized)
{
If (DerefOf (Index (WAKP, Zero)))
{
Index (WAKP, One) = Zero
}
Else
{
Index (WAKP, One) = Arg0
}
}
OperationRegion (DEB0, SystemIO, 0x80, One)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, 0x90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Name (SS1, One)
Name (SS2, Zero)
Name (SS3, One)
Name (SS4, One)
Name (IOST, 0xFFFF)
Name (TOPM, 0x00000000)
Name (ROMS, 0xFFE00000)
Name (VGAF, One)
OperationRegion (DEB2, SystemIO, 0x80, 0x02)
Field (DEB2, WordAcc, NoLock, Preserve)
{
P80H, 16
}
Name (OSTY, Ones)
OperationRegion (ACMS, SystemIO, 0x72, 0x10)
Field (ACMS, ByteAcc, NoLock, Preserve)
{
ICMS, 8,
DCMS, 8,
Offset (0x0E),
P80, 8
}
Name (OSCF, Zero)
Name (GGN2, One)
OperationRegion (CMPT, SystemIO, 0x0C50, 0x03)
Field (CMPT, ByteAcc, NoLock, Preserve)
{
CMID, 8,
, 6,
GPCT, 2,
GP0I, 1,
GP1I, 1,
GP2I, 1,
GP3I, 1,
GP4I, 1,
GP5I, 1,
GP6I, 1,
GP7I, 1
}
OperationRegion (PCFG, SystemMemory, PEBS, 0x02000000)
Field (PCFG, AnyAcc, NoLock, Preserve)
{
Offset (0x20078),
Offset (0x2007A),
PMSA, 1,
Offset (0x28078),
Offset (0x2807A),
PMSB, 1,
Offset (0x48078),
Offset (0x4807A),
PMSC, 1,
Offset (0x8800A),
STCL, 16,
Offset (0x880FC),
RMBA, 32,
Offset (0xA0004),
SMIE, 1,
SMME, 1,
Offset (0xA0008),
RVID, 8,
Offset (0xA0014),
SMB1, 32,
Offset (0xA0082),
, 2,
G31O, 1,
Offset (0xA00E1),
, 6,
ACIR, 1,
Offset (0xA4004),
PCMD, 2,
Offset (0xA807A),
PMS0, 1,
Offset (0xA8088),
TLS0, 4,
Offset (0xA907A),
PMS1, 1,
Offset (0xA9088),
TLS1, 4,
Offset (0xAA07A),
PMS2, 1,
Offset (0xAA088),
TLS2, 4,
Offset (0xAB07A),
PMS3, 1,
Offset (0xAB088),
TLS3, 4
}
OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
INPM, 8,
DAPM, 8
}
IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve)
{
, 6,
HPEN, 1,
Offset (0x60),
P1EB, 16,
Offset (0xC8),
, 2,
SPRE, 1,
TPDE, 1,
Offset (0xF0),
, 3,
RSTU, 1
}
OperationRegion (ERMM, SystemMemory, 0xFED80000, 0x1800)
Field (ERMM, AnyAcc, NoLock, Preserve)
{
Offset (0x200),
, 9,
GESA, 1,
Offset (0x208),
, 5,
E05C, 1,
Offset (0x209),
E08C, 1,
E09C, 1,
E10C, 1,
Offset (0x20B),
, 5,
E1DC, 1,
Offset (0x2B0),
, 2,
SLPS, 2,
Offset (0x377),
EPNM, 1,
DPPF, 1,
Offset (0x3BB),
, 6,
PWDE, 1,
Offset (0x3BE),
, 5,
ALLS, 1,
Offset (0x3F0),
PHYD, 1,
, 1,
, 1,
US5R, 1,
Offset (0x3F6),
GECD, 1,
Offset (0xD06),
G06M, 8,
G07M, 8,
Offset (0xD0B),
G0BM, 8,
Offset (0xD0E),
G0EM, 8,
Offset (0xD14),
G14M, 8,
Offset (0xD1C),
G1CM, 8,
Offset (0xD20),
G20M, 8,
Offset (0xD23),
G23M, 8,
Offset (0xD2D),
G2DM, 8,
Offset (0xD37),
G37M, 8,
Offset (0xD70),
G70M, 8,
Offset (0xD76),
G76M, 8,
Offset (0xDAF),
GAFM, 8,
GB0M, 8,
Offset (0xE80),
, 2,
IMCS, 1,
Offset (0x1518),
Offset (0x151A),
GE10, 1,
Offset (0x1524),
Offset (0x1526),
GE22, 1,
Offset (0x1538),
Offset (0x153A),
G66I, 1,
, 5,
G66O, 1,
G66E, 1,
Offset (0x1560),
Offset (0x1562),
G6FI, 1,
, 5,
G6FO, 1,
G6FE, 1,
Offset (0x1604),
Offset (0x1606),
G50I, 1,
, 5,
G50O, 1,
G50E, 1,
Offset (0x1608),
Offset (0x160A),
G51I, 1,
, 5,
G51O, 1,
G51E, 1,
Offset (0x1610),
Offset (0x1612),
G57I, 1,
, 5,
G57O, 1,
G57E, 1,
Offset (0x1618),
Offset (0x161A),
G59I, 1,
, 5,
G59O, 1,
G59E, 1
}
OperationRegion (ABIO, SystemIO, 0x0CD8, 0x08)
Field (ABIO, DWordAcc, NoLock, Preserve)
{
INAB, 32,
DAAB, 32
}
Method (RDAB, 1, NotSerialized)
{
INAB = Arg0
Return (DAAB) /* \DAAB */
}
Method (WTAB, 2, NotSerialized)
{
INAB = Arg0
DAAB = Arg1
}
Method (RWAB, 3, NotSerialized)
{
Local0 = (RDAB (Arg0) & Arg1)
Local1 = (Local0 | Arg2)
WTAB (Arg0, Local1)
}
Method (CABR, 3, NotSerialized)
{
Local0 = (Arg0 << 0x05)
Local1 = (Local0 + Arg1)
Local2 = (Local1 << 0x18)
Local3 = (Local2 + Arg2)
Return (Local3)
}
Method (GHPS, 2, NotSerialized)
{
If ((Arg0 == Zero))
{
RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFBFFF, Zero)
RWAB (CABR (One, Zero, 0x65), 0xFFFFFBFB, Zero)
Stall (0xC8)
}
If ((Arg0 == One))
{
RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFBFFF, 0x4000)
RWAB (CABR (One, Zero, 0x65), 0xFFFFFBFB, 0x0404)
Stall (0xC8)
}
If (GGN2)
{
If ((Arg0 == Zero))
{
GEN2 ()
Local0 = RDAB (CABR (0x03, 0x02, 0xA5))
Local0 &= 0xFF
Local1 = 0x01F4
While (((Local1 > Zero) && (Local0 != 0x10)))
{
Local0 = RDAB (CABR (0x03, 0x02, 0xA5))
Local0 &= 0xFF
Local1--
Stall (0xC8)
Stall (0xC8)
}
If ((Local0 != 0x10))
{
GEN1 ()
}
}
}
}
Method (GEN2, 0, NotSerialized)
{
TLS2 = 0x02
RWAB (CABR (0x03, 0x02, 0xA4), 0xFFFFFFFE, One)
RWAB (CABR (0x03, 0x02, 0xA2), 0xFFFFDFFF, 0x2000)
RWAB (CABR (0x03, 0x02, 0xC0), 0xFFFF7FFF, 0x8000)
RWAB (CABR (0x03, 0x02, 0xA4), 0xDFFFFFFF, 0x20000000)
Stall (0xC8)
Stall (0xC8)
}
Method (GEN1, 0, NotSerialized)
{
TLS2 = One
RWAB (CABR (0x03, 0x02, 0xA4), 0xFFFFFFFE, Zero)
RWAB (CABR (0x03, 0x02, 0xA2), 0xFFFFDFFF, 0x2000)
Stall (0xC8)
Stall (0xC8)
}
OperationRegion (P1E0, SystemIO, P1EB, 0x04)
Field (P1E0, ByteAcc, NoLock, Preserve)
{
, 14,
PEWS, 1,
WSTA, 1,
, 14,
PEWD, 1
}
Method (SPTS, 1, NotSerialized)
{
PCMD = One
P80 = Arg0
If (IMCS)
{
IBSE ()
}
CPMS ()
CPMS ()
PEWS = One
}
Method (SWAK, 1, NotSerialized)
{
If (PICM)
{
\_SB.IRQC ()
}
CPMS ()
CPMS ()
PEWS = One
If (IMCS)
{
IBWE ()
}
}
Method (TRMD, 1, NotSerialized)
{
}
Method (CPMS, 0, NotSerialized)
{
If ((EPNM == Zero))
{
PMSA = One
PMSB = One
PMSC = One
PMS0 = One
PMS1 = One
PMS2 = One
PMS3 = One
}
}
Scope (_GPE)
{
}
OperationRegion (IMIO, SystemIO, 0x3E, 0x02)
Field (IMIO, ByteAcc, NoLock, Preserve)
{
IMCX, 8,
IMCA, 8
}
IndexField (IMCX, IMCA, ByteAcc, NoLock, Preserve)
{
Offset (0x80),
MSTI, 8,
MITS, 8,
MRG0, 8,
MRG1, 8,
MRG2, 8,
MRG3, 8
}
Method (WACK, 0, NotSerialized)
{
Local0 = Zero
While ((Local0 != 0xFA))
{
Local0 = MRG0 /* \MRG0 */
Sleep (0x0A)
}
}
Method (IBSE, 0, NotSerialized)
{
MRG0 = Zero
MRG1 = 0xB5
MRG2 = Zero
MSTI = 0x96
WACK ()
MRG0 = Zero
MRG1 = Zero
MRG2 = Zero
MSTI = 0x80
WACK ()
Local0 = MRG2 /* \MRG2 */
Local0 &= 0xFE
MRG0 = Zero
MRG1 = Zero
MRG2 = Local0
MSTI = 0x81
WACK ()
MRG0 = Zero
MRG1 = One
MRG2 = Zero
MSTI = 0x98
WACK ()
MRG0 = Zero
MRG1 = 0xB4
MRG2 = Zero
MSTI = 0x96
WACK ()
}
Method (IBWE, 0, NotSerialized)
{
MRG0 = Zero
MRG1 = 0xB5
MRG2 = Zero
MSTI = 0x96
WACK ()
MRG0 = Zero
MRG1 = Zero
MRG2 = Zero
MSTI = 0x80
WACK ()
Local0 = MRG2 /* \MRG2 */
Local0 |= One
MRG0 = Zero
MRG1 = Zero
MRG2 = Local0
MSTI = 0x81
WACK ()
}
Scope (_SB)
{
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{4,7,10,11,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x18
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x19
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x1A
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1B
}
})
Name (PR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x1C
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x1D
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x1E
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1F
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x20
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x21
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x22
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x23
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x24
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x25
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x26
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x27
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x28
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x29
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2A
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2B
}
})
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2C
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2D
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2E
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2F
}
})
Name (PR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x30
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x31
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x32
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x33
}
})
Name (PR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x34
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x35
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x36
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x37
}
})
Name (PR0B, 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 (AR0B, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x1B
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x18
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x19
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1A
}
})
Name (PR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKG,
Zero
}
})
Name (AR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x1F
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x1C
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x1D
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1E
}
})
Name (PR00, Package (0x1B)
{
Package (0x04)
{
0x0001FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKC,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKH,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKE,
Zero
},
Package (0x04)
{
0x0008FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0008FFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x0008FFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0x0008FFFF,
0x03,
LNKC,
Zero
},
Package (0x04)
{
0x0009FFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x0009FFFF,
One,
LNKE,
Zero
},
Package (0x04)
{
0x0009FFFF,
0x02,
LNKF,
Zero
},
Package (0x04)
{
0x0009FFFF,
0x03,
LNKG,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0014FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0012FFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x0010FFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x0011FFFF,
Zero,
LNKD,
Zero
}
})
Name (AR00, Package (0x1B)
{
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x2B
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x28
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x29
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x2A
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x2C
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x2D
},
Package (0x04)
{
0x0002FFFF,
0x02,
Zero,
0x2E
},
Package (0x04)
{
0x0002FFFF,
0x03,
Zero,
0x2F
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x31
},
Package (0x04)
{
0x0003FFFF,
One,
Zero,
0x32
},
Package (0x04)
{
0x0003FFFF,
0x02,
Zero,
0x33
},
Package (0x04)
{
0x0003FFFF,
0x03,
Zero,
0x34
},
Package (0x04)
{
0x0008FFFF,
Zero,
Zero,
0x23
},
Package (0x04)
{
0x0008FFFF,
One,
Zero,
0x20
},
Package (0x04)
{
0x0008FFFF,
0x02,
Zero,
0x21
},
Package (0x04)
{
0x0008FFFF,
0x03,
Zero,
0x22
},
Package (0x04)
{
0x0009FFFF,
Zero,
Zero,
0x27
},
Package (0x04)
{
0x0009FFFF,
One,
Zero,
0x24
},
Package (0x04)
{
0x0009FFFF,
0x02,
Zero,
0x25
},
Package (0x04)
{
0x0009FFFF,
0x03,
Zero,
0x26
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0014FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0014FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0012FFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x0010FFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x0011FFFF,
Zero,
Zero,
0x13
}
})
}
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 (AMDN)
{
Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
Name (_UID, 0xC8) // _UID: Unique ID
Name (_STA, 0x0F) // _STA: Status
Name (NPTR, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y00)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (NPTR, \_SB.PCI0.AMDN._Y00._LEN, PL) // _LEN: Length
CreateDWordField (NPTR, \_SB.PCI0.AMDN._Y00._BAS, PB) // _BAS: Base Address
PB = PEBS /* \PEBS */
PL = PEBL /* \PEBL */
Return (NPTR) /* \_SB_.PCI0.AMDN.NPTR */
}
}
Method (NPTS, 1, NotSerialized)
{
APTS (Arg0)
}
Method (NWAK, 1, NotSerialized)
{
AWAK (Arg0)
}
Name (CPRB, One)
Name (LVGA, 0x01)
Name (STAV, 0x0F)
Name (BRB, 0x0000)
Name (BRL, 0x0100)
Name (IOB, 0x1000)
Name (IOL, 0xF000)
Name (MBB, 0xD0000000)
Name (MBL, 0x30000000)
Name (MABL, 0x00000000)
Name (MABH, 0x00000000)
Name (MALL, 0x00000000)
Name (MALH, 0x00000000)
Name (MAML, 0x00000000)
Name (MAMH, 0x00000000)
Name (CRS1, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x007F, // Range Maximum
0x0000, // Translation Offset
0x0080, // Length
,, _Y01)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x03AF, // Range Maximum
0x0000, // Translation Offset
0x03B0, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x03E0, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0918, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y03, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0x0FFF, // Range Maximum
0x0000, // Translation Offset
0x0300, // Length
,, _Y02, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y04, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, 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
0x02000000, // Range Minimum
0xFFDFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xFDE00000, // Length
,, _Y05, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x02000000, // Range Minimum
0xFFDFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xFDE00000, // Length
,, _Y06, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y07, AddressRangeMemory, TypeStatic)
})
Name (CRS2, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0080, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0080, // Length
,, _Y08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y0A, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y09, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x80000000, // Range Minimum
0xFFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x80000000, // Length
,, _Y0C, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x80000000, // Range Minimum
0xFFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x80000000, // Length
,, _Y0D, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y0E, AddressRangeMemory, TypeStatic)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (STAV) /* \_SB_.PCI0.STAV */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If (CPRB)
{
CreateWordField (CRS1, \_SB.PCI0._Y01._MIN, MIN0) // _MIN: Minimum Base Address
CreateWordField (CRS1, \_SB.PCI0._Y01._MAX, MAX0) // _MAX: Maximum Base Address
CreateWordField (CRS1, \_SB.PCI0._Y01._LEN, LEN0) // _LEN: Length
MIN0 = BRB /* \_SB_.PCI0.BRB_ */
LEN0 = BRL /* \_SB_.PCI0.BRL_ */
Local0 = LEN0 /* \_SB_.PCI0._CRS.LEN0 */
MAX0 = (MIN0 + Local0--)
CreateWordField (CRS1, \_SB.PCI0._Y02._MIN, MIN1) // _MIN: Minimum Base Address
CreateWordField (CRS1, \_SB.PCI0._Y02._MAX, MAX1) // _MAX: Maximum Base Address
CreateWordField (CRS1, \_SB.PCI0._Y02._LEN, LEN1) // _LEN: Length
If ((IOB == 0x1000))
{
Local0 = IOL /* \_SB_.PCI0.IOL_ */
MAX1 = (IOB + Local0--)
Local0 = (MAX1 - MIN1) /* \_SB_.PCI0._CRS.MIN1 */
LEN1 = (Local0 + One)
}
Else
{
MIN1 = IOB /* \_SB_.PCI0.IOB_ */
LEN1 = IOL /* \_SB_.PCI0.IOL_ */
Local0 = LEN1 /* \_SB_.PCI0._CRS.LEN1 */
MAX1 = (MIN1 + Local0--)
}
If (((LVGA == One) || (LVGA == 0x55)))
{
If (VGAF)
{
CreateWordField (CRS1, \_SB.PCI0._Y03._MIN, IMN1) // _MIN: Minimum Base Address
CreateWordField (CRS1, \_SB.PCI0._Y03._MAX, IMX1) // _MAX: Maximum Base Address
CreateWordField (CRS1, \_SB.PCI0._Y03._LEN, ILN1) // _LEN: Length
IMN1 = 0x03B0
IMX1 = 0x03DF
ILN1 = 0x30
CreateDWordField (CRS1, \_SB.PCI0._Y04._MIN, VMN1) // _MIN: Minimum Base Address
CreateDWordField (CRS1, \_SB.PCI0._Y04._MAX, VMX1) // _MAX: Maximum Base Address
CreateDWordField (CRS1, \_SB.PCI0._Y04._LEN, VLN1) // _LEN: Length
VMN1 = 0x000A0000
VMX1 = 0x000BFFFF
VLN1 = 0x00020000
VGAF = Zero
}
}
CreateDWordField (CRS1, \_SB.PCI0._Y05._MIN, MIN3) // _MIN: Minimum Base Address
CreateDWordField (CRS1, \_SB.PCI0._Y05._MAX, MAX3) // _MAX: Maximum Base Address
CreateDWordField (CRS1, \_SB.PCI0._Y05._LEN, LEN3) // _LEN: Length
MIN3 = MBB /* \_SB_.PCI0.MBB_ */
LEN3 = (NBTP - MBB)
Local0 = LEN3 /* \_SB_.PCI0._CRS.LEN3 */
MAX3 = (MIN3 + Local0--)
CreateDWordField (CRS1, \_SB.PCI0._Y06._MIN, MIN7) // _MIN: Minimum Base Address
CreateDWordField (CRS1, \_SB.PCI0._Y06._MAX, MAX7) // _MAX: Maximum Base Address
CreateDWordField (CRS1, \_SB.PCI0._Y06._LEN, LEN7) // _LEN: Length
MIN7 = 0xFEDCA000
Local0 = (0xFEDCA000 - NBTP)
LEN7 = (MBL - Local0)
LEN7 = (LEN7 - LEN3)
Local0 = LEN7 /* \_SB_.PCI0._CRS.LEN7 */
MAX7 = (MIN7 + Local0--)
If ((MALH || MALL))
{
CreateDWordField (CRS1, \_SB.PCI0._Y07._MIN, MN8L) // _MIN: Minimum Base Address
Local0 = (0x0670 + 0x04)
CreateDWordField (CRS1, Local0, MN8H)
MN8L = MABL /* \_SB_.PCI0.MABL */
MN8H = MABH /* \_SB_.PCI0.MABH */
CreateDWordField (CRS1, \_SB.PCI0._Y07._MAX, MX8L) // _MAX: Maximum Base Address
Local1 = (0x06B0 + 0x04)
CreateDWordField (CRS1, Local1, MX8H)
CreateDWordField (CRS1, \_SB.PCI0._Y07._LEN, LN8L) // _LEN: Length
Local2 = (0x0730 + 0x04)
CreateDWordField (CRS1, Local2, LN8H)
MN8L = MABL /* \_SB_.PCI0.MABL */
MN8H = MABH /* \_SB_.PCI0.MABH */
LN8L = MALL /* \_SB_.PCI0.MALL */
LN8H = MALH /* \_SB_.PCI0.MALH */
MX8L = MAML /* \_SB_.PCI0.MAML */
MX8H = MAMH /* \_SB_.PCI0.MAMH */
}
Return (CRS1) /* \_SB_.PCI0.CRS1 */
}
Else
{
CreateWordField (CRS2, \_SB.PCI0._Y08._MIN, MIN2) // _MIN: Minimum Base Address
CreateWordField (CRS2, \_SB.PCI0._Y08._MAX, MAX2) // _MAX: Maximum Base Address
CreateWordField (CRS2, \_SB.PCI0._Y08._LEN, LEN2) // _LEN: Length
MIN2 = BRB /* \_SB_.PCI0.BRB_ */
LEN2 = BRL /* \_SB_.PCI0.BRL_ */
Local1 = LEN2 /* \_SB_.PCI0._CRS.LEN2 */
MAX2 = (MIN2 + Local1--)
CreateWordField (CRS2, \_SB.PCI0._Y09._MIN, MIN4) // _MIN: Minimum Base Address
CreateWordField (CRS2, \_SB.PCI0._Y09._MAX, MAX4) // _MAX: Maximum Base Address
CreateWordField (CRS2, \_SB.PCI0._Y09._LEN, LEN4) // _LEN: Length
MIN4 = IOB /* \_SB_.PCI0.IOB_ */
LEN4 = IOL /* \_SB_.PCI0.IOL_ */
Local1 = LEN4 /* \_SB_.PCI0._CRS.LEN4 */
MAX4 = (MIN4 + Local1--)
If (LVGA)
{
CreateWordField (CRS2, \_SB.PCI0._Y0A._MIN, IMN2) // _MIN: Minimum Base Address
CreateWordField (CRS2, \_SB.PCI0._Y0A._MAX, IMX2) // _MAX: Maximum Base Address
CreateWordField (CRS2, \_SB.PCI0._Y0A._LEN, ILN2) // _LEN: Length
IMN2 = 0x03B0
IMX2 = 0x03DF
ILN2 = 0x30
CreateDWordField (CRS2, \_SB.PCI0._Y0B._MIN, VMN2) // _MIN: Minimum Base Address
CreateDWordField (CRS2, \_SB.PCI0._Y0B._MAX, VMX2) // _MAX: Maximum Base Address
CreateDWordField (CRS2, \_SB.PCI0._Y0B._LEN, VLN2) // _LEN: Length
VMN2 = 0x000A0000
VMX2 = 0x000BFFFF
VLN2 = 0x00020000
}
CreateDWordField (CRS2, \_SB.PCI0._Y0C._MIN, MIN5) // _MIN: Minimum Base Address
CreateDWordField (CRS2, \_SB.PCI0._Y0C._MAX, MAX5) // _MAX: Maximum Base Address
CreateDWordField (CRS2, \_SB.PCI0._Y0C._LEN, LEN5) // _LEN: Length
MIN5 = MBB /* \_SB_.PCI0.MBB_ */
LEN5 = (NBTP - MBB)
Local1 = LEN5 /* \_SB_.PCI0._CRS.LEN5 */
MAX5 = (MIN5 + Local1--)
CreateDWordField (CRS2, \_SB.PCI0._Y0D._MIN, MIN6) // _MIN: Minimum Base Address
CreateDWordField (CRS2, \_SB.PCI0._Y0D._MAX, MAX6) // _MAX: Maximum Base Address
CreateDWordField (CRS2, \_SB.PCI0._Y0D._LEN, LEN6) // _LEN: Length
MIN6 = (NBTP + NBTS) /* \NBTS */
LEN6 = (MBL - NBTS)
LEN6 = (LEN6 - LEN5)
Local0 = LEN6 /* \_SB_.PCI0._CRS.LEN6 */
MAX6 = (MIN6 + Local0--)
If ((MALH || MALL))
{
CreateDWordField (CRS2, \_SB.PCI0._Y0E._MIN, MN9L) // _MIN: Minimum Base Address
Local0 = (0x0460 + 0x04)
CreateDWordField (CRS2, Local0, MN9H)
CreateDWordField (CRS2, \_SB.PCI0._Y0E._MAX, MX9L) // _MAX: Maximum Base Address
Local1 = (0x04A0 + 0x04)
CreateDWordField (CRS2, Local1, MX9H)
CreateDWordField (CRS2, \_SB.PCI0._Y0E._LEN, LN9L) // _LEN: Length
Local2 = (0x0520 + 0x04)
CreateDWordField (CRS2, Local2, LN9H)
MN9L = MABL /* \_SB_.PCI0.MABL */
MN9H = MABH /* \_SB_.PCI0.MABH */
LN9L = MALL /* \_SB_.PCI0.MALL */
LN9H = MALH /* \_SB_.PCI0.MALH */
MX9L = MAML /* \_SB_.PCI0.MAML */
MX9H = MAMH /* \_SB_.PCI0.MAMH */
}
Return (CRS2) /* \_SB_.PCI0.CRS2 */
}
}
Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
{
Name (SUPP, Zero)
Name (CTRL, Zero)
CreateDWordField (Arg3, Zero, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
{
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
If (((SUPP & 0x16) != 0x16))
{
CTRL &= 0x1E
}
If (!PEHP)
{
CTRL &= 0x1E
}
If (!SHPC)
{
CTRL &= 0x1D
}
If (!PEPM)
{
CTRL &= 0x1B
}
If (!PEER)
{
CTRL &= 0x15
}
If (!PECS)
{
CTRL &= 0x0F
}
If ((Arg1 != One))
{
CDW1 |= 0x08
}
If ((CDW3 != CTRL))
{
CDW1 |= 0x10
}
CDW3 = CTRL /* \_SB_.PCI0._OSC.CTRL */
Return (Arg3)
}
Else
{
CDW1 |= 0x04
Return (Arg3)
}
}
Device (GNBD)
{
Name (_ADR, Zero) // _ADR: Address
OperationRegion (NAPC, PCI_Config, 0xF8, 0x08)
Field (NAPC, DWordAcc, NoLock, Preserve)
{
NAPX, 32,
NAPD, 32
}
Mutex (NAPM, 0x00)
Method (NAPE, 0, NotSerialized)
{
Acquire (NAPM, 0xFFFF)
NAPX = Zero
Local0 = NAPD /* \_SB_.PCI0.GNBD.NAPD */
Local0 &= 0xFFFFFFEF
NAPD = Local0
Release (NAPM)
}
Method (GINI, 0, NotSerialized)
{
NAPE ()
}
OperationRegion (NBRV, PCI_Config, 0x08, One)
Field (NBRV, ByteAcc, NoLock, Preserve)
{
PREV, 8
}
OperationRegion (NBBR, PCI_Config, 0x1C, 0x08)
Field (NBBR, DWordAcc, NoLock, Preserve)
{
BR3L, 32,
BR3H, 32
}
OperationRegion (NBBI, PCI_Config, 0x84, 0x04)
Field (NBBI, DWordAcc, NoLock, Preserve)
{
PARB, 32
}
OperationRegion (NBMS, PCI_Config, 0x60, 0x08)
Field (NBMS, DWordAcc, NoLock, Preserve)
{
MIDX, 32,
MIDR, 32
}
Mutex (NBMM, 0x00)
Method (NBMR, 1, NotSerialized)
{
Acquire (NBMM, 0xFFFF)
Local0 = (Arg0 & 0x7F)
MIDX = Local0
Local0 = MIDR /* \_SB_.PCI0.GNBD.MIDR */
MIDX = 0x7F
Release (NBMM)
Return (Local0)
}
Method (NBMW, 2, NotSerialized)
{
Acquire (NBMM, 0xFFFF)
Local0 = (Arg0 & 0x7F)
Local0 |= 0x80
MIDX = Local0
MIDR = Arg1
MIDX = Local0 &= 0x7F
Release (NBMM)
}
OperationRegion (NBXP, PCI_Config, 0xE0, 0x08)
Field (NBXP, DWordAcc, NoLock, Preserve)
{
NBXI, 32,
NBXD, 32
}
Mutex (NBXM, 0x00)
Method (NBXR, 1, NotSerialized)
{
Acquire (NBXM, 0xFFFF)
NBXI = Arg0
Local0 = NBXD /* \_SB_.PCI0.GNBD.NBXD */
NBXI = Zero
Release (NBXM)
Return (Local0)
}
Method (NBXW, 2, NotSerialized)
{
Acquire (NBXM, 0xFFFF)
NBXI = Arg0
NBXD = Arg1
NBXI = Zero
Release (NBXM)
}
Method (GFXM, 0, NotSerialized)
{
Local0 = NBMR (0x08)
Local0 &= 0x0F
Return (Local0)
}
Method (GPPM, 0, NotSerialized)
{
Local0 = NBMR (0x67)
Local0 &= 0xF0
Return (Local0)
}
Method (GPPX, 0, NotSerialized)
{
Local0 = NBMR (0x2D)
Local0 >>= 0x07
Local0 &= 0x0F
Return (Local0)
}
Method (XPTR, 2, NotSerialized)
{
If (((Arg0 < 0x02) && (Arg0 > 0x07)))
{
Return (Zero)
}
Else
{
Local0 = GPPM ()
Local1 = GPPX ()
Local0 = One
If ((Arg0 < 0x04))
{
Local1 = (Arg0 + 0x02)
}
Else
{
Local1 = (Arg0 + 0x11)
}
Local0 <<= Local1
Local2 = NBMR (0x08)
If (Arg1)
{
Local2 &= ~Local0
}
Else
{
Local2 |= Local0
}
NBMW (0x08, Local2)
Return (Ones)
}
}
Name (PX3L, 0x80000000)
Name (PX3H, 0x80000000)
Name (PX3S, 0x10000000)
Name (PX3K, 0xF0000000)
Mutex (BR3X, 0x00)
Method (BR3M, 0, NotSerialized)
{
Local0 = PARB /* \_SB_.PCI0.GNBD.PARB */
Local0 >>= 0x10
Local0 &= 0x07
If (Local0)
{
Local1 = (One << Local0)
Local1 = (0x1000 - Local1)
Local1 <<= 0x14
PX3K = Local1
Local0 = (0x00100000 >> Local0)
PX3S = Local0
}
Acquire (BR3X, 0xFFFF)
Local0 = NBMR (Zero)
Local0 &= 0xFFFFFFF7
NBMW (Zero, Local0)
Local0 = BR3L /* \_SB_.PCI0.GNBD.BR3L */
Local0 &= PX3K /* \_SB_.PCI0.GNBD.PX3K */
PX3L = Local0
Local0 = BR3H /* \_SB_.PCI0.GNBD.BR3H */
Local0 &= 0xFF
PX3H = Local0
Local0 = NBMR (Zero)
Local0 |= 0x08
NBMW (Zero, Local0)
Release (BR3X)
Return (PX3L) /* \_SB_.PCI0.GNBD.PX3L */
}
Method (GPTS, 1, NotSerialized)
{
}
Method (GWAK, 1, NotSerialized)
{
If (PICM)
{
NAPE ()
}
}
OperationRegion (NB2, PCI_Config, Zero, 0x0100)
Field (NB2, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
MI, 32,
MD, 32,
Offset (0x90),
TOM, 32,
OI, 32,
OD, 32,
Offset (0xE0),
LI, 32,
LD, 32
}
Device (BROD)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x14) // _UID: Unique ID
Name (UMAS, 0x20000000)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y0F)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (CRS, \_SB.PCI0.GNBD.BROD._Y0F._BAS, BAS1) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.GNBD.BROD._Y0F._LEN, LEN1) // _LEN: Length
LEN1 = UMAS /* \_SB_.PCI0.GNBD.BROD.UMAS */
BAS1 = (TOM - LEN1) /* \_SB_.PCI0.GNBD.BROD._CRS.LEN1 */
Return (CRS) /* \_SB_.PCI0.GNBD.BROD.CRS_ */
}
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y10)
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((HPEN == One))
{
If ((OSVR >= 0x0C))
{
Return (0x0F)
}
HPEN = Zero
Return (One)
}
Return (One)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (CRS, \_SB.PCI0.GNBD.HPET._Y10._BAS, HPTX) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.GNBD.HPET._Y10._LEN, HPTY) // _LEN: Length
HPTX = HPTB /* \HPTB */
HPTY = HPTL /* \HPTL */
Return (CRS) /* \_SB_.PCI0.GNBD.HPET.CRS_ */
}
}
}
Device (IOMA)
{
Name (_ADR, 0x02) // _ADR: Address
OperationRegion (NBF2, PCI_Config, Zero, 0x0100)
Field (NBF2, AnyAcc, NoLock, Preserve)
{
DID, 32,
Offset (0x44),
MBAS, 32
}
Device (^UMEM)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x15) // _UID: Unique ID
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y11)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (CRS, \_SB.PCI0.UMEM._Y11._BAS, BAS3) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.UMEM._Y11._LEN, LEN3) // _LEN: Length
If ((^^IOMA.DID != 0xFFFFFFFF))
{
LEN3 = 0x00080000
BAS3 = (^^IOMA.MBAS & 0xFFFFC000)
}
Return (CRS) /* \_SB_.PCI0.UMEM.CRS_ */
}
}
}
Device (GPP0)
{
Name (_ADR, 0x00020001) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR02) /* \_SB_.AR02 */
}
Return (PR02) /* \_SB_.PR02 */
}
Device (D00A)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GPP1)
{
Name (_ADR, 0x00020002) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR03) /* \_SB_.AR03 */
}
Return (PR03) /* \_SB_.PR03 */
}
Device (D00C)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GPP2)
{
Name (_ADR, 0x00020003) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR05) /* \_SB_.AR05 */
}
Return (PR05) /* \_SB_.PR05 */
}
Device (D00E)
{
Name (_ADR, 0xFF) // _ADR: Address
}
Device (GLAN)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x08, 0x03))
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
OperationRegion (LANR, PCI_Config, Zero, 0x0100)
Field (LANR, ByteAcc, NoLock, Preserve)
{
VID, 16,
Offset (0xE0),
, 15,
PMES, 1
}
}
}
Device (GPP3)
{
Name (_ADR, 0x00020004) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04) /* \_SB_.AR04 */
}
Return (PR04) /* \_SB_.PR04 */
}
Device (D010)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GPP4)
{
Name (_ADR, 0x00020005) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06) /* \_SB_.AR06 */
}
Return (PR06) /* \_SB_.PR06 */
}
Device (D012)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GFX0)
{
Name (_ADR, 0x00030001) // _ADR: Address
OperationRegion (NAPC, PCI_Config, 0xF8, 0x08)
Field (NAPC, DWordAcc, NoLock, Preserve)
{
NAPX, 32,
NAPD, 32
}
OperationRegion (XPEX, SystemMemory, 0xF8011100, 0x0100)
Field (XPEX, DWordAcc, NoLock, Preserve)
{
Offset (0x28),
VC0S, 32
}
OperationRegion (PCFG, PCI_Config, Zero, 0x20)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
DVID, 32,
PCMS, 32,
Offset (0x18),
SBUS, 32
}
Device (VGA)
{
Name (_ADR, Zero) // _ADR: Address
OperationRegion (PCFG, PCI_Config, Zero, 0x50)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
DVID, 32,
Offset (0x2C),
SVID, 32,
Offset (0x4C),
SMID, 32
}
Name (DOSA, Zero)
Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
{
DOSA = Arg0
}
Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
{
Return (Package (0x05)
{
0x00010100,
0x00010110,
0x0200,
0x00010210,
0x00010220
})
}
Device (LCD)
{
Name (_ADR, 0x0110) // _ADR: Address
Name (BCLB, Package (0x34)
{
0x5A,
0x3C,
0x02,
0x04,
0x06,
0x08,
0x0A,
0x0C,
0x0E,
0x10,
0x12,
0x14,
0x16,
0x18,
0x1A,
0x1C,
0x1E,
0x20,
0x22,
0x24,
0x26,
0x28,
0x2A,
0x2C,
0x2E,
0x30,
0x32,
0x34,
0x36,
0x38,
0x3A,
0x3C,
0x3E,
0x40,
0x42,
0x44,
0x46,
0x48,
0x4A,
0x4C,
0x4E,
0x50,
0x52,
0x54,
0x56,
0x58,
0x5A,
0x5C,
0x5E,
0x60,
0x62,
0x64
})
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (BCLB) /* \_SB_.PCI0.GFX0.VGA_.LCD_.BCLB */
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If ((^^^^VGA.AF7E == 0x80000001))
{
Divide ((Arg0 * 0xFF), 0x64, Local1, Local0)
AFN7 (Local0)
}
}
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
Device (HDAU)
{
Name (_ADR, One) // _ADR: Address
OperationRegion (PCFG, PCI_Config, Zero, 0x50)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
DVID, 32,
Offset (0x2C),
SVID, 32,
Offset (0x4C),
SMID, 32
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR08) /* \_SB_.AR08 */
}
Return (PR08) /* \_SB_.PR08 */
}
Device (D029)
{
Name (_ADR, Zero) // _ADR: Address
}
}
Device (GFX1)
{
Name (_ADR, 0x00030002) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR09) /* \_SB_.AR09 */
}
Return (PR09) /* \_SB_.PR09 */
}
Device (D016)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GFX2)
{
Name (_ADR, 0x00030003) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR0A) /* \_SB_.AR0A */
}
Return (PR0A) /* \_SB_.PR0A */
}
Device (D018)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GFX3)
{
Name (_ADR, 0x00030004) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR0B) /* \_SB_.AR0B */
}
Return (PR0B) /* \_SB_.PR0B */
}
Device (D01A)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (GFX4)
{
Name (_ADR, 0x00030005) // _ADR: Address
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR0C) /* \_SB_.AR0C */
}
Return (PR0C) /* \_SB_.PR0C */
}
Device (D01C)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (D01D)
{
Name (_ADR, 0x00080000) // _ADR: Address
}
Device (AZAL)
{
Name (_ADR, 0x00090002) // _ADR: Address
}
Device (D021)
{
Name (_ADR, 0x00140000) // _ADR: Address
}
Device (SBRG)
{
Name (_ADR, 0x00140003) // _ADR: Address
Device (PIC)
{
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
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
DMA (Compatibility, BusMaster, Transfer8, )
{4}
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0087, // Range Minimum
0x0087, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0089, // Range Minimum
0x0089, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x008F, // Range Minimum
0x008F, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x00, // Alignment
0x20, // Length
)
})
}
Device (TMR)
{
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
0x00, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If ((HPEN == One))
{
Return (BUF0) /* \_SB_.PCI0.SBRG.RTC0.BUF0 */
}
Return (BUF1) /* \_SB_.PCI0.SBRG.RTC0.BUF1 */
}
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
}
OperationRegion (RMBS, PCI_Config, Zero, 0x0100)
Field (RMBS, ByteAcc, NoLock, Preserve)
{
Offset (0x6C),
LR2S, 16,
LR2E, 16
}
Method (SPTS, 1, NotSerialized)
{
}
Method (SWAK, 1, NotSerialized)
{
If (PICM)
{
IRQC ()
}
}
Scope (\_SB)
{
Name (SLPS, Zero)
}
OperationRegion (SMI0, SystemIO, SMIO, One)
Field (SMI0, ByteAcc, NoLock, Preserve)
{
SMIC, 8
}
Scope (\_SB)
{
Scope (PCI0)
{
Device (S900)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x0700) // _UID: Unique ID
Name (_STA, 0x0F) // _STA: Status
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0022, // Range Minimum
0x0022, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x00, // Alignment
0x09, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x00, // Alignment
0x0E, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0084, // Range Minimum
0x0084, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0088, // Range Minimum
0x0088, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x008C, // Range Minimum
0x008C, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x00A2, // Range Minimum
0x00A2, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x00B1, // Range Minimum
0x00B1, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x040B, // Range Minimum
0x040B, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x04D6, // Range Minimum
0x04D6, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C00, // Range Minimum
0x0C00, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0C14, // Range Minimum
0x0C14, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C50, // Range Minimum
0x0C50, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0C52, // Range Minimum
0x0C52, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C6C, // Range Minimum
0x0C6C, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C6F, // Range Minimum
0x0C6F, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0CD0, // Range Minimum
0x0CD0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0CD2, // Range Minimum
0x0CD2, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0CD4, // Range Minimum
0x0CD4, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0CD6, // Range Minimum
0x0CD6, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0CD8, // Range Minimum
0x0CD8, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y12)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y15)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y14)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y13)
IO (Decode16,
0x0900, // Range Minimum
0x0900, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0910, // Range Minimum
0x0910, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0xFE00, // Range Minimum
0xFE00, // Range Maximum
0x00, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x00, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x00, // Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y16)
Memory32Fixed (ReadWrite,
0xFEC01000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEDC0000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEE00000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED80000, // Address Base
0x00010000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED61000, // Address Base
0x00010000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y17)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y18)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y19)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (CRS, \_SB.PCI0.S900._Y12._MIN, PBB) // _MIN: Minimum Base Address
CreateWordField (CRS, \_SB.PCI0.S900._Y12._MAX, PBH) // _MAX: Maximum Base Address
CreateByteField (CRS, \_SB.PCI0.S900._Y12._LEN, PML) // _LEN: Length
PBB = PMBS /* \PMBS */
PBH = PMBS /* \PMBS */
PML = PMLN /* \PMLN */
If (SMBB)
{
CreateWordField (CRS, \_SB.PCI0.S900._Y13._MIN, SMB1) // _MIN: Minimum Base Address
CreateWordField (CRS, \_SB.PCI0.S900._Y13._MAX, SMH1) // _MAX: Maximum Base Address
CreateByteField (CRS, \_SB.PCI0.S900._Y13._LEN, SML1) // _LEN: Length
SMB1 = \SMBB
SMH1 = \SMBB
SML1 = SMBL /* \SMBL */
CreateWordField (CRS, \_SB.PCI0.S900._Y14._MIN, SMB0) // _MIN: Minimum Base Address
CreateWordField (CRS, \_SB.PCI0.S900._Y14._MAX, SMH0) // _MAX: Maximum Base Address
CreateByteField (CRS, \_SB.PCI0.S900._Y14._LEN, SML0) // _LEN: Length
SMB0 = SMB0 /* \_SB_.PCI0.S900._CRS.SMB0 */
SMH0 = SMB0 /* \_SB_.PCI0.S900._CRS.SMB0 */
SML0 = SMBM /* \SMBM */
}
If (GPBS)
{
CreateWordField (CRS, \_SB.PCI0.S900._Y15._MIN, IGB) // _MIN: Minimum Base Address
CreateWordField (CRS, \_SB.PCI0.S900._Y15._MAX, IGH) // _MAX: Maximum Base Address
CreateByteField (CRS, \_SB.PCI0.S900._Y15._LEN, IGL) // _LEN: Length
IGB = GPBS /* \GPBS */
IGH = GPBS /* \GPBS */
IGL = GPLN /* \GPLN */
}
If (APCB)
{
CreateDWordField (CRS, \_SB.PCI0.S900._Y16._BAS, APB) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.S900._Y16._LEN, APL) // _LEN: Length
APB = APCB /* \APCB */
APL = APCL /* \APCL */
}
If (SPIB)
{
CreateDWordField (CRS, \_SB.PCI0.S900._Y17._BAS, SPIB) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.S900._Y17._LEN, SPIL) // _LEN: Length
SPIB = \SPIB
SPIL = \SPIL
}
If (WDTB)
{
CreateDWordField (CRS, \_SB.PCI0.S900._Y18._BAS, WDTB) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.S900._Y18._LEN, WDTL) // _LEN: Length
WDTB = \WDTB
WDTL = \WDTL
}
CreateDWordField (CRS, \_SB.PCI0.S900._Y19._BAS, ROMB) // _BAS: Base Address
CreateDWordField (CRS, \_SB.PCI0.S900._Y19._LEN, ROML) // _LEN: Length
If (^^SBRG.LR2S)
{
ROMB = (^^SBRG.LR2S << 0x10)
ROML = (((^^SBRG.LR2E - ^^SBRG.LR2S) + One) << 0x10)
}
Else
{
ROMB = ROMS /* \ROMS */
ROML = (Zero - ROMS) /* \ROMS */
}
Return (CRS) /* \_SB_.PCI0.S900.CRS_ */
}
}
}
}
Scope (\_SB)
{
Scope (PCI0)
{
Scope (SBRG)
{
Method (RRIO, 4, NotSerialized)
{
Debug = "RRIO"
}
Method (RDMA, 3, NotSerialized)
{
Debug = "rDMA"
}
}
}
}
}
Device (SDIO)
{
Name (_ADR, 0x00140007) // _ADR: Address
}
Device (EHC1)
{
Name (_ADR, 0x00120000) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x18, 0x04))
}
}
Device (XHC0)
{
Name (_ADR, 0x00100000) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x19, 0x04))
}
}
Device (SATA)
{
Name (_ADR, 0x00110000) // _ADR: Address
Name (B5EN, Zero)
Name (BA_5, Zero)
Name (SBAR, 0xF0B6F000)
Name (OSVR, Zero)
Name (SAD0, Zero)
Name (SAD3, Zero)
PowerResource (P0SA, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (SAD0) /* \_SB_.PCI0.SATA.SAD0 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
DBG8 = 0xA1
SAD0 = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
DBG8 = 0xA2
SAD0 = Zero
}
}
PowerResource (P3SA, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (SAD3) /* \_SB_.PCI0.SATA.SAD3 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
DBG8 = 0xA4
SAD3 = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
DBG8 = 0xA5
SAD3 = Zero
}
}
OperationRegion (SATX, PCI_Config, Zero, 0x44)
Field (SATX, AnyAcc, NoLock, Preserve)
{
VIDI, 32,
Offset (0x0A),
STCL, 16,
Offset (0x24),
BA05, 32,
Offset (0x40),
WTEN, 1,
Offset (0x42),
DIS0, 1,
DIS1, 1,
DIS2, 1,
DIS3, 1,
DIS4, 1,
DIS5, 1
}
Field (SATX, AnyAcc, NoLock, Preserve)
{
Offset (0x42),
DISP, 6
}
Method (GBAA, 0, Serialized)
{
BA_5 = BA05 /* \_SB_.PCI0.SATA.BA05 */
If (((BA_5 == Ones) || (STCL != 0x0101)))
{
B5EN = Zero
Return (SBAR) /* \_SB_.PCI0.SATA.SBAR */
}
Else
{
B5EN = One
Return (BA_5) /* \_SB_.PCI0.SATA.BA_5 */
}
}
OperationRegion (BAR5, SystemMemory, GBAA (), 0x1000)
Field (BAR5, AnyAcc, NoLock, Preserve)
{
NOPT, 5,
Offset (0x0C),
PTI0, 1,
PTI1, 1,
PTI2, 1,
PTI3, 1,
PTI4, 1,
PTI5, 1,
PTI6, 1,
PTI7, 1,
Offset (0x118),
CST0, 1,
Offset (0x120),
, 7,
BSY0, 1,
Offset (0x128),
DET0, 4,
Offset (0x129),
IPM0, 4,
Offset (0x12C),
DDI0, 4,
Offset (0x198),
CST1, 1,
Offset (0x1A0),
, 7,
BSY1, 1,
Offset (0x1A8),
DET1, 4,
Offset (0x1A9),
IPM1, 4,
Offset (0x1AC),
DDI1, 4,
Offset (0x218),
CST2, 1,
Offset (0x220),
, 7,
BSY2, 1,
Offset (0x228),
DET2, 4,
Offset (0x229),
IPM2, 4,
Offset (0x22C),
DDI2, 4,
Offset (0x298),
CST3, 1,
Offset (0x2A0),
, 7,
BSY3, 1,
Offset (0x2A8),
DET3, 4,
Offset (0x2A9),
IPM3, 4,
Offset (0x2AC),
DDI3, 4,
Offset (0x318),
CST4, 1,
Offset (0x320),
, 7,
BSY4, 1,
Offset (0x328),
DET4, 4,
Offset (0x329),
IPM4, 4,
Offset (0x32C),
DDI4, 4,
Offset (0x398),
CST5, 1,
Offset (0x3A0),
, 7,
BSY5, 1,
Offset (0x3A8),
DET5, 4,
Offset (0x3A9),
IPM5, 4,
Offset (0x3AC),
DDI5, 4
}
Field (BAR5, AnyAcc, NoLock, Preserve)
{
Offset (0x0C),
PTI, 6
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
GBAA ()
}
Device (PRID)
{
Name (_ADR, Zero) // _ADR: Address
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* x....... */
/* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* x....... */
/* 0010 */ 0x1F, 0x00, 0x00, 0x00 /* .... */
})
Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
{
Return (SPTM) /* \_SB_.PCI0.SATA.PRID.SPTM */
}
Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode
{
SPTM = Arg0
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GBAA ()
If ((((OSVR >= 0x0C) || (OSVR == Zero)) && B5EN))
{
If (IPM2)
{
Local0 = 0x32
While (((BSY2 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Device (P_D0)
{
Name (_ADR, Zero) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
GBAA ()
If ((B5EN == Zero))
{
Return (Zero)
}
If ((DET0 == 0x03))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (S12P, Zero)
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GBAA ()
If ((((OSVR < 0x0C) && (OSVR != Zero)) && B5EN))
{
Local0 = 0x32
While (((BSY0 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
{
Local0 = Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF /* .F..... */
}
Return (Local0)
}
}
Device (P_D1)
{
Name (_ADR, One) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
GBAA ()
If ((B5EN == Zero))
{
Return (Zero)
}
If ((DET2 == 0x03))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (S12P, Zero)
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GBAA ()
If ((((OSVR < 0x0C) && (OSVR != Zero)) && B5EN))
{
Local0 = 0x32
While (((BSY2 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
{
Local0 = Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF /* .F..... */
}
Return (Local0)
}
}
}
Device (SECD)
{
Name (_ADR, 0x02) // _ADR: Address
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* x....... */
/* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* x....... */
/* 0010 */ 0x1F, 0x00, 0x00, 0x00 /* .... */
})
Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
{
Return (SPTM) /* \_SB_.PCI0.SATA.SECD.SPTM */
}
Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode
{
SPTM = Arg0
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GBAA ()
If ((((OSVR >= 0x0C) || (OSVR == Zero)) && B5EN))
{
If (IPM1)
{
Local0 = 0x32
While (((BSY1 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
If (IPM3)
{
Local0 = 0x32
While (((BSY3 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Device (S_D0)
{
Name (_ADR, Zero) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
GBAA ()
If ((B5EN == Zero))
{
Return (Zero)
}
If ((DET1 == 0x03))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GBAA ()
If ((((OSVR < 0x0C) && (OSVR != Zero)) && B5EN))
{
Local0 = 0x32
While (((BSY1 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
{
Local0 = Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF /* .F..... */
}
Return (Local0)
}
}
Device (S_D1)
{
Name (_ADR, One) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
GBAA ()
If ((B5EN == Zero))
{
Return (Zero)
}
If ((DET3 == 0x03))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
GBAA ()
If ((((OSVR < 0x0C) && (OSVR != Zero)) && B5EN))
{
Local0 = 0x32
While (((BSY3 == One) && Local0))
{
Sleep (0xFA)
Local0--
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
{
Local0 = Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF /* .F..... */
}
Return (Local0)
}
}
}
Method (ENP, 2, NotSerialized)
{
If ((Arg0 == Zero))
{
DIS0 = ~Arg1
}
Else
{
If ((Arg0 == One))
{
DIS1 = ~Arg1
}
Else
{
If ((Arg0 == 0x02))
{
DIS2 = ~Arg1
}
Else
{
If ((Arg0 == 0x03))
{
DIS3 = ~Arg1
}
Else
{
If ((Arg0 == 0x04))
{
DIS4 = ~Arg1
}
Else
{
If ((Arg0 == 0x05))
{
DIS5 = ~Arg1
}
}
}
}
}
}
WTEN = One
If ((Arg0 == Zero))
{
PTI0 = Arg1
}
Else
{
If ((Arg0 == One))
{
PTI1 = Arg1
}
Else
{
If ((Arg0 == 0x02))
{
PTI2 = Arg1
}
Else
{
If ((Arg0 == 0x03))
{
PTI3 = Arg1
}
Else
{
If ((Arg0 == 0x04))
{
PTI4 = Arg1
}
Else
{
If ((Arg0 == 0x05))
{
PTI5 = Arg1
}
}
}
}
}
}
If ((DISP == 0x3F))
{
PTI0 = One
}
Else
{
If ((DIS0 && ((DISP & 0x3E) ^ 0x3E)))
{
PTI0 = Zero
}
}
Local0 = PTI /* \_SB_.PCI0.SATA.PTI_ */
Local1 = Zero
While (Local0)
{
If ((Local0 & One))
{
Local1++
}
Local0 >>= One
}
NOPT = Local1--
WTEN = Zero
}
}
Device (VGA)
{
Name (_ADR, 0x00010000) // _ADR: Address
OperationRegion (PCIG, PCI_Config, Zero, 0x50)
Field (PCIG, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
GBA2, 32
}
OperationRegion (GFMM, SystemMemory, GBA2, 0x6000)
Field (GFMM, DWordAcc, NoLock, Preserve)
{
Offset (0x5F68),
AZPS, 32
}
OperationRegion (VSID, PCI_Config, Zero, 0x04)
Field (VSID, ByteAcc, NoLock, Preserve)
{
REG0, 32
}
Name (PXEN, 0x80000000)
Name (AF7E, 0x80000001)
Name (SACD, Zero)
Name (PCTG, Package (0x0B) {})
Method (PRST, 0, NotSerialized)
{
If ((REG0 == 0xFFFFFFFF))
{
Return (Zero)
}
Else
{
Return (One)
}
}
Name (BCMP, Zero)
Name (UPDN, One)
Name (NXTD, One)
Name (LCDM, One)
Name (CRTM, 0x02)
Name (TVOM, 0x04)
Name (DVIM, 0x08)
Name (HDMM, 0x10)
Name (PACH, Zero)
Name (DONE, Zero)
Name (DOSF, One)
Name (BRNC, Zero)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
^^^DOSF = DOSF /* \_SB_.PCI0.VGA_.DOSF */
}
Method (GCDS, 0, NotSerialized)
{
SACD = One
If ((MSOS () < OSW8))
{
AFN0 ()
}
Else
{
^^PB2.VGA.AFN0 ()
}
Local0 = 0x01F4
While (Local0)
{
If ((SACD == Zero))
{
Local0 = Zero
}
Else
{
Local0--
Sleep (0x0A)
}
}
Return (XD2A (CSTE))
Return (GETD ())
}
Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
{
DOSF = (Arg0 & 0x03)
^^^DOSF = DOSF /* \_SB_.PCI0.VGA_.DOSF */
BRNC = (Arg0 >> 0x02)
BRNC &= One
}
Name (DODP, Package (0x03)
{
0x00010100,
0x00010110,
0xFFFF0010
})
Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
{
If (!PACH)
{
Index (DODP, Match (DODP, MEQ, 0xFFFF0010, MTR, Zero, Zero)) = 0x0210
PACH = One
}
Return (DODP) /* \_SB_.PCI0.VGA_.DODP */
}
Device (CRTD)
{
Name (_ADR, 0x0100) // _ADR: Address
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
Local0 = AVLD /* \_SB_.AVLD */
If (Local0)
{
If ((Local0 & CRTM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Local0 = (NXTD & CRTM) /* \_SB_.PCI0.VGA_.CRTM */
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
Sleep (0xC8)
DONE = One
}
}
Device (HDMI)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return (0x0210)
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
Local0 = AVLD /* \_SB_.AVLD */
If (Local0)
{
If ((Local0 & HDMM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Local0 = (NXTD & HDMM) /* \_SB_.PCI0.VGA_.HDMM */
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
Sleep (0xC8)
DONE = One
}
}
Scope (\)
{
Mutex (PXPX, 0x00)
}
Device (LCDD)
{
Name (_ADR, 0x0110) // _ADR: Address
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
Local0 = AVLD /* \_SB_.AVLD */
If (Local0)
{
If ((Local0 & LCDM))
{
Return (0x1F)
}
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Local0 = (NXTD & LCDM) /* \_SB_.PCI0.VGA_.LCDM */
If (Local0)
{
Return (One)
}
Return (Zero)
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
Sleep (0xC8)
DONE = One
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
If ((MSOS () >= OSW8))
{
Local0 = (0x64 + One)
Local0 += 0x02
Name (BRPP, Package (0x67) {})
Index (BRPP, Zero) = 0x64
Index (BRPP, One) = 0x28
Local1 = 0x02
Local2 = Zero
While ((Local1 < Local0))
{
Index (BRPP, Local1) = Local2
Local1++
Local2++
}
Local0 = Zero
While ((Local0 <= 0x0A))
{
Local1 = (Local0 * 0x0A)
Local2 = (0x0B - Local0)
Local2 -= One
Index (PCTG, Local2) = Local1
Local0++
}
Return (BRPP) /* \_SB_.PCI0.VGA_.LCDD._BCL.BRPP */
}
Local0 = Zero
Local4 = BRTI /* \_SB_.BRTI */
Local4 <<= 0x04
While ((Local0 < 0x0B))
{
Local3 = (0x0B - Local0)
Local3 -= One
Local3 = (Local4 + Local3)
Local1 = DerefOf (Index (^^^SBRG.EC0.PWAC, Local3))
Local2 = ((Local1 * 0x64) / 0xFF)
Index (PCTG, Local0) = Local2
Local0++
}
Return (PCTG) /* \_SB_.PCI0.VGA_.PCTG */
}
Name (BCBH, Zero)
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If ((MSOS () < OSW8))
{
Local0 = GCBL (Arg0)
LBTN = (0x0A - Local0)
Divide ((Arg0 * 0xFF), 0x64, Local2, Local3)
AFN7 (Local3)
}
Else
{
Local0 = (Arg0 * 0xFF)
Divide (Local0, 0x64, Local1, BCMP) /* \_SB_.PCI0.VGA_.BCMP */
Divide ((Arg0 * 0xFF), 0x64, Local2, Local3)
^^^PB2.VGA.AFN7 (Local3)
}
}
}
Method (SWHD, 1, Serialized)
{
UPDN = One
SACD = 0x02
NXTD = Arg0
If ((MSOS () < OSW8))
{
AFN0 ()
}
Else
{
^^PB2.VGA.AFN0 ()
}
Return (Zero)
UPDN = One
If ((DOSF == One))
{
SETD = Arg0
ISMI (0x94)
}
Else
{
NXTD = Arg0
SETD = Arg0
DONE = Zero
Notify (VGA, 0x80) // Status Change
Local0 = 0x05
While (Local0)
{
GETD ()
If ((ACTD == NXTD))
{
Local0 = Zero
}
Else
{
Sleep (0x03E8)
Local0--
}
}
}
}
Method (GETD, 0, NotSerialized)
{
ISMI (0x95)
Return (ACTD) /* \_SB_.ACTD */
}
Method (GNDD, 0, NotSerialized)
{
ISMI (0xA0)
Return (SETD) /* \_SB_.SETD */
}
Method (ADVD, 0, NotSerialized)
{
SACD = One
If ((MSOS () < OSW8))
{
AFN0 ()
}
Else
{
^^PB2.VGA.AFN0 ()
}
Local0 = 0x01F4
While (Local0)
{
If ((SACD == Zero))
{
Local0 = Zero
}
Else
{
Local0--
Sleep (0x0A)
}
}
Return (NXTD) /* \_SB_.PCI0.VGA_.NXTD */
If (UPDN)
{
UPDN = Zero
GETD ()
SETD = ACTD /* \_SB_.ACTD */
}
GNDD ()
NXTD = SETD /* \_SB_.SETD */
Return (SETD) /* \_SB_.SETD */
}
Method (NATK, 0, NotSerialized)
{
Return (One)
}
Method (UPBL, 0, NotSerialized)
{
Notify (LCDD, 0x86) // Device-Specific
}
Method (DWBL, 0, NotSerialized)
{
Notify (LCDD, 0x87) // Device-Specific
}
Method (GCBL, 1, NotSerialized)
{
Arg0 &= 0x7FFFFFFF
Local0 = Zero
While ((Local0 < 0x0B))
{
Local1 = DerefOf (Index (PCTG, Local0))
If ((Local1 <= Arg0))
{
Break
}
Local0++
}
If ((Local0 >= 0x0B))
{
Local2 = 0x0A
}
Else
{
Local2 = Local0
}
Return (Local2)
}
Method (XD2A, 1, NotSerialized)
{
Local0 = Zero
If ((Arg0 & One))
{
Local0 |= One
}
If ((Arg0 & 0x02))
{
Local0 |= 0x02
}
If ((Arg0 & 0x04))
{
Local0 |= 0x04
}
If ((Arg0 & 0x08))
{
Local0 |= 0x10
}
Return (Local0)
}
Method (XA2D, 1, NotSerialized)
{
Local0 = Zero
If ((Arg0 & One))
{
Local0 |= One
}
If ((Arg0 & 0x02))
{
Local0 |= 0x02
}
If ((Arg0 & 0x04))
{
Local0 |= 0x04
}
If ((Arg0 & 0x10))
{
Local0 |= 0x08
}
Return (Local0)
}
}
}
}
Scope (_SB)
{
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
Name (_UID, 0xAA) // _UID: Unique ID
Name (_STA, 0x0B) // _STA: Status
}
}
Name (_S0, Package (0x04) // _S0_: S0 System State
{
Zero,
Zero,
Zero,
Zero
})
Name (_S3, Package (0x04) // _S3_: S3 System State
{
0x03,
Zero,
Zero,
Zero
})
Name (_S4, Package (0x04) // _S4_: S4 System State
{
0x04,
Zero,
Zero,
Zero
})
Name (_S5, Package (0x04) // _S5_: S5 System State
{
0x05,
Zero,
Zero,
Zero
})
Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
{
If (Arg0)
{
SPTS (Arg0)
FPTS ()
\_SB.PCI0.GNBD.GPTS (Arg0)
\_SB.PCI0.NPTS (Arg0)
OEMS (Arg0)
}
}
Method (_WAK, 1, NotSerialized) // _WAK: Wake
{
DBG8 = (Arg0 << 0x04)
\_SB.PCI0.NWAK (Arg0)
\_SB.PCI0.GNBD.GWAK (Arg0)
DBG8 = (Arg0 << 0x04)
SWAK (Arg0)
FWAK ()
OEMW (Arg0)
Return (WAKP) /* \WAKP */
}
Scope (_PR)
{
OperationRegion (SSDT, SystemMemory, 0xFFFF0000, 0xFFFF)
Name (DCOR, 0x02)
Name (TBLD, 0x04)
Name (NPSS, 0x05)
Name (HNDL, 0x80000000)
Name (APSS, Package (0x0A)
{
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
},
Package (0x06)
{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF
}
})
Processor (P000, 0x01, 0x00000810, 0x06)
{
Name (TYPE, 0x80000000)
Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
{
CreateDWordField (Arg0, 0x08, DAT0)
TYPE = DAT0 /* \_PR_.P000._PDC.DAT0 */
If (((TBLD == Zero) && (NPSS != Zero)))
{
If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero)))
{
TBLD = One
Load (SSDT, HNDL) /* \_PR_.HNDL */
}
}
}
}
Processor (P001, 0x02, 0x00000810, 0x06)
{
Name (TYPE, 0x80000000)
Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
{
CreateDWordField (Arg0, 0x08, DAT0)
TYPE = DAT0 /* \_PR_.P001._PDC.DAT0 */
If (((TBLD == Zero) && (NPSS != Zero)))
{
If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero)))
{
TBLD = One
Load (SSDT, HNDL) /* \_PR_.HNDL */
}
}
}
}
Processor (P002, 0x03, 0x00000810, 0x06)
{
Name (TYPE, 0x80000000)
Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
{
CreateDWordField (Arg0, 0x08, DAT0)
TYPE = DAT0 /* \_PR_.P002._PDC.DAT0 */
If (((TBLD == Zero) && (NPSS != Zero)))
{
If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero)))
{
TBLD = One
Load (SSDT, HNDL) /* \_PR_.HNDL */
}
}
}
}
Processor (P003, 0x04, 0x00000810, 0x06)
{
Name (TYPE, 0x80000000)
Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
{
CreateDWordField (Arg0, 0x08, DAT0)
TYPE = DAT0 /* \_PR_.P003._PDC.DAT0 */
If (((TBLD == Zero) && (NPSS != Zero)))
{
If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero)))
{
TBLD = One
Load (SSDT, HNDL) /* \_PR_.HNDL */
}
}
}
}
}
Scope (_SB)
{
OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
Field (PIRQ, ByteAcc, NoLock, Preserve)
{
PIDX, 8,
PDAT, 8
}
IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8,
Offset (0x0C),
SIRA, 8,
SIRB, 8,
SIRC, 8,
SIRD, 8,
PIRS, 8,
Offset (0x13),
HDAD, 8,
Offset (0x17),
SDCL, 8,
Offset (0x1A),
SDIO, 8,
Offset (0x30),
USB1, 8,
Offset (0x34),
USB3, 8,
Offset (0x41),
SATA, 8,
Offset (0x62),
GIOC, 8,
Offset (0x70),
I2C0, 8,
I2C1, 8,
I2C2, 8,
I2C3, 8,
URT0, 8,
URT1, 8
}
OperationRegion (KBDD, SystemIO, 0x64, One)
Field (KBDD, ByteAcc, NoLock, Preserve)
{
PD64, 8
}
Method (IRQC, 0, NotSerialized)
{
INTA (0x1F)
INTB (0x1F)
INTC (0x1F)
INTD (0x1F)
Local1 = PD64 /* \_SB_.PD64 */
PIRE = 0x1F
PIRF = 0x1F
PIRG = 0x1F
PIRH = 0x1F
}
Method (INTA, 1, NotSerialized)
{
PIRA = Arg0
HDAD = Arg0
}
Method (INTB, 1, NotSerialized)
{
PIRB = Arg0
}
Method (INTC, 1, NotSerialized)
{
PIRC = Arg0
USB1 = Arg0
USB3 = Arg0
}
Method (INTD, 1, NotSerialized)
{
PIRD = Arg0
SATA = Arg0
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{15}
})
Name (IPRA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,10,11}
})
Name (IPRB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,10,11}
})
Name (IPRC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,10,11}
})
Name (IPRD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,10,11}
})
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRA)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSA) /* \_SB_.PRSA */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
INTA (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRA) /* \_SB_.PIRA */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
INTA (Local0)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRB)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSB) /* \_SB_.PRSB */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
INTB (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRB) /* \_SB_.PIRB */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
INTB (Local0)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRC)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSC) /* \_SB_.PRSC */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
INTC (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRC) /* \_SB_.PIRC */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
INTC (Local0)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRD)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSD) /* \_SB_.PRSD */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
INTD (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRD) /* \_SB_.PIRD */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
INTD (Local0)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRE)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSE) /* \_SB_.PRSE */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
PIRE = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRE) /* \_SB_.PIRE */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (PIRE, Local0)
Local0--
PIRE = Local0
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRF)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSF) /* \_SB_.PRSF */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
PIRF = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRF) /* \_SB_.PIRF */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRF = Local0
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x07) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRG)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSG) /* \_SB_.PRSG */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
PIRG = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRG) /* \_SB_.PIRG */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRG = Local0
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x08) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (PIRH)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
Return (PRSH) /* \_SB_.PRSH */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
PIRH = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRH) /* \_SB_.PIRH */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRH = Local0
}
}
}
Scope (_SB.PCI0)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
OSFL ()
^GNBD.GINI ()
FINI ()
If ((RVID <= 0x13)) {}
If (IMCS)
{
IBWE ()
}
}
}
OperationRegion (SMIC, SystemMemory, 0xFED80000, 0x00800000)
Field (SMIC, ByteAcc, NoLock, Preserve)
{
Offset (0x296),
STMR, 15,
TMRE, 1,
, 29,
TMRS, 1,
Offset (0x360),
Offset (0x3DA),
, 4,
RFCS, 2,
Offset (0x3DC),
, 30,
SM30, 1,
Offset (0x3EE),
U3PS, 2,
Offset (0xE28),
, 29,
SARP, 1,
U2RP, 1,
U3RP, 1,
Offset (0x1518),
, 22,
G06D, 1,
G06E, 1,
Offset (0x1564),
Offset (0x1566),
G19S, 1,
, 5,
G19D, 1,
G19E, 1,
Offset (0x1C00),
, 7,
U3PY, 1,
, 7,
UD3P, 1,
U3PR, 1,
, 11,
FWLM, 1,
FPLS, 1,
FPLC, 1,
Offset (0x1C04),
UA04, 16,
, 15,
ROAM, 1,
UA08, 32,
Offset (0x1E4A),
I0TD, 2,
, 1,
I0PD, 1,
Offset (0x1E4B),
I0DS, 3,
Offset (0x1E4C),
I1TD, 2,
, 1,
I1PD, 1,
Offset (0x1E4D),
I1DS, 3,
Offset (0x1E4E),
I2TD, 2,
, 1,
I2PD, 1,
Offset (0x1E4F),
I2DS, 3,
Offset (0x1E50),
I3TD, 2,
, 1,
I3PD, 1,
Offset (0x1E51),
I3DS, 3,
Offset (0x1E56),
U0TD, 2,
, 1,
U0PD, 1,
Offset (0x1E57),
U0DS, 3,
Offset (0x1E58),
U1TD, 2,
, 1,
U1PD, 1,
Offset (0x1E59),
U1DS, 3,
Offset (0x1E5E),
SATD, 2,
, 1,
SAPD, 1,
Offset (0x1E5F),
SADS, 3,
Offset (0x1E64),
U2TD, 2,
, 1,
U2PD, 1,
Offset (0x1E65),
U2DS, 3,
Offset (0x1E6E),
U3TD, 2,
, 1,
U3PD, 1,
Offset (0x1E6F),
U3DS, 3,
Offset (0x1E70),
SDTD, 2,
, 1,
SDPD, 1,
, 2,
SDRT, 1,
SDSC, 1,
SDDS, 3,
Offset (0x1E80),
, 15,
RQ15, 1,
, 2,
RQ18, 1,
, 4,
RQ23, 1,
RQ24, 1,
, 5,
RQTY, 1,
Offset (0x1E84),
, 15,
SASR, 1,
, 2,
U2SR, 1,
, 4,
U3SR, 1,
SDSR, 1,
Offset (0x1E88),
SRSA, 32,
SRSD, 32,
Offset (0x1E94),
SRDY, 1,
Offset (0x1EA0),
PG1A, 1,
PG2, 1,
, 1,
U3PG, 1,
Offset (0x1EA3),
PGA3, 8,
Offset (0x61A8A),
, 1,
CCGE, 1,
Offset (0x61A9E),
, 1,
HCGE, 1
}
Mutex (FDAS, 0x00)
Method (FDDC, 2, Serialized)
{
Name (_T_2, Zero) // _T_x: Emitted by ASL Compiler
Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
Acquire (FDAS, 0xFFFF)
If ((Arg1 == Zero))
{
While (One)
{
_T_0 = ToInteger (Arg0)
If ((Match (Package (0x03)
{
0x05,
0x0F,
0x18
}, MEQ, _T_0, MTR, Zero, Zero) != Ones))
{
PG1A = One
}
Else
{
If ((Match (Package (0x06)
{
0x06,
0x07,
0x08,
0x0B,
0x0C,
0x12
}, MEQ, _T_0, MTR, Zero, Zero) != Ones))
{
PG2 = One
}
Else
{
If ((Match (Package (0x0A)
{
0x05,
0x0F,
0x18,
0x06,
0x07,
0x08,
0x0B,
0x0C,
0x12,
0x17
}, MEQ, _T_0, MTR, Zero, Zero) != Ones))
{
SRDY = Zero
}
}
}
Break
}
While (One)
{
_T_1 = ToInteger (Arg0)
If ((_T_1 == 0x05))
{
I0TD = Zero
I0PD = One
Local0 = I0DS /* \I0DS */
While ((Local0 != 0x07))
{
Local0 = I0DS /* \I0DS */
}
}
Else
{
If ((_T_1 == 0x06))
{
I1TD = Zero
I1PD = One
Local0 = I1DS /* \I1DS */
While ((Local0 != 0x07))
{
Local0 = I1DS /* \I1DS */
}
}
Else
{
If ((_T_1 == 0x07))
{
I2TD = Zero
I2PD = One
Local0 = I2DS /* \I2DS */
While ((Local0 != 0x07))
{
Local0 = I2DS /* \I2DS */
}
}
Else
{
If ((_T_1 == 0x08))
{
I3TD = Zero
I3PD = One
Local0 = I3DS /* \I3DS */
While ((Local0 != 0x07))
{
Local0 = I3DS /* \I3DS */
}
}
Else
{
If ((_T_1 == 0x0B))
{
U0TD = Zero
U0PD = One
Local0 = U0DS /* \U0DS */
While ((Local0 != 0x07))
{
Local0 = U0DS /* \U0DS */
}
}
Else
{
If ((_T_1 == 0x0C))
{
U1TD = Zero
U1PD = One
Local0 = U1DS /* \U1DS */
While ((Local0 != 0x07))
{
Local0 = U1DS /* \U1DS */
}
}
Else
{
If ((_T_1 == 0x0F))
{
STD0 ()
}
Else
{
If ((_T_1 == 0x12))
{
U2D0 ()
}
Else
{
If ((_T_1 == 0x17))
{
U3D0 ()
}
Else
{
If ((_T_1 == 0x18))
{
SDD0 ()
}
}
}
}
}
}
}
}
}
}
Break
}
}
Else
{
While (One)
{
_T_2 = ToInteger (Arg0)
If ((_T_2 == 0x05))
{
I0PD = Zero
Local0 = I0DS /* \I0DS */
While ((Local0 != Zero))
{
Local0 = I0DS /* \I0DS */
}
I0TD = 0x03
}
Else
{
If ((_T_2 == 0x06))
{
I1PD = Zero
Local0 = I1DS /* \I1DS */
While ((Local0 != Zero))
{
Local0 = I1DS /* \I1DS */
}
I1TD = 0x03
}
Else
{
If ((_T_2 == 0x07))
{
I2PD = Zero
Local0 = I2DS /* \I2DS */
While ((Local0 != Zero))
{
Local0 = I2DS /* \I2DS */
}
I2TD = 0x03
}
Else
{
If ((_T_2 == 0x08))
{
I3PD = Zero
Local0 = I3DS /* \I3DS */
While ((Local0 != Zero))
{
Local0 = I3DS /* \I3DS */
}
I3TD = 0x03
}
Else
{
If ((_T_2 == 0x0B))
{
U0PD = Zero
Local0 = U0DS /* \U0DS */
While ((Local0 != Zero))
{
Local0 = U0DS /* \U0DS */
}
U0TD = 0x03
}
Else
{
If ((_T_2 == 0x0C))
{
U1PD = Zero
Local0 = U1DS /* \U1DS */
While ((Local0 != Zero))
{
Local0 = U1DS /* \U1DS */
}
U1TD = 0x03
}
Else
{
If ((_T_2 == 0x0F))
{
STD3 ()
}
Else
{
If ((_T_2 == 0x12))
{
U2D3 ()
}
Else
{
If ((_T_2 == 0x17))
{
U3D3 ()
}
Else
{
If ((_T_2 == 0x18))
{
SDD3 ()
}
}
}
}
}
}
}
}
}
}
Break
}
If ((I0TD == 0x03))
{
If ((SATD == 0x03))
{
If ((SDTD == 0x03))
{
PG1A = Zero
}
}
}
If ((I1TD == 0x03))
{
If ((I2TD == 0x03))
{
If ((I3TD == 0x03))
{
If ((U0TD == 0x03))
{
If ((U1TD == 0x03))
{
If ((U2TD == 0x03))
{
PG2 = Zero
}
}
}
}
}
}
If ((PG1A == Zero))
{
If ((PG2 == Zero))
{
If ((U3PG == Zero))
{
If ((S03D == One))
{
SRDY = One
}
}
}
}
}
Release (FDAS)
}
Method (FPTS, 0, Serialized)
{
If ((U_PS != 0x03))
{
DBG8 = 0x8C
BreakPoint
}
If ((E_PS != 0x03))
{
DBG8 = 0x8D
BreakPoint
}
If ((XHCD == Zero))
{
If ((U3TD != 0x03))
{
DBG8 = 0x82
FDDC (0x17, 0x03)
}
}
If ((EHCD == Zero))
{
If ((U2TD != 0x03))
{
FDDC (0x12, 0x03)
}
}
If ((ST_D == One))
{
If ((SATD != Zero))
{
FDDC (0x0F, Zero)
}
}
}
Method (FWAK, 0, Serialized)
{
If ((XHCD == Zero))
{
If ((U3TD == 0x03))
{
DBG8 = 0x80
FDDC (0x17, Zero)
}
}
If ((EHCD == Zero))
{
If ((U2TD == 0x03))
{
FDDC (0x12, Zero)
}
}
If ((UT0E == Zero))
{
If ((U0TD != 0x03))
{
FDDC (0x0B, 0x03)
}
}
If ((UT1E == Zero))
{
If ((U1TD != 0x03))
{
FDDC (0x0C, 0x03)
}
}
If ((IC0E == Zero))
{
If ((I0TD != 0x03))
{
FDDC (0x05, 0x03)
}
}
If ((IC1E == Zero))
{
If ((I1TD != 0x03))
{
FDDC (0x06, 0x03)
}
}
If ((IC2E == Zero))
{
If ((I2TD != 0x03))
{
FDDC (0x07, 0x03)
}
}
If ((IC3E == Zero))
{
If ((I3TD != 0x03))
{
FDDC (0x08, 0x03)
}
}
}
Method (PWGC, 2, Serialized)
{
Local0 = (PGA3 & 0xDF)
If (Arg1)
{
Local0 |= Arg0
}
Else
{
Local1 = ~Arg0
Local0 &= Local1
}
PGA3 = Local0
If ((Arg0 == 0x20))
{
Local0 = PGA3 /* \PGA3 */
Local0 &= Arg0
While (!Local0)
{
Local0 = PGA3 /* \PGA3 */
Local0 &= Arg0
}
}
}
Method (SDD3, 0, Serialized)
{
SDSP ()
SDSC = Zero
RQTY = Zero
RQ24 = One
Local0 = SDSR /* \SDSR */
While (Local0)
{
Local0 = SDSR /* \SDSR */
}
SDPD = Zero
Local0 = SDDS /* \SDDS */
While ((Local0 != Zero))
{
Local0 = SDDS /* \SDDS */
}
SDTD = 0x03
If ((ESPI == Zero))
{
LDQ0 = One
}
}
Method (SDD0, 0, Serialized)
{
SDPD = One
Local0 = SDDS /* \SDDS */
While ((Local0 != 0x07))
{
Local0 = SDDS /* \SDDS */
}
SRAD (0x18, 0xC8)
SDTD = Zero
RQTY = One
RQ24 = One
Local0 = SDSR /* \SDSR */
While (!Local0)
{
Local0 = SDSR /* \SDSR */
}
SD2C = SDID /* \SDID */
SDRP ()
LDQ0 = SNHG /* \SNHG */
FC18 = SF18 /* \SF18 */
}
Method (STD3, 0, Serialized)
{
ST_S ()
Local0 = (SDS0 << 0x02)
Local0 += 0xFED81500
Local1 = (SDS1 << 0x02)
Local1 += 0xFED81500
OperationRegion (SDSA, SystemMemory, Local0, 0x04)
Field (SDSA, ByteAcc, NoLock, Preserve)
{
, 22,
GP0D, 1,
GP0E, 1
}
OperationRegion (SDSB, SystemMemory, Local1, 0x04)
Field (SDSB, ByteAcc, NoLock, Preserve)
{
, 22,
GP1D, 1,
GP1E, 1
}
RQTY = Zero
RQ15 = One
Local0 = SASR /* \SASR */
While (Local0)
{
Local0 = SASR /* \SASR */
}
PWGC (0x10, One)
SM30 = One
If (SDS0)
{
GP0E = One
GP0D = Zero
}
SAPD = Zero
Local0 = SADS /* \SADS */
While ((Local0 != Zero))
{
Local0 = SADS /* \SADS */
}
SATD = 0x03
SARP = One
}
Method (STD0, 0, Serialized)
{
Local0 = (SDS0 << 0x02)
Local0 += 0xFED81500
Local1 = (SDS1 << 0x02)
Local1 += 0xFED81500
OperationRegion (SDSA, SystemMemory, Local0, 0x04)
Field (SDSA, ByteAcc, NoLock, Preserve)
{
, 22,
GP0D, 1,
GP0E, 1
}
OperationRegion (SDSB, SystemMemory, Local1, 0x04)
Field (SDSB, ByteAcc, NoLock, Preserve)
{
, 22,
GP1D, 1,
GP1E, 1
}
SARP = Zero
SATD = Zero
SAPD = One
Local0 = SADS /* \SADS */
While ((Local0 != 0x07))
{
Local0 = SADS /* \SADS */
}
Stall (0x78)
PWGC (0x10, Zero)
SM30 = Zero
DSDN = Zero
ST_R ()
If ((RFCS == One))
{
ST84 = Zero
Stall (0x78)
ST84 = One
}
If (SDS0)
{
GP0E = One
GP0D = One
}
RQTY = One
RQ15 = One
Local0 = SASR /* \SASR */
While (!Local0)
{
Local0 = SASR /* \SASR */
}
ST44 = One
DDIC = One
Stall (0x64)
DDIC = Zero
}
Method (SU2P, 0, Serialized)
{
PWGC (0x40, Zero)
U2RP = One
}
Method (U2D3, 0, Serialized)
{
If ((E_PS == 0x03))
{
RQTY = Zero
RQ18 = One
Local0 = U2SR /* \U2SR */
While (Local0)
{
Local0 = U2SR /* \U2SR */
}
U2PD = Zero
Local0 = U2DS /* \U2DS */
While ((Local0 != Zero))
{
Local0 = U2DS /* \U2DS */
}
U2TD = 0x03
If ((U3TD == 0x03))
{
SU2P ()
}
}
}
Method (U2D0, 0, Serialized)
{
PWGC (0x40, One)
U2RP = Zero
U2TD = Zero
U2TD = Zero
U2PD = One
Local0 = U2DS /* \U2DS */
While ((Local0 != 0x07))
{
Local0 = U2DS /* \U2DS */
}
RQTY = One
RQ18 = One
Local0 = U2SR /* \U2SR */
While (!Local0)
{
Local0 = U2SR /* \U2SR */
}
EH2C = EHID /* \EHID */
EHBA = EH10 /* \EH10 */
EHME = One
ESIM = SSIM /* \SSIM */
}
Method (LXFW, 3, Serialized)
{
FWLM = One
ROAM = Arg0
UA04 = Arg1
UA08 = Arg2
FPLS = One
Local0 = FPLC /* \FPLC */
While (!Local0)
{
Local0 = FPLC /* \FPLC */
}
FPLS = Zero
}
Method (X1_S, 0, Serialized)
{
RQTY = Zero
RQ23 = One
Local0 = U3SR /* \U3SR */
While (Local0)
{
Local0 = U3SR /* \U3SR */
}
}
Method (X1_R, 0, Serialized)
{
RQTY = One
RQ23 = One
Local0 = U3SR /* \U3SR */
While (!Local0)
{
Local0 = U3SR /* \U3SR */
}
}
Method (U3D3, 0, Serialized)
{
If ((U_PS == 0x03))
{
X0_S ()
PWGC (0x20, One)
UD3P = One
U3PD = Zero
Local0 = U3DS /* \U3DS */
While ((Local0 != Zero))
{
Local0 = U3DS /* \U3DS */
}
U3TD = 0x03
U3RP = One
If ((U2TD == 0x03))
{
SU2P ()
}
U3PG = Zero
U3PS = One
}
}
Method (U3D0, 0, Serialized)
{
U3PS = Zero
U3PG = One
U2RP = Zero
U3RP = Zero
PWGC (0x40, One)
U3TD = Zero
U3PD = One
Local0 = U3DS /* \U3DS */
While ((Local0 != 0x07))
{
Local0 = U3DS /* \U3DS */
}
Local0 = U3PY /* \U3PY */
While ((Local0 != One))
{
Local0 = U3PY /* \U3PY */
}
U3PR = Zero
Local0 = AUSS /* \AUSS */
If ((Local0 != One))
{
AUSS = One
}
Local0 = AUSS /* \AUSS */
While ((Local0 != One))
{
Local0 = AUSS /* \AUSS */
}
LXFW (One, FW00, FW01)
LXFW (Zero, FW02, FW03)
X0_R ()
U3PR = One
UD3P = Zero
U3TD = One
IDEX = 0x04
DATA = (S004 & 0xFFFFFEFF)
XH2C = XHID /* \XHID */
IDEX = 0x04
DATA = S004 /* \S004 */
}
OperationRegion (ECMC, SystemIO, 0x72, 0x02)
Field (ECMC, AnyAcc, NoLock, Preserve)
{
ECMI, 8,
ECMD, 8
}
IndexField (ECMI, ECMD, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
FRTB, 32
}
OperationRegion (FRTP, SystemMemory, FRTB, 0x0100)
Field (FRTP, AnyAcc, NoLock, Preserve)
{
PEBA, 32,
, 5,
IC0E, 1,
IC1E, 1,
IC2E, 1,
IC3E, 1,
, 2,
UT0E, 1,
UT1E, 1,
GIOE, 1,
, 13,
ESPI, 1,
Offset (0x08),
, 5,
IC0D, 1,
IC1D, 1,
IC2D, 1,
IC3D, 1,
, 2,
UT0D, 1,
UT1D, 1,
, 2,
ST_D, 1,
, 2,
EHCD, 1,
, 4,
XHCD, 1,
SD_D, 1,
, 6,
S03D, 1,
FW00, 16,
FW01, 32,
FW02, 16,
FW03, 32,
SDS0, 8,
SDS1, 8,
Offset (0x20),
SD10, 32,
EH10, 32,
XH10, 32,
STBA, 32
}
Method (FINI, 0, NotSerialized)
{
If ((SDBA != 0xFFFFFFFF))
{
SD10 = SDBA /* \SDBA */
}
If ((EHBA != 0xFFFFFFFF))
{
EH10 = EHBA /* \EHBA */
}
SDID = SD2C /* \SD2C */
EHID = EH2C /* \EH2C */
XHID = XH2C /* \XH2C */
STID = ST2C /* \ST2C */
SNHG = LDQ0 /* \LDQ0 */
SF18 = FC18 /* \FC18 */
SSIM = ESIM /* \ESIM */
If ((OSVR >= 0x0F)) {}
Else
{
S03D = Zero
XHCD = Zero
EHCD = Zero
ST_D = Zero
SD_D = Zero
}
If ((OSVR == 0x03))
{
S03D = Zero
XHCD = Zero
EHCD = Zero
ST_D = Zero
SD_D = Zero
}
If ((UT0E == Zero))
{
If ((U0TD != 0x03))
{
FDDC (0x0B, 0x03)
}
}
If ((UT1E == Zero))
{
If ((U1TD != 0x03))
{
FDDC (0x0C, 0x03)
}
}
If ((IC0E == Zero))
{
If ((I0TD != 0x03))
{
FDDC (0x05, 0x03)
}
}
If ((IC1E == Zero))
{
If ((I1TD != 0x03))
{
FDDC (0x06, 0x03)
}
}
If ((IC2E == Zero))
{
If ((I2TD != 0x03))
{
FDDC (0x07, 0x03)
}
}
If ((IC3E == Zero))
{
If ((I3TD != 0x03))
{
FDDC (0x08, 0x03)
}
}
}
OperationRegion (FCFG, SystemMemory, PEBA, 0x01000000)
Field (FCFG, DWordAcc, NoLock, Preserve)
{
Offset (0x80010),
XHBA, 32,
Offset (0x8002C),
XH2C, 32,
Offset (0x80048),
IDEX, 32,
DATA, 32,
Offset (0x80054),
U_PS, 2,
Offset (0x88010),
ST10, 32,
ST14, 32,
ST18, 32,
ST1C, 32,
ST20, 32,
ST24, 32,
Offset (0x8802C),
ST2C, 32,
Offset (0x88040),
ST40, 1,
Offset (0x88044),
ST44, 1,
Offset (0x8804C),
, 2,
DDIC, 1,
Offset (0x88064),
S_PS, 2,
Offset (0x88084),
, 1,
ST84, 1,
, 28,
DSDN, 1,
Offset (0x8808C),
ST8C, 8,
Offset (0x90004),
, 1,
EHME, 1,
Offset (0x90010),
EHBA, 32,
Offset (0x9002C),
EH2C, 32,
Offset (0x900C4),
E_PS, 2,
Offset (0xA3078),
, 2,
LDQ0, 1,
Offset (0xA30CB),
, 7,
AUSS, 1,
Offset (0xA7004),
, 1,
SDME, 1,
Offset (0xA7010),
SDBA, 32,
Offset (0xA702C),
SD2C, 32,
Offset (0xA7094),
D_PS, 2,
Offset (0xA7095),
SDPE, 1,
, 6,
PMES, 1,
Offset (0xA70B4),
Offset (0xA70B5),
SETE, 1,
Offset (0xA70D0),
, 17,
FC18, 1
}
OperationRegion (EHMC, SystemMemory, EH10, 0x0100)
Field (EHMC, DWordAcc, NoLock, Preserve)
{
Offset (0xB0),
, 5,
ESIM, 1
}
OperationRegion (SDMC, SystemMemory, SD10, 0x0100)
Field (SDMC, AnyAcc, NoLock, Preserve)
{
Offset (0x24),
, 6,
CDTC, 2,
Offset (0x27),
IRWE, 1,
ISWE, 1,
RMWE, 1
}
Method (SDFE, 0, Serialized)
{
CDTC = 0x02
CDTC = 0x03
CDTC = Zero
SETE = One
PMES = One
SETE = Zero
}
Method (SDRE, 0, Serialized)
{
CDTC = 0x03
CDTC = 0x02
CDTC = Zero
SETE = One
PMES = One
SETE = Zero
}
Method (SDSP, 0, Serialized)
{
SDME = One
B600 = SDPE /* \SDPE */
B601 = IRWE /* \IRWE */
B602 = ISWE /* \ISWE */
B603 = RMWE /* \RMWE */
SDME = Zero
}
Method (SDRP, 0, Serialized)
{
If (SDFG)
{
If (G19S)
{
SDFE ()
}
Else
{
SDRE ()
}
SDFG = Zero
}
}
Method (SRAD, 2, Serialized)
{
Local0 = (Arg0 << One)
Local0 += 0xFED81E40
OperationRegion (ADCR, SystemMemory, Local0, 0x02)
Field (ADCR, ByteAcc, NoLock, Preserve)
{
ADTD, 2,
ADPS, 1,
ADPD, 1,
ADSO, 1,
ADSC, 1,
ADSR, 1,
ADIS, 1,
ADDS, 3
}
ADIS = One
ADSR = Zero
Stall (Arg1)
ADSR = One
ADIS = Zero
Stall (Arg1)
}
Name (SVBF, Buffer (0x1000)
{
0x00 /* . */
})
CreateDWordField (SVBF, Zero, S000)
CreateDWordField (SVBF, 0x04, S004)
CreateDWordField (SVBF, 0x08, S008)
CreateDWordField (SVBF, 0x0C, S00C)
CreateDWordField (SVBF, 0x18, S018)
CreateDWordField (SVBF, 0x1C, S01C)
CreateDWordField (SVBF, 0x20, S020)
CreateDWordField (SVBF, 0x30, S030)
CreateDWordField (SVBF, 0x0118, S118)
CreateDWordField (SVBF, 0x0158, S158)
CreateDWordField (SVBF, 0x0198, S198)
CreateDWordField (SVBF, 0x01D8, S1D8)
CreateDWordField (SVBF, 0x0300, S300)
CreateDWordField (SVBF, 0x0304, S304)
CreateDWordField (SVBF, 0x0308, S308)
CreateDWordField (SVBF, 0x030C, S30C)
CreateDWordField (SVBF, 0x0310, S310)
CreateDWordField (SVBF, 0x0428, S428)
CreateDWordField (SVBF, 0x0438, S438)
CreateDWordField (SVBF, 0x043C, S43C)
CreateDWordField (SVBF, 0x0458, S458)
CreateDWordField (SVBF, 0x0468, S468)
CreateDWordField (SVBF, 0x046C, S46C)
CreateDWordField (SVBF, 0x0470, S470)
CreateDWordField (SVBF, 0x0480, S480)
CreateDWordField (SVBF, 0x0484, S484)
CreateDWordField (SVBF, 0x0488, S488)
CreateDWordField (SVBF, 0x048C, S48C)
CreateByteField (SVBF, 0x0600, B600)
CreateByteField (SVBF, 0x0601, B601)
CreateByteField (SVBF, 0x0602, B602)
CreateByteField (SVBF, 0x0603, B603)
CreateByteField (SVBF, 0x0700, SDFG)
CreateByteField (SVBF, 0x0701, SNHG)
CreateByteField (SVBF, 0x0702, SF18)
CreateDWordField (SVBF, 0x0704, SDID)
CreateDWordField (SVBF, 0x0730, EHID)
CreateDWordField (SVBF, 0x0734, XHID)
CreateDWordField (SVBF, 0x0738, STID)
CreateDWordField (SVBF, 0x07B0, SSIM)
CreateDWordField (SVBF, 0x0810, S810)
CreateDWordField (SVBF, 0x0814, S814)
CreateDWordField (SVBF, 0x0818, S818)
CreateDWordField (SVBF, 0x081C, S81C)
CreateDWordField (SVBF, 0x0820, S820)
CreateDWordField (SVBF, 0x0824, S824)
CreateDWordField (SVBF, 0x082C, S82C)
CreateByteField (SVBF, 0x088C, S88C)
Method (ST_S, 0, NotSerialized)
{
S810 = ST10 /* \ST10 */
S814 = ST14 /* \ST14 */
S818 = ST18 /* \ST18 */
S81C = ST1C /* \ST1C */
S820 = ST20 /* \ST20 */
S824 = ST24 /* \ST24 */
S88C = ST8C /* \ST8C */
}
Method (ST_R, 0, NotSerialized)
{
ST10 = S810 /* \S810 */
ST14 = S814 /* \S814 */
ST18 = S818 /* \S818 */
ST1C = S81C /* \S81C */
ST20 = S820 /* \S820 */
ST24 = S824 /* \S824 */
ST40 = One
ST2C = STID /* \STID */
ST40 = Zero
ST8C = S88C /* \S88C */
}
Method (X0_S, 0, NotSerialized)
{
IDEX = Zero
S000 = DATA /* \DATA */
IDEX = 0x04
S004 = DATA /* \DATA */
IDEX = 0x08
S008 = DATA /* \DATA */
IDEX = 0x0C
S00C = DATA /* \DATA */
IDEX = 0x18
S018 = DATA /* \DATA */
IDEX = 0x1C
S01C = DATA /* \DATA */
IDEX = 0x20
S020 = DATA /* \DATA */
IDEX = 0x30
S030 = DATA /* \DATA */
IDEX = 0x0118
S118 = DATA /* \DATA */
IDEX = 0x0158
S158 = DATA /* \DATA */
IDEX = 0x0198
S198 = DATA /* \DATA */
IDEX = 0x01D8
S1D8 = DATA /* \DATA */
IDEX = 0x0300
S300 = DATA /* \DATA */
IDEX = 0x0304
S304 = DATA /* \DATA */
IDEX = 0x0308
S308 = DATA /* \DATA */
IDEX = 0x030C
S30C = DATA /* \DATA */
IDEX = 0x0310
S310 = DATA /* \DATA */
IDEX = 0x40000028
S428 = DATA /* \DATA */
IDEX = 0x40000038
S438 = DATA /* \DATA */
IDEX = 0x4000003C
S43C = DATA /* \DATA */
IDEX = 0x40000058
S458 = DATA /* \DATA */
IDEX = 0x40000068
S468 = DATA /* \DATA */
IDEX = 0x4000006C
S46C = DATA /* \DATA */
IDEX = 0x40000070
S470 = DATA /* \DATA */
IDEX = 0x40000080
S480 = DATA /* \DATA */
IDEX = 0x40000084
S484 = DATA /* \DATA */
IDEX = 0x40000088
S488 = DATA /* \DATA */
IDEX = 0x4000008C
S48C = DATA /* \DATA */
}
Method (X0_R, 0, NotSerialized)
{
IDEX = Zero
DATA = S000 /* \S000 */
IDEX = 0x04
DATA = S004 /* \S004 */
IDEX = 0x08
DATA = S008 /* \S008 */
IDEX = 0x0C
DATA = S00C /* \S00C */
IDEX = 0x18
DATA = S018 /* \S018 */
IDEX = 0x1C
DATA = S01C /* \S01C */
IDEX = 0x20
DATA = S020 /* \S020 */
IDEX = 0x30
DATA = S030 /* \S030 */
IDEX = 0x0118
DATA = S118 /* \S118 */
IDEX = 0x0158
DATA = S158 /* \S158 */
IDEX = 0x0198
DATA = S198 /* \S198 */
IDEX = 0x01D8
DATA = S1D8 /* \S1D8 */
IDEX = 0x0300
DATA = S300 /* \S300 */
IDEX = 0x0304
DATA = S304 /* \S304 */
IDEX = 0x0308
DATA = S308 /* \S308 */
IDEX = 0x030C
DATA = S30C /* \S30C */
IDEX = 0x0310
DATA = S310 /* \S310 */
IDEX = 0x40000028
DATA = S428 /* \S428 */
IDEX = 0x40000038
DATA = S438 /* \S438 */
IDEX = 0x4000003C
DATA = S43C /* \S43C */
IDEX = 0x40000058
DATA = S458 /* \S458 */
IDEX = 0x40000068
DATA = S468 /* \S468 */
IDEX = 0x4000006C
DATA = S46C /* \S46C */
IDEX = 0x40000070
DATA = S470 /* \S470 */
IDEX = 0x40000080
DATA = S480 /* \S480 */
IDEX = 0x40000084
DATA = S484 /* \S484 */
IDEX = 0x40000088
DATA = S488 /* \S488 */
IDEX = 0x4000008C
DATA = S48C /* \S48C */
}
Scope (_SB)
{
Name (XHD0, Zero)
Name (XHD3, Zero)
PowerResource (P0U3, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (XHD0) /* \_SB_.XHD0 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
XHD0 = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
XHD0 = Zero
}
}
PowerResource (P3U3, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (XHD3) /* \_SB_.XHD3 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
XHD3 = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
XHD3 = Zero
}
}
Name (EHD0, Zero)
Name (EHD3, Zero)
PowerResource (P0U2, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (EHD0) /* \_SB_.EHD0 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
EHD0 = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
EHD0 = Zero
}
}
PowerResource (P3U2, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (EHD3) /* \_SB_.EHD3 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
EHD3 = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
EHD3 = Zero
}
}
Name (D0SD, Zero)
Name (D3SD, Zero)
PowerResource (P0SD, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (D0SD) /* \_SB_.D0SD */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
D0SD = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
D0SD = Zero
}
}
PowerResource (P3SD, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (D3SD) /* \_SB_.D3SD */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
D3SD = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
D3SD = Zero
}
}
Name (D0ST, One)
Name (D3ST, One)
PowerResource (P0ST, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (D0ST) /* \_SB_.D0ST */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
D0ST = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
D0ST = Zero
}
}
PowerResource (P3ST, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (D3ST) /* \_SB_.D3ST */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
D3ST = One
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
D3ST = Zero
}
}
}
Scope (_SB.PCI0.XHC0)
{
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P0U3
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
P3U3
})
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((XHCD == One))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State
{
Return (0x04)
}
Method (_S4W, 0, NotSerialized) // _S4W: S4 Device Wake State
{
Return (0x04)
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((XHCD == One))
{
If ((U3TD == 0x03))
{
DBG8 = 0x80
FDDC (0x17, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((XHCD == One))
{
If ((U3TD != 0x03))
{
If ((U_PS == 0x03))
{
DBG8 = 0x82
FDDC (0x17, 0x03)
}
}
}
}
}
Scope (_SB.PCI0.EHC1)
{
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P0U2
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
P3U2
})
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((EHCD == One))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_S3W, 0, NotSerialized) // _S3W: S3 Device Wake State
{
Return (0x04)
}
Method (_S4W, 0, NotSerialized) // _S4W: S4 Device Wake State
{
Return (0x04)
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((EHCD == One))
{
DBG8 = 0x50
If ((U2TD != Zero))
{
FDDC (0x12, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((EHCD == One))
{
If ((E_PS == 0x03))
{
DBG8 = 0x52
If ((U2TD != 0x03))
{
FDDC (0x12, 0x03)
}
}
}
}
Method (RHRS, 0, NotSerialized)
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
})
Return (RBUF) /* \_SB_.PCI0.EHC1.RHRS.RBUF */
}
}
Scope (_SB.PCI0.SATA)
{
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P0ST
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
P3ST
})
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((ST_D == One))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((ST_D == One))
{
DBG8 = 0xA0
If ((SATD != Zero))
{
FDDC (0x0F, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((ST_D == One))
{
If ((SATD != 0x03))
{
If ((S_PS == 0x03))
{
DBG8 = 0xA2
FDDC (0x0F, 0x03)
}
}
}
}
}
Scope (_SB)
{
Device (GPIO)
{
Name (_HID, "AMD0030") // _HID: Hardware ID
Name (_CID, "AMD0030") // _CID: Compatible ID
Name (_UID, Zero) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000007,
}
Memory32Fixed (ReadWrite,
0xFED81500, // Address Base
0x00000300, // Address Length
)
})
Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (GIOE)
{
If ((OSVR >= 0x0F))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
}
Device (AAHB)
{
Name (_HID, "AAHB0000") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{7}
Memory32Fixed (ReadWrite,
0xFEDC0000, // Address Base
0x00002000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSVR >= 0x0F))
{
Return (Zero)
}
Else
{
Return (Zero)
}
}
}
Device (FUR0)
{
Name (_HID, "AMD0020") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{10}
Memory32Fixed (ReadWrite,
0xFEDC6000, // Address Base
0x00002000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((UTDB == One))
{
Return (Zero)
}
Else
{
If ((OSVR >= 0x0F))
{
If ((UT0E == One))
{
Return (0x0F)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT0D && UT0E))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT0D && UT0E))
{
DBG8 = 0xD0
If ((U0TD == 0x03))
{
FDDC (0x0B, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT0D && UT0E))
{
DBG8 = 0xD2
If ((U0TD != 0x03))
{
FDDC (0x0B, 0x03)
}
}
}
}
Device (FUR1)
{
Name (_HID, "AMD0020") // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{11}
Memory32Fixed (ReadWrite,
0xFEDC8000, // Address Base
0x00002000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((UTDB == 0x02))
{
Return (Zero)
}
Else
{
If ((OSVR >= 0x0F))
{
If ((UT1E == One))
{
Return (0x0F)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT1D && UT1E))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT1D && UT1E))
{
DBG8 = 0xD8
If ((U1TD == 0x03))
{
FDDC (0x0C, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT1D && UT1E))
{
DBG8 = 0xDA
If ((U1TD != 0x03))
{
FDDC (0x0C, 0x03)
}
}
}
}
Device (I2CA)
{
Name (_HID, "AMD0010") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{3}
Memory32Fixed (ReadWrite,
0xFEDC2000, // Address Base
0x00001000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSVR >= 0x0F))
{
If ((IC0E == One))
{
Return (0x0F)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC0D && IC0E))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC0D && IC0E))
{
DBG8 = 0xE0
If ((I0TD == 0x03))
{
FDDC (0x05, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC0D && IC0E))
{
DBG8 = 0xE2
If ((I0TD != 0x03))
{
FDDC (0x05, 0x03)
}
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x05, 0xC8)
}
}
Device (I2CB)
{
Name (_HID, "AMD0010") // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{15}
Memory32Fixed (ReadWrite,
0xFEDC3000, // Address Base
0x00001000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSVR >= 0x0F))
{
If ((IC1E == One))
{
Return (0x0F)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC1D && IC1E))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC1D && IC1E))
{
DBG8 = 0xE4
If ((I1TD == 0x03))
{
FDDC (0x06, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC1D && IC1E))
{
DBG8 = 0xE6
If ((I1TD != 0x03))
{
FDDC (0x06, 0x03)
}
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x06, 0xC8)
}
}
Device (I2CC)
{
Name (_HID, "AMD0010") // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{6}
Memory32Fixed (ReadWrite,
0xFEDC4000, // Address Base
0x00001000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSVR >= 0x0F))
{
If ((IC2E == One))
{
Return (0x0F)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC2D && IC2E))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC2D && IC2E))
{
DBG8 = 0xE8
If ((I2TD == 0x03))
{
FDDC (0x07, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC2D && IC2E))
{
DBG8 = 0xEA
If ((I2TD != 0x03))
{
FDDC (0x07, 0x03)
}
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x07, 0xC8)
}
}
Device (I2CD)
{
Name (_HID, "AMD0010") // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveHigh, Exclusive, )
{14}
Memory32Fixed (ReadWrite,
0xFEDC5000, // Address Base
0x00001000, // Address Length
)
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSVR >= 0x0F))
{
If ((IC3E == One))
{
Return (0x0F)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC3D && IC3E))
{
Return (0x04)
}
Else
{
Return (Zero)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC3D && IC3E))
{
DBG8 = 0xEA
If ((I3TD == 0x03))
{
FDDC (0x08, Zero)
}
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC3D && IC3E))
{
DBG8 = 0xEC
If ((I3TD != 0x03))
{
FDDC (0x08, 0x03)
}
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x08, 0xC8)
}
}
}
Device (_SB.TPM)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (TCMF)
{
Return (0x01013469)
}
Else
{
If ((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
_Y1A)
Memory32Fixed (ReadOnly,
0xFED70000, // Address Base
0x00001000, // Address Length
_Y1B)
})
Name (CRSD, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00001000, // Address Length
_Y1C)
})
Name (CRSI, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00001000, // Address Length
_Y1D)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If ((AMDT == One))
{
CreateDWordField (CRST, \_SB.TPM._Y1A._BAS, MTFB) // _BAS: Base Address
CreateDWordField (CRST, \_SB.TPM._Y1A._LEN, LTFB) // _LEN: Length
MTFB = TPMB /* \TPMB */
LTFB = 0x1000
CreateDWordField (CRST, \_SB.TPM._Y1B._BAS, MTFC) // _BAS: Base Address
CreateDWordField (CRST, \_SB.TPM._Y1B._LEN, LTFC) // _LEN: Length
MTFC = TPMC /* \TPMC */
LTFC = 0x1000
Return (CRST) /* \_SB_.TPM_.CRST */
}
Else
{
If ((DTPT == One))
{
CreateDWordField (CRSD, \_SB.TPM._Y1C._BAS, MTFE) // _BAS: Base Address
CreateDWordField (CRSD, \_SB.TPM._Y1C._LEN, LTFE) // _LEN: Length
MTFE = 0xFED40000
LTFE = 0x0880
Return (CRSD) /* \_SB_.TPM_.CRSD */
}
Else
{
If ((TTPF == One))
{
CreateDWordField (CRSI, \_SB.TPM._Y1D._BAS, MTFD) // _BAS: Base Address
CreateDWordField (CRSI, \_SB.TPM._Y1D._LEN, LTFD) // _LEN: Length
MTFD = 0xFED40000
LTFD = 0x5000
Return (CRSI) /* \_SB_.TPM_.CRSI */
}
Else
{
If ((TTPF == Zero))
{
CreateDWordField (CRSI, \_SB.TPM._Y1D._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
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TTDP == Zero))
{
If (TPMF)
{
Return (0x0F)
}
Return (Zero)
}
Else
{
If ((TTDP == One))
{
If (TPMF)
{
Return (0x0F)
}
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 /* . */
})
}
Else
{
If ((_T_0 == One))
{
TIMR = Zero
If ((AMDT == One))
{
While (((BEGN == One) && (TIMR < 0x0200)))
{
If ((BEGN == One))
{
Sleep (One)
TIMR++
}
}
Return (Zero)
}
Else
{
If ((((HSTS & 0x02) | (HSTS & One)) ==
0x03))
{
HCMD = One
}
Else
{
FERR = One
BEGN = Zero
}
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 /* . */
})
}
Else
{
If ((_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 (ASMI, SystemIO, SMIA, One)
Field (ASMI, ByteAcc, NoLock, Preserve)
{
INQ, 8
}
OperationRegion (BSMI, SystemIO, SMIB, One)
Field (BSMI, ByteAcc, NoLock, Preserve)
{
DAT, 8
}
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 /* .. */
})
}
Else
{
If ((_T_0 == One))
{
Return ("1.2")
}
Else
{
If ((_T_0 == 0x02))
{
ToInteger (DerefOf (Index (Arg3, Zero)), TMF2) /* \TMF2 */
TMF1 = 0x12
DAT = TMF1 /* \TMF1 */
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (0x02)
}
DAT = TMF2 /* \TMF2 */
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (0x02)
}
If ((DAT == 0xF1))
{
Return (One)
}
Return (Zero)
}
Else
{
If ((_T_0 == 0x03))
{
Name (PPI1, Package (0x02)
{
Zero,
Zero
})
DAT = 0x11
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (One)
}
Index (PPI1, One) = DAT /* \_SB_.TPM_.DAT_ */
Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */
}
Else
{
If ((_T_0 == 0x04))
{
Return (TRST) /* \TRST */
}
Else
{
If ((_T_0 == 0x05))
{
Name (PPI2, Package (0x03)
{
Zero,
Zero,
Zero
})
DAT = 0x21
INQ = OFST /* \OFST */
Index (PPI2, One) = DAT /* \_SB_.TPM_.DAT_ */
If ((DAT == 0xFF))
{
Return (0x02)
}
DAT = 0x31
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (0x02)
}
If ((DAT == 0xF0))
{
DAT = 0x51
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Index (PPI2, 0x02) = 0xFFFFFFF0
Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
}
}
Else
{
If ((DAT == 0xF1))
{
DAT = 0x51
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Index (PPI2, 0x02) = 0xFFFFFFF1
Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
}
}
Else
{
Index (PPI2, 0x02) = DAT /* \_SB_.TPM_.DAT_ */
}
}
Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
}
Else
{
If ((_T_0 == 0x06))
{
Return (0x03)
}
Else
{
If ((_T_0 == 0x07))
{
ToInteger (DerefOf (Index (Arg3, Zero)), TMF2) /* \TMF2 */
TMF1 = 0x12
DAT = TMF1 /* \TMF1 */
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (0x02)
}
DAT = TMF2 /* \TMF2 */
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (0x02)
}
If ((DAT == 0xF1))
{
Return (One)
}
Return (Zero)
}
Else
{
If ((_T_0 == 0x08))
{
ToInteger (DerefOf (Index (Arg3, Zero)), TMF2) /* \TMF2 */
TMF1 = 0x43
DAT = TMF1 /* \TMF1 */
INQ = OFST /* \OFST */
DAT = TMF2 /* \TMF2 */
INQ = OFST /* \OFST */
Return (DAT) /* \_SB_.TPM_.DAT_ */
}
Else
{
}
}
}
}
}
}
}
}
}
Break
}
}
Else
{
If ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")))
{
While (One)
{
_T_1 = ToInteger (Arg2)
If ((_T_1 == Zero))
{
Return (Buffer (One)
{
0x03 /* . */
})
}
Else
{
If ((_T_1 == One))
{
TMF1 = 0x22
DAT = TMF1 /* \TMF1 */
INQ = OFST /* \OFST */
If ((DAT == 0xFF))
{
Return (0x02)
}
ToInteger (DerefOf (Index (Arg3, Zero)), TMF1) /* \TMF1 */
DAT = TMF1 /* \TMF1 */
INQ = OFST /* \OFST */
If ((DAT == 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 /* . */
})
}
}
Scope (_SB.PCI0.SBRG)
{
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
Method (_GPE, 0, NotSerialized) // _GPE: General Purpose Events
{
Local0 = 0x03
Return (Local0)
}
Mutex (MUEC, 0x00)
Mutex (MU4T, 0x00)
Name (ECFL, Ones)
Method (ECAV, 0, NotSerialized)
{
If ((SLPT >= 0x04))
{
Return (Zero)
}
If ((NVLK == One))
{
Return (Zero)
}
If ((ECFL == Ones))
{
If ((_REV >= 0x02))
{
Return (One)
}
Else
{
Return (Zero)
}
Return (Zero)
}
Return (ECFL) /* \_SB_.PCI0.SBRG.EC0_.ECFL */
}
OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF)
Field (ECOR, ByteAcc, Lock, Preserve)
{
Offset (0x04),
CMD1, 8,
CDT1, 8,
CDT2, 8,
CDT3, 8,
Offset (0x80),
Offset (0x81),
Offset (0x82),
Offset (0x83),
EB0R, 8,
EB1R, 8,
EPWF, 8,
Offset (0x87),
Offset (0x88),
Offset (0x89),
Offset (0x8A),
HKEN, 1,
Offset (0x93),
TAH0, 16,
TAH1, 16,
TSTP, 8,
Offset (0x9C),
CDT4, 8,
CDT5, 8,
Offset (0xA0),
Offset (0xA1),
Offset (0xA2),
Offset (0xA3),
EACT, 8,
TH1R, 8,
TH1L, 8,
TH0R, 8,
TH0L, 8,
Offset (0xB0),
B0PN, 16,
Offset (0xB4),
Offset (0xB6),
Offset (0xB8),
Offset (0xBA),
Offset (0xBC),
Offset (0xBE),
B0TM, 16,
B0C1, 16,
B0C2, 16,
B0C3, 16,
B0C4, 16,
Offset (0xD0),
B1PN, 16,
Offset (0xD4),
Offset (0xD6),
Offset (0xD8),
Offset (0xDA),
Offset (0xDC),
Offset (0xDE),
B1TM, 16,
B1C1, 16,
B1C2, 16,
B1C3, 16,
B1C4, 16,
Offset (0xF0),
Offset (0xF2),
Offset (0xF4),
B0SN, 16,
Offset (0xF8),
Offset (0xFA),
Offset (0xFC),
B1SN, 16
}
Name (SMBF, Zero)
OperationRegion (SMBX, EmbeddedControl, 0x18, 0x28)
Field (SMBX, ByteAcc, NoLock, Preserve)
{
PRTC, 8,
SSTS, 5,
, 1,
ALFG, 1,
CDFG, 1,
ADDR, 8,
CMDB, 8,
BDAT, 256,
BCNT, 8,
, 1,
ALAD, 7,
ALD0, 8,
ALD1, 8
}
OperationRegion (SMB2, EmbeddedControl, 0x40, 0x28)
Field (SMB2, ByteAcc, NoLock, Preserve)
{
PRT2, 8,
SST2, 5,
, 1,
ALF2, 1,
CDF2, 1,
ADD2, 8,
CMD2, 8,
BDA2, 256,
BCN2, 8,
, 1,
ALA2, 7,
ALR0, 8,
ALR1, 8
}
Field (SMB2, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
DA20, 8,
DA21, 8
}
Field (SMBX, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
DAT0, 8,
DAT1, 8
}
Field (SMBX, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
DT2B, 16
}
OperationRegion (NSBS, EmbeddedControl, 0x40, 0x04)
Field (NSBS, ByteAcc, NoLock, Preserve)
{
A2AD, 8,
A2D0, 8,
A2D1, 8,
A3AD, 8
}
OperationRegion (BRAM, SystemIO, 0x025A, 0x02)
Field (BRAM, ByteAcc, Lock, Preserve)
{
BRAI, 8,
BRAD, 8
}
IndexField (BRAI, BRAD, ByteAcc, NoLock, Preserve)
{
Offset (0x90),
EPWS, 8,
EB0S, 8,
EB1S, 8,
EB0T, 8,
EB1T, 8,
Offset (0x98),
ECPU, 8,
ECRT, 8,
EPSV, 8,
Offset (0xA0),
B0VL, 16,
B0RC, 16,
B0FC, 16,
B0MD, 16,
B0ST, 16,
B0CC, 16,
B0DC, 16,
B0DV, 16,
B1VL, 16,
B1RC, 16,
B1FC, 16,
B1MD, 16,
B1ST, 16,
B1CC, 16,
B1DC, 16,
B1DV, 16
}
OperationRegion (CRIH, SystemIO, 0x0381, One)
Field (CRIH, ByteAcc, Lock, Preserve)
{
CRAH, 8
}
OperationRegion (XRAM, SystemIO, 0x0382, 0x02)
Field (XRAM, ByteAcc, Lock, Preserve)
{
CRAI, 8,
CRAD, 8
}
IndexField (CRAI, CRAD, ByteAcc, NoLock, Preserve)
{
Offset (0x9C),
THL0, 8,
THH0, 8,
THL1, 8,
THH1, 8
}
Mutex (CMUT, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If ((MSOS () <= OSME))
{
ECFL = One
}
KINI ()
}
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x03))
{
ECFL = Arg1
}
}
}
}
Scope (\)
{
Method (DIAG, 1, NotSerialized)
{
DBG8 = Arg0
}
OperationRegion (GPSC, SystemIO, 0xB2, 0x02)
Field (GPSC, ByteAcc, NoLock, Preserve)
{
SMCM, 8,
SMST, 8
}
Method (ISMI, 1, Serialized)
{
SMCM = Arg0
}
Method (ASMI, 1, Serialized)
{
\_SB.ALPR = Arg0
SMCM = 0xA3
Return (\_SB.ALPR)
}
Scope (_SB)
{
OperationRegion (ECMS, SystemIO, 0x72, 0x02)
Field (ECMS, ByteAcc, Lock, Preserve)
{
EIND, 8,
EDAT, 8
}
IndexField (EIND, EDAT, ByteAcc, NoLock, Preserve)
{
Offset (0xC0),
IKFG, 8,
Offset (0xC3),
RAMB, 32,
AVOL, 8,
LBTN, 8,
ERRF, 8,
OCLK, 8,
WIDE, 1,
OVCK, 2,
SLPN, 3,
ACRD, 1,
VGAS, 1,
CPUR, 6,
CPUF, 2,
LBT2, 8,
PCMS, 8,
ALSL, 8,
ALAE, 1,
ALDE, 1,
ALSP, 1,
, 1,
FSTG, 4,
WLDP, 1,
BTDP, 1,
WRST, 1,
BRST, 1,
WRPS, 1,
BRPS, 1,
RMST, 1,
Offset (0xD2),
SYNA, 1,
ALPS, 1,
ELAN, 1,
STLC, 1,
FOLT, 1,
Offset (0xD3),
IKF2, 8,
UHDB, 8,
OSPM, 8,
TCGF, 8,
PPIS, 8,
PPIR, 8,
SIDE, 1,
PWBS, 1,
WFFG, 1,
OCST, 3,
SMTT, 1,
Offset (0xDA),
SP80, 1,
Offset (0xDB),
SWD2, 1,
F9KP, 1,
HACF, 6,
UWDP, 1,
WMDP, 1,
GPDP, 1,
TGDP, 1,
UWST, 1,
WMST, 1,
GPST, 1,
TGST, 1,
UWPS, 1,
WMPS, 1,
GPPS, 1,
TGPS, 1,
Offset (0xDE),
SPDC, 8,
DROK, 1,
SPDG, 1,
Offset (0xE0),
KBLV, 8,
FVGA, 1,
P4HN, 1,
USSC, 1,
MFTM, 1,
APBM, 4,
EGCP, 8,
EGC2, 2,
Offset (0xE4),
VHDA, 1,
DP3S, 1,
LTCL, 2,
LOLK, 2,
U3WA, 2,
GSDT, 1,
Offset (0xE6),
PA3D, 1,
Offset (0xE7),
LBCF, 1,
MMOD, 4,
Offset (0xE8),
S4TF, 1,
BECF, 1,
PRT0, 1,
Offset (0xE9),
CSMF, 1,
DS3F, 1,
Offset (0xEA)
}
OperationRegion (RAMW, SystemMemory, RAMB, 0x0100)
Field (RAMW, AnyAcc, NoLock, Preserve)
{
TRTY, 8,
FSFN, 8,
FSTA, 16,
FADR, 64,
FSIZ, 16,
ACTD, 8,
AVLD, 8,
SETD, 8,
ACPF, 8,
DCPF, 8,
DCP2, 8,
DCTP, 8,
CTPY, 8,
OPAD, 16,
OCAD, 16,
CSTE, 16,
NSTE, 16,
SSTE, 16,
SFUN, 8,
TPSV, 8,
TAC0, 8,
TCRT, 8,
TDO1, 8,
TDO2, 8,
PPSV, 8,
PAC0, 8,
T0HL, 8,
T0LL, 8,
T0F1, 8,
T0F2, 8,
T1HL, 8,
T1LL, 8,
T1F1, 8,
T1F2, 8,
T2HL, 8,
T2LL, 8,
T2F1, 8,
T2F2, 8,
T3HL, 8,
T3LL, 8,
T3F1, 8,
T3F2, 8,
T4HL, 8,
T4LL, 8,
T4F1, 8,
T4F2, 8,
T5HL, 8,
T5LL, 8,
T5F1, 8,
T5F2, 8,
T6HL, 8,
T6LL, 8,
T6F1, 8,
T6F2, 8,
T7HL, 8,
T7LL, 8,
T7F1, 8,
T7F2, 8,
SLPT, 8,
AIBF, 8,
IDES, 8,
VGAV, 16,
C4CP, 8,
LUXS, 8,
LUXL, 8,
LUXH, 8,
LUXF, 8,
MNAM, 64,
LCDV, 32,
LCDR, 8,
PTIM, 8,
PTMP, 8,
SMIF, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
MPEN, 8,
QFAN, 8,
VBIF, 16,
BIPA, 32,
RTCW, 16,
CPUN, 8,
ALPR, 32,
CIST, 8,
GNBF, 32,
CPUP, 16,
SLMT, 16,
LDES, 8,
HDDF, 8,
GCDF, 16,
SMBB, 32,
FEBL, 32,
TMPB, 8,
DSYN, 8,
LDFT, 8,
TBOT, 16,
RTC1, 8,
RTC2, 8,
RTC3, 8,
BRTI, 8,
SGEN, 8,
RBUF, 32,
RVBS, 32,
EXTS, 8,
SCMA, 32,
CTBO, 8,
DOSF, 8,
PTAB, 32,
CPCH, 32,
HTPT, 32,
CPUH, 8,
XHCB, 32,
USBC, 8,
VBOF, 16,
RSKY, 8,
WOLO, 8,
INSK, 8,
FPBA, 32,
FPTR, 32,
NVLK, 8,
NVLP, 64,
ACPI, 8,
NRS3, 16,
DPS3, 16,
S4FG, 8,
MODE, 8,
S4TM, 32,
EVET, 32,
ALSA, 16,
EZFU, 8,
SMFA, 32,
ISDF, 8,
CALB, 32,
CFG2, 32,
GSEN, 8,
CNFG, 32,
KBBL, 8
}
}
OperationRegion (DBGM, SystemMemory, 0x000D0000, 0x04)
Field (DBGM, DWordAcc, NoLock, Preserve)
{
DBGG, 32
}
Name (OSFG, Zero)
Name (OS9X, One)
Name (OS98, 0x02)
Name (OSME, 0x04)
Name (OS2K, 0x08)
Name (OSXP, 0x10)
Name (OSEG, 0x20)
Name (OSVT, 0x40)
Name (OSW7, 0x80)
Name (OSW8, 0x0100)
Name (OS13, 0x0110)
Name (OS14, 0x0120)
Name (OS15, 0x0130)
Name (OS16, 0x0140)
Name (OS17, 0x0150)
Method (MSOS, 0, NotSerialized)
{
If ((OSFG != Zero))
{
Return (OSFG) /* \OSFG */
}
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Windows 2001"))
{
OSFG = OSXP /* \OSXP */
}
If (_OSI ("Windows 2001 SP1"))
{
OSFG = OSXP /* \OSXP */
}
If (_OSI ("Windows 2001 SP2"))
{
OSFG = OSXP /* \OSXP */
}
If (_OSI ("Windows 2006"))
{
OSFG = OSVT /* \OSVT */
}
If (_OSI ("Linux"))
{
OSFG = OSEG /* \OSEG */
}
If (_OSI ("Windows 2009"))
{
OSFG = OSW7 /* \OSW7 */
}
If (_OSI ("Windows 2012"))
{
OSFG = OSW8 /* \OSW8 */
}
Return (OSFG) /* \OSFG */
}
Else
{
If (MCTH (_OS, "Microsoft Windows"))
{
OSFG = OS98 /* \OS98 */
}
Else
{
If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
{
OSFG = OSME /* \OSME */
}
Else
{
If (MCTH (_OS, "Microsoft Windows NT"))
{
OSFG = OS2K /* \OS2K */
}
Else
{
OSFG = OSXP /* \OSXP */
}
}
}
}
Return (OSFG) /* \OSFG */
}
Name (ONAM, "ASUSTeK")
Method (ADVG, 0, NotSerialized)
{
If (\_SB.PCI0.VGA.PRST ())
{
Return (\_SB.PCI0.VGA.ADVD ())
}
Return (0x03)
}
Method (GCDM, 0, NotSerialized)
{
If (\_SB.PCI0.VGA.PRST ())
{
Return (\_SB.PCI0.VGA.GCDS ())
}
Return (One)
}
Method (SWHG, 1, Serialized)
{
If (\_SB.PCI0.VGA.PRST ())
{
\_SB.PCI0.VGA.SWHD (Arg0)
Return (One)
}
Return (Zero)
}
Method (NATK, 0, NotSerialized)
{
If (\_SB.PCI0.VGA.PRST ())
{
Return (\_SB.PCI0.VGA.NATK ())
}
Return (One)
}
}
Scope (_SB)
{
Name (ATKP, Zero)
Name (AITM, Zero)
Name (PLMD, Zero)
Name (MUTX, One)
Name (LEDS, Zero)
Name (PWKY, Zero)
Name (FNIV, Zero)
Device (ATKD)
{
Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, "ATK") // _UID: Unique ID
Name (ATKQ, Package (0x10)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Name (AQHI, Zero)
Name (AQTI, 0x0F)
Name (AQNO, Zero)
Method (IANQ, 1, Serialized)
{
If ((AQNO >= 0x10))
{
Local0 = 0x64
While ((Local0 && (AQNO >= 0x10)))
{
Local0--
Sleep (0x0A)
}
If ((!Local0 && (AQNO >= 0x10)))
{
Return (Zero)
}
}
AQTI++
AQTI &= 0x0F
Index (ATKQ, AQTI) = Arg0
AQNO++
Return (One)
}
Method (GANQ, 0, Serialized)
{
If (AQNO)
{
AQNO--
Local0 = DerefOf (Index (ATKQ, AQHI))
AQHI++
AQHI &= 0x0F
Return (Local0)
}
Return (Ones)
}
Name (_WDG, Buffer (0x28)
{
/* 0000 */ 0xD0, 0x5E, 0x84, 0x97, 0x6D, 0x4E, 0xDE, 0x11, /* .^..mN.. */
/* 0008 */ 0x8A, 0x39, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66, /* .9.. ..f */
/* 0010 */ 0x4E, 0x42, 0x01, 0x02, 0x35, 0xBB, 0x3C, 0x0B, /* NB..5.<. */
/* 0018 */ 0xC2, 0xE3, 0xED, 0x45, 0x91, 0xC2, 0x4C, 0x5A, /* ...E..LZ */
/* 0020 */ 0x6D, 0x19, 0x5D, 0x1C, 0xFF, 0x00, 0x01, 0x08 /* m.]..... */
})
Method (WMNB, 3, Serialized)
{
CreateDWordField (Arg2, Zero, IIA0)
CreateDWordField (Arg2, 0x04, IIA1)
Local0 = (Arg1 & 0xFFFFFFFF)
If ((Local0 == 0x54494E49))
{
INIT (IIA0)
Return (One)
}
If ((Local0 == 0x53545342))
{
Return (BSTS ())
}
If ((Local0 == 0x4E554653))
{
Return (SFUN ())
}
If ((Local0 == 0x43455053))
{
Return (SPEC (IIA0))
}
If ((Local0 == 0x494E424B))
{
Return (KBNI ())
}
If ((Local0 == 0x5256534F))
{
OSVR (IIA0)
Return (Zero)
}
If ((Local0 == 0x53545344))
{
If ((IIA0 == 0x00060023))
{
Name (LASV, Zero)
If ((NVLK == One))
{
Return (LASV) /* \_SB_.ATKD.WMNB.LASV */
}
Local0 = Zero
FSTA = 0xFFFF
FADR = 0x55534243
FSMI (0x05)
If ((FSTA == 0x03))
{
Local0 = (^^PCI0.SBRG.EC0.STA8 (Zero) & 0x03)
}
If (Zero)
{
Local0 |= 0x04
}
If (Ones)
{
Local0 |= 0x04
}
LASV = Local0
Return (Local0)
}
If ((IIA0 == 0x00060024))
{
Return (Package (0x03)
{
0x79141022,
0x08,
0xFFFFFFFF
})
}
If ((IIA0 == 0x00060026))
{
Local0 = ^^PCI0.SBRG.EC0.STA8 (Zero)
Local0 &= 0x04
If ((Local0 == 0x04))
{
Return (0x00010001)
}
Else
{
If ((Local0 == Zero))
{
Return (0x00010000)
}
}
}
If ((IIA0 == 0x00010002))
{
Return (0x00050002)
}
If ((IIA0 == 0x00020011))
{
Return ((GALE (One) | 0x00050000))
}
If ((IIA0 == 0x00020012))
{
Return ((GALE (0x02) | 0x00050000))
}
If ((IIA0 == 0x00020013))
{
Return ((GALE (0x04) | 0x00050000))
}
If ((IIA0 == 0x00040015))
{
Return ((GALE (0x08) | 0x00050000))
}
If ((IIA0 == 0x00020014))
{
Return ((GALE (0x10) | 0x00050000))
}
If ((IIA0 == 0x00020015))
{
Return ((GALE (0x20) | 0x00050000))
}
If ((IIA0 == 0x00020016))
{
Return ((GALE (0x40) | 0x00050000))
}
If ((IIA0 == 0x00110011))
{
Return ((TMPR () & 0xFFFF))
}
If ((IIA0 == 0x00110012))
{
Local0 = TMPR ()
Local1 = Local0
Local0 = ((Local0 & 0xF0000000) >> 0x1C)
Local1 = ((Local1 & 0x0F000000) >> 0x18)
Local1 <<= 0x08
Return ((Local0 + Local1))
}
If ((IIA0 == 0x00050012))
{
If ((MSOS () >= OSW8))
{
Local0 = (0x64 - Zero)
Local0 <<= 0x08
Local1 = (Local0 + 0x64)
}
Else
{
Local0 = 0x0A
Local0 <<= 0x08
Local1 = (GPLV () + Local0)
}
Return (Local1)
}
If ((IIA0 == 0x00010011))
{
If (WLDP)
{
Return ((WRST + 0x00030000))
}
}
If ((IIA0 == 0x00010013))
{
If (BTDP)
{
Return ((BRST + 0x00050000))
}
}
If ((IIA0 == 0x00010021))
{
If (UWDP)
{
Return ((UWST + 0x00050000))
}
}
If ((IIA0 == 0x00010017))
{
If (WMDP)
{
Return ((WMST + 0x00050000))
}
}
If ((IIA0 == 0x00010015))
{
If (GPDP)
{
Return ((GPST + 0x00050000))
}
}
If ((IIA0 == 0x00010019))
{
If (TGDP)
{
Return ((TGST + 0x00050000))
}
}
If ((IIA0 == 0x00010001))
{
Return (0x00040000)
}
If ((IIA0 == 0x00120012))
{
Return (PSTC (Zero))
}
If ((IIA0 == 0x00120015))
{
Local0 = (SLMT - One)
Return ((Local0 | 0x00010000))
}
If ((IIA0 == 0x00120031))
{
If (DP3S)
{
Return (0x00010001)
}
Else
{
Return (0x00010000)
}
}
If ((IIA0 == 0x00120032))
{
Return (Zero)
}
If ((IIA0 == 0x00080041))
{
Return (Zero)
}
If ((IIA0 == 0x00080042))
{
Return (Zero)
}
If ((IIA0 == 0x00080043))
{
Return (Zero)
}
If ((IIA0 == 0x00080044))
{
Return (Zero)
}
If ((IIA0 == 0x00120061))
{
Local1 = ^^PCI0.SBRG.EC0.RRAM (0x061C)
If ((Local1 & 0x10))
{
Return (0x00010001)
}
If ((Local1 & 0x08))
{
Return (0x00010002)
}
If (!(Local1 & 0x18))
{
Return (0x00010000)
}
}
}
If ((Local0 == 0x53564544))
{
If ((IIA0 == 0x00060023))
{
If ((NVLK == One))
{
Return (Zero)
}
Local0 = Zero
FSTA = 0xFFFF
FADR = 0x55534243
FSMI (0x05)
Local0 = (IIA1 >> 0x09)
If (((Local0 & One) == One))
{
VBOF = One
Local0 = (IIA1 >> 0x18)
Local0 *= 0x0100
VBOF |= Local0 /* \_SB_.VBOF */
}
Else
{
VBOF = Zero
}
Local0 = (IIA1 & 0xFF)
^^PCI0.SBRG.EC0.STA9 (One, Local0)
Local0 = (IIA1 >> 0x08)
Local1 = ^^PCI0.SBRG.EC0.STA8 (Zero)
If (((Local0 & One) == One))
{
Local1 |= 0x02
Local2 = (Local1 & 0x0F)
USBC = Local2
^^PCI0.SBRG.EC0.STA9 (Zero, Local1)
}
Else
{
Local1 &= 0xFD
Local2 = (Local1 & 0x0F)
USBC = Local2
^^PCI0.SBRG.EC0.STA9 (Zero, Local1)
}
FSTA = 0xFFFF
FADR = 0x55534243
FSMI (0x04)
If ((FSTA == 0x03))
{
FSTA = 0xFFFF
FSMI (0x06)
If ((FSTA != Zero))
{
Return (Zero)
}
}
Return (One)
}
If ((IIA0 == 0x00060026))
{
Local0 = Zero
FSTA = 0xFFFF
FADR = 0x55534243
FSMI (0x05)
Local0 = ^^PCI0.SBRG.EC0.STA8 (Zero)
If ((IIA1 == One))
{
Local2 = (0x04 | USBC) /* \_SB_.USBC */
USBC = Local2
Local0 |= 0x04
^^PCI0.SBRG.EC0.STA9 (Zero, Local0)
}
Else
{
Local2 = (0xFB & USBC) /* \_SB_.USBC */
USBC = Local2
Local0 &= 0xFB
^^PCI0.SBRG.EC0.STA9 (Zero, Local0)
}
FSTA = 0xFFFF
FADR = 0x55534243
FSMI (0x04)
If ((FSTA == 0x03))
{
FSTA = 0xFFFF
FSMI (0x06)
If ((FSTA != Zero))
{
Return (Zero)
}
}
Return (One)
}
If ((IIA0 == 0x00020011))
{
Return (SALE ((IIA1 + 0x02)))
}
If ((IIA0 == 0x00020012))
{
Return (SALE ((IIA1 + 0x04)))
}
If ((IIA0 == 0x00020013))
{
Return (SALE ((IIA1 + 0x08)))
}
If ((IIA0 == 0x00040015))
{
Return (SALE ((IIA1 + 0x10)))
}
If ((IIA0 == 0x00020014))
{
Return (SALE ((IIA1 + 0x20)))
}
If ((IIA0 == 0x00020015))
{
Return (SALE ((IIA1 + 0x40)))
}
If ((IIA0 == 0x00020016))
{
Return (SALE ((IIA1 + 0x80)))
}
If ((IIA0 == 0x00050011))
{
If ((IIA1 == 0x02))
{
^^PCI0.SBRG.EC0.SPIN (0x72, One)
^^PCI0.SBRG.EC0.BLCT = One
}
Return (One)
}
If ((IIA0 == 0x00050012))
{
SPLV (IIA1)
Return (One)
}
If ((IIA0 == 0x00010002))
{
OWGD (IIA1)
Return (One)
}
If ((IIA0 == 0x00010012))
{
WLED (IIA1)
Return (One)
}
If ((IIA0 == 0x00010013))
{
BLED (IIA1)
Return (One)
}
If ((IIA0 == 0x00010003))
{
Return (CWAP (IIA1))
}
If ((IIA0 == 0x00010015))
{
GPSC (IIA1)
Return (One)
}
If ((IIA0 == 0x00010019))
{
GSMC (IIA1)
Return (One)
}
If ((IIA0 == 0x00010017))
{
WMXC (IIA1)
Return (One)
}
If ((IIA0 == 0x00010021))
{
UWBC (IIA1)
Return (One)
}
If ((IIA0 == 0x00120012))
{
Return (PSTC ((IIA1 + One)))
}
If ((IIA0 == 0x00100022))
{
If ((IIA1 & 0x02))
{
^^PCI0.SBRG.EC0.STB1 (0x04)
^^PCI0.SBRG.EC0.STB1 (0x05)
FNIV = One
Return (One)
}
Else
{
KINI ()
Return (One)
}
Return (Zero)
}
If ((IIA0 == 0x00120053))
{
If ((IIA1 & One))
{
BATF (One)
Return (One)
}
Else
{
BATF (Zero)
Return (One)
}
Return (Zero)
}
}
If ((Local0 == 0x48534C46))
{
FLSH (IIA0)
Return (One)
}
If ((Local0 == 0x494E4946))
{
Return (FINI (IIA0))
}
If ((Local0 == 0x53524546))
{
Return (FERS (IIA0))
}
If ((Local0 == 0x49525746))
{
Return (FWRI (IIA0))
}
If ((Local0 == 0x57504346))
{
Return (FCPW (IIA0))
}
If ((Local0 == 0x50504346))
{
Return (FCPP ())
}
If ((Local0 == 0x50525746))
{
Return (FWRP ())
}
If ((Local0 == 0x52534345))
{
Return (ECSR (IIA0))
}
If ((Local0 == 0x43534C46))
{
Return (FLSC (IIA0))
}
If ((Local0 == 0x43455246))
{
Return (FREC (IIA0))
}
If ((Local0 == 0x454D4946))
{
Return (FIME (IIA0))
}
If ((Local0 == 0x4C425053))
{
If ((IIA0 == 0x80))
{
If ((MSOS () >= OSVT))
{
Return (Zero)
}
Return (One)
}
If ((IIA0 > 0x0F))
{
Return (Zero)
}
If ((IIA0 < Zero))
{
Return (Zero)
}
SPLV (IIA0)
Return (One)
}
If ((Local0 == 0x50534453))
{
SDSP (IIA0)
Return (One)
}
If ((Local0 == 0x50534447))
{
Return (GDSP (IIA0))
}
If ((Local0 == 0x44495047))
{
Return (GPID ())
}
If ((Local0 == 0x44434C47))
{
Return (GLCD ())
}
If ((Local0 == 0x444F4D51))
{
Return (QMOD (IIA0))
}
If ((Local0 == 0x49564E41))
{
Return (ANVI (IIA0))
}
If ((Local0 == 0x46494243))
{
Return (CBIF (IIA0))
}
If ((Local0 == 0x4E464741))
{
Return (AGFN (IIA0))
}
If ((Local0 == 0x46494643))
{
CFIF (IIA0)
Return (One)
}
If ((Local0 == 0x44495046))
{
Return (0x0118)
}
If ((Local0 == 0x59454B48))
{
Local0 = ^^PCI0.SBRG.EC0.CDT1 /* \_SB_.PCI0.SBRG.EC0_.CDT1 */
Return (One)
}
If ((Local0 == 0x5446424B))
{
^^PCI0.SBRG.EC0.HKEN = IIA0 /* \_SB_.ATKD.WMNB.IIA0 */
Return (One)
}
If ((Local0 == 0x47444353))
{
Return (SCDG (IIA0))
}
Return (0xFFFFFFFE)
}
Method (_WED, 1, NotSerialized) // _Wxx: Wake Event
{
If ((Arg0 == 0xFF))
{
Return (GANQ ())
}
Return (Ones)
}
Method (IANE, 1, Serialized)
{
IANQ (Arg0)
Notify (ATKD, 0xFF) // Hardware-Specific
}
Method (INIT, 1, NotSerialized)
{
ATKP = One
Return (MNAM) /* \_SB_.MNAM */
}
Method (BSTS, 0, NotSerialized)
{
Local0 = IKFG /* \_SB_.IKFG */
Local0 |= (IKF2 << 0x08)
If (ACPF)
{
Local0 = Zero
Return (Local0)
}
Else
{
Local0 = ^^PCI0.SBRG.EC0.RRAM (0x04FE)
If (((Local0 & 0xFF) == 0x34))
{
Local0 = 0x05
Return (Local0)
}
Else
{
Local0 = Zero
Return (Local0)
}
}
Local0 &= 0xFFDF
Return (Local0)
}
Method (TMPR, 0, NotSerialized)
{
Local0 = \_TZ.RTMP ()
Local1 = \_TZ.RFAN (Zero)
Local1 <<= 0x10
Local0 = (\_TZ.KELV (Local0) + Local1)
Local2 = Zero
If (TENA)
{
Local2 = TDTY /* \TDTY */
}
Else
{
Local3 = HKTH ()
If ((Local3 != 0xFFFF))
{
Local2 = Local3
}
}
Local2 <<= 0x18
Local0 += Local2
Local3 = \_TZ.RFSE ()
Local3 <<= 0x1C
Local0 += Local3
Return (Local0)
}
Method (SFUN, 0, NotSerialized)
{
Local0 = 0x37
Local0 |= 0x40
Local0 |= 0x00020000
Local0 |= 0x00080000
Return (Local0)
}
Method (SPEC, 1, NotSerialized)
{
If ((Arg0 == Zero))
{
Return (0x00070009)
}
Else
{
If ((Arg0 == One))
{
Return (One)
}
}
Return (0xFFFFFFFE)
}
Method (OSVR, 1, NotSerialized)
{
If ((OSFG == Zero))
{
OSFG = Arg0
}
}
Method (GPLV, 0, NotSerialized)
{
If (!ACPF)
{
Return (LBT2) /* \_SB_.LBT2 */
}
Return (LBTN) /* \_SB_.LBTN */
}
Method (SPLV, 1, NotSerialized)
{
If (ACPF)
{
LBTN = Arg0
}
Else
{
LBT2 = Arg0
}
^^PCI0.SBRG.EC0.STBR ()
Return (One)
}
Method (SPBL, 1, NotSerialized)
{
If ((Arg0 == 0x0100))
{
Local0 = (0x0B - One)
Return (Local0)
}
If ((Arg0 == 0x80))
{
Return (One)
}
If ((Arg0 > 0x0F))
{
Return (Zero)
}
If ((Arg0 < Zero))
{
Return (Zero)
}
SPLV (Arg0)
Return (One)
}
Method (WLED, 1, NotSerialized)
{
OWLD (Arg0)
Return (One)
}
Method (KBNI, 0, NotSerialized)
{
Return (One)
}
Method (GALE, 1, NotSerialized)
{
If ((Arg0 == 0x04))
{
If ((LEDS && 0x04))
{
Return (One)
}
Else
{
Return (Zero)
}
}
If ((Arg0 == 0x08))
{
If ((LEDS && 0x08))
{
Return (One)
}
Else
{
Return (Zero)
}
}
If ((Arg0 == 0x10))
{
If ((LEDS && 0x10))
{
Return (One)
}
Else
{
Return (Zero)
}
}
Return (0x02)
}
Method (SALE, 1, NotSerialized)
{
If ((Arg0 == 0x10)) {}
If ((Arg0 == 0x11)) {}
Return (One)
}
Method (BLED, 1, NotSerialized)
{
OBTD (Arg0)
Return (One)
}
Method (UWBC, 1, NotSerialized)
{
OUWD (Arg0)
Return (One)
}
Method (WMXC, 1, NotSerialized)
{
OWMD (Arg0)
Return (One)
}
Method (GPSC, 1, NotSerialized)
{
OGPD (Arg0)
Return (One)
}
Method (GSMC, 1, NotSerialized)
{
OTGD (Arg0)
Return (One)
}
Method (LTEC, 1, NotSerialized)
{
Return (One)
}
Method (RSTS, 0, NotSerialized)
{
Return (ORST ())
}
Method (SDSP, 1, NotSerialized)
{
If (NATK ())
{
Return (SWHG (Arg0))
}
Return (Zero)
}
Method (GPID, 0, NotSerialized)
{
Return (LCDR) /* \_SB_.LCDR */
}
Method (HWRS, 0, NotSerialized)
{
Return (OHWR ())
}
Method (GLCD, 0, NotSerialized)
{
Return (LCDV) /* \_SB_.LCDV */
}
Name (WAPF, Zero)
Method (CWAP, 1, NotSerialized)
{
WAPF |= Arg0 /* \_SB_.ATKD.WAPF */
Return (One)
}
Method (QMOD, 1, NotSerialized)
{
If ((Arg0 == Zero))
{
Return (Zero)
}
If ((Arg0 == One))
{
^^PCI0.SBRG.EC0.ST98 (QFAN)
}
If ((Arg0 == 0x02))
{
^^PCI0.SBRG.EC0.ST98 (0xFF)
}
Return (One)
}
Method (ANVI, 1, Serialized)
{
Local0 = ASMI (Arg0)
Return (Local0)
}
Method (PSTC, 1, Serialized)
{
If ((Arg0 == Zero))
{
Local0 = CPUP /* \_SB_.CPUP */
Local0 <<= 0x08
Local0 += CPUP
Return (Local0)
}
If ((Arg0 > CPUP))
{
Return (0xFFFFFFFE)
}
SLMT = Arg0
If (CIST)
{
Notify (\_PR.P000, 0x80) // Performance Capability Change
Notify (\_PR.P001, 0x80) // Performance Capability Change
Notify (\_PR.P002, 0x80) // Performance Capability Change
Notify (\_PR.P003, 0x80) // Performance Capability Change
}
Return (Zero)
}
Method (SMBB, 1, Serialized)
{
Local0 = (Arg0 >> 0x10)
Local0 &= 0xFF
Local1 = (Arg0 >> 0x18)
Local2 = (Arg0 & 0xFF)
If ((Local1 & One))
{
Return (RBYT (Local1, Local0))
}
Else
{
Return (WBYT (Local1, Local0, Local2))
}
}
Method (SMBW, 1, Serialized)
{
Local0 = (Arg0 >> 0x10)
Local0 &= 0xFF
Local1 = (Arg0 >> 0x18)
Local2 = (Arg0 & 0xFF)
If ((Local1 & One))
{
Return (RWRD (Local1, Local0))
}
Else
{
Return (WWRD (Local1, Local0, Local2))
}
}
Method (SMBK, 1, Serialized)
{
Local0 = (Arg0 >> 0x08)
Local0 &= 0xFF
If (Local0)
{
Local0 = (Arg0 >> 0x10)
Local0 &= 0xFF
Local1 = (Arg0 >> 0x18)
Local1 &= 0xFF
Local3 = (Arg0 & 0x0F)
If ((Local1 & One))
{
RBLK (Local1, Local0, Local3)
}
Else
{
WBLK (Local1, Local0, Local3)
}
Return (Zero)
}
Else
{
Local2 = (Arg0 >> 0x10)
Local2 &= 0xFF
Local1 = (Arg0 >> 0x18)
If ((Local1 & One))
{
Return (DerefOf (Index (RBUF, Local2)))
}
Else
{
Local1 = (Arg0 & 0xFF)
Index (RBUF, Local2) = Local1
Return (Zero)
}
}
}
Method (ECRW, 1, Serialized)
{
Local0 = (Arg0 >> 0x18)
Local0 &= 0xFF
Local1 = (Arg0 >> 0x10)
Local1 &= 0xFF
Local2 = (Arg0 >> 0x08)
Local2 &= 0xFF
Local3 = (Arg0 & 0xFF)
Acquire (^^PCI0.SBRG.EC0.MUEC, 0xFFFF)
^^PCI0.SBRG.EC0.CDT3 = Local0
^^PCI0.SBRG.EC0.CDT2 = Local1
^^PCI0.SBRG.EC0.CDT1 = Local2
^^PCI0.SBRG.EC0.CMD1 = Local3
Local0 = 0x05
While ((Local0 && ^^PCI0.SBRG.EC0.CMD1))
{
Sleep (One)
Local0--
}
Local0 = ^^PCI0.SBRG.EC0.CDT3 /* \_SB_.PCI0.SBRG.EC0_.CDT3 */
Local1 = ^^PCI0.SBRG.EC0.CDT2 /* \_SB_.PCI0.SBRG.EC0_.CDT2 */
Local2 = ^^PCI0.SBRG.EC0.CDT1 /* \_SB_.PCI0.SBRG.EC0_.CDT1 */
Local3 = ^^PCI0.SBRG.EC0.CMD1 /* \_SB_.PCI0.SBRG.EC0_.CMD1 */
Release (^^PCI0.SBRG.EC0.MUEC)
Local0 <<= 0x08
Local0 |= Local1
Local0 <<= 0x08
Local0 |= Local2
Local0 <<= 0x08
Local0 |= Local3
Return (Local0)
}
Method (CBIF, 1, Serialized)
{
TMPB = Arg0
ALPR = 0x03
ISMI (0xA3)
Return (One)
}
Method (CFIF, 1, Serialized)
{
TMPB = Arg0
ISMI (0xA6)
Return (One)
}
Method (GDSP, 1, NotSerialized)
{
If (NATK ())
{
If ((Arg0 == 0x80))
{
Return (Zero)
}
Else
{
If ((Arg0 == 0x02))
{
Return (GCDM ())
}
Else
{
Return (Zero)
}
}
}
Return (Zero)
}
Name (CA1M, Zero)
Method (RMEM, 1, NotSerialized)
{
OperationRegion (VMEM, SystemMemory, Arg0, 0x04)
Field (VMEM, ByteAcc, NoLock, Preserve)
{
MEMI, 32
}
Local0 = MEMI /* \_SB_.ATKD.RMEM.MEMI */
Return (Local0)
}
Method (WMEM, 2, NotSerialized)
{
OperationRegion (VMEM, SystemMemory, Arg0, 0x04)
Field (VMEM, ByteAcc, NoLock, Preserve)
{
MEMI, 32
}
MEMI = Arg1
}
Name (MEMD, Package (0x41)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Method (SCDG, 1, NotSerialized)
{
CA1M = CALB /* \_SB_.CALB */
If (!((ToInteger (Arg0) >= Zero) && (ToInteger (
Arg0) <= 0x09)))
{
Index (MEMD, Zero) = Zero
Return (MEMD) /* \_SB_.ATKD.MEMD */
}
CA1M = (CALB + (0x0100 * ToInteger (Arg0)))
Local2 = Zero
Local3 = One
Local1 = CA1M /* \_SB_.ATKD.CA1M */
Index (MEMD, Zero) = 0x0100
While ((Local3 < 0x41))
{
Index (MEMD, Local3) = RMEM ((Local1 + Local2))
Local2 += 0x04
Local3 += One
}
Return (MEMD) /* \_SB_.ATKD.MEMD */
}
}
}
Scope (_SB)
{
Device (ASHS)
{
Name (_HID, "ATK4002") // _HID: Hardware ID
Method (HSWC, 1, Serialized)
{
If ((Arg0 < 0x02))
{
OWGD (Arg0)
Return (One)
}
If ((Arg0 == 0x04))
{
OWGD (Zero)
Return (One)
}
If ((Arg0 == 0x05))
{
OWGD (One)
Return (One)
}
If ((Arg0 == 0x02))
{
Local0 = OWGS ()
If (Local0)
{
Return (0x05)
}
Else
{
Return (0x04)
}
}
If ((Arg0 == 0x03))
{
Return (0xFF)
}
If ((Arg0 == 0x80))
{
Return (One)
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((MSOS () >= OSW8))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
}
Scope (_SB.PCI0)
{
Device (AC0)
{
Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
{
Return (^^SBRG.EC0.ACAP ())
}
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
PCI0
})
}
}
Scope (_SB.PCI0.SBRG.EC0)
{
Method (ACAP, 0, Serialized)
{
Return (ACPF) /* \_SB_.ACPF */
}
}
Scope (_SB.PCI0)
{
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
PCI0
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (^^SBRG.EC0.BATP (Zero))
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Name (LOW2, 0x012C)
Name (PUNT, One)
Name (LFCC, 0x1770)
Name (NBIF, Package (0x0D)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
"",
"",
"",
""
})
Name (PBIF, Package (0x0D)
{
One,
0x1770,
0x1770,
One,
0x39D0,
0x0258,
0x012C,
0x3C,
0x3C,
"M3N",
" ",
"LIon",
"ASUSTeK"
})
Name (PBST, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Name (BIXT, Package (0x14)
{
Zero,
Zero,
0x1770,
0x1770,
One,
0x39D0,
0x0258,
0x012C,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x3C,
0x3C,
"M3N",
" ",
"LIon",
"ASUSTeK"
})
Name (NBIX, Package (0x14)
{
Zero,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
"",
"",
"",
""
})
Method (FBIF, 5, NotSerialized)
{
PUNT = Arg0
Local1 = Arg1
Local2 = Arg2
If ((PUNT == Zero))
{
Local1 *= 0x0A
Local2 *= 0x0A
}
Index (PBIF, Zero) = Arg0
Index (PBIF, One) = Local1
Index (PBIF, 0x02) = Local2
LFCC = Local2
Index (PBIF, 0x03) = Arg3
Index (PBIF, 0x04) = Arg4
Divide (Local1, 0x0A, Local3, Local5)
Index (PBIF, 0x05) = Local5
Divide (Local1, 0x64, Local3, Local6)
Index (PBIF, 0x06) = Local6
LOW2 = Local6
Divide (Local1, 0x64, Local3, Local7)
Index (PBIF, 0x07) = Local7
Index (PBIF, 0x08) = Local7
}
Method (CBIF, 0, NotSerialized)
{
If (PUNT)
{
Local0 = DerefOf (Index (PBIF, 0x04))
Index (PBIF, Zero) = Zero
Index (PBIF, One) = (DerefOf (Index (PBIF, One)) * Local0)
Index (PBIF, 0x02) = (DerefOf (Index (PBIF, 0x02)) * Local0)
Index (PBIF, 0x05) = (DerefOf (Index (PBIF, 0x05)) * Local0)
Index (PBIF, 0x06) = (DerefOf (Index (PBIF, 0x06)) * Local0)
Index (PBIF, 0x07) = (DerefOf (Index (PBIF, 0x07)) * Local0)
Index (PBIF, 0x08) = (DerefOf (Index (PBIF, 0x08)) * Local0)
Divide (DerefOf (Index (PBIF, One)), 0x03E8, Local2, Index (PBIF, One))
Divide (DerefOf (Index (PBIF, 0x02)), 0x03E8, Local2, Index (PBIF, 0x02))
Divide (DerefOf (Index (PBIF, 0x05)), 0x03E8, Local2, Index (PBIF, 0x05))
Divide (DerefOf (Index (PBIF, 0x06)), 0x03E8, Local2, Index (PBIF, 0x06))
Divide (DerefOf (Index (PBIF, 0x07)), 0x03E8, Local2, Index (PBIF, 0x07))
Divide (DerefOf (Index (PBIF, 0x08)), 0x03E8, Local2, Index (PBIF, 0x08))
}
}
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
{
If (!^^SBRG.EC0.BATP (Zero))
{
Return (NBIF) /* \_SB_.PCI0.BAT0.NBIF */
}
If ((^^SBRG.EC0.GBTT (Zero) == 0xFF))
{
Return (NBIF) /* \_SB_.PCI0.BAT0.NBIF */
}
BATO ()
BATS (Zero)
Index (PBIF, 0x09) = ^^SBRG.EC0.BIF9 ()
Index (PBIF, 0x0C) = ONAM /* \ONAM */
Local0 = ^^SBRG.EC0.BIF0 ()
Local1 = ^^SBRG.EC0.BIF1 ()
Local2 = ^^SBRG.EC0.BIF2 ()
Local3 = ^^SBRG.EC0.BIF3 ()
Local4 = ^^SBRG.EC0.BIF4 ()
If ((Local0 != Ones))
{
If ((Local1 != Ones))
{
If ((Local2 != Ones))
{
If ((Local3 != Ones))
{
If ((Local4 != Ones))
{
FBIF (Local0, Local1, Local2, Local3, Local4)
CBIF ()
}
}
}
}
}
If ((PUNT == Zero))
{
Local2 *= 0x0A
}
LFCC = Local2
BATR ()
Return (PBIF) /* \_SB_.PCI0.BAT0.PBIF */
}
Method (FBST, 4, NotSerialized)
{
Local1 = (Arg1 & 0xFFFF)
Local0 = Zero
If (^^SBRG.EC0.ACAP ())
{
Local0 = One
}
If (Local0)
{
If (CHGS (Zero))
{
Local0 = 0x02
}
Else
{
Local0 = One
}
}
Else
{
Local0 = One
}
If (BLLO)
{
Local2 = (One << 0x02)
Local0 |= Local2
}
If ((^^SBRG.EC0.EB0S & 0x08))
{
Local2 = (One << 0x02)
Local0 |= Local2
}
If ((Local1 >= 0x8000))
{
Local1 = (0xFFFF - Local1)
}
Local2 = Arg2
If ((PUNT == Zero))
{
Local1 *= ^^SBRG.EC0.B0DV /* \_SB_.PCI0.SBRG.EC0_.B0DV */
Local2 *= 0x0A
}
Local3 = (Local0 & 0x02)
If (!Local3)
{
Local3 = (LFCC - Local2)
Divide (LFCC, 0xC8, Local4, Local5)
If ((Local3 < Local5))
{
Local2 = LFCC /* \_SB_.PCI0.BAT0.LFCC */
}
}
Else
{
Divide (LFCC, 0xC8, Local4, Local5)
Local4 = (LFCC - Local5)
If ((Local2 > Local4))
{
Local2 = Local4
}
}
If (!^^SBRG.EC0.ACAP ())
{
Divide (Local2, MBLF, Local3, Local4)
If ((Local1 < Local4))
{
Local1 = Local4
}
}
Index (PBST, Zero) = Local0
Index (PBST, One) = Local1
Index (PBST, 0x02) = Local2
Index (PBST, 0x03) = Arg3
}
Method (CBST, 0, NotSerialized)
{
If (PUNT)
{
Index (PBST, 0x03) = ^^SBRG.EC0.B0DV /* \_SB_.PCI0.SBRG.EC0_.B0DV */
Local0 = DerefOf (Index (PBST, 0x03))
Index (PBST, One) = (DerefOf (Index (PBST, One)) * Local0)
Divide (DerefOf (Index (PBST, One)), 0x03E8, Local1, Index (PBST, One))
Index (PBST, 0x02) = (DerefOf (Index (PBST, 0x02)) * Local0)
Divide (DerefOf (Index (PBST, 0x02)), 0x03E8, Local1, Index (PBST, 0x02))
}
}
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
Index (PBST, Zero) = Zero
Index (PBST, One) = Ones
Index (PBST, 0x02) = Ones
Index (PBST, 0x03) = Ones
If (!^^SBRG.EC0.BATP (Zero))
{
Index (PBST, Zero) = One
Return (PBST) /* \_SB_.PCI0.BAT0.PBST */
}
If ((^^SBRG.EC0.GBTT (Zero) == 0xFF))
{
Return (PBST) /* \_SB_.PCI0.BAT0.PBST */
}
If (MES4)
{
MES4--
Return (PBST) /* \_SB_.PCI0.BAT0.PBST */
}
BATO ()
BATS (Zero)
Local0 = ^^SBRG.EC0.BSTS ()
Local1 = ^^SBRG.EC0.BCRT ()
Local2 = ^^SBRG.EC0.BRCP ()
Local3 = ^^SBRG.EC0.BVOT ()
If ((Local0 != Ones))
{
If ((Local1 != Ones))
{
If ((Local2 != Ones))
{
If ((Local3 != Ones))
{
FBST (Local0, Local1, Local2, Local3)
CBST ()
}
}
}
}
BATR ()
Return (PBST) /* \_SB_.PCI0.BAT0.PBST */
}
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
If (!^^SBRG.EC0.BATP (Zero))
{
Return (NBIX) /* \_SB_.PCI0.BAT0.NBIX */
}
If ((^^SBRG.EC0.GBTT (Zero) == 0xFF))
{
Return (NBIX) /* \_SB_.PCI0.BAT0.NBIX */
}
_BIF ()
Index (BIXT, One) = DerefOf (Index (PBIF, Zero))
Index (BIXT, 0x02) = DerefOf (Index (PBIF, One))
Index (BIXT, 0x03) = DerefOf (Index (PBIF, 0x02))
Index (BIXT, 0x04) = DerefOf (Index (PBIF, 0x03))
Index (BIXT, 0x05) = DerefOf (Index (PBIF, 0x04))
Index (BIXT, 0x06) = DerefOf (Index (PBIF, 0x05))
Index (BIXT, 0x07) = DerefOf (Index (PBIF, 0x06))
Index (BIXT, 0x0E) = DerefOf (Index (PBIF, 0x07))
Index (BIXT, 0x0F) = DerefOf (Index (PBIF, 0x08))
Index (BIXT, 0x10) = DerefOf (Index (PBIF, 0x09))
Index (BIXT, 0x11) = DerefOf (Index (PBIF, 0x0A))
Index (BIXT, 0x12) = DerefOf (Index (PBIF, 0x0B))
Index (BIXT, 0x13) = DerefOf (Index (PBIF, 0x0C))
If ((DerefOf (Index (BIXT, One)) == One))
{
Index (BIXT, One) = Zero
Local0 = DerefOf (Index (BIXT, 0x05))
Index (BIXT, 0x02) = (DerefOf (Index (BIXT, 0x02)) * Local0)
Index (BIXT, 0x03) = (DerefOf (Index (BIXT, 0x03)) * Local0)
Index (BIXT, 0x06) = (DerefOf (Index (BIXT, 0x06)) * Local0)
Index (BIXT, 0x07) = (DerefOf (Index (BIXT, 0x07)) * Local0)
Index (BIXT, 0x0E) = (DerefOf (Index (BIXT, 0x0E)) * Local0)
Index (BIXT, 0x0F) = (DerefOf (Index (BIXT, 0x0F)) * Local0)
Divide (DerefOf (Index (BIXT, 0x02)), 0x03E8, Local0, Index (BIXT, 0x02))
Divide (DerefOf (Index (BIXT, 0x03)), 0x03E8, Local0, Index (BIXT, 0x03))
Divide (DerefOf (Index (BIXT, 0x06)), 0x03E8, Local0, Index (BIXT, 0x06))
Divide (DerefOf (Index (BIXT, 0x07)), 0x03E8, Local0, Index (BIXT, 0x07))
Divide (DerefOf (Index (BIXT, 0x0E)), 0x03E8, Local0, Index (BIXT, 0x0E))
Divide (DerefOf (Index (BIXT, 0x0F)), 0x03E8, Local0, Index (BIXT, 0x0F))
}
Index (BIXT, 0x08) = ^^SBRG.EC0.B0C3 /* \_SB_.PCI0.SBRG.EC0_.B0C3 */
Index (BIXT, 0x09) = 0x0001869F
Return (BIXT) /* \_SB_.PCI0.BAT0.BIXT */
}
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
{
^^SBRG.EC0.ST8E (0x29, 0xFF)
^^SBRG.EC0.ST8E (0x2A, 0xFF)
^^SBRG.EC0.ST8E (0x28, 0x0F)
If ((Arg0 != Zero))
{
Local0 = DerefOf (Index (PBIF, 0x04))
Local1 = (Arg0 * 0x03E8)
Divide (Local1, Local0, Local2, Local3)
^^SBRG.EC0.ST9E (0x29, 0xFF, (Local3 & 0xFF))
Local2 = (Local3 >> 0x08)
Local2 &= 0xFF
^^SBRG.EC0.ST9E (0x2A, 0xFF, Local2)
}
}
}
}
Scope (_SB.PCI0)
{
Name (B0CR, Zero)
Name (B1CR, Zero)
Method (GGCC, 1, Serialized)
{
BATO ()
BATS (Arg0)
Local0 = ^SBRG.EC0.BCRT ()
BATR ()
If ((Local0 == Ones))
{
If (Arg0)
{
Local0 = B1CR /* \_SB_.PCI0.B1CR */
}
Else
{
Local0 = B0CR /* \_SB_.PCI0.B0CR */
}
}
Local1 = (Local0 & 0x8000)
If (Local1)
{
Local0 = Zero
}
If (Arg0)
{
B1CR = Local0
}
Else
{
B0CR = Local0
}
Return (Local0)
}
}
Scope (_SB.PCI0.SBRG.EC0)
{
Name (BADR, 0x0B)
Name (CADR, 0x09)
Name (SADR, 0x0A)
Method (ALMH, 1, NotSerialized)
{
If ((Arg0 == BADR))
{
NBAT (0x80)
}
}
Method (BIFW, 1, NotSerialized)
{
Local0 = SMBR (RDWD, BADR, Arg0)
Local1 = DerefOf (Index (Local0, Zero))
If (Local1)
{
Return (Ones)
}
Else
{
Return (DerefOf (Index (Local0, 0x02)))
}
}
Method (BIF0, 0, NotSerialized)
{
If (ECAV ())
{
If (BSLF)
{
Local0 = B1MD /* \_SB_.PCI0.SBRG.EC0_.B1MD */
}
Else
{
Local0 = B0MD /* \_SB_.PCI0.SBRG.EC0_.B0MD */
}
If ((Local0 != 0xFFFF))
{
Local1 = (Local0 >> 0x0F)
Local1 &= One
Local0 = (Local1 ^ One)
}
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Method (BIF1, 0, NotSerialized)
{
If (ECAV ())
{
If (BSLF)
{
Local0 = B1DC /* \_SB_.PCI0.SBRG.EC0_.B1DC */
}
Else
{
Local0 = B0DC /* \_SB_.PCI0.SBRG.EC0_.B0DC */
}
Local0 &= 0xFFFF
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Method (BIF2, 0, NotSerialized)
{
If (ECAV ())
{
If (BSLF)
{
Local0 = B1FC /* \_SB_.PCI0.SBRG.EC0_.B1FC */
}
Else
{
Local0 = B0FC /* \_SB_.PCI0.SBRG.EC0_.B0FC */
}
Local0 &= 0xFFFF
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Method (BIF3, 0, NotSerialized)
{
If (ECAV ())
{
If (BSLF)
{
Local0 = B1MD /* \_SB_.PCI0.SBRG.EC0_.B1MD */
}
Else
{
Local0 = B0MD /* \_SB_.PCI0.SBRG.EC0_.B0MD */
}
If ((Local0 != 0xFFFF))
{
Local0 >>= 0x09
Local0 &= One
Local0 ^= One
}
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Method (BIF4, 0, NotSerialized)
{
If (ECAV ())
{
If (BSLF)
{
Local0 = B1DV /* \_SB_.PCI0.SBRG.EC0_.B1DV */
}
Else
{
Local0 = B0DV /* \_SB_.PCI0.SBRG.EC0_.B0DV */
}
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Method (BIF9, 0, NotSerialized)
{
Name (BSTR, Buffer (0x20) {})
Local0 = SMBR (RDBL, BADR, 0x21)
If ((DerefOf (Index (Local0, Zero)) != Zero))
{
BSTR = MNAM /* \_SB_.MNAM */
Index (BSTR, 0x04) = Zero
}
Else
{
BSTR = DerefOf (Index (Local0, 0x02))
Index (BSTR, DerefOf (Index (Local0, One))) = Zero
}
Return (BSTR) /* \_SB_.PCI0.SBRG.EC0_.BIF9.BSTR */
}
Method (BIFA, 0, NotSerialized)
{
If (ECAV ())
{
If (BSLF)
{
Local0 = B1SN /* \_SB_.PCI0.SBRG.EC0_.B1SN */
}
Else
{
Local0 = B0SN /* \_SB_.PCI0.SBRG.EC0_.B0SN */
}
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Method (BSTS, 0, NotSerialized)
{
If (BSLF)
{
Local0 = B1ST /* \_SB_.PCI0.SBRG.EC0_.B1ST */
}
Else
{
Local0 = B0ST /* \_SB_.PCI0.SBRG.EC0_.B0ST */
}
Return (Local0)
}
Method (BCRT, 0, NotSerialized)
{
If (BSLF)
{
Local0 = B1CC /* \_SB_.PCI0.SBRG.EC0_.B1CC */
}
Else
{
Local0 = B0CC /* \_SB_.PCI0.SBRG.EC0_.B0CC */
}
Return (Local0)
}
Method (BRCP, 0, NotSerialized)
{
If (BSLF)
{
Local0 = B1RC /* \_SB_.PCI0.SBRG.EC0_.B1RC */
}
Else
{
Local0 = B0RC /* \_SB_.PCI0.SBRG.EC0_.B0RC */
}
If ((Local0 == 0xFFFF))
{
Local0 = Ones
}
Return (Local0)
}
Method (BVOT, 0, NotSerialized)
{
If (BSLF)
{
Local0 = B1VL /* \_SB_.PCI0.SBRG.EC0_.B1VL */
}
Else
{
Local0 = B0VL /* \_SB_.PCI0.SBRG.EC0_.B0VL */
}
Return (Local0)
}
}
Scope (\)
{
Method (CHGS, 1, Serialized)
{
Local0 = \_SB.PCI0.SBRG.EC0.BCHG (Arg0)
Return (Local0)
}
Name (BSLF, Zero)
Method (BATS, 1, Serialized)
{
If (Arg0)
{
BSLF = One
}
Else
{
BSLF = Zero
}
}
Mutex (MMPX, 0x00)
Method (BATO, 0, Serialized)
{
Acquire (MMPX, 0xFFFF)
}
Method (BATR, 0, Serialized)
{
Release (MMPX)
}
Name (BLLO, Zero)
}
Scope (_SB.PCI0.SBRG.EC0)
{
Method (_QA1, 0, NotSerialized) // _Qxx: EC Query
{
DCPF = DCPS (Zero)
If (DCPF)
{
Sleep (0x07D0)
}
Notify (BAT0, 0x80) // Status Change
Notify (BAT0, 0x81) // Information Change
}
Method (_QA5, 0, NotSerialized) // _Qxx: EC Query
{
BLLO = One
If (ATKP)
{
^^^^ATKD.IANE (0x6E)
}
Else
{
If (BATP (Zero))
{
Notify (BAT0, 0x80) // Status Change
}
}
}
Method (_QA3, 0, NotSerialized) // _Qxx: EC Query
{
If (BATP (Zero))
{
Local0 = BCLE (Zero)
If ((Local0 == Zero))
{
Notify (BAT0, 0x80) // Status Change
}
Else
{
Notify (BAT0, 0x81) // Information Change
Notify (AC0, 0x80) // Status Change
}
}
}
Method (BATP, 1, Serialized)
{
If (Arg0)
{
Return (DCP2) /* \_SB_.DCP2 */
}
Else
{
Return (DCPF) /* \_SB_.DCPF */
}
}
Method (NBAT, 1, NotSerialized)
{
If (BATP (Zero))
{
Notify (BAT0, Arg0)
}
}
}
Scope (\)
{
Name (MES4, Zero)
Method (OEMS, 1, NotSerialized)
{
If ((Arg0 == 0x03))
{
If ((MSOS () <= OSME))
{
\_SB.WIDE = One
}
Else
{
\_SB.WIDE = Zero
}
}
SBRS (Arg0)
\_SB.PCI0.SBRG.EC0.EC0S (Arg0)
\_SB.SLPN = Arg0
DIAG ((Arg0 + 0xD0))
PPRJ (Arg0)
\_SB.SLPT = Arg0
If (Arg0)
{
STRP (One)
}
PRJS (Arg0)
If ((Arg0 == 0x03))
{
\_SB.PCI0.SBRG.EC0.ST8E (0x12, 0xFF)
\_SB.PCI0.SBRG.EC0.ST9E (0x12, 0x05, One)
}
ISMI (0x9D)
}
Method (OEMW, 1, NotSerialized)
{
ISMI (0x9E)
\_SB.SLPT = Zero
\_SB.PCI0.SBRG.EC0.EC0W (Arg0)
If ((Arg0 == 0x04))
{
If ((MSOS () <= OSME))
{
MES4 = 0x02
}
Else
{
MES4 = Zero
}
}
SBRW (Arg0)
If ((Arg0 == 0x04))
{
Notify (\_SB.SLPB, 0x02) // Device Wake
}
PRJW (Arg0)
DIAG ((Arg0 + 0xF0))
}
}
Scope (_SB.ATKD)
{
Method (AGFN, 1, Serialized)
{
If ((Arg0 == Zero))
{
Return (GNBF) /* \_SB_.GNBF */
}
Local0 = Zero
OperationRegion (\PARM, SystemMemory, Arg0, 0x08)
Field (PARM, DWordAcc, NoLock, Preserve)
{
MFUN, 16,
SFUN, 16,
LEN, 16,
STAS, 8,
EROR, 8
}
EROR = Zero
STAS = One
If ((MFUN == 0x02))
{
BSMI (Arg0)
STAS &= 0xFE
}
Local0 = (MFUN & 0xF0)
If ((Local0 == 0x10))
{
MF1X (Arg0, LEN, MFUN, SFUN)
}
If ((MFUN == 0x42))
{
MF42 (Arg0, SFUN, LEN)
STAS &= 0xFE
}
If ((MFUN == One))
{
GVER (Arg0, LEN)
STAS &= 0xFE
}
If ((MFUN == 0x30))
{
MF30 (Arg0, SFUN, LEN)
STAS &= 0xFE
}
If ((STAS == One))
{
EROR = One
STAS |= 0x02
}
STAS &= 0xFE
STAS |= 0x80
Return (Zero)
}
Method (GVER, 2, NotSerialized)
{
OperationRegion (\FGVR, SystemMemory, Arg0, Arg1)
Field (FGVR, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
APID, 16,
APRV, 32
}
Return (Zero)
}
Method (MF30, 3, NotSerialized)
{
OperationRegion (FM30, SystemMemory, Arg0, 0x08)
Field (FM30, DWordAcc, NoLock, Preserve)
{
Offset (0x06),
SM30, 8,
EM30, 8
}
Local0 = One
If ((Arg1 == Zero))
{
Local0 = G30V (Arg0, Arg2)
}
If ((Arg1 == One))
{
Local0 = EC01 (Arg0, Arg2)
}
If ((Arg1 == 0x02))
{
Local0 = EC02 (Arg0, Arg2)
}
If (Local0)
{
EM30 = Local0
SM30 |= 0x02
}
SM30 |= 0x80
Return (Zero)
}
Method (G30V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F300, SystemMemory, Arg0, Arg1)
Field (F300, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (EC01, 2, NotSerialized)
{
If ((Arg1 < 0x10))
{
Return (0x02)
}
OperationRegion (FEC1, SystemMemory, Arg0, Arg1)
Field (FEC1, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
ECMD, 8,
EDA1, 8,
EDA2, 8,
EDA3, 8,
EDA4, 8,
EDA5, 8
}
Local0 = ^^PCI0.SBRG.EC0.ECXT (ECMD, EDA1, EDA2, EDA3, EDA4, EDA5)
EDA1 = DerefOf (Index (Local0, One))
EDA2 = DerefOf (Index (Local0, 0x02))
EDA3 = DerefOf (Index (Local0, 0x03))
EDA4 = DerefOf (Index (Local0, 0x04))
EDA5 = DerefOf (Index (Local0, 0x05))
Return (DerefOf (Index (Local0, Zero)))
}
Method (EC02, 2, NotSerialized)
{
If ((Arg1 < 0x30))
{
Return (0x02)
}
OperationRegion (FEC2, SystemMemory, Arg0, Arg1)
Field (FEC2, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BUSN, 8,
PROT, 8,
DADD, 8,
DREG, 8,
DAT0, 8,
DAT1, 8,
BLEN, 8,
REVB, 8,
BLKK, 256
}
Local1 = Package (0x02)
{
Zero,
Buffer (0x20) {}
}
Index (Local1, Zero) = BLEN /* \_SB_.ATKD.EC02.BLEN */
Index (Local1, One) = BLKK /* \_SB_.ATKD.EC02.BLKK */
Local0 = ^^PCI0.SBRG.EC0.ECSB (BUSN, PROT, DADD, DREG, DAT0, DAT1, Local1)
If ((DerefOf (Index (Local0, Zero)) == Zero))
{
DAT0 = DerefOf (Index (Local0, One))
DAT1 = DerefOf (Index (Local0, 0x02))
BLEN = DerefOf (Index (Local0, 0x03))
BLKK = DerefOf (Index (Local0, 0x04))
}
Local2 = DerefOf (Index (Local0, Zero))
Local2 &= 0x3F
Return (Local2)
}
Method (GENW, 1, NotSerialized)
{
RTCW = Zero
}
Method (BSMI, 1, Serialized)
{
BIPA = Arg0
ISMI (0xA1)
}
}
Scope (_SB.ATKD)
{
Method (MF1X, 4, NotSerialized)
{
OperationRegion (FM1X, SystemMemory, Arg0, 0x08)
Field (FM1X, DWordAcc, NoLock, Preserve)
{
Offset (0x06),
SM1X, 8,
EM1X, 8
}
Local0 = One
If ((Arg2 == 0x10))
{
Local0 = MF10 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x11))
{
Local0 = MF11 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x12))
{
Local0 = MF12 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x13))
{
Local0 = MF13 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x14))
{
Local0 = MF14 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x15))
{
Local0 = MF15 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x16))
{
Local0 = MF16 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x17))
{
Local0 = MF17 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x18))
{
Local0 = MF18 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x19))
{
Local0 = MF19 (Arg0, Arg1, Arg3)
}
If ((Arg2 == 0x1F))
{
Local0 = MF1F (Arg0, Arg1, Arg3)
}
SM1X &= 0xFE
If (Local0)
{
EM1X = Local0
SM1X |= 0x02
}
SM1X |= 0x80
}
Method (MF10, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G10V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = SRTC (Arg0, Arg1)
}
Return (Local0)
}
Method (G10V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F100, SystemMemory, Arg0, Arg1)
Field (F100, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (SRTC, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F101, SystemMemory, Arg0, Arg1)
Field (F101, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
DLTM, 16
}
RTCW = DLTM /* \_SB_.ATKD.SRTC.DLTM */
Return (Zero)
}
Method (MF11, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G11V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GBAT (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = ASBR (Arg0, Arg1)
}
If ((Arg2 == 0x03))
{
Local0 = ASBE (Arg0, Arg1)
}
If ((Arg2 == 0x04))
{
Local0 = BTCR (Arg0, Arg1)
}
Return (Local0)
}
Method (G11V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F110, SystemMemory, Arg0, Arg1)
Field (F100, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GBAT, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F111, SystemMemory, Arg0, Arg1)
Field (F111, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BTNM, 8,
BTTP, 8
}
BTNM = One
BTTP = Zero
Return (Zero)
}
Method (ASBR, 2, NotSerialized)
{
If ((Arg1 < 0x30))
{
Return (0x02)
}
OperationRegion (\F112, SystemMemory, Arg0, Arg1)
Field (F112, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BATN, 8,
BATA, 8,
REGS, 8,
BDAT, 16,
BLEN, 8,
BREV, 16,
BLK1, 32,
BLK2, 32,
BLK3, 32,
BLK4, 32,
BLK5, 32,
BLK6, 32,
BLK7, 32,
BLK8, 32
}
If ((BATN >= One))
{
Return (0x11)
}
If ((BATA == Zero))
{
Local0 = ^^PCI0.SBRG.EC0.SMBR (^^PCI0.SBRG.EC0.RDWD, ^^PCI0.SBRG.EC0.BADR, REGS)
BDAT = DerefOf (Index (Local0, 0x02))
Local2 = DerefOf (Index (Local0, Zero))
Local2 &= 0x1F
If (Local2)
{
Local2 += 0x10
}
Return (Local2)
}
If ((BATA == One))
{
Local0 = ^^PCI0.SBRG.EC0.SMBW (^^PCI0.SBRG.EC0.WRWD, ^^PCI0.SBRG.EC0.BADR, REGS, 0x02, BDAT)
Local2 = DerefOf (Index (Local0, Zero))
Local2 &= 0x1F
If (Local2)
{
Local2 += 0x10
}
Return (Local2)
}
If ((BATA == 0x02))
{
Local0 = ^^PCI0.SBRG.EC0.SMBR (^^PCI0.SBRG.EC0.RDBL, ^^PCI0.SBRG.EC0.BADR, REGS)
Name (BKUF, Buffer (0x20) {})
CreateDWordField (BKUF, Zero, DAT1)
CreateDWordField (BKUF, 0x04, DAT2)
CreateDWordField (BKUF, 0x08, DAT3)
CreateDWordField (BKUF, 0x0C, DAT4)
CreateDWordField (BKUF, 0x10, DAT5)
CreateDWordField (BKUF, 0x14, DAT6)
CreateDWordField (BKUF, 0x18, DAT7)
CreateDWordField (BKUF, 0x1C, DAT8)
BKUF = DerefOf (Index (Local0, 0x02))
BLK1 = DAT1 /* \_SB_.ATKD.ASBR.DAT1 */
BLK2 = DAT2 /* \_SB_.ATKD.ASBR.DAT2 */
BLK3 = DAT3 /* \_SB_.ATKD.ASBR.DAT3 */
BLK4 = DAT4 /* \_SB_.ATKD.ASBR.DAT4 */
BLK5 = DAT5 /* \_SB_.ATKD.ASBR.DAT5 */
BLK6 = DAT6 /* \_SB_.ATKD.ASBR.DAT6 */
BLK7 = DAT7 /* \_SB_.ATKD.ASBR.DAT7 */
BLK8 = DAT8 /* \_SB_.ATKD.ASBR.DAT8 */
BLEN = DerefOf (Index (Local0, One))
Local2 = DerefOf (Index (Local0, Zero))
Local2 &= 0x1F
If (Local2)
{
Local2 += 0x10
}
Return (Local2)
}
Return (0x10)
}
Method (ASBE, 2, Serialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F113, SystemMemory, Arg0, Arg1)
Field (F113, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BATN, 8,
BATA, 8,
REGS, 8,
BDAT, 8
}
If ((BATN > One))
{
Return (0x11)
}
If ((BATA == Zero))
{
Local2 = ^^PCI0.SBRG.EC0.RBEP (REGS)
Local3 = (Local2 & 0xFF)
BDAT = Local3
Local2 >>= 0x08
Local2 &= 0x1F
If (Local2)
{
Local2 += 0x10
}
Return (Local2)
}
If ((BATA == One))
{
Local2 = ^^PCI0.SBRG.EC0.WBEP (REGS, BDAT)
Local2 &= 0x1F
If (Local2)
{
Local2 += 0x10
}
Return (Local2)
}
Return (0x10)
}
Method (BTCR, 2, NotSerialized)
{
If ((Arg1 < 0x09))
{
Return (0x02)
}
OperationRegion (\F114, SystemMemory, Arg0, Arg1)
Field (F114, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BCDC, 8
}
SBTL (BCDC)
Return (Zero)
}
Method (MF12, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G12V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GLDI (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = LDCR (Arg0, Arg1)
}
Return (Local0)
}
Method (G12V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F120, SystemMemory, Arg0, Arg1)
Field (F120, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GLDI, 2, NotSerialized)
{
If ((Arg1 < 0x10))
{
Return (0x02)
}
OperationRegion (\F121, SystemMemory, Arg0, Arg1)
Field (F121, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
LDI0, 32,
LDI1, 32
}
Local0 = Zero
Local0 |= 0x10
Local0 |= 0x20
LDI0 = Local0
Return (Zero)
}
Method (LDCR, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F122, SystemMemory, Arg0, Arg1)
Field (F122, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
LDNM, 8,
LCRT, 8
}
If ((LDNM == 0x04))
{
WLED (LCRT)
Return (Zero)
}
Return (0x10)
}
Method (MF13, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G13V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GTSI (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = GTSV (Arg0, Arg1)
}
If ((Arg2 == 0x03))
{
Local0 = GVSN (Arg0, Arg1)
}
If ((Arg2 == 0x04))
{
Local0 = GVSV (Arg0, Arg1)
}
If ((Arg2 == 0x05))
{
Local0 = GFNN (Arg0, Arg1)
}
If ((Arg2 == 0x06))
{
Local0 = GFNS (Arg0, Arg1)
}
If ((Arg2 == 0x07))
{
Local0 = SFNS (Arg0, Arg1)
}
Return (Local0)
}
Method (G13V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F130, SystemMemory, Arg0, Arg1)
Field (F130, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GTSI, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F131, SystemMemory, Arg0, Arg1)
Field (F131, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
THRI, 32
}
Local0 = Zero
Local0 |= One
If ((CPUN >= One))
{
Local0 |= 0x0100
}
If ((CPUN >= 0x02))
{
Local0 |= 0x0200
}
If ((CPUN >= 0x03))
{
Local0 |= 0x0400
}
If ((CPUN >= 0x04))
{
Local0 |= 0x0800
}
THRI = Local0
Return (Zero)
}
Method (GTSV, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F132, SystemMemory, Arg0, Arg1)
Field (F132, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
TSNM, 8,
TSVL, 8,
TSST, 8
}
TSST = Zero
If ((TSNM == Zero))
{
TSVL = \_TZ.RTMP ()
Return (Zero)
}
If ((TSNM == 0x08))
{
BSMI (Arg0)
Return (Zero)
}
If ((TSNM == 0x09))
{
BSMI (Arg0)
Return (Zero)
}
If ((TSNM == 0x0A))
{
BSMI (Arg0)
Return (Zero)
}
If ((TSNM == 0x0B))
{
BSMI (Arg0)
Return (Zero)
}
Return (0x10)
}
Method (GVSN, 2, NotSerialized)
{
If ((Arg1 < 0x09))
{
Return (0x02)
}
OperationRegion (\F133, SystemMemory, Arg0, Arg1)
Field (F133, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
NMVS, 8
}
NMVS = Zero
Return (Zero)
}
Method (GVSV, 2, NotSerialized)
{
If ((Arg1 < 0x0B))
{
Return (0x02)
}
OperationRegion (\F134, SystemMemory, Arg0, Arg1)
Field (F134, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
VSNM, 8,
VSVL, 16
}
If ((VSNM > Zero))
{
Return (0x10)
}
Return (Zero)
}
Method (GFNN, 2, NotSerialized)
{
If ((Arg1 < 0x09))
{
Return (0x02)
}
OperationRegion (\F135, SystemMemory, Arg0, Arg1)
Field (F135, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
NMFN, 32
}
NMFN = One
Return (Zero)
}
Method (GFNS, 2, NotSerialized)
{
If ((Arg1 < 0x0D))
{
Return (0x02)
}
OperationRegion (\F136, SystemMemory, Arg0, Arg1)
Field (F136, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
FNNM, 8,
GFNS, 32
}
If (((FNNM == Zero) | (FNNM > One)))
{
Return (0x10)
}
Local0 = FNNM /* \_SB_.ATKD.GFNS.FNNM */
GFNS = \_TZ.RFAN (Local0--)
Return (Zero)
}
Method (SFNS, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F137, SystemMemory, Arg0, Arg1)
Field (F137, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
FNNB, 8,
FNSP, 8
}
If ((FNNB > One))
{
Return (0x10)
}
^^PCI0.SBRG.EC0.SFNV (FNNB, FNSP)
Return (Zero)
}
Method (MF14, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G14V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GNBT (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = GBTS (Arg0, Arg1)
}
Return (Local0)
}
Method (G14V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F140, SystemMemory, Arg0, Arg1)
Field (F140, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GNBT, 2, NotSerialized)
{
If ((Arg1 < 0x09))
{
Return (0x02)
}
OperationRegion (\F141, SystemMemory, Arg0, Arg1)
Field (F141, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
NBBT, 8
}
NBBT = 0x05
Return (Zero)
}
Method (GBTS, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F142, SystemMemory, Arg0, Arg1)
Field (F142, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BTNM, 8,
BTST, 8
}
Name (BTTB, Package (0x05)
{
Package (0x03)
{
0x0C,
Zero,
Zero
},
Package (0x03)
{
0x0D,
Zero,
Zero
},
Package (0x03)
{
0x0E,
Zero,
Zero
},
Package (0x03)
{
0x0F,
Zero,
Zero
},
Package (0x03)
{
0x15,
Zero,
Zero
}
})
If ((BTNM > 0x05))
{
Return (0x10)
}
Local0 = BTNM /* \_SB_.ATKD.GBTS.BTNM */
Local0--
Local1 = DerefOf (Index (BTTB, Local0))
If ((DerefOf (Index (Local1, One)) == Zero))
{
Local2 = ^^PCI0.SBRG.EC0.RPIN (DerefOf (Index (Local1, Zero)))
}
If ((DerefOf (Index (Local1, One)) == One))
{
Local2 = RGPL (DerefOf (Index (Local1, Zero)))
}
If ((DerefOf (Index (Local1, One)) == 0x03)) {}
If ((DerefOf (Index (Local1, 0x02)) == Local2))
{
BTST = Zero
}
Else
{
BTST = One
}
Return (Zero)
}
Method (MF15, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G15V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GLDB (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = SLDB (Arg0, Arg1)
}
If ((Arg2 == 0x03))
{
Local0 = GDPI (Arg0, Arg1)
}
If ((Arg2 == 0x04))
{
Local0 = SODP (Arg0, Arg1)
}
Return (Local0)
}
Method (G15V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F150, SystemMemory, Arg0, Arg1)
Field (F150, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GLDB, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F151, SystemMemory, Arg0, Arg1)
Field (F151, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
LCDB, 8,
MLDB, 8
}
LCDB = GPLV ()
MLDB = 0x0B
Return (Zero)
}
Method (SLDB, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F152, SystemMemory, Arg0, Arg1)
Field (F152, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
LCDL, 8,
LTPE, 8
}
If ((LTPE == Zero))
{
If ((LCDL > 0x0B))
{
Return (0x10)
}
SPLV (LCDL)
Return (Zero)
}
If ((LTPE == One))
{
^^PCI0.SBRG.EC0.SBRV (LCDL)
Return (Zero)
}
Return (0x11)
}
Method (GDPI, 2, NotSerialized)
{
If ((Arg1 < 0x10))
{
Return (0x02)
}
OperationRegion (\F153, SystemMemory, Arg0, Arg1)
Field (F153, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
ODPI, 32,
ODPC, 8
}
Local0 = Zero
Local0 |= One
Local0 |= 0x02
ODPI = Local0
BSMI (Arg0)
Return (Zero)
}
Method (SODP, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F154, SystemMemory, Arg0, Arg1)
Field (F154, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
ODPM, 32
}
Local0 = Zero
Local0 |= One
Local0 |= 0x02
Local0 &= ODPM
If ((Local0 == ODPM))
{
SDSP (ODPM)
Return (Zero)
}
Return (0x10)
}
Method (MF16, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G16V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = SFBD (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = LCMD (Arg0, Arg1)
}
Return (Local0)
}
Method (G16V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F160, SystemMemory, Arg0, Arg1)
Field (F160, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (SFBD, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F161, SystemMemory, Arg0, Arg1)
Field (F161, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
NXBD, 8
}
If (OFBD (NXBD))
{
UHDB = NXBD /* \_SB_.ATKD.SFBD.NXBD */
Return (Zero)
}
Else
{
Return (0x10)
}
}
Method (LCMD, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
BSMI (Arg0)
Return (Zero)
}
Method (MF17, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G17V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GMDL (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = GBSI (Arg0, Arg1)
}
If ((Arg2 == 0x03))
{
Local0 = GECI (Arg0, Arg1)
}
If ((Arg2 == 0x04))
{
Local0 = GFII (Arg0, Arg1)
}
Return (Local0)
}
Method (G17V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F170, SystemMemory, Arg0, Arg1)
Field (F170, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GMDL, 2, NotSerialized)
{
If ((Arg1 < 0x19))
{
Return (0x02)
}
OperationRegion (\F171, SystemMemory, Arg0, Arg1)
Field (F171, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
MLEN, 8,
MDL1, 32,
MDL2, 32,
MDL3, 32,
MDL4, 32
}
MDL1 = Zero
MDL2 = Zero
MDL3 = Zero
MDL4 = Zero
Name (BBUF, Buffer (0x10) {})
CreateDWordField (BBUF, Zero, DAT1)
CreateDWordField (BBUF, 0x04, DAT2)
CreateDWordField (BBUF, 0x08, DAT3)
CreateDWordField (BBUF, 0x0C, DAT4)
Local0 = GBMN ()
MLEN = SizeOf (Local0)
BBUF = GBMN ()
MDL1 = DAT1 /* \_SB_.ATKD.GMDL.DAT1 */
MDL2 = DAT2 /* \_SB_.ATKD.GMDL.DAT2 */
MDL3 = DAT3 /* \_SB_.ATKD.GMDL.DAT3 */
MDL4 = DAT4 /* \_SB_.ATKD.GMDL.DAT4 */
Return (Zero)
}
Method (GBSI, 2, NotSerialized)
{
If ((Arg1 < 0x19))
{
Return (0x02)
}
OperationRegion (\F172, SystemMemory, Arg0, Arg1)
Field (F172, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BLEN, 8,
BDL1, 32,
BDL2, 32,
BDL3, 32,
BDL4, 32
}
BDL1 = Zero
BDL2 = Zero
BDL3 = Zero
BDL4 = Zero
Name (BBUF, Buffer (0x10) {})
CreateDWordField (BBUF, Zero, DAT1)
CreateDWordField (BBUF, 0x04, DAT2)
CreateDWordField (BBUF, 0x08, DAT3)
CreateDWordField (BBUF, 0x0C, DAT4)
Local0 = GBRV ()
BLEN = SizeOf (Local0)
BBUF = GBRV ()
BDL1 = DAT1 /* \_SB_.ATKD.GBSI.DAT1 */
BDL2 = DAT2 /* \_SB_.ATKD.GBSI.DAT2 */
BDL3 = DAT3 /* \_SB_.ATKD.GBSI.DAT3 */
BDL4 = DAT4 /* \_SB_.ATKD.GBSI.DAT4 */
Return (Zero)
}
Method (GECI, 2, NotSerialized)
{
If ((Arg1 < 0x19))
{
Return (0x02)
}
OperationRegion (\F173, SystemMemory, Arg0, Arg1)
Field (F173, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
ELEN, 8,
EDL1, 32,
EDL2, 32,
EDL3, 32,
EDL4, 32
}
EDL1 = Zero
EDL2 = Zero
EDL3 = Zero
EDL4 = Zero
BSMI (Arg0)
Return (Zero)
}
Method (GFII, 2, NotSerialized)
{
If ((Arg1 < 0x10))
{
Return (0x02)
}
OperationRegion (\F174, SystemMemory, Arg0, Arg1)
Field (F174, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SFII, 8
}
SFII = BECF /* \_SB_.BECF */
Return (Zero)
}
Method (MF18, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G18V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = GDVI (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = GDVS (Arg0, Arg1)
}
If ((Arg2 == 0x03))
{
Local0 = SDPW (Arg0, Arg1)
}
Return (Local0)
}
Method (G18V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F180, SystemMemory, Arg0, Arg1)
Field (F180, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (GDVI, 2, NotSerialized)
{
If ((Arg1 < 0x18))
{
Return (0x02)
}
OperationRegion (\F181, SystemMemory, Arg0, Arg1)
Field (F181, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
LDI0, 32,
LDI1, 32
}
LDI0 = FEBL /* \_SB_.FEBL */
Return (Zero)
}
Method (GDVS, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F182, SystemMemory, Arg0, Arg1)
Field (F182, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
DNUM, 8,
DSTS, 8
}
Local0 = (One << DNUM) /* \_SB_.ATKD.GDVS.DNUM */
If (((Local0 & FEBL) == Zero))
{
Return (0x10)
}
Return (Zero)
}
Method (SDPW, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F183, SystemMemory, Arg0, Arg1)
Field (F183, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
DNUM, 8,
DCTR, 8
}
Local0 = (One << DNUM) /* \_SB_.ATKD.SDPW.DNUM */
If (((Local0 & FEBL) == Zero))
{
Return (0x10)
}
If ((DCTR > One))
{
Return (0x11)
}
Return (Zero)
}
Method (MF19, 3, NotSerialized)
{
Local0 = One
If ((Arg2 == Zero))
{
Local0 = G19V (Arg0, Arg1)
}
If ((Arg2 == One))
{
Local0 = ACMS (Arg0, Arg1)
}
If ((Arg2 == 0x02))
{
Local0 = CSIN (Arg0, Arg1)
}
Return (Local0)
}
Method (G19V, 2, NotSerialized)
{
If ((Arg1 < 0x0C))
{
Return (0x02)
}
OperationRegion (\F190, SystemMemory, Arg0, Arg1)
Field (F190, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SVER, 16,
MVER, 16
}
MVER = Zero
SVER = Zero
Return (Zero)
}
Method (ACMS, 2, NotSerialized)
{
BSMI (Arg0)
Return (Zero)
}
Method (CSIN, 2, NotSerialized)
{
If ((Arg1 < 0x0A))
{
Return (0x02)
}
OperationRegion (\F192, SystemMemory, Arg0, Arg1)
Field (F192, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
CMAX, 16
}
CMAX = 0xFF
Return (Zero)
}
Method (NVIN, 2, NotSerialized)
{
OperationRegion (FM1F, SystemMemory, Arg0, Arg1)
Field (FM1F, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
AM1F, 32
}
Return (ANVI (AM1F))
}
Method (BATF, 1, NotSerialized)
{
Local0 = GNBF /* \_SB_.GNBF */
OperationRegion (FMAD, SystemMemory, Local0, 0x10)
Field (FMAD, DWordAcc, NoLock, Preserve)
{
MFUN, 16,
SFUN, 16,
LEN, 16,
SM1X, 8,
EM1X, 8,
BATE, 8,
Offset (0x10)
}
MFUN = 0x1F
SFUN = 0x14
LEN = 0x10
If (Arg0)
{
BATE = One
}
Else
{
BATE = Zero
}
EM1X = Zero
SM1X = One
MF1X (Local0, LEN, MFUN, SFUN)
}
Method (MF1F, 3, NotSerialized)
{
If ((Arg2 == 0x11))
{
Return (NVIN (Arg0, Arg1))
}
BSMI (Arg0)
Return (Zero)
}
}
Scope (_SB.ATKD)
{
Method (OFBD, 1, NotSerialized)
{
Name (FBDT, Package (0x52)
{
0x88,
0x89,
0x8A,
0x8B,
0x8C,
0x8D,
0x8E,
0x8F,
0x70,
0x71,
0x72,
0x73,
0x74,
0x75,
0x76,
0x77,
0x78,
0x79,
0x7A,
0x7B,
0x7C,
0x7D,
0x7E,
0x7F,
0x60,
0x61,
0x62,
0x63,
0x64,
0x65,
0x66,
0x67,
0x91,
0x92,
0x93,
0x96,
0xE0,
0xE1,
0xE2,
0xE3,
0xE4,
0xE5,
0xE6,
0xE7,
0xE8,
0xE9,
0xEA,
0xEB,
0xEC,
0xED,
0xEE,
0xEF,
0xD0,
0xD1,
0xD2,
0xD3,
0xD4,
0xD5,
0xD6,
0xD7,
0xD8,
0xD9,
0xDA,
0xDB,
0xDC,
0xDD,
0xDE,
0xDF,
0xC0,
0xC1,
0xC2,
0xC3,
0xC4,
0xC5,
0xC6,
0xC7,
0xF1,
0xF2,
0xF3,
0xF6,
0xF7,
0xFA
})
Local0 = Match (FBDT, MEQ, Arg0, MTR, Zero, Zero)
Local0++
Return (Local0)
}
Method (GBRV, 0, NotSerialized)
{
Local0 = "W05"
Return (Local0)
}
Method (GBMN, 0, NotSerialized)
{
Local0 = "X555DG"
Return (Local0)
}
Method (OGDP, 1, NotSerialized)
{
Local0 = Arg0
Local1 = 0x02
Return (Local1)
}
Method (RSID, 0, NotSerialized)
{
Return (Zero)
}
Method (OSDP, 2, NotSerialized)
{
Local0 = Arg0
Local1 = Arg1
}
Method (MF42, 3, NotSerialized)
{
OperationRegion (FM42, SystemMemory, Arg0, 0x08)
Field (FM42, DWordAcc, NoLock, Preserve)
{
Offset (0x06),
SM42, 8,
EM42, 8
}
Local0 = One
If ((Arg1 == One))
{
Local0 = SFBO (Arg0, Arg2)
}
If ((Arg1 == 0x02))
{
Local0 = SAOC (Arg0, Arg2)
}
If ((Arg1 == 0x03))
{
Local0 = GBST (Arg0, Arg2)
}
If (Local0)
{
EM42 = Local0
SM42 |= 0x02
}
SM42 |= 0x80
Return (Zero)
}
Method (SFBO, 2, NotSerialized)
{
OperationRegion (\F421, SystemMemory, Arg0, Arg1)
Field (F421, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
SOPT, 8
}
Return (Zero)
}
Method (SAOC, 2, NotSerialized)
{
OperationRegion (\F422, SystemMemory, Arg0, Arg1)
Field (F422, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
CNTF, 8
}
Return (Zero)
}
Method (GBST, 2, NotSerialized)
{
OperationRegion (\F423, SystemMemory, Arg0, Arg1)
Field (F423, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
BOT1, 64,
BOT2, 64
}
BOT1 = TBOT /* \_SB_.TBOT */
Local0 = RTC3 /* \_SB_.RTC3 */
Local0 <<= 0x08
Local0 += RTC2
Local0 <<= 0x08
Local0 += RTC1
BOT2 = Local0
Return (Zero)
}
}
Scope (_SB.PCI0.SBRG.EC0)
{
OperationRegion (ECID, SystemIO, 0x0257, One)
Field (ECID, ByteAcc, NoLock, Preserve)
{
EC4D, 8
}
OperationRegion (ECIC, SystemIO, 0x0258, One)
Field (ECIC, ByteAcc, NoLock, Preserve)
{
EC4C, 8
}
OperationRegion (ECAD, SystemMemory, GNBF, 0x10)
Field (ECAD, DWordAcc, NoLock, Preserve)
{
MFUN, 16,
SFUN, 16,
LEN, 16,
STAS, 8,
EROR, 8,
CMD, 8,
EDA1, 8,
EDA2, 8,
EDA3, 8,
EDA4, 8,
EDA5, 8,
Offset (0x10)
}
Method (WEIE, 0, Serialized)
{
EDA1 = One
ECAC ()
If ((EDA1 == 0xFF))
{
Return (Ones)
}
Return (Zero)
}
Method (WEOF, 0, Serialized)
{
EDA1 = 0x02
ECAC ()
If ((EDA1 == 0xFF))
{
Return (Ones)
}
Return (Zero)
}
Method (WEOE, 0, NotSerialized)
{
EDA1 = 0x03
ECAC ()
If ((EDA1 == 0xFF))
{
Return (Ones)
}
Return (Zero)
}
Method (ST83, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x83
EDA2 = Arg0
ECAC ()
Release (MU4T)
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Ones)
}
Method (ST84, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x84
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (ST85, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x85
EDA2 = Arg0
ECAC ()
Release (MU4T)
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Ones)
}
Method (ST86, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x86
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (ST87, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x87
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
If ((Arg0 == Zero))
{
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Zero)
}
Return (Ones)
}
Method (ST8E, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x8E
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Ones)
}
Method (ST95, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x95
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
If ((Arg0 == Zero))
{
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Zero)
}
Return (Ones)
}
Method (ST98, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x98
EDA2 = Arg0
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (ST9E, 3, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x9E
EDA2 = Arg0
EDA3 = Arg1
EDA4 = Arg2
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (STA8, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0xA8
EDA2 = Arg0
ECAC ()
Release (MU4T)
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Ones)
}
Method (ST9F, 3, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0x9F
EDA2 = Arg0
EDA3 = Arg1
EDA4 = Arg2
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (STA9, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0xA9
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (STB0, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
If ((WEOE () != Zero))
{
Release (MU4T)
Return (Ones)
}
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
EC4C = 0xB0
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
EC4D = Arg0
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (STB1, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
If ((WEOE () != Zero))
{
Release (MU4T)
Return (Ones)
}
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
EC4C = 0xB1
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
EC4D = Arg0
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (STB2, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
If ((WEOE () != Zero))
{
Release (MU4T)
Return (Ones)
}
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
EC4C = 0xB2
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
EC4D = Arg0
If ((WEIE () != Zero))
{
Release (MU4T)
Return (Ones)
}
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (GBTT, 1, Serialized)
{
If ((Arg0 == Zero))
{
Local0 = EB0T /* \_SB_.PCI0.SBRG.EC0_.EB0T */
}
Else
{
Local0 = EB1T /* \_SB_.PCI0.SBRG.EC0_.EB1T */
}
Return (Local0)
}
Method (WCMD, 1, Serialized)
{
If (ECAV ())
{
Acquire (MUEC, 0xFFFF)
CMD1 = Arg0
Release (MUEC)
}
}
Method (DLY0, 1, Serialized)
{
If (!ECAV ())
{
Return (Ones)
}
Local0 = Ones
Acquire (MUEC, 0xFFFF)
CDT1 = Arg0
CDT2 = 0x6B
CDT3 = Zero
CMD1 = 0xBB
Local1 = 0x7F
While ((Local1 && CMD1))
{
Sleep (One)
Local1--
}
If ((CMD1 == Zero))
{
Local0 = CDT1 /* \_SB_.PCI0.SBRG.EC0_.CDT1 */
}
Release (MUEC)
Return (Local0)
}
Method (RRAM, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
Local0 = Arg0
Local1 = (Local0 & 0xFF)
Local0 >>= 0x08
Local0 &= 0xFF
CMD = 0xFF
EDA1 = 0x80
EDA2 = Local0
EDA3 = Local1
ECAC ()
Release (MU4T)
Return (EDA1) /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
}
Return (Ones)
}
Method (WRAM, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
Local0 = Arg0
Local1 = (Local0 & 0xFF)
Local0 >>= 0x08
Local0 &= 0xFF
CMD = 0xFF
EDA1 = 0x81
EDA2 = Local0
EDA3 = Local1
EDA4 = Arg1
ECAC ()
Release (MU4T)
Return (One)
}
Return (Ones)
}
Method (STBR, 0, Serialized)
{
Local0 = Zero
Local1 = Zero
Local2 = Zero
If ((VGAV & One))
{
Local0 = One
}
If (Local0)
{
Local2 = One
}
If (Local1)
{
ISMI (0x9A)
}
Else
{
If ((Local2 == One))
{
If ((MSOS () != OSEG))
{
ISMI (0x9A)
}
Else
{
ISMI (0x9A)
}
}
Else
{
If ((Local2 == Zero))
{
ECCB ()
}
Else
{
If ((Local2 == 0x02))
{
ISMI (0x9A)
}
Else
{
}
}
}
}
}
Method (ECCB, 0, Serialized)
{
If ((ACAP () || (MSOS () == OSVT)))
{
Local0 = LBTN /* \_SB_.LBTN */
}
Else
{
Local0 = LBT2 /* \_SB_.LBT2 */
}
Local1 = BRTI /* \_SB_.BRTI */
Local1 <<= 0x04
Local1 += Local0
Local0 = DerefOf (Index (PWAC, Local1))
SADC (Local0)
}
Method (SBRV, 1, Serialized)
{
ST86 (Zero, Arg0)
}
Name (DECF, Zero)
Method (SFNV, 2, Serialized)
{
If ((Arg0 == Zero))
{
If ((DECF & One))
{
Local0 = RRAM (0x0521)
Local0 |= 0x80
WRAM (0x0521, Local0)
}
If ((DECF & 0x02))
{
Local0 = RRAM (0x0522)
Local0 |= 0x80
WRAM (0x0522, Local0)
}
DECF = Zero
Return (Zero)
}
If ((Arg0 == One))
{
Local0 = RRAM (0x0521)
Local0 &= 0x7F
WRAM (0x0521, Local0)
DECF |= One
ST84 (Zero, Arg1)
Return (Zero)
}
If ((Arg0 == 0x02))
{
Local0 = RRAM (0x0522)
Local0 &= 0x7F
WRAM (0x0522, Local0)
DECF |= 0x02
ST84 (One, Arg1)
Return (Zero)
}
Return (Zero)
}
Method (SADC, 1, Serialized)
{
Return (ST86 (Zero, Arg0))
}
Method (SPIN, 2, Serialized)
{
If (Arg1)
{
ST87 (0x20, Arg0)
}
Else
{
ST87 (0x40, Arg0)
}
Return (One)
}
Method (RPIN, 1, Serialized)
{
Local1 = ST87 (Zero, Arg0)
Return (Local1)
}
Method (RBAT, 2, Serialized)
{
If (!ECAV ())
{
Return (Ones)
}
Acquire (MUEC, 0xFFFF)
Local0 = 0x03
While (Local0)
{
CDT2 = Arg0
Local1 = Arg1
Local1 <<= One
Local1 += 0xDA
CMD1 = Local1
Local1 = 0x7F
While ((CMD1 && Local1))
{
Local1--
Sleep (One)
}
If ((CMD1 == Zero))
{
Local1 = CDT1 /* \_SB_.PCI0.SBRG.EC0_.CDT1 */
Local0 = Zero
}
Else
{
Local1 = Ones
Local0--
}
}
Release (MUEC)
Return (Local1)
Return (Ones)
}
Method (WBAT, 3, Serialized)
{
Local3 = (Arg0 | 0x80)
If (!ECAV ())
{
Return (Ones)
}
Acquire (MUEC, 0xFFFF)
Local0 = 0x03
While (Local0)
{
CDT1 = Arg2
CDT2 = Local3
Local1 = Arg1
Local1 <<= One
Local1 += 0xDA
CMD1 = Local1
Local1 = 0x7F
While ((CMD1 && Local1))
{
Local1--
Sleep (One)
}
}
Release (MUEC)
Return (Local1)
Return (Ones)
}
Method (FNCT, 2, Serialized)
{
If (ECAV ())
{
Acquire (MUEC, 0xFFFF)
CDT2 = Arg0
CDT1 = Arg1
CMD1 = 0xC4
Local0 = 0x7F
While ((Local0 && CMD1))
{
Sleep (One)
Local0--
}
Release (MUEC)
}
}
Name (WRQK, 0x02)
Name (RDQK, 0x03)
Name (SDBT, 0x04)
Name (RCBT, 0x05)
Name (WRBT, 0x06)
Name (RDBT, 0x07)
Name (WRWD, 0x08)
Name (RDWD, 0x09)
Name (WRBL, 0x0A)
Name (RDBL, 0x0B)
Name (PCLL, 0x0C)
Name (GOOD, Zero)
Name (UKER, 0x07)
Name (DAER, 0x10)
Name (CMDN, 0x12)
Name (UKE2, 0x13)
Name (DADN, 0x17)
Name (SBTO, 0x18)
Name (USPT, 0x19)
Name (SBBY, 0x1A)
Method (SWTC, 1, Serialized)
{
Local0 = UKER /* \_SB_.PCI0.SBRG.EC0_.UKER */
Local1 = 0x03
While ((Local0 && Local1))
{
Local2 = 0x23
While (Local2)
{
If (PRTC)
{
Sleep (One)
Local2--
}
Else
{
Local2 = Zero
Local0 = SSTS /* \_SB_.PCI0.SBRG.EC0_.SSTS */
}
}
If (Local0)
{
PRTC = Zero
Local1--
If (Local1)
{
Sleep (One)
PRTC = Arg0
}
}
}
Return (Local0)
}
Method (SMBR, 3, Serialized)
{
Local0 = Package (0x03)
{
0x07,
Zero,
Zero
}
If (!ECAV ())
{
Return (Local0)
}
If ((Arg0 != RDBL))
{
If ((Arg0 != RDWD))
{
If ((Arg0 != RDBT))
{
If ((Arg0 != RCBT))
{
If ((Arg0 != RDQK))
{
Return (Local0)
}
}
}
}
}
Acquire (MUEC, 0xFFFF)
Local1 = PRTC /* \_SB_.PCI0.SBRG.EC0_.PRTC */
Local2 = Zero
While ((Local1 != Zero))
{
Stall (0x0A)
Local2++
If ((Local2 > 0x03E8))
{
Index (Local0, Zero) = SBBY /* \_SB_.PCI0.SBRG.EC0_.SBBY */
Local1 = Zero
}
Else
{
Local1 = PRTC /* \_SB_.PCI0.SBRG.EC0_.PRTC */
}
}
If ((Local2 <= 0x03E8))
{
Local3 = (Arg1 << One)
Local3 |= One
ADDR = Local3
If ((Arg0 != RDQK))
{
If ((Arg0 != RCBT))
{
CMDB = Arg2
}
}
BDAT = Zero
PRTC = Arg0
Index (Local0, Zero) = SWTC (Arg0)
If ((DerefOf (Index (Local0, Zero)) == Zero))
{
If ((Arg0 == RDBL))
{
Index (Local0, One) = BCNT /* \_SB_.PCI0.SBRG.EC0_.BCNT */
Index (Local0, 0x02) = BDAT /* \_SB_.PCI0.SBRG.EC0_.BDAT */
}
If ((Arg0 == RDWD))
{
Index (Local0, One) = 0x02
Index (Local0, 0x02) = DT2B /* \_SB_.PCI0.SBRG.EC0_.DT2B */
}
If ((Arg0 == RDBT))
{
Index (Local0, One) = One
Index (Local0, 0x02) = DAT0 /* \_SB_.PCI0.SBRG.EC0_.DAT0 */
}
If ((Arg0 == RCBT))
{
Index (Local0, One) = One
Index (Local0, 0x02) = DAT0 /* \_SB_.PCI0.SBRG.EC0_.DAT0 */
}
}
}
Release (MUEC)
Return (Local0)
}
Method (SMBW, 5, Serialized)
{
Local0 = Package (0x01)
{
0x07
}
If (!ECAV ())
{
Return (Local0)
}
If ((Arg0 != WRBL))
{
If ((Arg0 != WRWD))
{
If ((Arg0 != WRBT))
{
If ((Arg0 != SDBT))
{
If ((Arg0 != WRQK))
{
Return (Local0)
}
}
}
}
}
Acquire (MUEC, 0xFFFF)
Local1 = PRTC /* \_SB_.PCI0.SBRG.EC0_.PRTC */
Local2 = Zero
While ((Local1 != Zero))
{
Stall (0x0A)
Local2++
If ((Local2 > 0x03E8))
{
Index (Local0, Zero) = SBBY /* \_SB_.PCI0.SBRG.EC0_.SBBY */
Local1 = Zero
}
Else
{
Local1 = PRTC /* \_SB_.PCI0.SBRG.EC0_.PRTC */
}
}
If ((Local2 <= 0x03E8))
{
BDAT = Zero
Local3 = (Arg1 << One)
ADDR = Local3
If ((Arg0 != WRQK))
{
If ((Arg0 != SDBT))
{
CMDB = Arg2
}
}
If ((Arg0 == WRBL))
{
BCNT = Arg3
BDAT = Arg4
}
If ((Arg0 == WRWD))
{
DT2B = Arg4
}
If ((Arg0 == WRBT))
{
DAT0 = Arg4
}
If ((Arg0 == SDBT))
{
DAT0 = Arg4
}
PRTC = Arg0
Index (Local0, Zero) = SWTC (Arg0)
}
Release (MUEC)
Return (Local0)
}
Mutex (MUEP, 0x00)
Method (RBEP, 1, NotSerialized)
{
Local1 = 0xFFFF
Acquire (MUEP, 0xFFFF)
Local3 = RRAM (0x0620)
Local4 = (Local3 & 0x7F)
WRAM (0x0620, Local4)
Local2 = 0x10
Local1 = 0x10
While (((Local1 == 0x10) & (Local2 != Zero)))
{
SMBW (WRWD, BADR, Zero, 0x02, 0x0635)
SMBW (WRWD, BADR, Zero, 0x02, 0x0606)
Local0 = SMBR (RDBT, 0x50, Arg0)
Local1 = DerefOf (Index (Local0, Zero))
Local2--
}
WRAM (0x0620, Local3)
Local1 <<= 0x08
Local1 |= DerefOf (Index (Local0, 0x02))
Release (MUEP)
Return (Local1)
}
Method (WBEP, 2, NotSerialized)
{
Local1 = 0xFFFF
Acquire (MUEP, 0xFFFF)
Local3 = RRAM (0x0620)
Local4 = (Local3 & 0x7F)
WRAM (0x0620, Local4)
Local2 = 0x10
Local1 = 0x10
While (((Local1 == 0x10) & (Local2 != Zero)))
{
SMBW (WRWD, BADR, Zero, 0x02, 0x0635)
SMBW (WRWD, BADR, Zero, 0x02, 0x0606)
Local0 = SMBW (WRBT, 0x50, Arg0, One, Arg1)
Local1 = DerefOf (Index (Local0, Zero))
Local2--
}
WRAM (0x0620, Local3)
Release (MUEP)
Return (Local1)
}
Method (ECXT, 6, NotSerialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
Local0 = Package (0x06)
{
0x10,
Zero,
Zero,
Zero,
Zero,
Zero
}
CMD = Arg0
EDA1 = Arg1
EDA2 = Arg2
EDA3 = Arg3
EDA4 = Arg4
EDA5 = Arg5
ECAC ()
Index (Local0, Zero) = CMD /* \_SB_.PCI0.SBRG.EC0_.CMD_ */
Index (Local0, One) = EDA1 /* \_SB_.PCI0.SBRG.EC0_.EDA1 */
Index (Local0, 0x02) = EDA2 /* \_SB_.PCI0.SBRG.EC0_.EDA2 */
Index (Local0, 0x03) = EDA3 /* \_SB_.PCI0.SBRG.EC0_.EDA3 */
Index (Local0, 0x04) = EDA4 /* \_SB_.PCI0.SBRG.EC0_.EDA4 */
Index (Local0, 0x05) = EDA5 /* \_SB_.PCI0.SBRG.EC0_.EDA5 */
Release (MU4T)
Return (Local0)
}
}
Method (ECSB, 7, NotSerialized)
{
Local1 = Package (0x05)
{
0x11,
Zero,
Zero,
Zero,
Buffer (0x20) {}
}
If ((Arg0 > One))
{
Return (Local1)
}
If (ECAV ())
{
Acquire (MUEC, 0xFFFF)
If ((Arg0 == Zero))
{
Local0 = PRTC /* \_SB_.PCI0.SBRG.EC0_.PRTC */
}
Else
{
Local0 = PRT2 /* \_SB_.PCI0.SBRG.EC0_.PRT2 */
}
Local2 = Zero
While ((Local0 != Zero))
{
Stall (0x0A)
Local2++
If ((Local2 > 0x03E8))
{
Index (Local1, Zero) = SBBY /* \_SB_.PCI0.SBRG.EC0_.SBBY */
Local0 = Zero
}
Else
{
If ((Arg0 == Zero))
{
Local0 = PRTC /* \_SB_.PCI0.SBRG.EC0_.PRTC */
}
Else
{
Local0 = PRT2 /* \_SB_.PCI0.SBRG.EC0_.PRT2 */
}
}
}
If ((Local2 <= 0x03E8))
{
If ((Arg0 == Zero))
{
ADDR = Arg2
CMDB = Arg3
If (((Arg1 == 0x0A) || (Arg1 == 0x0B)))
{
BCNT = DerefOf (Index (Arg6, Zero))
BDAT = DerefOf (Index (Arg6, One))
}
Else
{
DAT0 = Arg4
DAT1 = Arg5
}
PRTC = Arg1
}
Else
{
ADD2 = Arg2
CMD2 = Arg3
If (((Arg1 == 0x0A) || (Arg1 == 0x0B)))
{
BCN2 = DerefOf (Index (Arg6, Zero))
BDA2 = DerefOf (Index (Arg6, One))
}
Else
{
DA20 = Arg4
DA21 = Arg5
}
PRT2 = Arg1
}
Local0 = 0x7F
If ((Arg0 == Zero))
{
While (PRTC)
{
Sleep (One)
Local0--
}
}
Else
{
While (PRT2)
{
Sleep (One)
Local0--
}
}
If (Local0)
{
If ((Arg0 == Zero))
{
Local0 = SSTS /* \_SB_.PCI0.SBRG.EC0_.SSTS */
Index (Local1, One) = DAT0 /* \_SB_.PCI0.SBRG.EC0_.DAT0 */
Index (Local1, 0x02) = DAT1 /* \_SB_.PCI0.SBRG.EC0_.DAT1 */
Index (Local1, 0x03) = BCNT /* \_SB_.PCI0.SBRG.EC0_.BCNT */
Index (Local1, 0x04) = BDAT /* \_SB_.PCI0.SBRG.EC0_.BDAT */
}
Else
{
Local0 = SST2 /* \_SB_.PCI0.SBRG.EC0_.SST2 */
Index (Local1, One) = DA20 /* \_SB_.PCI0.SBRG.EC0_.DA20 */
Index (Local1, 0x02) = DA21 /* \_SB_.PCI0.SBRG.EC0_.DA21 */
Index (Local1, 0x03) = BCN2 /* \_SB_.PCI0.SBRG.EC0_.BCN2 */
Index (Local1, 0x04) = BDA2 /* \_SB_.PCI0.SBRG.EC0_.BDA2 */
}
Local0 &= 0x1F
If (Local0)
{
Local0 += 0x10
}
Index (Local1, Zero) = Local0
}
Else
{
Index (Local1, Zero) = 0x10
}
}
Release (MUEC)
}
Return (Local1)
}
Method (TPSW, 1, NotSerialized)
{
Local0 = (Arg0 & One)
If (Local0)
{
ECXT (0xB6, 0xB8, One, One, Zero, Zero)
}
Else
{
ECXT (0xB6, 0xB8, One, 0x02, Zero, Zero)
}
}
Method (TPST, 0, NotSerialized)
{
Local0 = ECXT (0xB6, 0xB8, 0x02, Zero, Zero, Zero)
Local1 = DerefOf (Index (Local0, One))
If ((Local1 == Zero))
{
Return (One)
}
Else
{
Return (Zero)
}
}
Method (LBSW, 1, NotSerialized)
{
If ((Arg0 == One))
{
ECXT (0xB6, 0xB9, One, Zero, Zero, Zero)
}
Else
{
ECXT (0xB6, 0xB9, 0x02, Zero, Zero, Zero)
}
}
Method (LBST, 0, NotSerialized)
{
Local0 = RRAM (0x044A)
Local0 &= 0x03
Return (Local0)
}
Method (ECAC, 0, NotSerialized)
{
BIPA = GNBF /* \_SB_.GNBF */
MFUN = 0x30
SFUN = One
LEN = 0x10
EROR = Zero
STAS = One
ISMI (0xA1)
}
Method (CSEE, 1, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = Arg0
EDA1 = Arg0
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
Method (SCTF, 2, Serialized)
{
If (ECAV ())
{
Acquire (MU4T, 0xFFFF)
CMD = 0xFF
EDA1 = 0xB3
EDA2 = Arg0
EDA3 = Arg1
ECAC ()
Release (MU4T)
Return (Zero)
}
Return (Ones)
}
}
Scope (\)
{
Name (TSP, 0x0A)
Name (TC1, 0x02)
Name (TC2, 0x0A)
}
Scope (_TZ)
{
Method (KELV, 1, NotSerialized)
{
Local0 = (Arg0 & 0xFF)
If ((Local0 >= 0x80))
{
Local0 = (0x0100 - Local0)
Local0 *= 0x0A
Local0 = (0x0AAC - Local0)
Return (Local0)
}
Local0 *= 0x0A
Local0 += 0x0AAC
Return (Local0)
}
Method (CELC, 1, NotSerialized)
{
Local0 = (Arg0 - 0x0AAC)
Divide (Local0, 0x0A, Local1, Local0)
Return (Local0)
}
Name (PLCY, Zero)
ThermalZone (THRM)
{
Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature
{
RCRT ()
Return (KELV (\_SB.TCRT))
}
Method (_TMP, 0, NotSerialized) // _TMP: Temperature
{
Local1 = 0x05
While (Local1)
{
Local0 = RTMP ()
If ((Local0 > \_SB.TCRT))
{
Local1--
}
Else
{
Local1 = Zero
}
}
Return (KELV (Local0))
}
Name (_PSL, Package (0x04) // _PSL: Passive List
{
\_PR.P000,
\_PR.P001,
\_PR.P002,
\_PR.P003
})
Method (_TSP, 0, NotSerialized) // _TSP: Thermal Sampling Period
{
Local0 = (TSP * 0x0A)
Return (Local0)
}
Method (_TC1, 0, NotSerialized) // _TC1: Thermal Constant 1
{
Return (TC1) /* \TC1_ */
}
Method (_TC2, 0, NotSerialized) // _TC2: Thermal Constant 2
{
Return (TC2) /* \TC2_ */
}
Method (_PSV, 0, NotSerialized) // _PSV: Passive Temperature
{
RPSV ()
If (PLCY)
{
Return (KELV (\_SB.PPSV))
}
Else
{
Return (KELV (\_SB.TPSV))
}
}
Method (_SCP, 1, NotSerialized) // _SCP: Set Cooling Policy
{
PLCY = Zero
Notify (THRM, 0x81) // Thermal Trip Point Change
}
}
}
Scope (_TZ)
{
Name (ATMP, 0x3C)
Name (LTMP, 0x3C)
Name (FANS, Zero)
Method (RTMP, 0, NotSerialized)
{
If (\_SB.PCI0.SBRG.EC0.ECAV ())
{
Local0 = \_SB.PCI0.SBRG.EC0.ECPU
If ((Local0 < 0x80))
{
LTMP = Local0
}
}
Return (LTMP) /* \_TZ_.LTMP */
}
Method (RCRT, 0, NotSerialized)
{
If (\_SB.PCI0.SBRG.EC0.ECAV ())
{
Local0 = \_SB.PCI0.SBRG.EC0.ECRT
If ((Local0 < 0x80))
{
\_SB.TCRT = Local0
}
}
}
Method (RPSV, 0, NotSerialized)
{
If (\_SB.PCI0.SBRG.EC0.ECAV ())
{
Local0 = \_SB.PCI0.SBRG.EC0.EPSV
If ((Local0 < 0x80))
{
\_SB.TPSV = Local0
}
}
}
Method (RFAN, 1, NotSerialized)
{
If (\_SB.PCI0.SBRG.EC0.ECAV ())
{
Local0 = \_SB.PCI0.SBRG.EC0.ST83 (Arg0)
If ((Local0 == 0xFF))
{
Return (Local0)
}
Local0 = \_SB.PCI0.SBRG.EC0.TACH (Arg0)
Divide (Local0, 0x64, Local1, Local0)
Local0 += One
If ((Local0 <= 0x3C))
{
FANS = Local0
}
Else
{
Local0 = FANS /* \_TZ_.FANS */
}
}
Else
{
Local0 = Zero
}
Return (Local0)
}
Method (RFSE, 0, NotSerialized)
{
If (\_SB.PCI0.SBRG.EC0.ECAV ())
{
Local1 = \_SB.PCI0.SBRG.EC0.ST83 (Zero)
If ((Local1 < 0x80))
{
If ((Local1 < 0x0A))
{
Local0 = Zero
}
Else
{
Local0 = One
}
}
Else
{
If ((Local1 < 0xF5))
{
Local0 = 0x02
}
Else
{
Local0 = 0x03
}
}
}
Else
{
Local0 = Zero
}
Return (Local0)
}
Method (TCHG, 0, NotSerialized)
{
}
Method (THDL, 0, NotSerialized)
{
}
Method (TMSS, 1, NotSerialized)
{
}
Method (TMSW, 1, NotSerialized)
{
}
}
Scope (_SB.PCI0.SBRG.EC0)
{
Name (PWAC, Buffer (0x40)
{
/* 0000 */ 0x33, 0x40, 0x4D, 0x5A, 0x67, 0x73, 0x80, 0x8D, /* 3@MZgs.. */
/* 0008 */ 0xA7, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */
/* 0010 */ 0x21, 0x2E, 0x3B, 0x48, 0x55, 0x61, 0x6E, 0x7B, /* !.;HUan{ */
/* 0018 */ 0x9A, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */
/* 0020 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */
/* 0028 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */
/* 0030 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */
/* 0038 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF /* ........ */
})
Name (F8FG, Zero)
Name (BLCT, Zero)
Method (ACPS, 0, Serialized)
{
Return ((GPWS () & One))
}
Method (DCPS, 1, Serialized)
{
Local0 = GPWS ()
If (Arg0)
{
Local0 &= 0x04
}
Else
{
Local0 &= 0x02
}
If (Local0)
{
Local0 = One
}
Else
{
Local0 = Zero
}
Return (Local0)
}
Method (GPWS, 0, Serialized)
{
Local0 = EPWS /* \_SB_.PCI0.SBRG.EC0_.EPWS */
Return (Local0)
}
Method (BCHG, 1, Serialized)
{
If (Arg0)
{
Local0 = EB1S /* \_SB_.PCI0.SBRG.EC0_.EB1S */
Local0 &= 0xFF
If ((Local0 != 0xFF))
{
Local0 &= 0x02
}
Else
{
Local0 = Zero
}
Return (Local0)
}
Else
{
Local0 = EB0S /* \_SB_.PCI0.SBRG.EC0_.EB0S */
Local0 &= 0xFF
If ((Local0 != 0xFF))
{
Local0 &= 0x02
}
Else
{
Local0 = Zero
}
Return (Local0)
}
}
Method (BCLE, 1, Serialized)
{
If (Arg0)
{
If (ECAV ())
{
Local0 = Ones
Local1 = EB1S /* \_SB_.PCI0.SBRG.EC0_.EB1S */
Local1 &= 0xFFFF
If ((Local1 != 0xFFFF))
{
Local1 &= 0x16
If ((Local1 == 0x04))
{
Local0 = Zero
}
Else
{
If ((Local1 == 0x02))
{
Local0 = One
}
Else
{
If ((Local1 == 0x10))
{
Local0 = One
}
}
}
}
}
Else
{
Local0 = Ones
}
Return (Local0)
}
Else
{
If (ECAV ())
{
Local0 = Ones
Local1 = EB0S /* \_SB_.PCI0.SBRG.EC0_.EB0S */
Local1 &= 0xFFFF
If ((Local1 != 0xFFFF))
{
Local1 &= 0x16
If ((Local1 == 0x04))
{
Local0 = Zero
}
Else
{
If ((Local1 == 0x02))
{
Local0 = One
}
Else
{
If ((Local1 == 0x10))
{
Local0 = One
}
}
}
}
}
Else
{
Local0 = Ones
}
Return (Local0)
}
}
Method (CHBT, 1, Serialized)
{
If (ECAV ())
{
Local1 = GBTT (Arg0)
If ((Local1 == 0xFF))
{
Local0 = Zero
}
Else
{
Local0 = (Local1 & 0x10)
If (Local0)
{
Local0 = One
}
}
}
Else
{
Local0 = DCTP /* \_SB_.DCTP */
}
Return (Local0)
}
Method (RTAH, 1, NotSerialized)
{
If ((Arg0 == Zero))
{
Local2 = Acquire (CMUT, 0x00C8)
If ((Local2 == Zero))
{
CRAH = 0x09
Local0 = THH0 /* \_SB_.PCI0.SBRG.EC0_.THH0 */
Local0 <<= 0x08
Local1 = THL0 /* \_SB_.PCI0.SBRG.EC0_.THL0 */
Local0 |= Local1
Release (CMUT)
}
}
Else
{
If ((Arg0 == One))
{
Local2 = Acquire (CMUT, 0x00C8)
If ((Local2 == Zero))
{
CRAH = 0x09
Local0 = THH1 /* \_SB_.PCI0.SBRG.EC0_.THH1 */
Local0 <<= 0x08
Local1 = THL1 /* \_SB_.PCI0.SBRG.EC0_.THL1 */
Local0 |= Local1
Release (CMUT)
}
}
Else
{
Local0 = 0xFFFF
}
}
Return (Local0)
}
Method (TACH, 1, Serialized)
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If (ECAV ())
{
While (One)
{
_T_0 = Arg0
If ((_T_0 == Zero))
{
Local0 = RTAH (Zero)
Break
}
Else
{
If ((_T_0 == One))
{
Local0 = RTAH (One)
Break
}
Else
{
Return (Ones)
}
}
Break
}
Local0 *= 0x02
If ((Local0 != Zero))
{
Divide (0x0041CDB4, Local0, Local1, Local0)
Return (Local0)
}
Else
{
Return (Ones)
}
}
Else
{
Return (Ones)
}
}
Name (HKFG, Zero)
Method (EC0S, 1, NotSerialized)
{
If ((Arg0 == 0x03)) {}
If (((Arg0 == 0x03) || (Arg0 == 0x04))) {}
If ((Arg0 == 0x05)) {}
If ((Arg0 > 0x04)) {}
HKFG = HKEN /* \_SB_.PCI0.SBRG.EC0_.HKEN */
}
Method (EC0W, 1, NotSerialized)
{
If ((Arg0 == 0x03)) {}
If ((Arg0 <= 0x04))
{
DCPF = DCPS (Zero)
Local0 = ACPS ()
If ((Local0 != ACPF))
{
ACPF = ACPS ()
}
}
If (((Arg0 == 0x03) || (Arg0 == 0x04))) {}
If ((Arg0 == 0x05)) {}
HKEN = HKFG /* \_SB_.PCI0.SBRG.EC0_.HKFG */
If ((WOLO & One))
{
Local0 = 0x0580
Local0 += Zero
Local1 = RRAM (Local0)
Local1 |= 0x05
WRAM (Local0, Local1)
}
If ((DSYN & One))
{
ST9F (0x2B, 0x20, 0x20)
}
}
Name (FHKM, One)
Method (FHKW, 0, Serialized)
{
While (!FHKM)
{
Sleep (0x0A)
}
FHKM = Zero
}
Method (FHKS, 0, Serialized)
{
FHKM = One
}
Method (_Q01, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x52)
}
}
Method (_Q02, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x53)
}
}
Method (_Q03, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x54)
}
}
Method (_Q04, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x55)
}
}
Method (_Q05, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x56)
}
}
Method (_Q0A, 0, NotSerialized) // _Qxx: EC Query
{
Notify (SLPB, 0x80) // Status Change
}
Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query
{
If ((MSOS () >= OSW8))
{
Notify (ASHS, 0x88) // Device-Specific
}
Else
{
If ((^^^^ATKD.WAPF & 0x04))
{
If (ATKP)
{
^^^^ATKD.IANE (0x88)
}
}
Else
{
Local0 = OHWR ()
If ((Local0 & 0x02))
{
If ((Local0 & One))
{
Local0 = One
}
Else
{
Local0 = Zero
}
}
Else
{
Local0 = One
}
If (Local0)
{
If ((^^^^ATKD.WAPF & One))
{
If ((WLDP && BTDP))
{
Local0 = WRST /* \_SB_.WRST */
Local0 |= (BRST << One)
Local0++
If ((Local0 > 0x03))
{
Local0 = Zero
}
Local1 = DerefOf (Index (WBTL, Local0))
If ((Local1 == Zero))
{
^^^^ATKD.IANE (0x74)
OWLD (Zero)
Sleep (0x0DAC)
OBTD (Zero)
}
If ((Local1 == One))
{
^^^^ATKD.IANE (0x73)
OWLD (One)
Sleep (0x0DAC)
OBTD (One)
}
If ((Local1 == 0x02))
{
^^^^ATKD.IANE (0x74)
OWLD (Zero)
Sleep (0x0DAC)
OBTD (Zero)
}
If ((Local1 == 0x03))
{
^^^^ATKD.IANE (0x74)
OWLD (Zero)
Sleep (0x0DAC)
OBTD (Zero)
}
}
Else
{
If (WLDP)
{
^^^^ATKD.IANE (0x5D)
}
Else
{
If (BTDP)
{
If (BRST)
{
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
Else
{
OBTD (One)
^^^^ATKD.IANE (0x7D)
}
}
}
}
}
Else
{
If ((WLDP && BTDP))
{
Local0 = WRST /* \_SB_.WRST */
Local0 |= (BRST << One)
Local0++
If ((Local0 > 0x03))
{
Local0 = Zero
}
Local1 = DerefOf (Index (WBTL, Local0))
If ((Local1 == Zero))
{
OWLD (Zero)
^^^^ATKD.IANE (0x5F)
Sleep (0x0DAC)
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
If ((Local1 == One))
{
OWLD (One)
^^^^ATKD.IANE (0x5E)
Sleep (0x0DAC)
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
If ((Local1 == 0x02))
{
OWLD (Zero)
^^^^ATKD.IANE (0x5F)
Sleep (0x0DAC)
OBTD (One)
^^^^ATKD.IANE (0x7D)
}
If ((Local1 == 0x03))
{
OWLD (One)
^^^^ATKD.IANE (0x5E)
Sleep (0x0DAC)
OBTD (One)
^^^^ATKD.IANE (0x7D)
}
}
Else
{
If (WLDP)
{
If (WRST)
{
OWLD (Zero)
^^^^ATKD.IANE (0x5F)
}
Else
{
OWLD (One)
^^^^ATKD.IANE (0x5E)
}
}
Else
{
If (BTDP)
{
If (BRST)
{
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
Else
{
OBTD (One)
^^^^ATKD.IANE (0x7D)
}
}
}
}
}
}
Else
{
If (WLDP) {}
If ((WLDP && BTDP))
{
Sleep (0x0DAC)
}
If (BTDP)
{
^^^^ATKD.IANE (0x7E)
}
}
}
}
}
Name (WBTL, Package (0x04)
{
Zero,
One,
0x02,
0x03
})
Method (_Q0C, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x50)
}
}
Method (_Q0D, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x51)
}
}
Method (_Q0E, 0, NotSerialized) // _Qxx: EC Query
{
If ((MSOS () >= OSVT))
{
Local0 = LBTN /* \_SB_.LBTN */
If (^^^VGA.PRST ())
{
^^^VGA.DWBL ()
}
If (ATKP)
{
If ((MSOS () >= OSW8)) {}
Else
{
If ((Local0 > Zero))
{
Local0--
}
If ((Local0 > 0x0A))
{
Local0 = 0x0A
}
LBTN = Local0
^^^^ATKD.IANE ((Local0 + 0x20))
}
}
}
Else
{
If (ACPF)
{
If ((LBTN > Zero))
{
LBTN--
}
If ((LBTN > 0x0A))
{
LBTN = 0x0A
}
STBR ()
If (ATKP)
{
^^^^ATKD.IANE ((LBTN + 0x20))
}
}
Else
{
If ((LBT2 > Zero))
{
LBT2--
}
If ((LBT2 > 0x0A))
{
LBT2 = 0x0A
}
STBR ()
If (ATKP)
{
^^^^ATKD.IANE ((LBT2 + 0x20))
}
}
}
Return (One)
}
Method (_Q0F, 0, NotSerialized) // _Qxx: EC Query
{
If ((MSOS () >= OSVT))
{
Local0 = LBTN /* \_SB_.LBTN */
If (^^^VGA.PRST ())
{
^^^VGA.UPBL ()
}
If (ATKP)
{
If ((MSOS () >= OSW8)) {}
Else
{
If ((Local0 < 0x0A))
{
Local0++
}
Else
{
Local0 = 0x0A
}
LBTN = Local0
^^^^ATKD.IANE ((Local0 + 0x10))
}
}
}
Else
{
If (ACPF)
{
If ((LBTN < 0x0A))
{
LBTN++
}
Else
{
LBTN = 0x0A
}
STBR ()
If (ATKP)
{
^^^^ATKD.IANE ((LBTN + 0x10))
}
}
Else
{
If ((LBT2 < 0x0A))
{
LBT2++
}
Else
{
LBT2 = 0x0A
}
STBR ()
If (ATKP)
{
^^^^ATKD.IANE ((LBT2 + 0x10))
}
}
}
Return (One)
}
Method (_Q10, 0, NotSerialized) // _Qxx: EC Query
{
If ((BLCT == Zero))
{
Local0 = One
Local0 = RPIN (0x72)
Local0 ^= One
SPIN (0x72, Local0)
If (ATKP)
{
Local0 = (0x34 - Local0)
^^^^ATKD.IANE (Local0)
}
}
Else
{
If ((BLCT == One))
{
If (ATKP)
{
^^^^ATKD.IANE (0x35)
}
}
}
}
Method (_Q11, 0, Serialized) // _Qxx: EC Query
{
Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
If ((MSOS () >= OSW8))
{
If ((F8FG == Zero))
{
F8FG = One
STB2 (0xE0)
STB2 (0x5B)
}
STB2 (0x19)
STB2 (0x99)
Return (One)
}
FHKW ()
Local0 = ADVG ()
If (NATK ())
{
If ((Local0 < 0x08))
{
Local1 = (Local0 + 0x60)
}
Else
{
If ((Local0 < 0x10))
{
Local1 = (Local0 - 0x08)
Local1 += 0x8C
}
Else
{
If ((Local0 < 0x20))
{
Local1 = (Local0 & 0x07)
Local1 += 0xA0
}
Else
{
If ((Local0 < 0x40))
{
While (One)
{
_T_0 = ToInteger (Local0)
If ((_T_0 == 0x20))
{
Local1 = 0xD0
}
Else
{
If ((_T_0 == 0x21))
{
Local1 = 0xD1
}
Else
{
If ((_T_0 == 0x22))
{
Local1 = 0xD2
}
Else
{
If ((_T_0 == 0x24))
{
Local1 = 0xD3
}
Else
{
If ((_T_0 == 0x28))
{
Local1 = 0xD4
}
Else
{
If ((_T_0 == 0x30))
{
Local1 = 0xD5
}
}
}
}
}
}
Break
}
}
}
}
}
If (ATKP)
{
If ((Local1 != 0x60))
{
^^^^ATKD.IANE (Local1)
}
}
Else
{
SWHG (Local0)
}
}
Else
{
SWHG (Local0)
}
FHKS ()
}
Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
{
If (!(DSYN & One))
{
If (ATKP)
{
^^^^ATKD.IANE (0x6B)
}
}
Else
{
If (ATKP)
{
^^^^ATKD.IANE (0x6F)
}
}
}
Method (_Q13, 0, NotSerialized) // _Qxx: EC Query
{
If ((MSOS () >= OSW8))
{
STB2 (0xE0)
STB2 (0x20)
STB2 (0xE0)
STB2 (0xA0)
Return (Zero)
}
If (ATKP)
{
^^^^ATKD.IANE (0x32)
}
Return (Zero)
}
Method (_Q14, 0, NotSerialized) // _Qxx: EC Query
{
If ((MSOS () >= OSW8))
{
STB2 (0xE0)
STB2 (0x2E)
STB2 (0xE0)
STB2 (0xAE)
Return (Zero)
}
If ((AVOL < 0x0F))
{
AVOL++
}
If (ATKP)
{
^^^^ATKD.IANE (0x31)
}
Return (Zero)
}
Method (_Q15, 0, NotSerialized) // _Qxx: EC Query
{
If ((MSOS () >= OSW8))
{
STB2 (0xE0)
STB2 (0x30)
STB2 (0xE0)
STB2 (0xB0)
Return (Zero)
}
If ((AVOL > Zero))
{
AVOL--
}
If (ATKP)
{
^^^^ATKD.IANE (0x30)
}
Return (Zero)
}
Method (_Q6F, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x45)
}
}
Method (_Q6E, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x43)
}
}
Method (_Q6C, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x40)
}
}
Method (_Q6D, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x41)
}
}
Method (_Q70, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_Q71, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x5C)
}
}
Method (_Q73, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x99)
}
}
Method (_Q77, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0xB5)
}
}
Method (_Q78, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x84)
}
}
Method (_Q85, 0, NotSerialized) // _Qxx: EC Query
{
If (ATKP)
{
^^^^ATKD.IANE (0x5C)
}
}
Method (_Q84, 0, NotSerialized) // _Qxx: EC Query
{
Local0 = OHWR ()
If ((Local0 & 0x02))
{
If ((^^^^ATKD.WAPF & 0x04))
{
If (ATKP)
{
If ((Local0 & One))
{
^^^^ATKD.IANE (0x80)
}
Else
{
^^^^ATKD.IANE (0x81)
}
}
}
Else
{
If ((^^^^ATKD.WAPF & One))
{
If ((Local0 & One))
{
If (WLDP)
{
If ((WRPS == One))
{
^^^^ATKD.IANE (0x5E)
}
Else
{
^^^^ATKD.IANE (0x5F)
}
}
If ((WLDP && BTDP))
{
Sleep (0x0DAC)
}
If (BTDP)
{
If (BRPS)
{
OBTD (One)
^^^^ATKD.IANE (0x7D)
}
Else
{
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
}
}
Else
{
If (WLDP)
{
WRPS = WRST /* \_SB_.WRST */
^^^^ATKD.IANE (0x5F)
}
If ((WLDP && BTDP))
{
Sleep (0x0DAC)
}
If (BTDP)
{
BRPS = BRST /* \_SB_.BRST */
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
}
}
Else
{
If ((Local0 & One))
{
If (WLDP)
{
If (WRPS)
{
OWLD (One)
^^^^ATKD.IANE (0x5E)
}
Else
{
OWLD (Zero)
^^^^ATKD.IANE (0x5F)
}
}
If ((WLDP && BTDP))
{
Sleep (0x0DAC)
}
If (BTDP)
{
If (BRPS)
{
OBTD (One)
^^^^ATKD.IANE (0x7D)
}
Else
{
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
}
}
Else
{
If (WLDP)
{
WRPS = WRST /* \_SB_.WRST */
OWLD (Zero)
^^^^ATKD.IANE (0x5F)
}
If ((WLDP && BTDP))
{
Sleep (0x0DAC)
}
If (BTDP)
{
BRPS = BRST /* \_SB_.BRST */
OBTD (Zero)
^^^^ATKD.IANE (0x7E)
}
}
}
}
}
}
Method (_QB0, 0, NotSerialized) // _Qxx: EC Query
{
Notify (\_TZ.THRM, 0x80) // Thermal Status Change
}
Method (_QA0, 0, NotSerialized) // _Qxx: EC Query
{
If (ACPS ())
{
ACPF = One
Local0 = 0x58
If (ATKP)
{
^^^^ATKD.IANE (0xCF)
}
}
Else
{
ACPF = Zero
Local0 = 0x57
}
If ((MSOS () != OSVT))
{
STBR ()
}
Notify (AC0, 0x80) // Status Change
If (ATKP)
{
^^^^ATKD.IANE (Local0)
}
Sleep (0x64)
Sleep (0x0A)
NBAT (0x80)
}
Method (_Q20, 0, NotSerialized) // _Qxx: EC Query
{
If (CDFG)
{
SMBF = One
CDFG = Zero
}
If (ALFG)
{
ALFG = Zero
}
}
Method (_QB3, 0, NotSerialized) // _Qxx: EC Query
{
^^^^ATKD.IANE (0x6D)
}
Method (ECRS, 2, Serialized)
{
If (ECAV ())
{
Acquire (MUEC, 0xFFFF)
ADD2 = Arg0
CMD2 = Arg1
PRT2 = 0x07
Local0 = 0x7F
While (PRT2)
{
Sleep (One)
Local0--
}
If (Local0)
{
Local0 = DA20 /* \_SB_.PCI0.SBRG.EC0_.DA20 */
}
Else
{
Local0 = Ones
}
Release (MUEC)
}
Return (Local0)
}
Method (ECWS, 3, Serialized)
{
If (ECAV ())
{
Acquire (MUEC, 0xFFFF)
ADD2 = Arg0
CMD2 = Arg1
DA20 = Arg2
PRT2 = 0x06
Local0 = 0x07FF
While (PRT2)
{
Sleep (One)
Local0--
}
Release (MUEC)
}
Return (Local0)
}
Method (_QAC, 0, NotSerialized) // _Qxx: EC Query
{
Local0 = ST8E (0x28, Zero)
If (((Local0 & One) == One))
{
Notify (BAT0, 0x80) // Status Change
}
}
Method (_QD3, 0, NotSerialized) // _Qxx: EC Query
{
}
Method (_QD4, 0, NotSerialized) // _Qxx: EC Query
{
If ((F8FG == One))
{
F8FG = Zero
STB2 (0xE0)
STB2 (0xDB)
}
}
Method (_QDB, 0, NotSerialized) // _Qxx: EC Query
{
^^^^ATKD.IANE (0x6D)
}
Method (_QDC, 0, NotSerialized) // _Qxx: EC Query
{
^^^^ATKD.IANE (0x6D)
}
}
Scope (_SB.PCI0.SBRG)
{
Device (PS2M)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (SYNA)
{
Return (0x190A2E4F)
}
If (ALPS)
{
Return (0x0713A906)
}
If (ELAN)
{
Return (0x08018416)
}
If (STLC)
{
Return (0x41C18C4E)
}
If (FOLT)
{
Return (0x01019419)
}
Return (0x060A2E4F)
}
Name (CID0, Package (0x05)
{
0x000A2E4F,
0x02002E4F,
0x030FD041,
0x130FD041,
0x120FD041
})
Name (CID1, Package (0x03)
{
0x000A2E4F,
0x02002E4F,
0x130FD041
})
Name (CID2, Package (0x01)
{
0x130FD041
})
Method (_CID, 0, NotSerialized) // _CID: Compatible ID
{
If (SYNA)
{
Return (CID1) /* \_SB_.PCI0.SBRG.PS2M.CID1 */
}
If (STLC)
{
Return (CID2) /* \_SB_.PCI0.SBRG.PS2M.CID2 */
}
Return (CID0) /* \_SB_.PCI0.SBRG.PS2M.CID0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = (One << 0x0E)
If ((IOST & Local0))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
Return (Zero)
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{12}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Local0 = (One << 0x0A)
If ((IOST & Local0))
{
Return (CRS1) /* \_SB_.PCI0.SBRG.PS2M.CRS1 */
}
Else
{
Return (CRS2) /* \_SB_.PCI0.SBRG.PS2M.CRS2 */
}
}
}
}
Scope (_SB.PCI0.SBRG)
{
Device (PS2K)
{
Name (_HID, EisaId ("ATK3001")) // _HID: Hardware ID
Name (_CID, EisaId ("PNP030B")) // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((IOST & 0x0400))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
}
}
Scope (_SB)
{
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
Local0 = One
Local0 = ^^PCI0.SBRG.EC0.RPIN (0x11)
If ((Local0 == Ones))
{
Local0 = One
}
Return (Local0)
}
}
}
Scope (_GPE)
{
}
Scope (_SB.PCI0.SBRG.EC0)
{
Method (_Q80, 0, NotSerialized) // _Qxx: EC Query
{
Notify (LID, 0x80) // Status Change
}
}
Scope (_SB)
{
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (Package (0x02)
{
0x0B,
0x04
})
}
}
}
Scope (_SB.ATKD)
{
Method (FSMI, 1, NotSerialized)
{
FSFN = Arg0
Local0 = (Arg0 | 0xA0)
ISMI (0x90)
Return (FSTA) /* \_SB_.FSTA */
}
Method (FLSH, 1, NotSerialized)
{
FSTA = Arg0
FSMI (Zero)
}
Method (FINI, 1, NotSerialized)
{
FADR = Arg0
Return (FSMI (One))
}
Method (FERS, 1, NotSerialized)
{
FSTA = Arg0
Return (FSMI (0x02))
}
Method (FWRI, 1, NotSerialized)
{
FADR = Arg0
FSIZ = 0x1000
Return ((0x1000 - FSMI (0x03)))
}
Method (FCPW, 1, NotSerialized)
{
FADR = Arg0
FSIZ = 0x1000
Return (FSMI (0x0D))
}
Method (FCPP, 0, NotSerialized)
{
FSIZ = Zero
Return (FSMI (0x0D))
}
Method (FWRP, 0, NotSerialized)
{
FSIZ = Zero
Return ((0x1000 - FSMI (0x03)))
}
Method (FEBW, 1, NotSerialized)
{
FADR = Arg0
Return (FSMI (0x04))
}
Method (FEBR, 1, NotSerialized)
{
FADR = Arg0
Return (FSMI (0x05))
}
Method (FEDW, 0, NotSerialized)
{
Return (FSMI (0x06))
}
Method (ECSR, 1, NotSerialized)
{
FSTA = Arg0
Return (FSMI (0x07))
}
Method (FLSC, 1, NotSerialized)
{
FSTA = Arg0
Return (FSMI (0x08))
}
Method (FIME, 1, NotSerialized)
{
FSTA = Arg0
If (((Arg0 == 0x04) | (Arg0 == 0x05)))
{
FSMI (0x09)
If ((Arg0 == 0x04))
{
ULCK = FADR /* \_SB_.FADR */
}
FSTA = Zero
Return (FSTA) /* \_SB_.FSTA */
}
If ((Arg0 == 0x8000))
{
FSIZ = 0x1000
FSMI (0x09)
Return (FSTA) /* \_SB_.FSTA */
}
Return (FSMI (0x09))
}
Method (FREC, 1, NotSerialized)
{
If ((Arg0 == 0x8000))
{
FSTA = Arg0
FSMI (0x0A)
FSIZ = 0x1000
Return (FSTA) /* \_SB_.FSTA */
}
FSTA = Arg0
Return (FSMI (0x0A))
}
Name (ULCK, Zero)
}
Scope (\)
{
OperationRegion (APIO, SystemIO, 0x0800, 0x20)
Field (APIO, ByteAcc, NoLock, Preserve)
{
Offset (0x10),
, 1,
TDTY, 3,
TENA, 1,
TTDT, 3,
FRCT, 1,
, 8,
THLS, 1,
Offset (0x13)
}
Method (RGPL, 1, Serialized)
{
Local0 = Zero
Local0 = RWGP (Zero, Arg0, Local0)
Return (Local0)
}
Method (SGPL, 2, Serialized)
{
RWGP (One, Arg0, Arg1)
}
Method (RWGP, 3, Serialized)
{
Local0 = 0xFED81500
Local0 += (Arg1 << 0x02)
Local0 += 0x02
OperationRegion (ERMM, SystemMemory, Local0, One)
Field (ERMM, AnyAcc, NoLock, Preserve)
{
GPII, 1,
GPIO, 5,
GPOO, 1
}
If ((Arg0 == Zero))
{
Return (GPII) /* \RWGP.GPII */
}
Else
{
GPOO = Arg2
Return (Zero)
}
}
Method (RGPP, 1, Serialized)
{
Return (Zero)
}
Method (TGPP, 1, Serialized)
{
}
Method (SGPP, 2, Serialized)
{
}
Name (PMEW, Zero)
Method (SBRS, 1, NotSerialized)
{
}
Method (SBRW, 1, NotSerialized)
{
}
Method (STRP, 1, NotSerialized)
{
}
Method (HKTH, 0, Serialized)
{
If (THLS)
{
Return (TTDT) /* \TTDT */
}
Else
{
Return (0xFFFF)
}
}
OperationRegion (SMBX, SystemIO, SMBB, 0x10)
Field (SMBX, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
SSTS, 8,
HSTC, 8,
HCMD, 8,
HADR, 8,
HDT0, 8,
HDT1, 8,
BLKD, 8,
SLCT, 8,
SHCM, 8,
SLEV, 16,
SLDT, 16,
STIM, 8
}
OperationRegion (SBSM, SystemIO, SMB0, 0x10)
Field (SBSM, ByteAcc, NoLock, Preserve)
{
SHST, 8,
SSSR, 8,
SHTC, 8,
SCMD, 8,
SADR, 8,
SDT0, 8,
SDT1, 8,
SLKD, 8,
SSCT, 8,
SSCM, 8,
SSEV, 16,
SSDT, 8,
SMAC, 8
}
Name (RBUF, Package (0x20) {})
Method (CSM2, 0, Serialized)
{
}
Method (CSM1, 0, Serialized)
{
}
Method (HBSY, 0, NotSerialized)
{
Local0 = 0x00FFFFFF
While (Local0)
{
Local1 = (HSTS & One)
If (!Local1)
{
Return (Zero)
}
Local0--
}
Return (One)
}
Method (WTSB, 0, NotSerialized)
{
Local0 = 0x00FFFFFF
While (Local0)
{
Local0--
Local1 = (HSTS & 0x1E)
If ((Local1 == Zero))
{
Return (One)
}
If (Local1)
{
Return (Zero)
}
}
Return (Zero)
}
Mutex (P4SM, 0x00)
Method (SBYT, 2, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
CSM2 ()
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HSTS = 0xFF
HADR = Arg0
HCMD = Arg1
HSTC = 0x44
If (HBSY ())
{
Local0--
}
Else
{
CSM1 ()
Release (P4SM)
Return (One)
}
}
}
CSM1 ()
Release (P4SM)
Return (Ones)
}
Method (WBYT, 3, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = Arg0
HCMD = Arg1
HDT0 = Arg2
HSTS = 0xFF
HSTC = 0x48
If (WTSB ())
{
Release (P4SM)
Return (One)
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
Method (WWRD, 3, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = Arg0
HCMD = Arg1
Local1 = (Arg2 & 0xFF)
Local2 = (Arg2 >> 0x08)
Local2 &= 0xFF
HDT0 = Local2
HDT1 = Local1
HSTS = 0xFF
HSTC = 0x4C
If (WTSB ())
{
Release (P4SM)
Return (One)
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
Method (WBLK, 3, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = Arg0
HCMD = Arg1
Local1 = HSTC /* \HSTC */
Local2 = Arg2
Local1 = Zero
While (Local2)
{
BLKD = DerefOf (Index (RBUF, Local1))
Local2--
Local1++
}
HDT0 = Arg2
Local1 = HSTC /* \HSTC */
HSTS = 0xFF
HSTC = 0x54
If (WTSB ())
{
Release (P4SM)
Return (One)
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
Method (RSBT, 2, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = (Arg0 | One)
HCMD = Arg1
HSTS = 0xFF
HSTC = 0x44
If (WTSB ())
{
Release (P4SM)
Return (HDT0) /* \HDT0 */
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
Method (RBYT, 2, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = (Arg0 | One)
HCMD = Arg1
HSTS = 0xFF
HSTC = 0x48
If (WTSB ())
{
Release (P4SM)
Return (HDT0) /* \HDT0 */
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
Method (RWRD, 2, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = (Arg0 | One)
HCMD = Arg1
HSTS = 0xFF
HSTC = 0x4C
If (WTSB ())
{
Local1 = HDT0 /* \HDT0 */
Local1 <<= 0x08
Local2 = HDT1 /* \HDT1 */
Local1 += Local2
Release (P4SM)
Return (Local1)
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
Method (RBLK, 3, Serialized)
{
If ((Acquire (P4SM, 0xFFFF) != Zero))
{
Return (Ones)
}
Local0 = 0x05
While (Local0)
{
If (HBSY ())
{
Local0--
}
Else
{
HADR = (Arg0 | One)
HCMD = Arg1
HSTS = 0xFF
HSTC = 0x54
If (WTSB ())
{
Local1 = HSTC /* \HSTC */
Local2 = HDT0 /* \HDT0 */
Local3 = Local2
RBUF = Zero
Local1 = Zero
While (Local2)
{
Index (RBUF, Local1) = BLKD /* \BLKD */
Local2--
Local1++
}
Release (P4SM)
Return (Local3)
}
Else
{
Local0--
}
}
}
Release (P4SM)
Return (Ones)
}
}
Scope (\)
{
Name (CNTB, Buffer (0x0E)
{
/* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF /* ...... */
})
Name (VISB, Buffer (0x0E)
{
/* 0000 */ 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 /* ...... */
})
Name (SHPB, Buffer (0x0E)
{
/* 0000 */ 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* ........ */
/* 0008 */ 0x07, 0x07, 0x04, 0x04, 0x07, 0x07 /* ...... */
})
Name (BUPC, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Name (BPLD, Buffer (0x10)
{
0x81, 0x00, 0x31, 0x00 /* ..1. */
})
Method (OUPC, 1, Serialized)
{
Local0 = DerefOf (Index (CNTB, Arg0))
Index (BUPC, Zero) = Local0
}
Method (OPLD, 1, Serialized)
{
Local0 = DerefOf (Index (VISB, Arg0))
Local1 = DerefOf (Index (BPLD, 0x08))
Local1 &= 0xFE
Local1 |= Local0
Index (BPLD, 0x08) = Local1
Local0 = DerefOf (Index (SHPB, Arg0))
Local1 = DerefOf (Index (BPLD, 0x09))
Local1 &= 0xC3
Local1 |= Local0
Index (BPLD, 0x09) = Local1
}
}
Name (XUPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (XPLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
/* 0008 */ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0....... */
})
Scope (_SB.PCI0.EHC1)
{
OperationRegion (PCFG, PCI_Config, 0xA0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
OSOW, 32
}
Method (STOS, 0, NotSerialized)
{
OSOW |= 0x01000000
}
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Device (GHUB)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (XUPC) /* \XUPC */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (XPLD) /* \XPLD */
}
Device (PRT1)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
OUPC (Zero)
Return (BUPC) /* \BUPC */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
OPLD (Zero)
Return (BPLD) /* \BPLD */
}
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
OUPC (One)
Return (BUPC) /* \BUPC */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
OPLD (One)
Return (BPLD) /* \BPLD */
}
}
Device (PRT3)
{
Name (_ADR, 0x03) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
OUPC (0x02)
Return (BUPC) /* \BUPC */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
OPLD (0x02)
Return (BPLD) /* \BPLD */
}
}
Device (PRT4)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
OUPC (0x03)
Return (BUPC) /* \BUPC */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
OPLD (0x03)
Return (BPLD) /* \BPLD */
}
}
}
}
}
Name (CAPD, Buffer (0x10)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, /* ........ */
/* 0008 */ 0x25, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* %....... */
})
Name (XCPC, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Name (XDPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Scope (_SB.PCI0.XHC0)
{
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Device (PRT0)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0A))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT1)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0B))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT2)
{
Name (_ADR, 0x03) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0C))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT3)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0D))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT4)
{
Name (_ADR, 0x05) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0A))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT5)
{
Name (_ADR, 0x06) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0B))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT6)
{
Name (_ADR, 0x07) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0C))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
Device (PRT7)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Local0 = DerefOf (Index (CNTB, 0x0D))
If ((Local0 == 0xFF))
{
Return (XCPC) /* \XCPC */
}
Else
{
Return (XDPC) /* \XDPC */
}
}
}
}
}
Scope (\)
{
Method (LIMT, 0, NotSerialized)
{
Local0 = (\_SB.CPUP - \_SB.SLMT)
Return (Local0)
}
Name (LCDB, Zero)
Method (PRJS, 1, Serialized)
{
}
Method (PRJW, 1, Serialized)
{
If ((Arg0 == 0x03))
{
\_SB.PCI0.SBRG.EC0.SPIN (0x35, One)
Notify (\_SB.PWRB, 0x02) // Device Wake
}
KINI ()
}
Method (GLID, 0, Serialized)
{
Return (\_SB.PCI0.SBRG.EC0.RPIN (0x11))
}
Method (TLID, 0, Serialized)
{
}
Method (TGAC, 0, Serialized)
{
}
Method (TGDC, 1, Serialized)
{
}
Method (FCTR, 3, Serialized)
{
}
Method (OWGD, 1, Serialized)
{
SGPL (0x05, Arg0)
}
Method (OWGS, 0, Serialized)
{
Local0 = RGPL (0x05)
Local0 ^= One
Return (Local0)
}
Method (OWLD, 1, Serialized)
{
If (\_SB.WLDP)
{
\_SB.WRST = Arg0
}
If (((\_SB.ATKD.WAPF && 0x05) == Zero))
{
SGPL (0x60, Arg0)
}
}
Method (OBTD, 1, Serialized)
{
If (\_SB.BTDP)
{
\_SB.BRST = Arg0
}
SGPL (0x04, Arg0)
Arg0 ^= One
SGPL (0x05, Arg0)
}
Method (OUWD, 1, Serialized)
{
\_SB.UWST = Arg0
Return (One)
}
Method (OWMD, 1, Serialized)
{
\_SB.WMST = Arg0
Return (One)
}
Method (OGPD, 1, Serialized)
{
\_SB.GPST = Arg0
Return (One)
}
Method (OTGD, 1, Serialized)
{
\_SB.TGST = Arg0
If (Arg0)
{
Local0 = \_SB.PCI0.SBRG.EC0.ST87 (0x40, 0xFF)
}
Else
{
Local0 = \_SB.PCI0.SBRG.EC0.ST87 (0x20, 0xFF)
}
Return (One)
}
Method (OHWR, 0, Serialized)
{
Local0 = Zero
Local1 = \_SB.PCI0.SBRG.EC0.RPIN (0x07)
If (Local1)
{
Local0 &= 0xFFFE
}
Else
{
Local0 |= One
}
If (\_SB.WLDP)
{
Local0 |= 0x80
}
If (\_SB.BTDP)
{
Local0 |= 0x0100
}
If (\_SB.UWDP)
{
Local0 |= 0x08
}
If (\_SB.WMDP)
{
Local0 |= 0x10
}
If (\_SB.GPDP)
{
Local0 |= 0x20
}
If (\_SB.TGDP)
{
Local0 |= 0x40
}
If (\_SB.BTDP)
{
Local0 |= 0x0100
}
Return (Local0)
}
Method (ORST, 0, Serialized)
{
Local0 = Zero
If (\_SB.WRST)
{
Local0 |= One
}
If (\_SB.BRST)
{
Local0 |= 0x02
}
If (\_SB.UWST)
{
Local0 |= 0x04
}
If (\_SB.WMST)
{
Local0 |= 0x08
}
If (\_SB.GPST)
{
Local0 |= 0x10
}
If (\_SB.TGST)
{
Local0 |= 0x20
}
Return (Local0)
}
Method (PPRJ, 1, Serialized)
{
}
Method (GBTL, 0, Serialized)
{
Return (\_SB.PCI0.SBRG.EC0.RPIN (0x02))
}
Method (SBTL, 1, Serialized)
{
\_SB.PCI0.SBRG.EC0.SPIN (0x02, Arg0)
}
Method (BL2C, 0, NotSerialized)
{
Return (Zero)
}
Method (STCF, 1, Serialized)
{
If ((Arg0 == One))
{
\_SB.PCI0.SBRG.EC0.FNCT (0x84, Zero)
}
}
Method (OTGB, 0, Serialized)
{
Local0 = One
Return (Local0)
}
Method (DCPS, 1, Serialized)
{
Local0 = \_SB.PCI0.SBRG.EC0.RPIN (0x04)
Local0 ^= One
Return (Local0)
}
Method (ACPS, 0, Serialized)
{
Local0 = \_SB.PCI0.SBRG.EC0.RPIN (0x03)
Local0 ^= One
Return (Local0)
}
Method (KINI, 0, Serialized)
{
If ((MSOS () >= OSW8))
{
\_SB.PCI0.SBRG.EC0.STB1 (0x02)
\_SB.PCI0.SBRG.EC0.STB1 (0x04)
\_SB.FNIV = Zero
}
Else
{
\_SB.PCI0.SBRG.EC0.STB1 (0x02)
\_SB.PCI0.SBRG.EC0.STB1 (0x03)
\_SB.FNIV = Zero
}
}
}
Scope (_GPE)
{
}
Scope (_SB.PCI0.EHC1.RHUB.GHUB.PRT4)
{
Name (CAPD, Buffer (0x10)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, /* ........ */
/* 0008 */ 0x25, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* %....... */
})
Device (DCAM)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
{
Return (CAPD) /* \_SB_.PCI0.EHC1.RHUB.GHUB.PRT4.CAPD */
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment