Attention is currently required from: Jason Glenesk, Matt DeVillier, Zheng Bao, Fred Reitberger, Felix Held.
Hello Zheng Bao,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/72703
to review the following change.
Change subject: soc/amd/phoenix: Allow the amdfw.rom to be split into two parts ......................................................................
soc/amd/phoenix: Allow the amdfw.rom to be split into two parts
Split the big PSP FW data into two parts, head and body. The head needs to be located at specific location. The body address is more flexible. So the EC FW can be put to the address like 0x80000.
Need 1K extra space for the region header or something.
Change-Id: Ia8b318f71632a2c9b97ce67486374dc24d23e63e Signed-off-by: Zheng Bao fishbaozi@gmail.com --- M src/soc/amd/phoenix/Makefile.inc 1 file changed, 31 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/03/72703/1
diff --git a/src/soc/amd/phoenix/Makefile.inc b/src/soc/amd/phoenix/Makefile.inc index 1c24243..d8bce29 100644 --- a/src/soc/amd/phoenix/Makefile.inc +++ b/src/soc/amd/phoenix/Makefile.inc @@ -213,6 +213,8 @@ # If vboot uses 2 RW slots, then 2 copies of PSP binaries are redundant OPT_RECOVERY_AB_SINGLE_COPY=$(if $(CONFIG_VBOOT_SLOTS_RW_AB), --recovery-ab-single-copy)
+OPT_AMDFW_BODY_LOCATION=$(if $(CONFIG_AMDFW_BODY_LOCATION), --body-location $(CONFIG_AMDFW_BODY_LOCATION)) + AMDFW_COMMON_ARGS=$(OPT_PSP_APCB_FILES) \ $(OPT_APOB_ADDR) \ $(OPT_PSP_BIOSBIN_FILE) \ @@ -233,7 +235,8 @@ --config $(CONFIG_AMDFW_CONFIG_FILE) \ --soc-name "Phoenix" \ --flashsize $(CONFIG_ROM_SIZE) \ - $(OPT_RECOVERY_AB_SINGLE_COPY) + $(OPT_RECOVERY_AB_SINGLE_COPY) \ + $(OPT_AMDFW_BODY_LOCATION)
$(obj)/amdfw.rom: $(call strip_quotes, $(PSP_BIOSBIN_FILE)) \ $(PSP_VERSTAGE_FILE) \ @@ -256,6 +259,17 @@ --location $(shell printf "%#x" $(PHOENIX_FWM_POSITION)) \ --output $@
+ifneq ($(CONFIG_AMDFW_BODY_LOCATION)y,y) +$(obj)/amdfw.rom.body: $(obj)/amdfw.rom + +regions-for-file-apu/amdfwbody=AMDFWBODY + +cbfs-files-y += apu/amdfwbody +apu/amdfwbody-file := $(obj)/amdfw.rom.body +apu/amdfwbody-position := 1024 +apu/amdfwbody-type := raw +endif + $(PSP_BIOSBIN_FILE): $(PSP_ELF_FILE) $(AMDCOMPRESS) rm -f $@ @printf " AMDCOMPRS $(subst $(obj)/,,$(@))\n"