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 <praveenx.hodagatta.pranesh@intel.com>
Reviewed-on: https://review.coreboot.org/28985
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
praveen hodagatta pranesh 2018-10-10 22:48:00 +08:00 committed by Aaron Durbin
parent 5ac643362b
commit 6c96542a3e
2 changed files with 24 additions and 0 deletions

View File

@ -53,6 +53,21 @@ config DISPLAY_UPD_DATA
Display the user specified product data prior to memory Display the user specified product data prior to memory
initialization. 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 config FSP_T_CBFS
string "Name of FSP-T in CBFS" string "Name of FSP-T in CBFS"
depends on FSP_CAR depends on FSP_CAR
@ -109,6 +124,12 @@ config FSP_M_XIP
help help
Select this value when FSP-M is execute-in-place. 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 config FSP_USES_CB_STACK
bool bool
default n default n

View File

@ -52,6 +52,9 @@ CPPFLAGS_common += -I$(src)/drivers/intel/fsp2_0/include
cbfs-files-$(CONFIG_FSP_CAR) += $(CONFIG_FSP_T_CBFS) 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)-file := $(call strip_quotes,$(CONFIG_FSP_T_FILE))
$(CONFIG_FSP_T_CBFS)-type := fsp $(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) cbfs-files-$(CONFIG_ADD_FSP_BINARIES) += $(CONFIG_FSP_M_CBFS)
$(CONFIG_FSP_M_CBFS)-file := $(call strip_quotes,$(CONFIG_FSP_M_FILE)) $(CONFIG_FSP_M_CBFS)-file := $(call strip_quotes,$(CONFIG_FSP_M_FILE))