cr50: Make EC clear AP_OFF before hibnernate
This patch makes AP send EC_REBOOT_HIBERNATE_CLEAR_AP_OFF, which makes EC clear AP_OFF flag then hibernate. This is needed to make Chromebox boot when cr50 toggles the EC's reset line after TURN_UPDATE_ON command. BUG=b:69721737 BRANCH=none CQ-DEPEND=CL:802632 TEST=Verify Fizz reboot after cr50 update. Change-Id: I5f590286393ac21382cab64afdccae92d3fc14ba Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://review.coreboot.org/22657 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
ff906fb95b
commit
40d0bfa212
|
@ -3785,7 +3785,8 @@ enum ec_reboot_cmd {
|
||||||
/* (command 3 was jump to RW-B) */
|
/* (command 3 was jump to RW-B) */
|
||||||
EC_REBOOT_COLD = 4, /* Cold-reboot */
|
EC_REBOOT_COLD = 4, /* Cold-reboot */
|
||||||
EC_REBOOT_DISABLE_JUMP = 5, /* Disable jump until next reboot */
|
EC_REBOOT_DISABLE_JUMP = 5, /* Disable jump until next reboot */
|
||||||
EC_REBOOT_HIBERNATE = 6 /* Hibernate EC */
|
EC_REBOOT_HIBERNATE = 6, /* Hibernate EC */
|
||||||
|
EC_REBOOT_HIBERNATE_CLEAR_AP_OFF = 7, /* and clears AP_OFF flag */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Flags for ec_params_reboot_ec.reboot_flags */
|
/* Flags for ec_params_reboot_ec.reboot_flags */
|
||||||
|
|
|
@ -61,8 +61,9 @@ static void enable_update(void *unused)
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_POWER_OFF_ON_CR50_UPDATE)) {
|
if (IS_ENABLED(CONFIG_POWER_OFF_ON_CR50_UPDATE)) {
|
||||||
if (IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)) {
|
if (IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC)) {
|
||||||
printk(BIOS_INFO, "Hibernating EC.\n");
|
printk(BIOS_INFO, "Hibernating EC. Clearing AP_OFF.\n");
|
||||||
google_chromeec_reboot(0, EC_REBOOT_HIBERNATE,
|
google_chromeec_reboot(0,
|
||||||
|
EC_REBOOT_HIBERNATE_CLEAR_AP_OFF,
|
||||||
EC_REBOOT_FLAG_ON_AP_SHUTDOWN);
|
EC_REBOOT_FLAG_ON_AP_SHUTDOWN);
|
||||||
}
|
}
|
||||||
poweroff();
|
poweroff();
|
||||||
|
|
Loading…
Reference in New Issue