From a3cecb2e7116fc80d297db97f2cd7175a4e038fb Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Tue, 25 Apr 2017 21:58:10 -0500 Subject: drivers/intel/fsp2_0: add option to incorporate platform memory version On Chrome OS systems a memory setting change is needed to be deployed without updating the FSP blob proper. Under such conditions one needs to trigger retrain of the memory. For ease of use provide an option, FSP_PLATFORM_MEMORY_SETTINGS_VERSIONS, which incorproates the SoC and mainboard memory setting version number into the FSP version passed to the platform. The lower 8 bits of the FSP version are the build number which in practice is normally 0. Use those 8 bits to include the SoC and mainboard memory settings version. When FSP, SoC, or mainboard memory setting number is bumped a retrain will be triggered. BUG=b:37687843 Change-Id: I6a269dcf654be7a409045cedeea3f82eb641f1d6 Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/19452 Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Duncan Laurie --- src/drivers/intel/fsp2_0/include/fsp/api.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/drivers/intel/fsp2_0/include/fsp/api.h') diff --git a/src/drivers/intel/fsp2_0/include/fsp/api.h b/src/drivers/intel/fsp2_0/include/fsp/api.h index 3532ad2ef8..123db303ca 100644 --- a/src/drivers/intel/fsp2_0/include/fsp/api.h +++ b/src/drivers/intel/fsp2_0/include/fsp/api.h @@ -53,6 +53,15 @@ void fsps_load(bool s3wake); void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version); void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd); +/* + * The following functions are used when FSP_PLATFORM_MEMORY_SETTINGS_VERSION + * is employed allowing the mainboard and SoC to supply their own version + * for memory settings respectively. The valid values are 0-15 for each + * function. + */ +uint8_t fsp_memory_mainboard_version(void); +uint8_t fsp_memory_soc_version(void); + /* Callback after processing FSP notify */ void platform_fsp_notify_status(enum fsp_notify_phase phase); -- cgit v1.2.3