From 91e7fe7b547396857c7165a2c68aad5fda8730e4 Mon Sep 17 00:00:00 2001 From: Marshall Dawson Date: Sun, 24 Nov 2019 17:19:19 -0700 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/37220 Reviewed-by: Richard Spiegel Tested-by: build bot (Jenkins) --- src/soc/amd/stoneyridge/Kconfig | 7 +++++-- src/soc/amd/stoneyridge/Makefile.inc | 22 +++++++++++++++------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index bb297a9356..a5607b4c88 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -174,7 +174,8 @@ config VGA_BIOS_ID config VGA_BIOS_FILE 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" config S3_VGA_ROM_RUN @@ -214,6 +215,7 @@ config STONEYRIDGE_GEC_FWM config STONEYRIDGE_XHCI_FWM_FILE string "XHCI firmware path and filename" + default "" if !USE_AMD_BLOBS default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin" depends on STONEYRIDGE_XHCI_FWM @@ -223,7 +225,8 @@ config STONEYRIDGE_GEC_FWM_FILE config AMD_PUBKEY_FILE 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" config STONEYRIDGE_SATA_MODE diff --git a/src/soc/amd/stoneyridge/Makefile.inc b/src/soc/amd/stoneyridge/Makefile.inc index f697fc2e65..d2d64c805c 100644 --- a/src/soc/amd/stoneyridge/Makefile.inc +++ b/src/soc/amd/stoneyridge/Makefile.inc @@ -137,20 +137,15 @@ STONEYRIDGE_FWM_POSITION=$(call int-add, \ ### 0 FIRMWARE_LOCATE=$(dir $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE))) +ifneq ($(FIRMWARE_LOCATE),) ifeq ($(CONFIG_AMD_APU_STONEYRIDGE),y) FIRMWARE_TYPE=ST else - 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 else -FIRMWARE_TYPE=ST -endif # CONFIG_HAVE_MERLINFALCON_BINARIES -else -$(error stoneyridge: Unknown FIRMWARE_TYPE) +$(error soc/amd/stoneyridge: Unusable FIRMWARE_TYPE) endif # CONFIG_AMD_APU_MERLINFALCON endif # CONFIG_AMD_APU_STONEYRIDGE @@ -332,4 +327,17 @@ endif 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)