soc/amd/picasso: Increase max APCB images to 5

An important piece of information contained in the APCB is a copy of
SPD-type data to use for soldered down memory.  The amdfwtool has
been updated with the ability to build five APCBs into the PSP's BIOS
Directory Table.  Modify Picasso's Kconfig and Makefile.inc to take
advantage of the flexibility, and pass the correct instance ID to
amdfwtool.

Change-Id: I0efa02cb35f187ca85a8f0d8bd574fc438e6dc0a
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36121
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Marshall Dawson 2019-09-25 11:07:56 -06:00 committed by Martin Roth
parent 0581bf6a75
commit 4357a82076
2 changed files with 46 additions and 5 deletions

View File

@ -297,7 +297,32 @@ config AMD_PUBKEY_FILE
config PSP_APCB_FILE
string "APCB file"
help
The name of the AGESA Parameter Customization Block.
The name of the AGESA Parameter Customization Block. This image is
instance ID 0 in the PSP's BIOS Directory Table.
config PSP_APCB1_FILE
string
help
If specified, this image is instance ID 1 in the PSP's BIOS
Directory Table.
config PSP_APCB2_FILE
string
help
If specified, this image is instance ID 2 in the PSP's BIOS
Directory Table.
config PSP_APCB3_FILE
string
help
If specified, this image is instance ID 3 in the PSP's BIOS
Directory Table.
config PSP_APCB4_FILE
string
help
If specified, this image is instance ID 4 in the PSP's BIOS
Directory Table.
config PSP_APOB_DESTINATION
hex

View File

@ -192,7 +192,11 @@ endif
#
# type = 0x60
PSP_APCB_FILE=$(call strip_quotes, $(CONFIG_PSP_APCB_FILE))
PSP_APCB0_FILE=$(call strip_quotes, $(CONFIG_PSP_APCB_FILE))
PSP_APCB1_FILE=$(call strip_quotes, $(CONFIG_PSP_APCB1_FILE))
PSP_APCB2_FILE=$(call strip_quotes, $(CONFIG_PSP_APCB2_FILE))
PSP_APCB3_FILE=$(call strip_quotes, $(CONFIG_PSP_APCB3_FILE))
PSP_APCB4_FILE=$(call strip_quotes, $(CONFIG_PSP_APCB4_FILE))
# type = 0x61
PSP_APOB_BASE=$(CONFIG_PSP_APOB_DESTINATION)
@ -258,7 +262,11 @@ OPT_ABL6_FILE=$(call add_opt_prefix, $(PSP_ABL6_FILE), --abl-image)
OPT_ABL7_FILE=$(call add_opt_prefix, $(PSP_ABL7_FILE), --abl-image)
OPT_WHITELIST_FILE=$(call add_opt_prefix, $(PSP_WHITELIST_FILE), --whitelist)
OPT_PSP_APCB_FILE=$(call add_opt_prefix, $(PSP_APCB_FILE), --apcb)
OPT_PSP_APCB0_FILE=$(call add_opt_prefix, $(PSP_APCB0_FILE), --instance 0 --apcb)
OPT_PSP_APCB1_FILE=$(call add_opt_prefix, $(PSP_APCB1_FILE), --instance 1 --apcb)
OPT_PSP_APCB2_FILE=$(call add_opt_prefix, $(PSP_APCB2_FILE), --instance 2 --apcb)
OPT_PSP_APCB3_FILE=$(call add_opt_prefix, $(PSP_APCB3_FILE), --instance 3 --apcb)
OPT_PSP_APCB4_FILE=$(call add_opt_prefix, $(PSP_APCB4_FILE), --instance 4 --apcb)
OPT_APOB_ADDR=$(call add_opt_prefix, $(PSP_APOB_BASE), --apob-base)
OPT_PSP_BIOSBIN_FILE=$(call add_opt_prefix, $(PSP_BIOSBIN_FILE), --bios-bin)
OPT_PSP_BIOSBIN_DEST=$(call add_opt_prefix, $(PSP_BIOSBIN_DEST), --bios-bin-dest)
@ -284,7 +292,11 @@ $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)) \
$(call strip_quotes, $(PSPSCUREOS_FILE)) \
$(call strip_quotes, $(PSP_SEC_DBG_KEY_FILE)) \
$(call strip_quotes, $(PSPTRUSTLETS_FILE)) \
$(call strip_quotes, $(PSP_APCB_FILE)) \
$(call strip_quotes, $(PSP_APCB0_FILE)) \
$(call strip_quotes, $(PSP_APCB1_FILE)) \
$(call strip_quotes, $(PSP_APCB2_FILE)) \
$(call strip_quotes, $(PSP_APCB3_FILE)) \
$(call strip_quotes, $(PSP_APCB4_FILE)) \
$(call strip_quotes, $(PSP_BIOSBIN_FILE)) \
$(call strip_quotes, $(PSP_PMUI_FILE1)) \
$(call strip_quotes, $(PSP_PMUI_FILE2)) \
@ -331,7 +343,11 @@ $(obj)/amdfw.rom: $(call strip_quotes, $(CONFIG_AMD_PUBKEY_FILE)) \
$(OPT_SMUFW2_SUB2_FILE) \
$(OPT_SMUFW1_SUB1_FILE) \
$(OPT_SMUFW2_SUB1_FILE) \
$(OPT_PSP_APCB_FILE) \
$(OPT_PSP_APCB0_FILE) \
$(OPT_PSP_APCB1_FILE) \
$(OPT_PSP_APCB2_FILE) \
$(OPT_PSP_APCB3_FILE) \
$(OPT_PSP_APCB4_FILE) \
$(OPT_APOB_ADDR) \
$(OPT_APOBNV_ADDR) \
$(OPT_APOBNV_SIZE) \