Attention is currently required from: Tarun Tuli, Dinesh Gehlot, Sridhar Siricilla, Arthur Heymans.
Subrata Banik has uploaded a new patch set (#17) to the change originally created by Dinesh Gehlot. ( https://review.coreboot.org/c/coreboot/+/74256 )
Change subject: {commonlib, soc/intel/cmn/cse}: Store CSE firmware version into CBMEM ......................................................................
{commonlib, soc/intel/cmn/cse}: Store CSE firmware version into CBMEM
The patch implements an API that stores the CSE firmware version in the CBMEM table. The API will be called from RAMSTAGE based on boot state machine depending upon CSE sync config options (`SOC_INTEL_CSE_LITE_SYNC_IN_ROMSTAGE` or `SOC_INTEL_CSE_LITE_SYNC_IN_RAMSTAGE`).
Additionally, this patch adds a configuration option, 'SOC_INTEL_STORE_CSE_FPT_PARTITION_VERSION', which enables the storage of firmware version information in CBMEM memory. This information can be used to identify the firmware version that is currently installed on the system. The option depends on the `DRIVERS_INTEL_ISH` config and platform should be flexible enough to opt out from enabling this feature.
The cost of sending HECI command to read the CSE FPT is significant (~200ms) hence, the idea is to read the CSE RW version on every cold reset (to cover the CSE update scenarios) and store into CBMEM to avoid the cost of resending the HECI command in all consecutive warm boots.
Later boot stages can just read the CBMEM ID to retrieve the ISH version if required.
Finally, ensure this feature is platform specific hence, getting enabled for the platform that would like to store the ISH version into the CBMEM and parse to perform some additional work.
BUG=b:273661726 TEST=Able to build and boot google/marasov.
Signed-off-by: Dinesh Gehlot digehlot@google.com Change-Id: I923049d2f1f589f87e1a29e1ac94af7f5fccc2c8 --- M src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h M src/soc/intel/common/block/cse/Kconfig M src/soc/intel/common/block/cse/cse_lite.c M src/soc/intel/common/block/include/intelblocks/cse.h 4 files changed, 111 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/74256/17