From 6c96542a3e7936bcad6e2ea683f9244383a36f59 Mon Sep 17 00:00:00 2001 From: praveen hodagatta pranesh Date: Wed, 10 Oct 2018 22:48:00 +0800 Subject: [PATCH] drivers/intel/fsp2_0: Add new config option to support FSP CAR CPU_MICROCODE_CBFS_LEN and CPU_MICROCODE_CBFS_LOC configs pass the CPU microcode length and base address in CBFS to FSPT binary as init parameters. Add new config FSP_T_XIP in Kconfig, which is selected by platform config. If FSP_T_XIP is selected, then relocate FSPT binary while adding it in CBFS so that it can be executed in place. BUG= None TEST= Build for both CFL RVP11 & RVP8 and verified for successfull CAR setup. Change-Id: Ic46e0bb9ee13c38ff322979119c4813653c61029 Signed-off-by: praveen hodagatta pranesh Reviewed-on: https://review.coreboot.org/28985 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Furquan Shaikh --- src/drivers/intel/fsp2_0/Kconfig | 21 +++++++++++++++++++++ src/drivers/intel/fsp2_0/Makefile.inc | 3 +++ 2 files changed, 24 insertions(+) diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig index 7cf4993597..28e9e5dcd3 100644 --- a/src/drivers/intel/fsp2_0/Kconfig +++ b/src/drivers/intel/fsp2_0/Kconfig @@ -53,6 +53,21 @@ config DISPLAY_UPD_DATA Display the user specified product data prior to memory initialization. +config CPU_MICROCODE_CBFS_LEN + hex "Microcode update region length in bytes" + depends on FSP_CAR + default 0x0 + help + The length in bytes of the microcode update region. + +config CPU_MICROCODE_CBFS_LOC + hex "Microcode update base address in CBFS" + depends on FSP_CAR + default 0x0 + help + The location (base address) in CBFS that contains the + microcode update binary. + config FSP_T_CBFS string "Name of FSP-T in CBFS" depends on FSP_CAR @@ -109,6 +124,12 @@ config FSP_M_XIP help Select this value when FSP-M is execute-in-place. +config FSP_T_XIP + bool + default n + help + Select this value when FSP-T is execute-in-place. + config FSP_USES_CB_STACK bool default n diff --git a/src/drivers/intel/fsp2_0/Makefile.inc b/src/drivers/intel/fsp2_0/Makefile.inc index e85520f9d8..0bfe90d348 100644 --- a/src/drivers/intel/fsp2_0/Makefile.inc +++ b/src/drivers/intel/fsp2_0/Makefile.inc @@ -52,6 +52,9 @@ CPPFLAGS_common += -I$(src)/drivers/intel/fsp2_0/include cbfs-files-$(CONFIG_FSP_CAR) += $(CONFIG_FSP_T_CBFS) $(CONFIG_FSP_T_CBFS)-file := $(call strip_quotes,$(CONFIG_FSP_T_FILE)) $(CONFIG_FSP_T_CBFS)-type := fsp +ifeq ($(CONFIG_FSP_T_XIP),y) +$(CONFIG_FSP_T_CBFS)-options := --xip +endif cbfs-files-$(CONFIG_ADD_FSP_BINARIES) += $(CONFIG_FSP_M_CBFS) $(CONFIG_FSP_M_CBFS)-file := $(call strip_quotes,$(CONFIG_FSP_M_FILE))