summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>2016-03-23 18:49:42 -0700
committerMartin Roth <martinroth@google.com>2017-08-25 18:58:29 +0000
commit77c13f03f5291958b933059eeeb99f9c0660552a (patch)
treef5bdce7d2551738caa06c4eaef1b5b1d704ce43e
parent448e5a2810aa735e0a062296b79db8efce559631 (diff)
google/cyan: Fix Touchscreen Interrupt
Cherry-pick from Chromium commit 1138727. Elan touchscreen driver expects the first gpio resource in asl to be the reset line. The driver considers the gpio based irq line as reset gpio resource and changes the direction to output. This will cause irq registration to fail. Solution is to pass Interrupt resource for touchscreen irq instead of GpioInt. Original-Change-Id: Ia72d4ad80117f3c0014098113c9027416026e65e Original-Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com> Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Change-Id: I1c4b029851e321feeedf713186976fbec42dd82e Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/21122 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/mainboard/google/cyan/acpi/mainboard.asl12
-rw-r--r--src/mainboard/google/cyan/onboard.h2
2 files changed, 10 insertions, 4 deletions
diff --git a/src/mainboard/google/cyan/acpi/mainboard.asl b/src/mainboard/google/cyan/acpi/mainboard.asl
index 31b9090809..9d68065f4c 100644
--- a/src/mainboard/google/cyan/acpi/mainboard.asl
+++ b/src/mainboard/google/cyan/acpi/mainboard.asl
@@ -46,8 +46,10 @@ Scope (\_SB.PCI0.I2C1)
AddressingMode7Bit, /* AddressingMode */
"\\_SB.PCI0.I2C1", /* ResourceSource */
)
- GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone,,
- "\\_SB.GPSW") { BOARD_TOUCH_GPIO_INDEX }
+ Interrupt (ResourceConsumer, Edge, ActiveLow)
+ {
+ BOARD_PRE_EVT_TOUCH_IRQ
+ }
} )
Name(BUF1,ResourceTemplate ()
@@ -59,8 +61,10 @@ Scope (\_SB.PCI0.I2C1)
AddressingMode7Bit, /* AddressingMode */
"\\_SB.PCI0.I2C1", /* ResourceSource */
)
- GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone,,
- "\\_SB.GPNC") { BOARD_EVT_TOUCH_GPIO_INDEX }
+ Interrupt (ResourceConsumer, Edge, ActiveLow)
+ {
+ BOARD_TOUCH_IRQ
+ }
} )
If (LEqual (\BDID, BOARD_EVT)) {
diff --git a/src/mainboard/google/cyan/onboard.h b/src/mainboard/google/cyan/onboard.h
index f03f1df1bd..1347d41a07 100644
--- a/src/mainboard/google/cyan/onboard.h
+++ b/src/mainboard/google/cyan/onboard.h
@@ -36,6 +36,8 @@
*/
/* ToDO: change kbd irq to gpio bank index */
#define BOARD_I8042_IRQ 182
+#define BOARD_TOUCH_IRQ 184
+#define BOARD_PRE_EVT_TOUCH_IRQ 156
/* SCI: Gpio index in N bank */