From f6bc0dfffca27571f24ba97aa2f67caa7a386fc5 Mon Sep 17 00:00:00 2001 From: Mike Lee Date: Fri, 12 Mar 2021 20:55:01 +0800 Subject: blipper: support keypad function Enable keypad function BUG=b:182018600 BRANCH=dedede TEST=make BOARD=blipper pass, then test keypad function ok Signed-off-by: Mike Lee Change-Id: I313ceba51290ea8968ca25962551431d73518184 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2755358 Reviewed-by: Henry Sun Reviewed-by: Aseda Aboagye Commit-Queue: Aseda Aboagye --- board/blipper/board.c | 30 ++++++++++++++++++++++++++++++ board/blipper/board.h | 3 +++ 2 files changed, 33 insertions(+) (limited to 'board/blipper') diff --git a/board/blipper/board.c b/board/blipper/board.c index 5cb2390474..d1b4b08c2a 100644 --- a/board/blipper/board.c +++ b/board/blipper/board.c @@ -19,6 +19,7 @@ #include "gpio.h" #include "hooks.h" #include "intc.h" +#include "keyboard_raw.h" #include "keyboard_scan.h" #include "lid_switch.h" #include "power.h" @@ -175,6 +176,29 @@ const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { }, }; +static const struct ec_response_keybd_config blipper_keybd = { + .num_top_row_keys = 10, + .action_keys = { + TK_BACK, /* T1 */ + TK_FORWARD, /* T2 */ + TK_REFRESH, /* T3 */ + TK_FULLSCREEN, /* T4 */ + TK_OVERVIEW, /* T5 */ + TK_BRIGHTNESS_DOWN, /* T6 */ + TK_BRIGHTNESS_UP, /* T7 */ + TK_VOL_MUTE, /* T8 */ + TK_VOL_DOWN, /* T9 */ + TK_VOL_UP, /* T10 */ + }, + .capabilities = KEYBD_CAP_SCRNLOCK_KEY | KEYBD_CAP_NUMERIC_KEYPAD, +}; + +__override const struct ec_response_keybd_config +*board_vivaldi_keybd_config(void) +{ + return &blipper_keybd; +} + void board_init(void) { gpio_enable_interrupt(GPIO_USB_C0_INT_ODL); @@ -195,6 +219,12 @@ void board_init(void) */ if (!gpio_get_level(GPIO_USB_C0_INT_ODL)) hook_call_deferred(&check_c0_line_data, 0); + + /* Setting scan mask KSO11, KSO12, KSO13 and KSO14 */ + keyscan_config.actual_key_mask[11] = 0xfe; + keyscan_config.actual_key_mask[12] = 0xff; + keyscan_config.actual_key_mask[13] = 0xff; + keyscan_config.actual_key_mask[14] = 0xff; } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/blipper/board.h b/board/blipper/board.h index d3905df9ab..cf1809232d 100644 --- a/board/blipper/board.h +++ b/board/blipper/board.h @@ -66,6 +66,9 @@ /* USB Mux */ #define CONFIG_USB_MUX_IT5205 +/* KeyBoard */ +#define CONFIG_KEYBOARD_KEYPAD + #ifndef __ASSEMBLER__ #include "gpio_signal.h" -- cgit v1.2.1