summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Tsai <josh_tsai@compal.corp-partner.google.com>2022-07-13 08:14:26 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-07-21 01:54:40 +0000
commit53baccd1edb0a2667acfe5fad55b338ac0b50b50 (patch)
treea55f9ad925d08dc4d92e52cfaa4be855f4eb4f5c
parent3441e4ce2aecdde69035dafa092d9dcc4e1605e8 (diff)
downloadchrome-ec-53baccd1edb0a2667acfe5fad55b338ac0b50b50.tar.gz
banshee: configure the correct location of the refresh key
We change the refresh key from T3 to T2, so need to configure the correct location of the refresh key on different board id. BRANCH=none BUG=b:231265647 TEST=manually triggering recovery on banshee id1 and id2 TEST=evtest check all key is correct Signed-off-by: Josh Tsai <josh_tsai@compal.corp-partner.google.com> Change-Id: Ie01c572c824b6c42d3c515ed14365a3e7c083cdb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3759823 Reviewed-by: Boris Mittelberg <bmbm@google.com> Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
-rw-r--r--board/banshee/board.c13
-rw-r--r--board/banshee/board.h1
-rw-r--r--board/banshee/keyboard_customization.c20
-rw-r--r--board/banshee/keyboard_customization.h8
4 files changed, 38 insertions, 4 deletions
diff --git a/board/banshee/board.c b/board/banshee/board.c
index 0814f35a9b..fe9feb1a82 100644
--- a/board/banshee/board.c
+++ b/board/banshee/board.c
@@ -27,6 +27,7 @@
#include "switch.h"
#include "throttle_ap.h"
#include "usbc_config.h"
+#include "keyboard_scan.h"
#include "gpio_list.h" /* Must come after other header files. */
@@ -100,10 +101,10 @@ void battery_present_interrupt(enum gpio_signal signal)
hook_call_deferred(&board_set_charger_current_limit_deferred_data, 0);
}
+static uint32_t board_id;
static void configure_keyboard(void)
{
uint32_t cbi_val;
- uint32_t board_id = 1;
/* Board ID */
if (cbi_get_board_version(&cbi_val) != EC_SUCCESS ||
@@ -132,6 +133,8 @@ static void configure_keyboard(void)
gpio_set_flags(GPIO_EC_KSO_04_INV, GPIO_ODR_HIGH);
gpio_set_alternate_function(GPIO_PORT_1, (BIT(5) | BIT(7)),
GPIO_ALT_FUNC_DEFAULT);
+ key_typ.col_refresh = KEYBOARD_COL_ID2_REFRESH;
+ key_typ.row_refresh = KEYBOARD_ROW_ID2_REFRESH;
}
board_id_keyboard_col_inverted((int)board_id);
@@ -149,3 +152,11 @@ __override void board_pre_task_i2c_peripheral_init(void)
/* Configure board specific keyboard */
configure_keyboard();
}
+
+__override uint8_t board_keyboard_row_refresh(void)
+{
+ if (board_id < 2)
+ return KEYBOARD_ROW_ID1_REFRESH;
+ else
+ return KEYBOARD_ROW_ID2_REFRESH;
+}
diff --git a/board/banshee/board.h b/board/banshee/board.h
index 2627ce7556..efb010ac28 100644
--- a/board/banshee/board.h
+++ b/board/banshee/board.h
@@ -35,6 +35,7 @@
#define CONFIG_MP2964
/* KEYBOARD */
+#define CONFIG_KEYBOARD_MULTIPLE
#define CONFIG_KEYBOARD_CUSTOMIZATION
#define CONFIG_KEYBOARD_VIVALDI
diff --git a/board/banshee/keyboard_customization.c b/board/banshee/keyboard_customization.c
index 89ffd9cfaa..50c1f9e54b 100644
--- a/board/banshee/keyboard_customization.c
+++ b/board/banshee/keyboard_customization.c
@@ -10,6 +10,7 @@
#include "keyboard_config.h"
#include "keyboard_protocol.h"
#include "keyboard_raw.h"
+#include "keyboard_scan.h"
enum gpio_signal signal;
static int colinv;
@@ -46,6 +47,25 @@ void set_scancode_set2(uint8_t row, uint8_t col, uint16_t val)
scancode_set2[col][row] = val;
}
+struct keyboard_type key_typ = {
+ .col_esc = KEYBOARD_COL_ESC,
+ .row_esc = KEYBOARD_ROW_ESC,
+ .col_down = KEYBOARD_COL_DOWN,
+ .row_down = KEYBOARD_ROW_DOWN,
+ .col_left_shift = KEYBOARD_COL_LEFT_SHIFT,
+ .row_left_shift = KEYBOARD_ROW_LEFT_SHIFT,
+ .col_refresh = KEYBOARD_COL_ID1_REFRESH,
+ .row_refresh = KEYBOARD_ROW_ID1_REFRESH,
+ .col_right_alt = KEYBOARD_COL_RIGHT_ALT,
+ .row_right_alt = KEYBOARD_ROW_RIGHT_ALT,
+ .col_left_alt = KEYBOARD_COL_LEFT_ALT,
+ .row_left_alt = KEYBOARD_ROW_LEFT_ALT,
+ .col_key_r = KEYBOARD_COL_KEY_R,
+ .row_key_r = KEYBOARD_ROW_KEY_R,
+ .col_key_h = KEYBOARD_COL_KEY_H,
+ .row_key_h = KEYBOARD_ROW_KEY_H,
+};
+
void board_id_keyboard_col_inverted(int board_id)
{
if (board_id == 0) {
diff --git a/board/banshee/keyboard_customization.h b/board/banshee/keyboard_customization.h
index 59ac28745c..7ccb358cc6 100644
--- a/board/banshee/keyboard_customization.h
+++ b/board/banshee/keyboard_customization.h
@@ -40,9 +40,11 @@ extern uint8_t keyboard_cols;
#define KEYBOARD_COL_LEFT_ALT 3
#define KEYBOARD_ROW_LEFT_ALT 1
#define KEYBOARD_MASK_LEFT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_LEFT_ALT)
-#define KEYBOARD_COL_REFRESH 4
-#define KEYBOARD_ROW_REFRESH 6
-#define KEYBOARD_MASK_REFRESH KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_REFRESH)
+#define KEYBOARD_COL_ID1_REFRESH 4
+#define KEYBOARD_ROW_ID1_REFRESH 6
+#define KEYBOARD_COL_ID2_REFRESH 5
+#define KEYBOARD_ROW_ID2_REFRESH 2
+#define KEYBOARD_MASK_REFRESH KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_ID1_REFRESH)
#define KEYBOARD_COL_RIGHT_ALT 3
#define KEYBOARD_ROW_RIGHT_ALT 0
#define KEYBOARD_MASK_RIGHT_ALT KEYBOARD_ROW_TO_MASK(KEYBOARD_ROW_RIGHT_ALT)