diff options
author | Wealian Liao <whliao@nuvoton.corp-partner.google.com> | 2021-08-12 10:30:55 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-12 20:46:31 +0000 |
commit | 5713f5cd0c01155603bc6e9cbc15855303e2a6c4 (patch) | |
tree | 5f8b8ca7b4fdda91e6e1d5bc25eb00a351e04f43 | |
parent | 938e1dd6d8e90c45dbc1d656e026440a50a5c4e9 (diff) | |
download | chrome-ec-5713f5cd0c01155603bc6e9cbc15855303e2a6c4.tar.gz |
zephyr: npcx_evb: Enable Keyboard
This CL enables keyboard function for npcx7/9_evb. The keyboard sets to
the following config:
* kso0-12 are selected for keyboard scan
* enable CONFIG_CROS_KB_RAW_NPCX_KSO_HIGH_DRIVE
* set keyscan_config to meet the config in npcx_evb board.c
BRANCH=none
BUG=none
TEST='ksstate on' & check actual key setting
Signed-off-by: Wealian Liao <whliao@nuvoton.corp-partner.google.com>
Change-Id: I059e1f8d07558a0f465769ecffd4246dcda1a608
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3077764
Reviewed-by: Keith Short <keithshort@chromium.org>
Commit-Queue: Keith Short <keithshort@chromium.org>
-rw-r--r-- | zephyr/boards/arm/npcx_evb/npcx_evb.dtsi | 26 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx7/include/gpio_map.h | 2 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx7/keyboard.dts | 31 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx7/prj.conf | 6 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx7/zmake.yaml | 1 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx9/include/gpio_map.h | 2 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx9/keyboard.dts | 31 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx9/prj.conf | 6 | ||||
-rw-r--r-- | zephyr/projects/npcx_evb/npcx9/zmake.yaml | 1 |
9 files changed, 100 insertions, 6 deletions
diff --git a/zephyr/boards/arm/npcx_evb/npcx_evb.dtsi b/zephyr/boards/arm/npcx_evb/npcx_evb.dtsi index ae0d36bf51..8760b554b3 100644 --- a/zephyr/boards/arm/npcx_evb/npcx_evb.dtsi +++ b/zephyr/boards/arm/npcx_evb/npcx_evb.dtsi @@ -104,3 +104,29 @@ &adc0 { status = "okay"; }; + +&cros_kb_raw { + status = "okay"; + pinctrl-0 = <&alt7_no_ksi0_sl + &alt7_no_ksi1_sl + &alt7_no_ksi2_sl + &alt7_no_ksi3_sl + &alt7_no_ksi4_sl + &alt7_no_ksi5_sl + &alt7_no_ksi6_sl + &alt7_no_ksi7_sl + &alt8_no_kso00_sl + &alt8_no_kso01_sl + &alt8_no_kso02_sl + &alt8_no_kso03_sl + &alt8_no_kso04_sl + &alt8_no_kso05_sl + &alt8_no_kso06_sl + &alt8_no_kso07_sl + &alt9_no_kso08_sl + &alt9_no_kso09_sl + &alt9_no_kso10_sl + &alt9_no_kso11_sl + &alt9_no_kso12_sl + >; +}; diff --git a/zephyr/projects/npcx_evb/npcx7/include/gpio_map.h b/zephyr/projects/npcx_evb/npcx7/include/gpio_map.h index 8073daad90..741cbd89a2 100644 --- a/zephyr/projects/npcx_evb/npcx7/include/gpio_map.h +++ b/zephyr/projects/npcx_evb/npcx7/include/gpio_map.h @@ -9,6 +9,8 @@ #include <devicetree.h> #include <gpio_signal.h> +#define GPIO_KBD_KSO2 GPIO_UNIMPLEMENTED + /* * Set EC_CROS_GPIO_INTERRUPTS to a space-separated list of GPIO_INT items. * diff --git a/zephyr/projects/npcx_evb/npcx7/keyboard.dts b/zephyr/projects/npcx_evb/npcx7/keyboard.dts new file mode 100644 index 0000000000..fdeee3c02c --- /dev/null +++ b/zephyr/projects/npcx_evb/npcx7/keyboard.dts @@ -0,0 +1,31 @@ +/* Copyright 2021 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/ { + cros-keyscan { + compatible = "cros-keyscan"; + + output-settle = <40>; + debounce-down = <6000>; + scan-period = <1500>; + poll-timeout = <1000000>; + + actual-key-mask = < + 0x14 /* C0 */ + 0xff /* C1 */ + 0xff /* C2 */ + 0xff /* C3 */ + 0xff /* C4 */ + 0xf5 /* C5 */ + 0xff /* C6 */ + 0xa4 /* C7 */ + 0xff /* C8 */ + 0xf6 /* C9 */ + 0x55 /* C10 */ + 0xfa /* C11 */ + 0xc8 /* C12 */ + >; + }; +}; diff --git a/zephyr/projects/npcx_evb/npcx7/prj.conf b/zephyr/projects/npcx_evb/npcx7/prj.conf index 30f3152c42..b3baa1004c 100644 --- a/zephyr/projects/npcx_evb/npcx7/prj.conf +++ b/zephyr/projects/npcx_evb/npcx7/prj.conf @@ -10,10 +10,7 @@ CONFIG_PLATFORM_EC_LID_SWITCH=y CONFIG_PLATFORM_EC_POWER_BUTTON=y CONFIG_SHIMMED_TASKS=y -CONFIG_CROS_KB_RAW_NPCX=n - CONFIG_PLATFORM_EC_BACKLIGHT_LID=n -CONFIG_PLATFORM_EC_KEYBOARD=n CONFIG_PLATFORM_EC_SWITCH=n CONFIG_PLATFORM_EC_VBOOT_EFS2=n CONFIG_PLATFORM_EC_VSTORE=n @@ -37,6 +34,9 @@ CONFIG_ESPI=y CONFIG_PLATFORM_EC_ESPI_VW_SLP_S3=y CONFIG_PLATFORM_EC_ESPI_VW_SLP_S4=y +# Keyboard +CONFIG_CROS_KB_RAW_NPCX_KSO_HIGH_DRIVE=y + # Zephyr feature CONFIG_ASSERT=y CONFIG_SHELL_MINIMAL=n diff --git a/zephyr/projects/npcx_evb/npcx7/zmake.yaml b/zephyr/projects/npcx_evb/npcx7/zmake.yaml index 5c74307019..79faa50656 100644 --- a/zephyr/projects/npcx_evb/npcx7/zmake.yaml +++ b/zephyr/projects/npcx_evb/npcx7/zmake.yaml @@ -7,6 +7,7 @@ dts-overlays: - gpio.dts - pwm.dts - fan.dts + - keyboard.dts supported-zephyr-versions: - v2.6 toolchain: coreboot-sdk diff --git a/zephyr/projects/npcx_evb/npcx9/include/gpio_map.h b/zephyr/projects/npcx_evb/npcx9/include/gpio_map.h index 8073daad90..741cbd89a2 100644 --- a/zephyr/projects/npcx_evb/npcx9/include/gpio_map.h +++ b/zephyr/projects/npcx_evb/npcx9/include/gpio_map.h @@ -9,6 +9,8 @@ #include <devicetree.h> #include <gpio_signal.h> +#define GPIO_KBD_KSO2 GPIO_UNIMPLEMENTED + /* * Set EC_CROS_GPIO_INTERRUPTS to a space-separated list of GPIO_INT items. * diff --git a/zephyr/projects/npcx_evb/npcx9/keyboard.dts b/zephyr/projects/npcx_evb/npcx9/keyboard.dts new file mode 100644 index 0000000000..fdeee3c02c --- /dev/null +++ b/zephyr/projects/npcx_evb/npcx9/keyboard.dts @@ -0,0 +1,31 @@ +/* Copyright 2021 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/ { + cros-keyscan { + compatible = "cros-keyscan"; + + output-settle = <40>; + debounce-down = <6000>; + scan-period = <1500>; + poll-timeout = <1000000>; + + actual-key-mask = < + 0x14 /* C0 */ + 0xff /* C1 */ + 0xff /* C2 */ + 0xff /* C3 */ + 0xff /* C4 */ + 0xf5 /* C5 */ + 0xff /* C6 */ + 0xa4 /* C7 */ + 0xff /* C8 */ + 0xf6 /* C9 */ + 0x55 /* C10 */ + 0xfa /* C11 */ + 0xc8 /* C12 */ + >; + }; +}; diff --git a/zephyr/projects/npcx_evb/npcx9/prj.conf b/zephyr/projects/npcx_evb/npcx9/prj.conf index e497c82edf..c0b2eaaa86 100644 --- a/zephyr/projects/npcx_evb/npcx9/prj.conf +++ b/zephyr/projects/npcx_evb/npcx9/prj.conf @@ -10,10 +10,7 @@ CONFIG_PLATFORM_EC_LID_SWITCH=y CONFIG_PLATFORM_EC_POWER_BUTTON=y CONFIG_SHIMMED_TASKS=y -CONFIG_CROS_KB_RAW_NPCX=n - CONFIG_PLATFORM_EC_BACKLIGHT_LID=n -CONFIG_PLATFORM_EC_KEYBOARD=n CONFIG_PLATFORM_EC_SWITCH=n CONFIG_PLATFORM_EC_VBOOT_EFS2=n CONFIG_PLATFORM_EC_VSTORE=n @@ -41,6 +38,9 @@ CONFIG_ESPI=y CONFIG_PLATFORM_EC_ESPI_VW_SLP_S3=y CONFIG_PLATFORM_EC_ESPI_VW_SLP_S4=y +# Keyboard +CONFIG_CROS_KB_RAW_NPCX_KSO_HIGH_DRIVE=y + # Zephyr feature CONFIG_ASSERT=y CONFIG_SHELL_MINIMAL=n diff --git a/zephyr/projects/npcx_evb/npcx9/zmake.yaml b/zephyr/projects/npcx_evb/npcx9/zmake.yaml index 98fb09c5a0..95a2d3adf7 100644 --- a/zephyr/projects/npcx_evb/npcx9/zmake.yaml +++ b/zephyr/projects/npcx_evb/npcx9/zmake.yaml @@ -7,6 +7,7 @@ dts-overlays: - gpio.dts - pwm.dts - fan.dts + - keyboard.dts supported-zephyr-versions: - v2.6 toolchain: coreboot-sdk |