diff options
author | Karthikeyan Ramasubramanian <kramasub@google.com> | 2021-03-31 17:49:38 -0600 |
---|---|---|
committer | Raul Rangel <rrangel@chromium.org> | 2021-04-02 16:25:03 +0000 |
commit | ad7c33abd21dfdde75c6ffa23c31cbe46826d2d5 (patch) | |
tree | 5688ec6ad470b1ba38a337cc3800bb4e4d1a0cba | |
parent | 0f4191204bc7c8f45b6d34624674cf21fc3b418e (diff) | |
download | coreboot-ad7c33abd21dfdde75c6ffa23c31cbe46826d2d5.tar.xz |
soc/amd/cezanne: Add support to perform early EC sync
Ideally we would like to perform EC Software Sync in payload. But with
the hardware requirement (EC_IN_RW) and firmware requirement (TPM
command to get EC execution environment) not met yet, adding the support
to perform early EC Software sync. With EFS2 enabled, this will also
help cr50 to set the boot mode as NORMAL instead of NO_BOOT.
BUG=None
TEST=Build and Boot to OS in Guybrush. Ensure that the EC software sync
is successfully complete.
CBFS: Found 'ecrw.hash' @0x50400 size 0x20 in mcache @0x020171ec
VB2:check_ec_hash() Hexp RW(active): 2dd8dbb78d0c626358a626037973a3d81982f88f3f38e7f759039bf84e05ccc6
VB2:check_ec_hash() Hmir: 2dd8dbb78d0c626358a626037973a3d81982f88f3f38e7f759039bf84e05ccc6
<snip>
VB2:check_ec_hash() Heff RW(active): 2dd8dbb78d0c626358a626037973a3d81982f88f3f38e7f759039bf84e05ccc6
VB2:sync_ec() select_rw=RW(active)
Change-Id: I820e651c6b22a833fef6f17a4ceb5a8cfb6f1616
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52008
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
-rw-r--r-- | src/soc/amd/cezanne/romstage.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/soc/amd/cezanne/romstage.c b/src/soc/amd/cezanne/romstage.c index 643b067064..57c19615d9 100644 --- a/src/soc/amd/cezanne/romstage.c +++ b/src/soc/amd/cezanne/romstage.c @@ -8,12 +8,16 @@ #include <console/console.h> #include <fsp/api.h> #include <program_loading.h> +#include <security/vboot/vboot_common.h> asmlinkage void car_stage_entry(void) { post_code(0x40); console_init(); + if (CONFIG(VBOOT_EARLY_EC_SYNC)) + vboot_sync_ec(); + post_code(0x41); fsp_memory_init(acpi_is_wakeup_s3()); |