From 73b723d7dbb371ec294c5306b8a839cfe93e1bcd Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 31 Jul 2018 16:41:06 -0500 Subject: google/cyan: Switch Touchpad and Touchscreen interrupts to be level-triggered Adapted from chromium commit 126d352 [Strago: switch Touchpad and Touchscreen interrupts to be level-triggered] The Elan and other touch controllers found in this device work much more reliably if used with level-triggered interrupts rather than edge-triggered. TEST=Boot several cyan boards, verify that touchpad and touchscreen work. Original-Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889 Original-Signed-off-by: Dmitry Torokhov Original-Reviewed-on: https://chromium-review.googlesource.com/894689 Original-Reviewed-by: Aaron Durbin Change-Id: Ia4f8cf83351dae0d78995ce0b0ed902d1e4ac3e8 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/27759 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Aaron Durbin --- src/soc/intel/braswell/include/soc/gpio.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/soc/intel') diff --git a/src/soc/intel/braswell/include/soc/gpio.h b/src/soc/intel/braswell/include/soc/gpio.h index 294f176676..6b382fc171 100644 --- a/src/soc/intel/braswell/include/soc/gpio.h +++ b/src/soc/intel/braswell/include/soc/gpio.h @@ -524,10 +524,11 @@ typedef enum { typedef enum { INT_DIS = 0, - trig_edge_low = 1, - trig_edge_high = 2, - trig_edge_both = 3, - trig_level = 4, + trig_edge_low = PAD_TRIG_EDGE_LOW, + trig_edge_high = PAD_TRIG_EDGE_HIGH, + trig_edge_both = PAD_TRIG_EDGE_BOTH, + trig_level_high = PAD_TRIG_EDGE_LEVEL | (0 << 4), + trig_level_low = PAD_TRIG_EDGE_LEVEL | (4 << 4), } int_type_t; typedef enum { -- cgit v1.2.3