summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2014-02-06 13:10:23 -0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-02-08 04:15:39 +0000
commit683beb87378afbebc24a41b532cb2480d90d5282 (patch)
tree89ce40d4d5d6e20490d0176c267b7f01533a4a2d /board
parent5c808ee56c44be4c665de6a85f5feb5cd5753f9d (diff)
downloadchrome-ec-683beb87378afbebc24a41b532cb2480d90d5282.tar.gz
Samus: Support capsense input as keyboard events.
This is experimental for now; the capsense chip simply reports its buttons as the number keys on the keyboard (1-8). BUG=chrome-os-partner:23382 BRANCH=samus,ToT TEST=manual To test, you'll need a reworked and correctly programmed capsense module. Boot the system, and switch to VT2. Touch the capsense bar and you'll see the input appear on the console as though you were typing numbers. Note that the capsense hardware is still buggy. Refer to the bug for workarounds. Change-Id: I4c3a8b70b8197ffd538c38c59c9336383365afa7 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/185434 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Dave Parker <dparker@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/samus/board.c5
-rw-r--r--board/samus/board.h3
2 files changed, 5 insertions, 3 deletions
diff --git a/board/samus/board.c b/board/samus/board.c
index de32c21c7f..c0a1325a45 100644
--- a/board/samus/board.c
+++ b/board/samus/board.c
@@ -8,6 +8,7 @@
#include "adc.h"
#include "adc_chip.h"
#include "backlight.h"
+#include "capsense.h"
#include "common.h"
#include "driver/temp_sensor/tmp006.h"
#include "driver/als_isl29035.h"
@@ -64,6 +65,8 @@ const struct gpio_info gpio_list[] = {
switch_interrupt},
{"PCH_BL_EN", LM4_GPIO_M, (1<<3), GPIO_INT_RISING,
backlight_interrupt},
+ {"CAPSENSE_INT_L", LM4_GPIO_N, (1<<0), GPIO_INT_FALLING,
+ capsense_interrupt},
/* Other inputs */
{"BOARD_VERSION1", LM4_GPIO_Q, (1<<5), GPIO_INPUT, NULL},
@@ -76,8 +79,6 @@ const struct gpio_info gpio_list[] = {
{"USB1_STATUS_L", LM4_GPIO_E, (1<<6), GPIO_INPUT, NULL},
{"USB2_OC_L", LM4_GPIO_E, (1<<0), GPIO_INPUT, NULL},
{"USB2_STATUS_L", LM4_GPIO_D, (1<<7), GPIO_INPUT, NULL},
- /* Not yet sure if this will need to be handled as an interrupt */
- {"CAPSENSE_INT_L", LM4_GPIO_N, (1<<0), GPIO_INPUT, NULL},
/* Outputs; all unasserted by default except for reset signals */
{"CPU_PROCHOT", LM4_GPIO_B, (1<<1), GPIO_OUT_LOW, NULL},
diff --git a/board/samus/board.h b/board/samus/board.h
index dc90f3b0cd..b892bd8d7c 100644
--- a/board/samus/board.h
+++ b/board/samus/board.h
@@ -18,6 +18,7 @@
#define CONFIG_ALS
#define CONFIG_ALS_ISL29035
#define CONFIG_BOARD_VERSION
+#define CONFIG_CAPSENSE
#define CONFIG_POWER_COMMON
#define CONFIG_CHIPSET_CAN_THROTTLE
#define CONFIG_KEYBOARD_BOARD_CONFIG
@@ -92,6 +93,7 @@ enum gpio_signal {
GPIO_RECOVERY_L, /* Recovery signal from servo */
GPIO_WP_L, /* Write protect input */
GPIO_PCH_BL_EN, /* PCH backlight input */
+ GPIO_CAPSENSE_INT_L, /* Capsense interrupt */
/* Other inputs */
GPIO_BOARD_VERSION1, /* Board version stuffing resistor 1 */
@@ -104,7 +106,6 @@ enum gpio_signal {
GPIO_USB1_STATUS_L, /* USB charger port 1 status output */
GPIO_USB2_OC_L, /* USB port overcurrent warning */
GPIO_USB2_STATUS_L, /* USB charger port 2 status output */
- GPIO_CAPSENSE_INT_L, /* Capsense interrupt (through EC_WAKE_L) */
/* Outputs */
GPIO_CPU_PROCHOT, /* Force CPU to think it's overheated */