summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSridhar Siricilla <sridhar.siricilla@intel.com>2021-06-10 22:25:48 +0530
committerFelix Held <felix-coreboot@felixheld.de>2021-11-29 09:46:01 +0000
commit248dbe0908f1b934d465550987a2497cd6593b4b (patch)
tree5684a8cb336082f4128c4b9090b3705d5bab44bc
parent9f91ced9ddaeed6730e53954260d82f665269cb0 (diff)
soc/intel/alderlake: Trigger cse_fw_sync before DRAM Init
The patch enables cse_fw_sync() before DRAM initialization. cse_fw_sync() sends HECI commands in order to set CSE's boot partition and to trigger CSE firmware update. As part of CSE firmware update, coreboot sends HMRPFO_ENABLE HECI command. Since CSE supports the command after DRAM Initialization, cse_fw_sync() is called after DRAM initialization. Starting from CSE Litev16.0.15.1545, CSE support HMRFPO_ENABLE command before DRAM initialization too. So, cse_fw_sync() is called before DRAM initialization. BUG=b:175516533 TEST=Dependency with CSE Litev16.0.15.1545 integration Change-Id: Iad7403650df8bc4e40aa6e48ccfeba95a5789a2d Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55364 Reviewed-by: Maulik V Vaghela <maulik.v.vaghela@intel.com> Reviewed-by: Subrata Banik <subrata.banik@intel.com> Reviewed-by: Ronak Kanabar <ronak.kanabar@intel.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/intel/alderlake/romstage/romstage.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/soc/intel/alderlake/romstage/romstage.c b/src/soc/intel/alderlake/romstage/romstage.c
index e84eca8ed4..d33d21f1aa 100644
--- a/src/soc/intel/alderlake/romstage/romstage.c
+++ b/src/soc/intel/alderlake/romstage/romstage.c
@@ -129,6 +129,9 @@ void mainboard_romstage_entry(void)
s3wake = pmc_fill_power_state(ps) == ACPI_S3;
+ if (CONFIG(SOC_INTEL_CSE_LITE_SKU) && !s3wake)
+ cse_fw_sync();
+
/*
* Set low maximum temp threshold value used for dynamic thermal sensor
* shutdown consideration.
@@ -140,15 +143,6 @@ void mainboard_romstage_entry(void)
fsp_memory_init(s3wake);
pmc_set_disb();
- if (!s3wake) {
- /*
- * cse_fw_sync() must be called after DRAM initialization as
- * HMRFPO_ENABLE HECI command (which is used by cse_fw_sync())
- * is expected to be executed after DRAM initialization.
- */
- if (CONFIG(SOC_INTEL_CSE_LITE_SKU))
- cse_fw_sync();
-
+ if (!s3wake)
save_dimm_info();
- }
}