From e7a1e7d3c49e980774985f3f6fae697dcb129420 Mon Sep 17 00:00:00 2001 From: Lijian Zhao Date: Mon, 9 Oct 2017 18:39:30 -0700 Subject: soc/intel/cannonlake: Fix HECI error on reset Move HECI init from bootblock to romstage, the HECI bar saved by CAR_GLOBAL, which will be lost on different stage. HECI BAR in ramstage will be read back from PCI. Also add fail safe option to reset in case of HECI command not successful. TEST= Force global reset from FSP and read back HECI bar in debug print. Change-Id: I46c4b8db0a80995fa05e92d61357128c2a77de4b Signed-off-by: Lijian Zhao Reviewed-on: https://review.coreboot.org/21930 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/cannonlake/romstage/romstage.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/soc/intel/cannonlake/romstage/romstage.c') diff --git a/src/soc/intel/cannonlake/romstage/romstage.c b/src/soc/intel/cannonlake/romstage/romstage.c index eb72a25ea0..94b54a66d3 100644 --- a/src/soc/intel/cannonlake/romstage/romstage.c +++ b/src/soc/intel/cannonlake/romstage/romstage.c @@ -21,8 +21,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -41,6 +43,8 @@ asmlinkage void car_stage_entry(void) /* Program MCHBAR, DMIBAR, GDXBAR and EDRAMBAR */ systemagent_early_init(); + /* initialize Heci interface */ + heci_init(HECI1_BASE_ADDRESS); timestamp_add_now(TS_START_ROMSTAGE); s3wake = pmc_fill_power_state(ps) == ACPI_S3; -- cgit v1.2.3