summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/security/tpm/tss/vendor/cr50/Kconfig6
-rw-r--r--src/vendorcode/google/chromeos/cr50_enable_update.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/security/tpm/tss/vendor/cr50/Kconfig b/src/security/tpm/tss/vendor/cr50/Kconfig
index 4d40c08da6..fcbf47b9cf 100644
--- a/src/security/tpm/tss/vendor/cr50/Kconfig
+++ b/src/security/tpm/tss/vendor/cr50/Kconfig
@@ -25,4 +25,10 @@ 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 1d91112dad..d07a9a37a5 100644
--- a/src/vendorcode/google/chromeos/cr50_enable_update.c
+++ b/src/vendorcode/google/chromeos/cr50_enable_update.c
@@ -60,7 +60,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)) {
+ 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,