summaryrefslogtreecommitdiff
path: root/src/mainboard/google
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2017-04-19 16:33:25 -0700
committerDuncan Laurie <dlaurie@chromium.org>2017-04-20 16:55:30 +0200
commitb86ccbbeabdbe7aa891a24304ee3424925060274 (patch)
treefd98e61e9ef0e7127e5de295b64f22bc31a44ee4 /src/mainboard/google
parentd67c6876b521d784e38ea91b5a1828a24c9cb1c8 (diff)
mainboard/google/eve: Set touchpad IRQ to level triggered
This commit changes the interrupt configuration for the touchpad to be level triggered so it matches what the device is actually using. When the system wakes from suspend by way of touchpad interrupt, or there is touchpad input while in suspend that does not wake the device (when the device is in tablet mode) the interrupt edge is not seen by the AP so the driver does not handle the event and the touchpad keeps the interrupt asserted and does not send further interrupts. The end result is a non-functional touchpad after resume until it is reset or the driver is reloaded. This happens because the touchpad is actually treating the interrupt as level triggered and expects the kernel driver to read a data packet over I2C before it will de-assert the pending interrupt. BUG=b:35774857 BRANCH=none TEST=Test that the system can reliably wake from suspend by touchpad event via the EC and continue to have a functional touchpad after resume. Change-Id: Iaf7c04d9bc9d945bdcc196dff54c92a2a68368f3 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://review.coreboot.org/19382 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r--src/mainboard/google/eve/devicetree.cb2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mainboard/google/eve/devicetree.cb b/src/mainboard/google/eve/devicetree.cb
index 3de759c56f..275ee8adfa 100644
--- a/src/mainboard/google/eve/devicetree.cb
+++ b/src/mainboard/google/eve/devicetree.cb
@@ -244,7 +244,7 @@ chip soc/intel/skylake
chip drivers/i2c/generic
register "hid" = ""GOOG5400""
register "desc" = ""Touchpad""
- register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_B3_IRQ)"
+ register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
device i2c 49 on end
end
end # I2C #2