Scope (_PR)
{
OperationRegion (SSDT, SystemMemory, 0xBF60AC18, 0x038C)
OperationRegion (CSDT, SystemMemory, 0xBF60BE18, 0x84)
Name (NCST, 0x02)
Name (NPSS, 0x0B)
Name (HNDL, 0x80000000)
Name (CHDL, 0x80000000)
Name (TNLP, 0x04)
Name (CINT, Zero)
Name (PDCV, 0xFFFFFFFF)
Name (APSS, Package (0x0B)
{
Package (0x06)
{
0x0CE5,
0x00017318,
0x0A,
0x0A,
0x2500,
0x2500
},
Package (0x06)
{
0x0CE4,
0x00017318,
0x0A,
0x0A,
0x2100,
0x2100
},
Package (0x06)
{
0x0C1C,
0x000153D8,
0x0A,
0x0A,
0x1F00,
0x1F00
},
Package (0x06)
{
0x0B54,
0x00013880,
0x0A,
0x0A,
0x1D00,
0x1D00
},
Package (0x06)
{
0x0A8C,
0x00011940,
0x0A,
0x0A,
0x1B00,
0x1B00
},
Package (0x06)
{
0x09C4,
0x000101D0,
0x0A,
0x0A,
0x1900,
0x1900
},
Package (0x06)
{
0x08FC,
0xE678,
0x0A,
0x0A,
0x1700,
0x1700
},
Package (0x06)
{
0x0834,
0xCF08,
0x0A,
0x0A,
0x1500,
0x1500
},
Package (0x06)
{
0x076C,
0xB798,
0x0A,
0x0A,
0x1300,
0x1300
},
Package (0x06)
{
0x06A4,
0xA028,
0x0A,
0x0A,
0x1100,
0x1100
},
Package (0x06)
{
0x0640,
0x9470,
0x0A,
0x0A,
0x1000,
0x1000
}
})
Name (PTCI, Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO,
0x04, // Bit Width
0x01, // Bit Offset
0x0000000000000410, // Address
,)
},
ResourceTemplate ()
{
Register (SystemIO,
0x04, // Bit Width
0x01, // Bit Offset
0x0000000000000410, // Address
,)
}
})
Name (\PSTE, Zero)
Name (\TSTE, Zero)
Name (TSSI, Package (0x01)
{
Package (0x05)
{
0x64,
0x03E8,
Zero,
Zero,
Zero
}
})
Name (TSSM, Package (0x08)
{
Package (0x05)
{
0x64,
0x03E8,
Zero,
Zero,
Zero
},
Package (0x05)
{
0x58,
0x036B,
Zero,
0x1E,
Zero
},
Package (0x05)
{
0x4B,
0x02EE,
Zero,
0x1C,
Zero
},
Package (0x05)
{
0x3F,
0x0271,
Zero,
0x1A,
Zero
},
Package (0x05)
{
0x32,
0x01F4,
Zero,
0x18,
Zero
},
Package (0x05)
{
0x26,
0x0177,
Zero,
0x16,
Zero
},
Package (0x05)
{
0x19,
0xFA,
Zero,
0x14,
Zero
},
Package (0x05)
{
0x0D,
0x7D,
Zero,
0x12,
Zero
}
})
Name (C1ST, Package (0x02)
{
One,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
One,
One,
0x03E8
}
})
Name (CMST, Package (0x03)
{
0x02,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
One,
One,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000020, // Address
0x03, // Access Size
)
},
0x03,
0x68,
0x015E
}
})
Name (CIST, Package (0x03)
{
0x02,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
One,
One,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
,)
},
0x03,
0x68,
0x015E
}
})
Method (CST, 0, NotSerialized)
{
If (LNotEqual (And (PDCV, 0x0200), 0x0200))
{
If (LEqual (NCST, 0x02))
{
Store (One, NCST)
}
}
If (LEqual (NCST, Zero))
{
Return (C1ST)
}
If (LEqual (NCST, One))
{
Return (CIST)
}
If (LEqual (NCST, 0x02))
{
Return (CMST)
}
Return (C1ST)
}
Method (PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS0, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS0, TEMP, Local2)
OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, Zero, STS)
CreateDWordField (Arg3, 0x04, CAP)
CreateDWordField (Arg0, Zero, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, Zero, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, Index (STS, Zero))
Return (Arg3)
}
And (PDCV, CAP, PDCV)
If (LEqual (CINT, Zero))
{
Store (One, CINT)
If (LEqual (And (PDCV, 0x09), 0x09))
{
If (LNotEqual (NPSS, Zero))
{
Load (SSDT, HNDL)
}
}
If (LEqual (And (PDCV, 0x10), 0x10))
{
If (LNotEqual (NCST, 0xFF))
{
Load (CSDT, CHDL)
}
}
}
Return (Arg3)
}
}