diff options
author | Michael Niewöhner <foss@mniewoehner.de> | 2020-11-25 13:55:42 +0100 |
---|---|---|
committer | Michael Niewöhner <foss@mniewoehner.de> | 2020-11-26 21:57:33 +0000 |
commit | 59f06ada68db1775c0578035405d93ec666a04b5 (patch) | |
tree | 5507f60f97cb1378a9e0fda580b6243887f3da2e /src/drivers/intel | |
parent | 905939b3c8fd34121c54133467b5d4a5d8a5cd32 (diff) | |
download | coreboot-59f06ada68db1775c0578035405d93ec666a04b5.tar.xz |
drivers/intel/fsp2_0: introduce possibility of using a full FD binary
Currently, setting a custom FSP binary is only possible by using split
FSP-T/M/S FD files. This change introduces the possibility to pass a
combined FD file (the "standard" FSP format).
This is done by adding a new boolean Kconfig FSP_FULL_FD, specifying
that the FSP is a single FD file instead of split FSP-T/M/S FD files,
and making FSP_FD_PATH user-visible when the option is chosen. In this
case, the other options for split files get hidden.
When the user chooses to use a full FD file instead of the split ones,
the FD file gets split during build, just like it is done when selecting
the Github FSP repo (FSP_USE_REPO).
Test: Supermicro X11SSM-F builds and boots fine with custom FSP FD set.
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Change-Id: I1cb98c1ff319823a2a8a95444c9b4f3d96162a02
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47993
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src/drivers/intel')
-rw-r--r-- | src/drivers/intel/fsp2_0/Kconfig | 25 | ||||
-rw-r--r-- | src/drivers/intel/fsp2_0/Makefile.inc | 2 |
2 files changed, 17 insertions, 10 deletions
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig index f12ff6e6a7..ecff4c73d7 100644 --- a/src/drivers/intel/fsp2_0/Kconfig +++ b/src/drivers/intel/fsp2_0/Kconfig @@ -41,6 +41,7 @@ config HAVE_INTEL_FSP_REPO config FSP_USE_REPO bool "Use binaries of the Intel FSP repository on GitHub" depends on HAVE_INTEL_FSP_REPO + select FSP_FULL_FD default y help Select this option to use the default FSP headers and binaries @@ -56,11 +57,10 @@ config FSP_HEADER_PATH Include directory with the FSP ABI header files. config FSP_FD_PATH - string - depends on FSP_USE_REPO + string "Location of FSP FD file" if FSP_FULL_FD && !FSP_USE_REPO help Path to the FSP FD file that contains the individual FSP-T, FSP-M - and FSP-S binaries. + and FSP-S binaries. The file gets split at build-time. config ADD_FSP_BINARIES bool "Add Intel FSP 2.0 binaries to CBFS" if !FSP_USE_REPO @@ -81,25 +81,32 @@ config FSP_M_CBFS string "Name of FSP-M in CBFS" default "fspm.bin" +config FSP_FULL_FD + bool "Use a combined FSP FD file" if !FSP_USE_REPO + depends on ADD_FSP_BINARIES + help + Use a combined FSP FD file instead of specifying individual, already split + binaries and split the file at build-time. + config FSP_T_FILE - string "Intel FSP-T (temp RAM init) binary path and filename" if !FSP_USE_REPO + string "Intel FSP-T (temp RAM init) binary path and filename" if !FSP_FULL_FD depends on ADD_FSP_BINARIES depends on FSP_CAR - default "\$(obj)/Fsp_T.fd" if FSP_USE_REPO + default "\$(obj)/Fsp_T.fd" if FSP_FULL_FD help The path and filename of the Intel FSP-T binary for this platform. config FSP_M_FILE - string "Intel FSP-M (memory init) binary path and filename" if !FSP_USE_REPO + string "Intel FSP-M (memory init) binary path and filename" if !FSP_FULL_FD depends on ADD_FSP_BINARIES - default "\$(obj)/Fsp_M.fd" if FSP_USE_REPO + default "\$(obj)/Fsp_M.fd" if FSP_FULL_FD help The path and filename of the Intel FSP-M binary for this platform. config FSP_S_FILE - string "Intel FSP-S (silicon init) binary path and filename" if !FSP_USE_REPO + string "Intel FSP-S (silicon init) binary path and filename" if !FSP_FULL_FD depends on ADD_FSP_BINARIES - default "\$(obj)/Fsp_S.fd" if FSP_USE_REPO + default "\$(obj)/Fsp_S.fd" if FSP_FULL_FD help The path and filename of the Intel FSP-S binary for this platform. diff --git a/src/drivers/intel/fsp2_0/Makefile.inc b/src/drivers/intel/fsp2_0/Makefile.inc index 46299ee470..298198d063 100644 --- a/src/drivers/intel/fsp2_0/Makefile.inc +++ b/src/drivers/intel/fsp2_0/Makefile.inc @@ -72,7 +72,7 @@ ifeq ($(CONFIG_FSP_COMPRESS_FSP_S_LZ4),y) $(FSP_S_CBFS)-compression := LZ4 endif -ifeq ($(CONFIG_FSP_USE_REPO),y) +ifeq ($(CONFIG_FSP_FULL_FD),y) $(obj)/Fsp_M.fd: $(call strip_quotes,$(CONFIG_FSP_FD_PATH)) python2 3rdparty/fsp/Tools/SplitFspBin.py split -f $(CONFIG_FSP_FD_PATH) -o "$(obj)" -n "Fsp.fd" |