summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2018-10-12 12:33:34 -0600
committerAaron Durbin <adurbin@chromium.org>2018-10-15 13:56:01 +0000
commit6db1b2fc24e5634d139d34c93813c2f703583494 (patch)
tree79e6807baedb83972c1a87e24d5f533db2a15872
parentb1ba6624cd54875a836494db4b2bd208c715037f (diff)
downloadcoreboot-6db1b2fc24e5634d139d34c93813c2f703583494.tar.xz
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>
-rw-r--r--src/mainboard/google/poppy/Kconfig1
-rw-r--r--src/security/tpm/tss/vendor/cr50/Kconfig6
-rw-r--r--src/vendorcode/google/chromeos/cr50_enable_update.c10
3 files changed, 1 insertions, 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);