summaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp2_0/util.c
diff options
context:
space:
mode:
authorAnil Kumar <anil.kumar.k@intel.com>2021-11-11 18:56:21 -0800
committerFelix Held <felix-coreboot@felixheld.de>2022-01-17 15:53:28 +0000
commit57309d362cbd00b63f77d839a09dba58eb558615 (patch)
tree187b0a097e2d8aeeb2fdfad02c46235a1fa840b3 /src/drivers/intel/fsp2_0/util.c
parentec877d633d0db3b40c28d2ef198313ab688cd3d4 (diff)
drivers/intel/fsp2_0: Add FSP 2.3 support
FSP 2.3 specification introduces following changes: 1. FSP_INFO_HEADER changes Updated SpecVersion from 0x22 to 0x23 Updated HeaderRevision from 5 to 6 Added ExtendedImageRevision FSP_INFO_HEADER length changed to 0x50 2. Added FSP_NON_VOLATILE_STORAGE_HOB2 Following changes are implemented in the patch to support FSP 2.3: - Add Kconfig option - Update FSP build binary version info based on ExtendedImageRevision field in header - New NV HOB related changes will be pushed as part of another patch Signed-off-by: Anil Kumar <anil.kumar.k@intel.com> Change-Id: Ica1bd004286c785aa8a431f39d8efc69982874c1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/59324 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-by: Subrata Banik <subratabanik@google.com>
Diffstat (limited to 'src/drivers/intel/fsp2_0/util.c')
-rw-r--r--src/drivers/intel/fsp2_0/util.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/drivers/intel/fsp2_0/util.c b/src/drivers/intel/fsp2_0/util.c
index 49934fe6de..ff79fc7715 100644
--- a/src/drivers/intel/fsp2_0/util.c
+++ b/src/drivers/intel/fsp2_0/util.c
@@ -14,7 +14,9 @@
static uint32_t fsp_hdr_get_expected_min_length(void)
{
- if (CONFIG(PLATFORM_USES_FSP2_2))
+ if (CONFIG(PLATFORM_USES_FSP2_3))
+ return 80;
+ else if (CONFIG(PLATFORM_USES_FSP2_2))
return 76;
else if (CONFIG(PLATFORM_USES_FSP2_1))
return 72;
@@ -70,6 +72,8 @@ enum cb_err fsp_identify(struct fsp_header *hdr, const void *fsp_blob)
hdr->silicon_init_entry_offset = read32(raw_hdr + 68);
if (CONFIG(PLATFORM_USES_FSP2_2))
hdr->multi_phase_si_init_entry_offset = read32(raw_hdr + 72);
+ if (CONFIG(PLATFORM_USES_FSP2_3))
+ hdr->extended_fsp_revision = read16(raw_hdr + 76);
return CB_SUCCESS;
}