summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--power/icelake.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/power/icelake.c b/power/icelake.c
index e9025b4d04..4e7b829322 100644
--- a/power/icelake.c
+++ b/power/icelake.c
@@ -18,7 +18,8 @@
/* Console output macros */
#define CPRINTS(format, args...) cprints(CC_CHIPSET, format, ## args)
-#define IN_PCH_SLP_SUS_WAIT_TIME_MS 100
+/* The wait time is ~150 msec, allow for safety margin. */
+#define IN_PCH_SLP_SUS_WAIT_TIME_USEC (250 * MSEC)
static int forcing_shutdown; /* Forced shutdown in progress? */
@@ -112,9 +113,12 @@ enum power_state power_handle_state(enum power_state state)
CPRINTS("Pass thru GPIO_DSW_PWROK: %d", dswpwrok_in);
dswpwrok_out = dswpwrok_in;
- /* Now wait 100ms for SLP_SUS_L to go high based on tPCH32 */
+ /*
+ * Now wait for SLP_SUS_L to go high based on tPCH32. If this
+ * signal doesn't go high within 250 msec then go back to G3.
+ */
if (power_wait_signals_timeout(IN_PCH_SLP_SUS_DEASSERTED,
- IN_PCH_SLP_SUS_WAIT_TIME_MS) != EC_SUCCESS) {
+ IN_PCH_SLP_SUS_WAIT_TIME_USEC) != EC_SUCCESS) {
CPRINTS("SLP_SUS_L didn't go high! Assuming G3.");
return POWER_G3;
}