From 6732b4fcdcb48b21631ca73cd1ec37f497d21d3e Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Fri, 18 Aug 2017 13:05:56 -0700 Subject: vboot: Add config to enable EC EFS support This patch makes coreboot set VBSD_EC_EFS flag if CONFIG_VBOOT_EC_EFS is set. Depthcharge/Vboot uses this flag to determine whether it can update EC when it's already running a RW copy. BUG=b:65028930 BRANCH=none TEST=Verify soft sync runs successfully on Fizz. Change-Id: Ic51ddd4819262162a8d8519461c4ace57ee01cb5 Signed-off-by: Daisuke Nojiri Reviewed-on: https://review.coreboot.org/21489 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/vboot/Kconfig | 9 +++++++++ src/vboot/vboot_handoff.c | 9 ++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/vboot/Kconfig b/src/vboot/Kconfig index 8c8dffe85f..f48c82d5a6 100644 --- a/src/vboot/Kconfig +++ b/src/vboot/Kconfig @@ -167,6 +167,15 @@ config VBOOT_EC_SLOW_UPDATE Whether the EC (or PD) is slow to update and needs to display a screen that informs the user the update is happening. +config VBOOT_EC_EFS + bool + default n + depends on VBOOT_EC_SOFTWARE_SYNC + help + CrosEC can support EFS: Early Firmware Selection. If it's enabled, + software sync need to also support it. This setting tells vboot to + perform EFS software sync. + config VBOOT_PHYSICAL_DEV_SWITCH bool default n diff --git a/src/vboot/vboot_handoff.c b/src/vboot/vboot_handoff.c index 64c8ca6ef7..974fe78ec3 100644 --- a/src/vboot/vboot_handoff.c +++ b/src/vboot/vboot_handoff.c @@ -83,12 +83,15 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff, /* TODO: Set these in depthcharge */ if (!IS_ENABLED(CONFIG_VBOOT_PHYSICAL_DEV_SWITCH)) vb_sd->flags |= VBSD_HONOR_VIRT_DEV_SWITCH; - if (IS_ENABLED(CONFIG_VBOOT_EC_SOFTWARE_SYNC)) + if (IS_ENABLED(CONFIG_VBOOT_EC_SOFTWARE_SYNC)) { vb_sd->flags |= VBSD_EC_SOFTWARE_SYNC; + if (IS_ENABLED(CONFIG_VBOOT_EC_SLOW_UPDATE)) + vb_sd->flags |= VBSD_EC_SLOW_UPDATE; + if (IS_ENABLED(CONFIG_VBOOT_EC_EFS)) + vb_sd->flags |= VBSD_EC_EFS; + } if (!IS_ENABLED(CONFIG_VBOOT_PHYSICAL_REC_SWITCH)) vb_sd->flags |= VBSD_BOOT_REC_SWITCH_VIRTUAL; - if (IS_ENABLED(CONFIG_VBOOT_EC_SLOW_UPDATE)) - vb_sd->flags |= VBSD_EC_SLOW_UPDATE; if (IS_ENABLED(CONFIG_VBOOT_OPROM_MATTERS)) { vb_sd->flags |= VBSD_OPROM_MATTERS; /* -- cgit v1.2.3