From bc2a2a0a26c6ddaeb8b9fb42ab28ec8ab10e7685 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Wed, 15 Aug 2018 14:36:37 -0700 Subject: cr50: Allow boards to disable powering off EC on cr50 update This patch allows boards to disable turning off EC on cr50 update. If CR50 resets the whole system, an EC reset is not required. BUG=b:112604277 BRANCH=none TEST=gsctool -a -u /media/removable/cr50.bin && reboot Verify EC reboots. AP prints 'Waiting for CR50 reset to pick up update' then reboots. Change-Id: I60a7aa50a549e7a5a1a114245fbf7b9646d813bb Signed-off-by: Daisuke Nojiri Reviewed-on: https://review.coreboot.org/28110 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/security/tpm/tss/vendor/cr50/Kconfig | 6 ++++++ src/vendorcode/google/chromeos/cr50_enable_update.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src') 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, -- cgit v1.2.3