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 <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37219
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
This commit is contained in:
Marshall Dawson 2019-11-25 07:21:18 -07:00 committed by Patrick Georgi
parent 3ac0ab524b
commit 12294d0c48
2 changed files with 31 additions and 7 deletions

View File

@ -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.

View File

@ -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