From 6db1b2fc24e5634d139d34c93813c2f703583494 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 12 Oct 2018 12:33:34 -0600 Subject: 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 Reviewed-on: https://review.coreboot.org/29076 Reviewed-by: Justin TerAvest Reviewed-by: Jett Rink Reviewed-by: Julius Werner Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) --- src/mainboard/google/poppy/Kconfig | 1 - src/security/tpm/tss/vendor/cr50/Kconfig | 6 ------ src/vendorcode/google/chromeos/cr50_enable_update.c | 10 +--------- 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig index e75782268e..48ad6a5297 100644 --- a/src/mainboard/google/poppy/Kconfig +++ b/src/mainboard/google/poppy/Kconfig @@ -170,7 +170,6 @@ config VARIANT_SPECIFIC_OPTIONS_NAMI select DRIVERS_SPI_ACPI select EXCLUDE_NATIVE_SD_INTERFACE select MAINBOARD_HAS_SPI_TPM_CR50 - select DISABLE_POWER_OFF_EC_ON_CR50_UPDATE config VARIANT_SPECIFIC_OPTIONS_NAUTILUS def_bool n diff --git a/src/security/tpm/tss/vendor/cr50/Kconfig b/src/security/tpm/tss/vendor/cr50/Kconfig index fcbf47b9cf..4d40c08da6 100644 --- a/src/security/tpm/tss/vendor/cr50/Kconfig +++ b/src/security/tpm/tss/vendor/cr50/Kconfig @@ -25,10 +25,4 @@ config POWER_OFF_ON_CR50_UPDATE help 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 diff --git a/src/vendorcode/google/chromeos/cr50_enable_update.c b/src/vendorcode/google/chromeos/cr50_enable_update.c index d07a9a37a5..06416bda76 100644 --- a/src/vendorcode/google/chromeos/cr50_enable_update.c +++ b/src/vendorcode/google/chromeos/cr50_enable_update.c @@ -59,16 +59,8 @@ static void enable_update(void *unused) 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_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); - } + if (IS_ENABLED(CONFIG_POWER_OFF_ON_CR50_UPDATE)) poweroff(); - } halt(); } BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_ENTRY, enable_update, NULL); -- cgit v1.2.3