summaryrefslogtreecommitdiff
path: root/power
diff options
context:
space:
mode:
authorReka Norman <rekanorman@google.com>2023-04-14 10:47:39 +1000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-18 03:25:40 +0000
commit1ab21afba9490be4ecbc4c35e6d2c59368e3793f (patch)
treed827aff30ee1fe7d556bcdea8f1e2497a187ae3d /power
parent222be10f84eb72c13dca8a0c2362e0bf41423158 (diff)
downloadchrome-ec-1ab21afba9490be4ecbc4c35e6d2c59368e3793f.tar.gz
power/icelake: Wait for enough power before booting the AP
Currently, when dibbi is powered from Type-C only, the AP fails to boot after an EC reboot. This is because it tries to boot the AP before PD negotiation is complete, so there is not enough power to boot. Modify the icelake power sequencing to wait for enough power before trying to boot the AP. This is similar to how CL:1980104 solved the same issue on puff. BRANCH=None BUG=b:272188485 TEST=reboot EC on dibbi with Type-C power only, AP boots successfully Change-Id: I815c69c58d1f6c9c759ec17b81a7b40fc96279f8 Signed-off-by: Reka Norman <rekanorman@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4421370 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Reka Norman <rekanorman@chromium.org> Commit-Queue: Reka Norman <rekanorman@chromium.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Diffstat (limited to 'power')
-rw-r--r--power/icelake.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/power/icelake.c b/power/icelake.c
index 7d60e26f40..bfa4bff91a 100644
--- a/power/icelake.c
+++ b/power/icelake.c
@@ -258,6 +258,11 @@ enum power_state power_handle_state(enum power_state state)
switch (state) {
case POWER_G3S5:
+ if (intel_x86_wait_power_up_ok() != EC_SUCCESS) {
+ chipset_force_shutdown(
+ CHIPSET_SHUTDOWN_BATTERY_INHIBIT);
+ return POWER_G3;
+ }
#if defined(CONFIG_CHIPSET_SLP_S3_L_OVERRIDE)
/*
* Prevent glitches on the SLP_S3_L and PCH_PWROK