vc/google/chromeos/ec: remove EC hibernate in cr50 update path

More platforms are not able to hibernate under certain circumstances,
such as when AC is plugged. This original path was conservatively put in
to prevent potential damage when cr50-update-caused asynchronous resets
occur.  Julius' compelling argument that async resets from recovery mode
requests should have enough coverage of the design over the course of
project development. Remove the hibernate path and assume all is well
going forward.

Change-Id: I37121e75ff4e6abcb41d8534a1eccf0788ce2ea2
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/29076
Reviewed-by: Justin TerAvest <teravest@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Aaron Durbin 2018-10-12 12:33:34 -06:00
parent b1ba6624cd
commit 6db1b2fc24
3 changed files with 1 additions and 16 deletions

View File

@ -170,7 +170,6 @@ config VARIANT_SPECIFIC_OPTIONS_NAMI
select DRIVERS_SPI_ACPI select DRIVERS_SPI_ACPI
select EXCLUDE_NATIVE_SD_INTERFACE select EXCLUDE_NATIVE_SD_INTERFACE
select MAINBOARD_HAS_SPI_TPM_CR50 select MAINBOARD_HAS_SPI_TPM_CR50
select DISABLE_POWER_OFF_EC_ON_CR50_UPDATE
config VARIANT_SPECIFIC_OPTIONS_NAUTILUS config VARIANT_SPECIFIC_OPTIONS_NAUTILUS
def_bool n def_bool n

View File

@ -25,10 +25,4 @@ config POWER_OFF_ON_CR50_UPDATE
help help
Power off machine while waiting for CR50 update to take effect. Power off machine while waiting for CR50 update to take effect.
config DISABLE_POWER_OFF_EC_ON_CR50_UPDATE
bool
default n
help
Disable powering off EC while waiting for CR50 update to take effect.
endif endif

View File

@ -59,16 +59,8 @@ static void enable_update(void *unused)
printk(BIOS_INFO, "Waiting for CR50 reset to pick up update.\n"); printk(BIOS_INFO, "Waiting for CR50 reset to pick up update.\n");
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) &&
!IS_ENABLED(CONFIG_DISABLE_POWER_OFF_EC_ON_CR50_UPDATE)) {
printk(BIOS_INFO, "Hibernating EC. Clearing AP_OFF.\n");
google_chromeec_reboot(0,
EC_REBOOT_HIBERNATE_CLEAR_AP_OFF,
EC_REBOOT_FLAG_ON_AP_SHUTDOWN);
}
poweroff(); poweroff();
}
halt(); halt();
} }
BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_ENTRY, enable_update, NULL); BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_ENTRY, enable_update, NULL);