soc/amd/stoneyridge: Use USE_AMD_BLOBS to remove default paths

Remove default path/to/file strings when USE_AMD_BLOBS is not enabled.
This will result in a buildable, but not runable image, in the default
configuration.

Drop the check for HAVE_MERLINFALCON_BINARIES in the path default.
A later patch will address the poor use of this symbol

All PSP blobs are still assumed to be in the same directory as the AMD
public key.  Qualify building the amdfw.rom intermediate image and
including it into coreboot.rom on whether the public key remains "".
This change infers it's OK to skip xHCI and GEC firmware too, although
the images normally reside in a separate directory.

This change only determines whether default paths and names exist.
Paths will be updated in a follow-on patch.

Change-Id: Ic21fbd7a58b340a9bcaaea456e1f38b567215b81
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37220
Reviewed-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Marshall Dawson 2019-11-24 17:19:19 -07:00 committed by Patrick Georgi
parent a37eef131a
commit 91e7fe7b54
2 changed files with 20 additions and 9 deletions

View File

@ -174,7 +174,8 @@ config VGA_BIOS_ID
config VGA_BIOS_FILE config VGA_BIOS_FILE
string string
default "3rdparty/blobs/soc/amd/merlinfalcon/VBIOS.bin" if AMD_APU_MERLINFALCON && HAVE_MERLINFALCON_BINARIES default "" if !USE_AMD_BLOBS
default "3rdparty/blobs/soc/amd/merlinfalcon/VBIOS.bin" if AMD_APU_MERLINFALCON
default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin" default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin"
config S3_VGA_ROM_RUN config S3_VGA_ROM_RUN
@ -214,6 +215,7 @@ config STONEYRIDGE_GEC_FWM
config STONEYRIDGE_XHCI_FWM_FILE config STONEYRIDGE_XHCI_FWM_FILE
string "XHCI firmware path and filename" string "XHCI firmware path and filename"
default "" if !USE_AMD_BLOBS
default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin" default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin"
depends on STONEYRIDGE_XHCI_FWM depends on STONEYRIDGE_XHCI_FWM
@ -223,7 +225,8 @@ config STONEYRIDGE_GEC_FWM_FILE
config AMD_PUBKEY_FILE config AMD_PUBKEY_FILE
string "AMD public Key" string "AMD public Key"
default "3rdparty/blobs/soc/amd/merlinfalcon/PSP/AmdPubKeyCZ.bin" if AMD_APU_MERLINFALCON && HAVE_MERLINFALCON_BINARIES default "" if !USE_AMD_BLOBS
default "3rdparty/blobs/soc/amd/merlinfalcon/PSP/AmdPubKeyCZ.bin" if AMD_APU_MERLINFALCON
default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin" default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin"
config STONEYRIDGE_SATA_MODE config STONEYRIDGE_SATA_MODE

View File

@ -137,20 +137,15 @@ STONEYRIDGE_FWM_POSITION=$(call int-add, \
### 0 ### 0
FIRMWARE_LOCATE=$(dir $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE))) FIRMWARE_LOCATE=$(dir $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)))
ifneq ($(FIRMWARE_LOCATE),)
ifeq ($(CONFIG_AMD_APU_STONEYRIDGE),y) ifeq ($(CONFIG_AMD_APU_STONEYRIDGE),y)
FIRMWARE_TYPE=ST FIRMWARE_TYPE=ST
else else
ifeq ($(CONFIG_AMD_APU_MERLINFALCON),y) ifeq ($(CONFIG_AMD_APU_MERLINFALCON),y)
# If Merlin Falcon, but blobs aren't present, use Stoney Ridge instead
ifeq ($(CONFIG_HAVE_MERLINFALCON_BINARIES),y)
FIRMWARE_TYPE=CZ FIRMWARE_TYPE=CZ
else else
FIRMWARE_TYPE=ST $(error soc/amd/stoneyridge: Unusable FIRMWARE_TYPE)
endif # CONFIG_HAVE_MERLINFALCON_BINARIES
else
$(error stoneyridge: Unknown FIRMWARE_TYPE)
endif # CONFIG_AMD_APU_MERLINFALCON endif # CONFIG_AMD_APU_MERLINFALCON
endif # CONFIG_AMD_APU_STONEYRIDGE endif # CONFIG_AMD_APU_STONEYRIDGE
@ -332,4 +327,17 @@ endif
endif # ifeq ($(CONFIG_SOC_AMD_PSP_SELECTABLE_SMU_FW),y) endif # ifeq ($(CONFIG_SOC_AMD_PSP_SELECTABLE_SMU_FW),y)
else # ifneq ($(FIRMWARE_LOCATE),)
warn_no_amdfw:
printf "\n\t** WARNING **\n"
printf "coreboot has been built with no PSP firmware and "
printf "a non-booting image has been generated.\n\n"
PHONY+=warn_no_amdfw
files_added:: warn_no_amdfw
endif # ifneq ($(FIRMWARE_LOCATE),)
endif # ($(CONFIG_SOC_AMD_MERLINFALCON)$(CONFIG_SOC_AMD_STONEYRIDGE_FP4)$(CONFIG_SOC_AMD_STONEYRIDGE_FT4),y) endif # ($(CONFIG_SOC_AMD_MERLINFALCON)$(CONFIG_SOC_AMD_STONEYRIDGE_FP4)$(CONFIG_SOC_AMD_STONEYRIDGE_FT4),y)