summaryrefslogtreecommitdiff
path: root/common/keyboard_scan.c
diff options
context:
space:
mode:
authorSue Chen <sue.chen@quanta.corp-partner.google.com>2022-10-11 15:32:21 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-07 17:51:56 +0000
commitb7d535ca00ea3dfee2d200408c18c1da0c1fab18 (patch)
tree5fe7943fe8632a31209dfc86ed2b1692f225659c /common/keyboard_scan.c
parent42d6df2a6bc0659b8f6b5b6837b1fa39bbb46c58 (diff)
downloadchrome-ec-b7d535ca00ea3dfee2d200408c18c1da0c1fab18.tar.gz
zephyr: add keyboard factory test support
Add support for factory keyboard test through command 'ectool kbfactorytest' command. BUG=b:252950988 BRANCH=none TEST=none LOW_COVERAGE_REASON=b:256670141 create unit test for keyboard factory test Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com> Change-Id: I6c0c9c6098a306baa1a64eb664818db28f01041e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3944300 Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Diffstat (limited to 'common/keyboard_scan.c')
-rw-r--r--common/keyboard_scan.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/common/keyboard_scan.c b/common/keyboard_scan.c
index 6c3756170b..bd820ae881 100644
--- a/common/keyboard_scan.c
+++ b/common/keyboard_scan.c
@@ -1078,6 +1078,10 @@ int keyboard_factory_test_scan(void)
keyboard_scan_enable(0, KB_SCAN_DISABLE_LID_CLOSED);
flags = gpio_get_default_flags(GPIO_KBD_KSO2);
+ if (IS_ENABLED(CONFIG_ZEPHYR))
+ /* set all KSI/KSO pins to GPIO_ALT_FUNC_NONE */
+ keybaord_raw_config_alt(0);
+
/* Set all of KSO/KSI pins to internal pull-up and input */
for (i = 0; i < keyboard_factory_scan_pins_used; i++) {
if (keyboard_factory_scan_pins[i][0] < 0)
@@ -1086,7 +1090,9 @@ int keyboard_factory_test_scan(void)
port = keyboard_factory_scan_pins[i][0];
id = keyboard_factory_scan_pins[i][1];
- gpio_set_alternate_function(port, 1 << id, GPIO_ALT_FUNC_NONE);
+ if (!IS_ENABLED(CONFIG_ZEPHYR))
+ gpio_set_alternate_function(port, 1 << id,
+ GPIO_ALT_FUNC_NONE);
gpio_set_flags_by_mask(port, 1 << id,
GPIO_INPUT | GPIO_PULL_UP);
}
@@ -1119,7 +1125,10 @@ int keyboard_factory_test_scan(void)
GPIO_INPUT | GPIO_PULL_UP);
}
done:
- gpio_config_module(MODULE_KEYBOARD_SCAN, 1);
+ if (IS_ENABLED(CONFIG_ZEPHYR))
+ keybaord_raw_config_alt(1);
+ else
+ gpio_config_module(MODULE_KEYBOARD_SCAN, 1);
gpio_set_flags(GPIO_KBD_KSO2, flags);
keyboard_scan_enable(1, KB_SCAN_DISABLE_LID_CLOSED);