summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael5 Chen <michael5_chen1@pegatron.corp-partner.google.com>2020-07-15 16:13:08 +0800
committerCommit Bot <commit-bot@chromium.org>2020-07-17 21:18:10 +0000
commit17f7f39634bdc57b5c6daa1f03dc9fd0c93d3739 (patch)
treec09ce65482789a8a6c39310b11aee1fe1ad0b407
parenta49d1a8625e9a27b9b78b2b3d1991028b4ca0fba (diff)
downloadchrome-ec-17f7f39634bdc57b5c6daa1f03dc9fd0c93d3739.tar.gz
woomax: Initialize the vivaldi keyboard
Initialize the vivaldi keyboard. BUG=b:156200330 BRANCH=master TEST=Manual 1. Scan all key. 2. Check F1 to F10 function. 3. Check ALT + Volup + H. 4. Check ALT + Volup + R. 5. Check F2 + powerbutton (EC reboot). 6. Check ESC + F2 + powerbutton. Signed-off-by: Michael5 Chen <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: I3a8309050747f424aa18c790094d0c2500b35761 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2299600 Reviewed-by: Edward Hill <ecgh@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
-rw-r--r--board/woomax/board.c34
-rw-r--r--board/woomax/board.h5
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