summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2020-08-26 16:45:47 -0600
committerCommit Bot <commit-bot@chromium.org>2020-08-29 22:42:59 +0000
commit099bd247793ce297ff0580b897c16e032b1ac3f2 (patch)
treef0d3e30c3e09961680a7efbeb0bc716996a937d6
parented458303355f9fd47a2991bdf23256b4df5396ee (diff)
downloadchrome-ec-099bd247793ce297ff0580b897c16e032b1ac3f2.tar.gz
zork: Delay between G3 exit and power button
On G3->S5, wait for GPIO_EC_FCH_RSMRST_L to be deasserted before asserting GPIO_EC_FCH_PWR_BTN_L. BUG=b:164921478 BRANCH=zork TEST=power button timing Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: Ib16f8ccf795382a26e70fd505e03c59db4eeaa88 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2378558 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2383918
-rw-r--r--baseboard/zork/baseboard.c20
-rw-r--r--baseboard/zork/baseboard.h1
2 files changed, 21 insertions, 0 deletions
diff --git a/baseboard/zork/baseboard.c b/baseboard/zork/baseboard.c
index 0d289120e7..4a482a42cb 100644
--- a/baseboard/zork/baseboard.c
+++ b/baseboard/zork/baseboard.c
@@ -328,3 +328,23 @@ __override int isl9241_update_learn_mode(int chgnum, int enable)
return isl9241_write(chgnum, ISL9241_REG_CONTROL1, reg);
}
+
+/*
+ * b/164921478: On G3->S5, wait for RSMRST_L to be deasserted before asserting
+ * PWRBTN_L.
+ */
+void board_pwrbtn_to_pch(int level)
+{
+ /* Add delay for G3 exit if asserting PWRBTN_L and S5_PGOOD is low. */
+ if (!level && !gpio_get_level(GPIO_S5_PGOOD)) {
+ /*
+ * From measurement, wait 80 ms for RSMRST_L to rise after
+ * S5_PGOOD.
+ */
+ msleep(80);
+
+ if (!gpio_get_level(GPIO_S5_PGOOD))
+ ccprints("Error: pwrbtn S5_PGOOD low");
+ }
+ gpio_set_level(GPIO_PCH_PWRBTN_L, level);
+}
diff --git a/baseboard/zork/baseboard.h b/baseboard/zork/baseboard.h
index f5b46483d3..4e166be723 100644
--- a/baseboard/zork/baseboard.h
+++ b/baseboard/zork/baseboard.h
@@ -83,6 +83,7 @@
#define CONFIG_POWER_SHUTDOWN_PAUSE_IN_S5
#define CONFIG_POWER_BUTTON
#define CONFIG_POWER_BUTTON_X86
+#define CONFIG_POWER_BUTTON_TO_PCH_CUSTOM
#ifdef VARIANT_ZORK_TREMBYLE
#define CONFIG_FANS FAN_CH_COUNT