diff options
author | Heng-Ruey Hsu <henryhsu@google.com> | 2019-08-28 18:00:51 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-11-11 04:53:20 +0000 |
commit | a9629611a9f8d3d301363683bc3e7db2fbbf769c (patch) | |
tree | f8469a90f9495a55f94e4192dd460df5e6a7d376 /board/kukui | |
parent | d8abaaa35932d7b0e7a0aa99e52a9b81b7d74584 (diff) | |
download | chrome-ec-a9629611a9f8d3d301363683bc3e7db2fbbf769c.tar.gz |
Enable double tap host detection in kukui
BUG=b:135575671
BRANCH=none
TEST=AP can receive mkbp event when double tap is triggered
Change-Id: I35abf2a62d4980c9b9232c28a72c5ba624142270
Signed-off-by: Heng-Ruey Hsu <henryhsu@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1772867
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'board/kukui')
-rw-r--r-- | board/kukui/board.c | 13 | ||||
-rw-r--r-- | board/kukui/board.h | 15 |
2 files changed, 27 insertions, 1 deletions
diff --git a/board/kukui/board.c b/board/kukui/board.c index bd7a2f9284..08463539cf 100644 --- a/board/kukui/board.c +++ b/board/kukui/board.c @@ -21,6 +21,7 @@ #include "driver/tcpm/mt6370.h" #include "driver/usb_mux/it5205.h" #include "extpower.h" +#include "gesture.h" #include "gpio.h" #include "hooks.h" #include "host_command.h" @@ -329,6 +330,11 @@ static void board_rev_init(void) } DECLARE_HOOK(HOOK_INIT, board_rev_init, HOOK_PRIO_INIT_ADC + 1); +void sensor_board_proc_double_tap(void) +{ + CPRINTS("Detect double tap"); +} + /* Motion sensors */ /* Mutexes */ #ifndef VARIANT_KUKUI_NO_SENSORS @@ -437,7 +443,12 @@ struct motion_sensor_t motion_sensors[] = { .config = { /* Enable accel in S0 */ [SENSOR_CONFIG_EC_S0] = { - .odr = 10000 | ROUND_UP_FLAG, + .odr = TAP_ODR, + .ec_rate = 100 * MSEC, + }, + /* For double tap detection */ + [SENSOR_CONFIG_EC_S3] = { + .odr = TAP_ODR, .ec_rate = 100 * MSEC, }, }, diff --git a/board/kukui/board.h b/board/kukui/board.h index 31125cf9e5..41ea0092c2 100644 --- a/board/kukui/board.h +++ b/board/kukui/board.h @@ -90,6 +90,11 @@ (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\ EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON)) +/* MKBP */ +#define CONFIG_MKBP_EVENT +#define CONFIG_MKBP_EVENT_WAKEUP_MASK \ + (BIT(EC_MKBP_EVENT_SENSOR_FIFO) | BIT(EC_MKBP_EVENT_HOST_EVENT)) + #ifndef __ASSEMBLER__ enum adc_channel { @@ -144,6 +149,16 @@ int board_is_sourcing_vbus(int port); void pogo_adc_interrupt(enum gpio_signal signal); int board_discharge_on_ac(int enable); +/* Enable double tap detection */ +#define CONFIG_GESTURE_DETECTION +#define CONFIG_GESTURE_HOST_DETECTION +#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 0 +#define CONFIG_GESTURE_SAMPLING_INTERVAL_MS 5 +#define CONFIG_GESTURE_TAP_THRES_MG 100 +#define CONFIG_GESTURE_TAP_MAX_INTERSTICE_T 500 +#define CONFIG_GESTURE_DETECTION_MASK \ + BIT(CONFIG_GESTURE_SENSOR_DOUBLE_TAP) + #endif /* !__ASSEMBLER__ */ #endif /* __CROS_EC_BOARD_H */ |