summaryrefslogtreecommitdiff
path: root/chip/npcx
diff options
context:
space:
mode:
authorZhuohao Lee <zhuohao@chromium.org>2020-02-04 12:55:33 +0800
committerCommit Bot <commit-bot@chromium.org>2020-03-10 20:07:06 +0000
commit4d4fb482f45f592c35a5920a8a97a1fed70b0477 (patch)
tree00075194236d14c61c63f8d9dfb6695170cf93a8 /chip/npcx
parent8799bde592c944cb51c9861011d8e57bb58bc50d (diff)
downloadchrome-ec-4d4fb482f45f592c35a5920a8a97a1fed70b0477.tar.gz
keyboard: Add a new config for the keyboard customization
In order to support a non-chromeos keyboard matrix, we can add a new config CONFIG_KEYBOARD_CUSTOMIZATION to customize the keyboard matrix in the board setting. BUG=b:148034320 BRANCH=firmware-hatch-12672.B TEST=build pass Change-Id: I6a32a1f79aeb09805c5f47f8540ea25f67a34f7f Signed-off-by: Zhuohao Lee <zhuohao@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2035444 Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'chip/npcx')
-rw-r--r--chip/npcx/keyboard_raw.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/chip/npcx/keyboard_raw.c b/chip/npcx/keyboard_raw.c
index 12f81e2921..e6b8cad7bd 100644
--- a/chip/npcx/keyboard_raw.c
+++ b/chip/npcx/keyboard_raw.c
@@ -95,20 +95,26 @@ test_mockable void keyboard_raw_drive_column(int col)
/* Drive all lines to high */
if (col == KEYBOARD_COLUMN_NONE) {
mask = ~0;
-#ifdef CONFIG_KEYBOARD_COL2_INVERTED
+#if defined(CONFIG_KEYBOARD_CUSTOMIZATION)
+ board_keyboard_drive_col(col);
+#elif defined(CONFIG_KEYBOARD_COL2_INVERTED)
gpio_set_level(GPIO_KBD_KSO2, 0);
#endif
}
/* Set KBSOUT to zero to detect key-press */
else if (col == KEYBOARD_COLUMN_ALL) {
mask = ~(BIT(keyboard_cols) - 1);
-#ifdef CONFIG_KEYBOARD_COL2_INVERTED
+#if defined(CONFIG_KEYBOARD_CUSTOMIZATION)
+ board_keyboard_drive_col(col);
+#elif defined(CONFIG_KEYBOARD_COL2_INVERTED)
gpio_set_level(GPIO_KBD_KSO2, 1);
#endif
}
/* Drive one line for detection */
else {
-#ifdef CONFIG_KEYBOARD_COL2_INVERTED
+#if defined(CONFIG_KEYBOARD_CUSTOMIZATION)
+ board_keyboard_drive_col(col);
+#elif defined(CONFIG_KEYBOARD_COL2_INVERTED)
if (col == 2)
gpio_set_level(GPIO_KBD_KSO2, 1);
else