summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiyu Qin <qinsiyu@huaqin.corp-partner.google.com>2023-03-16 11:35:41 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-03-20 08:07:22 +0000
commitba192f443638aa8834324ea8ef06f2f3c273bc61 (patch)
tree3bba003c6b576e7a68f4b7091deafe63897c1d4f
parenta3db0bee1d4ec1cad46ba08b4abc52892ca2a17a (diff)
downloadchrome-ec-ba192f443638aa8834324ea8ef06f2f3c273bc61.tar.gz
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 <qinsiyu@huaqin.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4344441 Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com> Reviewed-by: Ting Shen <phoenixshen@chromium.org>
-rw-r--r--zephyr/program/corsola/ite_gpio.dtsi2
-rw-r--r--zephyr/program/corsola/npcx_gpio.dtsi2
-rw-r--r--zephyr/test/krabby/src/power_seq.c1
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);