From ba192f443638aa8834324ea8ef06f2f3c273bc61 Mon Sep 17 00:00:00 2001 From: Siyu Qin Date: Thu, 16 Mar 2023 11:35:41 +0800 Subject: corsola: set GPIO_LID_OPEN as GPIO_INPUT_PULL_UP The lid sensor is on daughter board, if daughter board is disconnected, the EC will detect the floating pin as low, then the lid state is locked as lid close. The DUT cannot power on by power button. So set the pin as GPIO_INPUT_PULL_UP. BUG=b:273422759 BRANCH=corsola TEST=1. disconnect daughter board, 'lidstate' shows 'lid open', and the DUT can power on by power button. 2. connect daughter board, DUT can power on by lid open. 3. ./twister -T zephyr/test/krabby/ Change-Id: I2766d4a3a245efc28621d8a0292390c64721aae4 Signed-off-by: Siyu Qin Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4344441 Reviewed-by: Mike Lee Reviewed-by: Ting Shen --- zephyr/program/corsola/ite_gpio.dtsi | 2 +- zephyr/program/corsola/npcx_gpio.dtsi | 2 +- zephyr/test/krabby/src/power_seq.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/zephyr/program/corsola/ite_gpio.dtsi b/zephyr/program/corsola/ite_gpio.dtsi index 5f06609f43..c478852b3b 100644 --- a/zephyr/program/corsola/ite_gpio.dtsi +++ b/zephyr/program/corsola/ite_gpio.dtsi @@ -25,7 +25,7 @@ enum-name = "GPIO_POWER_BUTTON_L"; }; lid_open: lid_open { - gpios = <&gpioe 2 GPIO_INPUT>; + gpios = <&gpioe 2 GPIO_INPUT_PULL_UP>; enum-name = "GPIO_LID_OPEN"; }; tablet_mode_l: tablet_mode_l { diff --git a/zephyr/program/corsola/npcx_gpio.dtsi b/zephyr/program/corsola/npcx_gpio.dtsi index 4976b7a1d5..cd269eeb69 100644 --- a/zephyr/program/corsola/npcx_gpio.dtsi +++ b/zephyr/program/corsola/npcx_gpio.dtsi @@ -123,7 +123,7 @@ gpios = <&gpio7 7 GPIO_INPUT>; }; gpio_lid_open: lid_open { - gpios = <&gpiod 2 GPIO_INPUT>; + gpios = <&gpiod 2 GPIO_INPUT_PULL_UP>; enum-name = "GPIO_LID_OPEN"; }; gpio_acok_od: acok_od { diff --git a/zephyr/test/krabby/src/power_seq.c b/zephyr/test/krabby/src/power_seq.c index f24a3d22b6..d01fbad035 100644 --- a/zephyr/test/krabby/src/power_seq.c +++ b/zephyr/test/krabby/src/power_seq.c @@ -124,6 +124,7 @@ ZTEST(power_seq, test_lid_open) const struct gpio_dt_spec *lid_open = gpio_get_dt_spec(GPIO_LID_OPEN); gpio_emul_input_set(lid_open->port, lid_open->pin, 0); + k_sleep(K_SECONDS(1)); zassert_equal(power_get_state(), POWER_G3); gpio_emul_input_set(lid_open->port, lid_open->pin, 1); -- cgit v1.2.1