Scope (_SB.PCI0.I2C2)
{
Device (TPL0)
{
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Name (SADR, Buffer (One)
{
0x10 // .
})
Name (HIDS, Package (0x01)
{
"ELAN9008"
})
Name (HIDA, Buffer (One)
{
0x01 // .
})
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
Return (DerefOf (Index (HIDS, TPLI)))
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
{
If (LEqual (Arg2, Zero))
{
If (LEqual (Arg1, One))
{
Return (Buffer (One)
{
0x03 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
If (LEqual (Arg2, One))
{
Return (DerefOf (Index (HIDA, TPLI)))
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (LEqual (TPLP, Zero))
{
Return (Zero)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBFI, ResourceTemplate ()
{
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, _Y39, Exclusive,
)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001B,
}
})
CreateWordField (SBFI, \_SB.PCI0.I2C2.TPL0._CRS._Y39._ADR, ADR1) // _ADR: Address
Store (DerefOf (Index (SADR, TPLI)), ADR1) /* \_SB_.PCI0.I2C2.TPL0._CRS.ADR1 */
Return (SBFI) /* \_SB_.PCI0.I2C2.TPL0._CRS.SBFI */
}
}
}