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>
This commit is contained in:
parent
905939b3c8
commit
59f06ada68
|
@ -41,6 +41,7 @@ config HAVE_INTEL_FSP_REPO
|
||||||
config FSP_USE_REPO
|
config FSP_USE_REPO
|
||||||
bool "Use binaries of the Intel FSP repository on GitHub"
|
bool "Use binaries of the Intel FSP repository on GitHub"
|
||||||
depends on HAVE_INTEL_FSP_REPO
|
depends on HAVE_INTEL_FSP_REPO
|
||||||
|
select FSP_FULL_FD
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Select this option to use the default FSP headers and binaries
|
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.
|
Include directory with the FSP ABI header files.
|
||||||
|
|
||||||
config FSP_FD_PATH
|
config FSP_FD_PATH
|
||||||
string
|
string "Location of FSP FD file" if FSP_FULL_FD && !FSP_USE_REPO
|
||||||
depends on FSP_USE_REPO
|
|
||||||
help
|
help
|
||||||
Path to the FSP FD file that contains the individual FSP-T, FSP-M
|
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
|
config ADD_FSP_BINARIES
|
||||||
bool "Add Intel FSP 2.0 binaries to CBFS" if !FSP_USE_REPO
|
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"
|
string "Name of FSP-M in CBFS"
|
||||||
default "fspm.bin"
|
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
|
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 ADD_FSP_BINARIES
|
||||||
depends on FSP_CAR
|
depends on FSP_CAR
|
||||||
default "\$(obj)/Fsp_T.fd" if FSP_USE_REPO
|
default "\$(obj)/Fsp_T.fd" if FSP_FULL_FD
|
||||||
help
|
help
|
||||||
The path and filename of the Intel FSP-T binary for this platform.
|
The path and filename of the Intel FSP-T binary for this platform.
|
||||||
|
|
||||||
config FSP_M_FILE
|
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
|
depends on ADD_FSP_BINARIES
|
||||||
default "\$(obj)/Fsp_M.fd" if FSP_USE_REPO
|
default "\$(obj)/Fsp_M.fd" if FSP_FULL_FD
|
||||||
help
|
help
|
||||||
The path and filename of the Intel FSP-M binary for this platform.
|
The path and filename of the Intel FSP-M binary for this platform.
|
||||||
|
|
||||||
config FSP_S_FILE
|
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
|
depends on ADD_FSP_BINARIES
|
||||||
default "\$(obj)/Fsp_S.fd" if FSP_USE_REPO
|
default "\$(obj)/Fsp_S.fd" if FSP_FULL_FD
|
||||||
help
|
help
|
||||||
The path and filename of the Intel FSP-S binary for this platform.
|
The path and filename of the Intel FSP-S binary for this platform.
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ ifeq ($(CONFIG_FSP_COMPRESS_FSP_S_LZ4),y)
|
||||||
$(FSP_S_CBFS)-compression := LZ4
|
$(FSP_S_CBFS)-compression := LZ4
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_FSP_USE_REPO),y)
|
ifeq ($(CONFIG_FSP_FULL_FD),y)
|
||||||
$(obj)/Fsp_M.fd: $(call strip_quotes,$(CONFIG_FSP_FD_PATH))
|
$(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"
|
python2 3rdparty/fsp/Tools/SplitFspBin.py split -f $(CONFIG_FSP_FD_PATH) -o "$(obj)" -n "Fsp.fd"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue