summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2017-08-18 13:05:56 -0700
committerAaron Durbin <adurbin@chromium.org>2017-09-13 02:24:47 +0000
commit6732b4fcdcb48b21631ca73cd1ec37f497d21d3e (patch)
tree8070b1d0094313e7f88a8ef59ca0948c1f09a4eb
parentc6dcdbfe191eb60cceb497a84922a0e799529675 (diff)
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 <dnojiri@chromium.org> Reviewed-on: https://review.coreboot.org/21489 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--src/vboot/Kconfig9
-rw-r--r--src/vboot/vboot_handoff.c9
2 files changed, 15 insertions, 3 deletions
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;
/*