diff options
author | Reka Norman <rekanorman@google.com> | 2023-04-14 10:47:39 +1000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-04-18 03:25:40 +0000 |
commit | 1ab21afba9490be4ecbc4c35e6d2c59368e3793f (patch) | |
tree | d827aff30ee1fe7d556bcdea8f1e2497a187ae3d /power | |
parent | 222be10f84eb72c13dca8a0c2362e0bf41423158 (diff) | |
download | chrome-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.c | 5 |
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 |