Scope (_SB.PCI0.I2C1)
{
Device (TPL1)
{
Name (HID2, Zero)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y23, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y24)
{
0x00000000,
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C1.TPL1._Y23._ADR, BADR) // _ADR: Address
CreateDWordField (SBFB, \_SB.PCI0.I2C1.TPL1._Y23._SPE, SPED) // _SPE: Speed
CreateDWordField (SBFI, \_SB.PCI0.I2C1.TPL1._Y24._INT, INT2) // _INT: Interrupts
CreateWordField (SBFG, 0x17, INT1)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If ((OSYS < 0x07DC))
{
SRXO (GPLI, One)
}
INT1 = GNUM (GPLI)
INT2 = INUM (GPLI)
If ((SDM1 == Zero))
{
SHPO (GPLI, One)
}
If ((TCTP == One))
{
_HID = "SYNA1D31"
HID2 = 0x20
BADR = 0x2C
SPED = 0x00061A80
Return (Zero)
}
If ((TCTP == 0x02))
{
_HID = "ELAN2201"
HID2 = One
BADR = 0x15
SPED = 0x00061A80
Return (Zero)
}
_HID = "SYNA1D31"
HID2 = 0x20
BADR = 0x2C
SPED = 0x00061A80
Return (Zero)
}
Name (_HID, "XXXX0000") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}
If ((Arg0 == TP7G))
{
Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
}
Return (Buffer (One)
{
0x00 // .
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SDS1 != Zero))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSYS < 0x07DC))
{
Return (SBFI) /* \_SB_.PCI0.I2C1.TPL1.SBFI */
}
If ((SDM1 == Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
Return (ConcatenateResTemplate (SBFB, SBFI))
}
}
Device (IMP3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "IMPJ0003") // _HID: Hardware ID
Name (_CID, "IMPJ0003") // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((HAID == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.I2C1.IMP3._CRS.SBUF */
}
}
}
````
Created
July 19, 2019 16:08
-
-
Save jcs/c6da2b7ca754e1176c752fe35f064ba9 to your computer and use it in GitHub Desktop.
Matebook X DSDT - Touchpad (TPL1)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment