Subrata Banik has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/75919?usp=email )
Change subject: driver/{intel,mrc_cache}: Have MRC cache ver. based on FSP-M/MRC ver ......................................................................
driver/{intel,mrc_cache}: Have MRC cache ver. based on FSP-M/MRC ver
This patch adds a new option to the MRC cache version that allows SoC users to store the MRC cache version either relying on the FSP-M version or the MRC version.
- Platforms prior to Meteor Lake are expected to use FSP-M for storing the MRC cache version. - Platforms starting with Meteor Lake use the new option that relies on the MRC version.
This change is being made to allow SoC users to store the MRC cache version based on the most applicable/appropriate (as per the platform) version, whether that is the FSP-M version or the MRC version.
BUG=b:261689642 TEST=Able to build and boot google/rex and google/omnigul.
Signed-off-by: Subrata Banik subratabanik@google.com Change-Id: Ic3084d37ff1d3f9282d30f3be0ebf15db0ec0e6f --- M src/drivers/intel/fsp2_0/Kconfig M src/drivers/mrc_cache/Kconfig 2 files changed, 36 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/19/75919/1
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig index 378f4fb..3ae4c15 100644 --- a/src/drivers/intel/fsp2_0/Kconfig +++ b/src/drivers/intel/fsp2_0/Kconfig @@ -402,4 +402,22 @@ reported with Alder Lake and Raptor Lake FSP where MultiPhaseSiInit API is unable to return any ERROR status.
+config FSP_HEADER_HAS_MRC_VERSION_INFO + bool + default n + help + Choose this option if the underlying FSP has support to retrieve the MRC version by + directly parsing the binary. This method relies on the FSP_PRODUCER_DATA_TABLES + belongs to the `FspProducerDataHeader.h`file to get the MRC version. + + If unsure, then leave this config as is. + +config FSP_VERSION_FOR_MRC_CACHE + bool + default y + help + Choose this option if FSP version is used while storing the MRC Cache. + + If unsure, then leave this config as is. + endif diff --git a/src/drivers/mrc_cache/Kconfig b/src/drivers/mrc_cache/Kconfig index 616e5f5..49fec27 100644 --- a/src/drivers/mrc_cache/Kconfig +++ b/src/drivers/mrc_cache/Kconfig @@ -3,6 +3,24 @@ help Save cached MRC settings
+choice + prompt "Enable MRC cache versioning" + default MRC_CACHE_USING_MRC_VERSION if FSP_HEADER_HAS_MRC_VERSION_INFO + default MRC_CACHE_USING_FSP_VERSION + depends on CACHE_MRC_SETTINGS + +config MRC_CACHE_USING_FSP_VERSION + bool "Use FSP-M version to store the MRC cache" + help + Use the FSP version from FSP info header to store the MRC cache data. + +config MRC_CACHE_USING_MRC_VERSION + bool "Use MRC version to store the MRC cache" + help + Use the MRC version info from FSP extended header to store the MRC cache data. + +endchoice + if CACHE_MRC_SETTINGS
config MRC_SETTINGS_CACHE_SIZE