summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@google.com>2021-03-31 17:49:38 -0600
committerRaul Rangel <rrangel@chromium.org>2021-04-02 16:25:03 +0000
commitad7c33abd21dfdde75c6ffa23c31cbe46826d2d5 (patch)
tree5688ec6ad470b1ba38a337cc3800bb4e4d1a0cba
parent0f4191204bc7c8f45b6d34624674cf21fc3b418e (diff)
downloadcoreboot-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.c4
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());