summaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/common/block')
-rw-r--r--src/soc/intel/common/block/cse/cse.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/soc/intel/common/block/cse/cse.c b/src/soc/intel/common/block/cse/cse.c
index 990e10607b..ea956a70f1 100644
--- a/src/soc/intel/common/block/cse/cse.c
+++ b/src/soc/intel/common/block/cse/cse.c
@@ -1418,12 +1418,28 @@ void cse_late_finalize(void)
cse_final_end_of_firmware();
}
+static void intel_cse_get_rw_version(void)
+{
+ struct cse_fw_partition_info *version = cbmem_find(CBMEM_ID_CSE_PARTITION_VERSION);
+ if (version == NULL)
+ return;
+
+ printk(BIOS_DEBUG, "CSE RW Firmware Version: %d.%d.%d.%d\n",
+ version->cur_cse_fw_version.major,
+ version->cur_cse_fw_version.minor,
+ version->cur_cse_fw_version.hotfix,
+ version->cur_cse_fw_version.build);
+}
+
/*
* `cse_final` function is native implementation of equivalent events performed by
- * each FSP NotifyPhase() API invocations.
+ * each FSP NotifyPhase() API invocations. It also displays CSE firmware version
+ * if stored in CBMEM region.
*/
static void cse_final(struct device *dev)
{
+ if (CONFIG(SOC_INTEL_CSE_LITE_SKU))
+ intel_cse_get_rw_version();
/*
* SoC user can have two options for sending EOP:
* 1. Choose to send EOP late