security/vboot: Add vboot callbacks to support EC software sync

Use the new functions introduced into the EC driver to support
performing EC software sync via vboot callbacks.

NOTE: This patch assumes that the EC image is added to CBFS
uncompressed.  Streaming decompression of the image will be added in a
future patch.

Also adds a new Kconfig option VBOOT_EARLY_EC_SYNC.  The new Kconfig
option compiles EC software sync into romstage, dependent upon having a
CrOS EC.

BUG=b:112198832
BRANCH=none
TEST=Successful EC software sync

Change-Id: I9b1458a45ab3ed5623af50f78036c4f88461b226
Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36208
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Tim Wawrzynczak
2019-10-25 14:58:15 -06:00
committed by Patrick Georgi
parent fe338e2319
commit d6fc557b93
5 changed files with 590 additions and 12 deletions

View File

@@ -242,6 +242,18 @@ config VBOOT_ENABLE_CBFS_FALLBACK
When this option is enabled cbfs_boot_locate will look for a file in the RO
(COREBOOT) region if it isn't available in the active RW region.
config VBOOT_EARLY_EC_SYNC
bool
default n
depends on EC_GOOGLE_CHROMEEC
help
Enables CrOS EC software sync in romstage, before memory training
runs. This is useful mainly as a way to achieve full USB-PD
negotiation earlier in the boot flow, as the EC will only do this once
it has made the sysjump to its RW firmware. It should not
significantly impact boot time, as this operation will be performed
later in the boot flow if it is disabled here.
menu "GBB configuration"
config GBB_HWID