blob: e1499018266a7798ff020b4bb0d904fc157c39ec [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
Scope (\_SB.PCI0.I2C0)
{
Device (ETPA)
{
Name (_HID, "ELAN0000")
Name (_DDN, "Elan Touchpad")
Name (_UID, 1)
Name (ISTP, 1) // Touchpad
Name (_CRS, ResourceTemplate()
{
I2cSerialBus (
0x15, // SlaveAddress
ControllerInitiated, // SlaveMode
400000, // ConnectionSpeed
AddressingMode7Bit, // AddressingMode
"\\_SB.PCI0.I2C0" // ResourceSource
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
BOARD_TRACKPAD_IRQ
}
})
Method (_STA)
{
If (\S1EN == 1) {
Return (0xF)
} Else {
Return (0x0)
}
}
Name (_PRW, Package() { BOARD_TRACKPAD_WAKE_GPIO, 0x3 })
Method (_DSW, 3, NotSerialized)
{
Local0 = BOARD_TRACKPAD_WAKE_GPIO
If (Arg0 == 1) {
// Enable GPIO as wake source
\_SB.PCI0.LPCB.GPIO.GWAK (Local0)
}
}
}
Device (CTPA)
{
Name (_HID, "CYAP0000")
Name (_DDN, "Cypress Touchpad")
Name (_UID, 3)
Name (ISTP, 1) // Touchpad
Name (_CRS, ResourceTemplate()
{
I2cSerialBus (
0x67, // SlaveAddress
ControllerInitiated, // SlaveMode
400000, // ConnectionSpeed
AddressingMode7Bit, // AddressingMode
"\\_SB.PCI0.I2C0" // ResourceSource
)
Interrupt (ResourceConsumer, Edge, ActiveLow, Shared)
{
BOARD_TRACKPAD_IRQ
}
})
Method (_STA)
{
If (\S1EN == 1) {
Return (0xF)
} Else {
Return (0x0)
}
}
Name (_PRW, Package() { BOARD_TRACKPAD_WAKE_GPIO, 0x3 })
Method (_DSW, 3, NotSerialized)
{
Local0 = BOARD_TRACKPAD_WAKE_GPIO
If (Arg0 == 1) {
// Enable GPIO as wake source
\_SB.PCI0.LPCB.GPIO.GWAK (Local0)
}
}
// Allow device to power off in S0
Name (_S0W, 4)
}
}
Scope (\_SB.PCI0.I2C1)
{
Device (ATSA)
{
Name (_HID, "ATML0001")
Name (_DDN, "Atmel Touchscreen")
Name (_UID, 5)
Name (_S0W, 4)
Name (ISTP, 0) /* TouchScreen */
Name (GPIO, 25)
Name (_CRS, ResourceTemplate()
{
I2cSerialBus (
0x4a, // SlaveAddress
ControllerInitiated, // SlaveMode
400000, // ConnectionSpeed
AddressingMode7Bit, // AddressingMode
"\\_SB.PCI0.I2C1" // ResourceSource
)
// GPIO54 (ball L3) is PIRQW: PIRQL_GSI + PIRQL - PIRQW = PIRQW_GSI
// 27 + 3 - 14 = 38
Interrupt (ResourceConsumer, Edge, ActiveLow) { 38 }
})
Name (_PRW, Package() { BOARD_TOUCHSCREEN_WAKE_GPIO, 0x3 })
Method (_DSW, 3, NotSerialized)
{
Local0 = BOARD_TOUCHSCREEN_WAKE_GPIO
If (Arg0 == 1) {
// Enable GPIO as wake source
\_SB.PCI0.LPCB.GPIO.GWAK (Local0)
}
}
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"compatible", "atmel,maxtouch"},
}
})
Method (_STA)
{
If (\S2EN == 1) {
Return (0xF)
} Else {
Return (0x0)
}
}
}
}