From 12294d0c48bd5a916e192ca663ffa49a346b420f Mon Sep 17 00:00:00 2001 From: Marshall Dawson Date: Mon, 25 Nov 2019 07:21:18 -0700 Subject: soc/amd/stoneyridge: Add selectable APU names Add APU names of STONEYRIDGE and MERLINFALCON to Kconfig. The existing convention of SOC_AMD_PRODUCTNAME_PKG will be phased out. Don't explicitely use the APU_STONEYRIDGE name yet when creating default paths. Prairie Falcon relies on the default setting, and this will be addressed in a later change. Change-Id: I2061b9b02f6e9def4e151fc38951ad8abb68df1d Signed-off-by: Marshall Dawson Reviewed-on: https://review.coreboot.org/c/coreboot/+/37219 Tested-by: build bot (Jenkins) Reviewed-by: Richard Spiegel --- src/soc/amd/stoneyridge/Kconfig | 24 ++++++++++++++++++------ src/soc/amd/stoneyridge/Makefile.inc | 14 +++++++++++++- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index c753ecee6a..bb297a9356 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -15,24 +15,27 @@ config SOC_AMD_STONEYRIDGE_FP4 bool + select AMD_APU_STONEYRIDGE select AMD_APU_PKG_FP4 help AMD Stoney Ridge FP4 support config SOC_AMD_STONEYRIDGE_FT4 bool + select AMD_APU_STONEYRIDGE select AMD_APU_PKG_FT4 help AMD Stoney Ridge FT4 support config SOC_AMD_MERLINFALCON bool + select AMD_APU_MERLINFALCON select AMD_APU_PKG_FP4 help AMD Merlin Falcon FP4 support config HAVE_MERLINFALCON_BINARIES - depends on SOC_AMD_MERLINFALCON + depends on AMD_APU_MERLINFALCON bool "Merlinfalcon binaries are present" default n help @@ -80,6 +83,16 @@ config CPU_SPECIFIC_OPTIONS select SSE2 select RTC +config AMD_APU_STONEYRIDGE + bool + help + AMD Stoney Ridge APU + +config AMD_APU_MERLINFALCON + bool + help + AMD Merlin Falcon APU + config AMD_APU_PKG_FP4 bool help @@ -153,7 +166,7 @@ config MMCONF_BUS_NUMBER config VGA_BIOS_ID string - default "1002,9874" if SOC_AMD_MERLINFALCON + default "1002,9874" if AMD_APU_MERLINFALCON default "1002,98e4" help The default VGA BIOS PCI vendor/device ID should be set to the @@ -161,7 +174,7 @@ config VGA_BIOS_ID config VGA_BIOS_FILE string - default "3rdparty/blobs/soc/amd/merlinfalcon/VBIOS.bin" if SOC_AMD_MERLINFALCON && HAVE_MERLINFALCON_BINARIES + default "3rdparty/blobs/soc/amd/merlinfalcon/VBIOS.bin" if AMD_APU_MERLINFALCON && HAVE_MERLINFALCON_BINARIES default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin" config S3_VGA_ROM_RUN @@ -210,7 +223,7 @@ config STONEYRIDGE_GEC_FWM_FILE config AMD_PUBKEY_FILE string "AMD public Key" - default "3rdparty/blobs/soc/amd/merlinfalcon/PSP/AmdPubKeyCZ.bin" if SOC_AMD_MERLINFALCON && HAVE_MERLINFALCON_BINARIES + default "3rdparty/blobs/soc/amd/merlinfalcon/PSP/AmdPubKeyCZ.bin" if AMD_APU_MERLINFALCON && HAVE_MERLINFALCON_BINARIES default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin" config STONEYRIDGE_SATA_MODE @@ -331,8 +344,7 @@ config USE_PSPSECUREOS config SOC_AMD_PSP_SELECTABLE_SMU_FW bool - default n if SOC_AMD_MERLINFALCON - default y + default y if AMD_APU_STONEYRIDGE help Some ST implementations allow storing SMU firmware into cbfs and calling the PSP to load the blobs at the proper time. diff --git a/src/soc/amd/stoneyridge/Makefile.inc b/src/soc/amd/stoneyridge/Makefile.inc index b74bc68cc3..f697fc2e65 100644 --- a/src/soc/amd/stoneyridge/Makefile.inc +++ b/src/soc/amd/stoneyridge/Makefile.inc @@ -137,11 +137,23 @@ STONEYRIDGE_FWM_POSITION=$(call int-add, \ ### 0 FIRMWARE_LOCATE=$(dir $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE))) + +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 +endif # CONFIG_HAVE_MERLINFALCON_BINARIES +else +$(error stoneyridge: Unknown FIRMWARE_TYPE) + +endif # CONFIG_AMD_APU_MERLINFALCON +endif # CONFIG_AMD_APU_STONEYRIDGE ###5 PUBSIGNEDKEY_FILE=$(top)/$(FIRMWARE_LOCATE)/RtmPubSigned$(FIRMWARE_TYPE).key -- cgit v1.2.3