Device (PEG0)
{
OperationRegion (RPCI, PCI_Config, Zero, 0xF0)
Field (RPCI, DWordAcc, Lock, Preserve)
{
Offset (0xB0),
ASPM, 2,
, 2,
LNKD, 1
}
OperationRegion (RPCX, SystemMemory, PEGP.XBAS, 0x8400)
Field (RPCX, DWordAcc, NoLock, Preserve)
{
Offset (0x8214),
Offset (0x8216),
LNKS, 4
}
OperationRegion (GPIO, SystemIO, 0x0500, 0x60)
Field (GPIO, ByteAcc, Lock, Preserve)
{
Offset (0x0C),
, 4,
, 13,
PI17, 1,
Offset (0x38),
, 3,
PO35, 1,
PO36, 1,
PI37, 1,
, 13,
PO51, 1,
PO52, 1,
PO53, 1,
PO54, 1
}
Name (_ADR, 0x00010000) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x09,
0x04
})
Name (PR0A, 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 (AR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR0A)
}
Return (PR0A)
}
Device (PEGP)
{
Name (ELCT, Zero)
Name (HVID, Zero)
Name (HDID, Zero)
OperationRegion (SGOP, SystemMemory, 0x9CFBEE18, 0x4B)
Field (SGOP, AnyAcc, Lock, Preserve)
{
EBAS, 32,
CPSP, 32,
EECP, 32,
EVCP, 32,
XBAS, 32,
SGMD, 8,
SGFL, 8,
PWOK, 8,
HLRS, 8,
DSEL, 8,
ESEL, 8,
PSEL, 8,
PWEN, 8,
PRST, 8,
MXD1, 32,
MXD2, 32,
MXD3, 32,
MXD4, 32,
MXD5, 32,
MXD6, 32,
MXD7, 32,
MXD8, 32,
GBAS, 16,
APDT, 32,
AHDT, 32,
IHDT, 32
}
OperationRegion (PCIS, PCI_Config, Zero, 0x0100)
Field (PCIS, DWordAcc, Lock, Preserve)
{
DVID, 16,
Offset (0x2C),
SVID, 16,
SDID, 16,
Offset (0x4C),
WVID, 16,
WDID, 16
}
OperationRegion (GPIO, SystemIO, GBAS, 0x60)
Field (GPIO, ByteAcc, Lock, Preserve)
{
Offset (0x0C),
LVL0, 32,
Offset (0x38),
LVL1, 32,
Offset (0x48),
LVL2, 32
}
OperationRegion (PCAP, PCI_Config, EECP, 0x14)
Field (PCAP, DWordAcc, NoLock, Preserve)
{
Offset (0x10),
LCTL, 16
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
POFF ()
Store (Zero, _ADR)
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
Store (LCTL, ELCT)
Store (SVID, HVID)
Store (SDID, HDID)
Store (One, LNKD)
While (LNotEqual (LNKS, Zero))
{
Sleep (One)
}
Store (Zero, PO35)
Store (Zero, PO36)
Notify (PEG0, Zero)
Return (Zero)
}
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x09,
0x04
})
}
}