From f67e66aea604111d15199d1a86d8b8720d907fc8 Mon Sep 17 00:00:00 2001 From: Michael5 Chen Date: Fri, 17 Jul 2020 11:32:45 +0800 Subject: delbin: Initialize the vivaldi keyboard. Initialize the vivaldi keyboard. BUG=b:156200438, b:154578875 BRANCH=master TEST=manual 1. Scan all key. 2. Check action key function. 3. Check ALT + Volup + H. 4. Check ALT + Volup + R. 5. Check Refresh (F2) + powerbutton (EC reboot). 6. Check ESC + Refresh + powerbutton. Signed-off-by: Michael5 Chen Change-Id: I0e6de10aad69056d58d010c042af264e32ebe93a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2304235 Reviewed-by: Keith Short --- board/delbin/board.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ board/delbin/board.h | 2 ++ 2 files changed, 46 insertions(+) (limited to 'board/delbin') diff --git a/board/delbin/board.c b/board/delbin/board.c index 078d0654d1..a5b50ef110 100644 --- a/board/delbin/board.c +++ b/board/delbin/board.c @@ -20,6 +20,7 @@ #include "fan_chip.h" #include "gpio.h" #include "hooks.h" +#include "keyboard_scan.h" #include "lid_switch.h" #include "power.h" #include "power_button.h" @@ -355,3 +356,46 @@ void ppc_interrupt(enum gpio_signal signal) break; } } + +static const struct ec_response_keybd_config delbin_kb = { + .num_top_row_keys = 10, + .action_keys = { + TK_BACK, /* T1 */ + TK_REFRESH, /* T2 */ + TK_FULLSCREEN, /* T3 */ + TK_OVERVIEW, /* T4 */ + TK_SNAPSHOT, /* 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, +}; + +__override const struct ec_response_keybd_config +*board_vivaldi_keybd_config(void) +{ + return &delbin_kb; +} + +static void keyboard_init(void) +{ + keyscan_config.actual_key_mask[0] = 0x1c; + keyscan_config.actual_key_mask[1] = 0xfe; + keyscan_config.actual_key_mask[2] = 0xff; + keyscan_config.actual_key_mask[3] = 0xff; + keyscan_config.actual_key_mask[4] = 0xff; + keyscan_config.actual_key_mask[5] = 0xf5; + keyscan_config.actual_key_mask[6] = 0xff; + keyscan_config.actual_key_mask[7] = 0xa4; + keyscan_config.actual_key_mask[8] = 0xff; + keyscan_config.actual_key_mask[9] = 0xfe; + keyscan_config.actual_key_mask[10] = 0x55; + 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, keyboard_init, HOOK_PRIO_INIT_I2C + 1); diff --git a/board/delbin/board.h b/board/delbin/board.h index 65ba2ec64c..cf88e591a8 100644 --- a/board/delbin/board.h +++ b/board/delbin/board.h @@ -32,6 +32,8 @@ #define CONFIG_LED_ONOFF_STATES /* Keyboard features */ +#define CONFIG_KEYBOARD_VIVALDI +#define CONFIG_KEYBOARD_REFRESH_ROW3 /* Sensors */ /* BMA253 accelerometer in base */ -- cgit v1.2.1