summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarshall Dawson <marshalldawson3rd@gmail.com>2019-09-25 11:07:56 -0600
committerMartin Roth <martinroth@google.com>2019-10-20 22:10:16 +0000
commit4357a820764868ca75ae753b01aeecbaad2ad34c (patch)
tree8b225f661a34476c8379d376dd9c78abf38cb6b8 /src
parent0581bf6a75b2b0582930eeaf660d961c28dd78bd (diff)
downloadcoreboot-4357a820764868ca75ae753b01aeecbaad2ad34c.tar.gz
coreboot-4357a820764868ca75ae753b01aeecbaad2ad34c.tar.bz2
coreboot-4357a820764868ca75ae753b01aeecbaad2ad34c.zip
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>
Diffstat (limited to 'src')
-rw-r--r--src/soc/amd/picasso/Kconfig27
-rw-r--r--src/soc/amd/picasso/Makefile.inc24
2 files changed, 46 insertions, 5 deletions
diff --git a/src/soc/amd/picasso/Kconfig b/src/soc/amd/picasso/Kconfig
index 5af830cc83e0..b5ecfc75508d 100644
--- a/src/soc/amd/picasso/Kconfig
+++ b/src/soc/amd/picasso/Kconfig
@@ -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
diff --git a/src/soc/amd/picasso/Makefile.inc b/src/soc/amd/picasso/Makefile.inc
index 56f792c365c2..00dbffdfc4bc 100644
--- a/src/soc/amd/picasso/Makefile.inc
+++ b/src/soc/amd/picasso/Makefile.inc
@@ -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) \