diff options
author | Sue Chen <sue.chen@quanta.corp-partner.google.com> | 2022-10-11 15:32:21 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-07 17:51:56 +0000 |
commit | b7d535ca00ea3dfee2d200408c18c1da0c1fab18 (patch) | |
tree | 5fe7943fe8632a31209dfc86ed2b1692f225659c /common/keyboard_scan.c | |
parent | 42d6df2a6bc0659b8f6b5b6837b1fa39bbb46c58 (diff) | |
download | chrome-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.c | 13 |
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); |