Scope (_SB.PCI0.I2C0)
{
Device (TPD0)
{
Name (HID2, Zero)
Name (SPED, Zero)
Name (BADR, Zero)
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.I2C0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (LEqual (TPTY, One))
{
Store ("ELAN0611", _HID)
Store (0x15, BADR)
Store (One, HID2)
}
If (LEqual (TPTY, 0x02))
{
Store ("SYNA2B3C", _HID)
Store (0x2C, BADR)
Store (0x20, HID2)
}
Store (0x00061A80, SPED)
Return (Zero)
}
Name (_HID, "SYNA2B3C") // _HID: Hardware ID
Name (_CID, "PNP0C50") // _CID: Compatible ID
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Name (_ADR, One) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Return (CDSM (Arg0, Arg1, Arg2, Arg3, HID2))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (LEqual (TPTY, Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (LEqual (TPTY, One))
{
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, , Exclusive,
)
})
}
If (LEqual (TPTY, 0x02))
{
Name (SBFS, ResourceTemplate ()
{
I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, , Exclusive,
)
})
}
If (LEqual (TPTY, One))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
If (LEqual (TPTY, 0x02))
{
Return (ConcatenateResTemplate (SBFS, SBFG))
}
}
Method (TPRD, 0, Serialized)
{
Return (^^^LPCB.EC0.ECTP)
}
Method (TPWR, 1, Serialized)
{
Store (Arg0, ^^^LPCB.EC0.ECTP)
}
}
}