summaryrefslogtreecommitdiff
path: root/src/soc/intel/braswell
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2018-07-31 16:41:06 -0500
committerPatrick Georgi <pgeorgi@google.com>2018-08-02 10:52:32 +0000
commit73b723d7dbb371ec294c5306b8a839cfe93e1bcd (patch)
tree92429ca2110c4bbba5580e7524967176138d180b /src/soc/intel/braswell
parent6444d7df0b3f17af9917371647e079c93bb1b415 (diff)
downloadcoreboot-73b723d7dbb371ec294c5306b8a839cfe93e1bcd.tar.xz
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 <dtor@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/894689 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Change-Id: Ia4f8cf83351dae0d78995ce0b0ed902d1e4ac3e8 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/27759 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/soc/intel/braswell')
-rw-r--r--src/soc/intel/braswell/include/soc/gpio.h9
1 files changed, 5 insertions, 4 deletions
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 {