diff options
-rw-r--r-- | board/woomax/board.c | 34 | ||||
-rw-r--r-- | board/woomax/board.h | 5 |
2 files changed, 39 insertions, 0 deletions
diff --git a/board/woomax/board.c b/board/woomax/board.c index 4d905057ae..2a56852173 100644 --- a/board/woomax/board.c +++ b/board/woomax/board.c @@ -21,6 +21,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" @@ -437,3 +438,36 @@ static void board_chipset_suspend(void) } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); +static const struct ec_response_keybd_config woomax_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 &woomax_kb; +} + +static void keyboard_init(void) +{ + keyscan_config.actual_key_mask[1] = 0xfe; + 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/woomax/board.h b/board/woomax/board.h index b654a1d732..f9c2d16946 100644 --- a/board/woomax/board.h +++ b/board/woomax/board.h @@ -35,6 +35,11 @@ #define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL #define CONFIG_GMR_TABLET_MODE +/* Keyboard */ +#define CONFIG_KEYBOARD_VIVALDI +#define CONFIG_KEYBOARD_REFRESH_ROW3 +#define CONFIG_KEYBOARD_KEYPAD + /* GPIO mapping from board specific name to EC common name. */ #define CONFIG_BATTERY_PRESENT_GPIO GPIO_EC_BATT_PRES_ODL #define CONFIG_SCI_GPIO GPIO_EC_FCH_SCI_ODL |