summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuibin Chang <Ruibin.Chang@ite.com.tw>2023-02-06 14:37:55 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-02-16 00:05:28 +0000
commit0849542c72359150a357945c010dca6b5a213633 (patch)
tree7c4c0a641140b6b1160c6c8030ce48eafe3f3f20
parent5825d894b94ee4d1e2cc297c0e27712bc55c3855 (diff)
downloadchrome-ec-0849542c72359150a357945c010dca6b5a213633.tar.gz
zephyr: add sleep property for keyboard factory test
Add sleep property for keyboard factory test. This CL depends on PR: https://github.com/zephyrproject-rtos/zephyr/pull/54641 BRANCH=none BUG=b:262352202 TEST=on yaviks, run "ectool kbfactorytest" when we intend to short the KSI/KSO pin, it would fail the test. And when finish the test, keyboard scan function can work. Change-Id: I6a9d1831a911e52d989b074be14797cda5375036 Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4223685 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org>
-rw-r--r--zephyr/drivers/cros_kb_raw/cros_kb_raw_ite.c24
-rw-r--r--zephyr/program/nissa/yaviks/keyboard.dtsi24
2 files changed, 26 insertions, 22 deletions
diff --git a/zephyr/drivers/cros_kb_raw/cros_kb_raw_ite.c b/zephyr/drivers/cros_kb_raw/cros_kb_raw_ite.c
index 92a34740d6..7de488b059 100644
--- a/zephyr/drivers/cros_kb_raw/cros_kb_raw_ite.c
+++ b/zephyr/drivers/cros_kb_raw/cros_kb_raw_ite.c
@@ -134,16 +134,10 @@ static int cros_kb_raw_ite_drive_column(const struct device *dev, int col)
#ifdef CONFIG_PLATFORM_EC_KEYBOARD_FACTORY_TEST
static int cros_kb_raw_ite_config_alt(const struct device *dev, bool enable)
{
- const struct cros_kb_raw_ite_config *config;
- const struct device *gpio_ksi;
- const struct device *gpio_ksoh;
- const struct device *gpio_ksol;
- gpio_pin_t pin;
+ const struct cros_kb_raw_ite_config *config = dev->config;
int status = 0;
if (enable) {
- config = dev->config;
-
/* Set KSI/KSO pins of cros_kb_raw node to kbs mode */
status = pinctrl_apply_state(config->pcfg,
PINCTRL_STATE_DEFAULT);
@@ -152,20 +146,8 @@ static int cros_kb_raw_ite_config_alt(const struct device *dev, bool enable)
return status;
}
} else {
- gpio_ksi = DEVICE_DT_GET(DT_NODELABEL(gpioksi));
- gpio_ksoh = DEVICE_DT_GET(DT_NODELABEL(gpioksoh));
- gpio_ksol = DEVICE_DT_GET(DT_NODELABEL(gpioksol));
-
- /* Set KSI[7:0]/KSO[12:0] pins to gpio input mode */
- for (pin = 0; pin < 8; pin++) {
- status |= gpio_pin_configure(gpio_ksi, pin, GPIO_INPUT);
- status |=
- gpio_pin_configure(gpio_ksol, pin, GPIO_INPUT);
- if (pin <= 4) {
- status |= gpio_pin_configure(gpio_ksoh, pin,
- GPIO_INPUT);
- }
- }
+ /* Set KSI/KSO pins of cros_kb_raw node to gpio mode */
+ status = pinctrl_apply_state(config->pcfg, PINCTRL_STATE_SLEEP);
if (status < 0) {
LOG_ERR("Failed to enable KSI and KSO gpio mode");
return status;
diff --git a/zephyr/program/nissa/yaviks/keyboard.dtsi b/zephyr/program/nissa/yaviks/keyboard.dtsi
index 17f3ca8e16..87d7d718fa 100644
--- a/zephyr/program/nissa/yaviks/keyboard.dtsi
+++ b/zephyr/program/nissa/yaviks/keyboard.dtsi
@@ -46,5 +46,27 @@
&kso12_default
&kso13_default
&kso14_default>;
- pinctrl-names = "default";
+ pinctrl-1 = <&ksi0_sleep
+ &ksi1_sleep
+ &ksi2_sleep
+ &ksi3_sleep
+ &ksi4_sleep
+ &ksi5_sleep
+ &ksi6_sleep
+ &ksi7_sleep
+ &kso0_sleep
+ &kso1_sleep
+ &kso3_sleep
+ &kso4_sleep
+ &kso5_sleep
+ &kso6_sleep
+ &kso7_sleep
+ &kso8_sleep
+ &kso9_sleep
+ &kso10_sleep
+ &kso11_sleep
+ &kso12_sleep
+ &kso13_sleep
+ &kso14_sleep>;
+ pinctrl-names = "default", "sleep";
};