soc/qualcomm/x1p42100: Add support for APDP image packing in CBFS

This patch adds build rules for packing the APDP image in CBFS.
It also updates the memory layout to include a dedicated region
for APDP metadata storage (4KB at 0x14890000).

TEST=Create an image.serial.bin and ensure it boots on X1P42100.

Change-Id: Ia3093ef6619dd504c829cf6ba6f672f16070f68a
Signed-off-by: Venkateshwar S <vens@qualcomm.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90302
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
Venkateshwar S 2025-11-29 08:52:37 -08:00 committed by Subrata Banik
commit 3c563669b5
2 changed files with 28 additions and 0 deletions

View file

@ -295,6 +295,31 @@ $(HYPAC_CFG_FILE_CBFS)-type := payload
$(HYPAC_CFG_FILE_CBFS)-compression := $(CBFS_COMPRESS_FLAG)
cbfs-files-y += $(HYPAC_CFG_FILE_CBFS)
################################################################################
ifeq ($(CONFIG_QC_APDP_ENABLE),y)
APDP_FILE := $(X1P42100_BLOB)/qtee/apdp.mbn
APDP_CBFS := $(CONFIG_CBFS_PREFIX)/apdp
$(APDP_CBFS)-file := $(APDP_FILE)
$(APDP_CBFS)-type := payload
$(APDP_CBFS)-compression := $(CBFS_COMPRESS_FLAG)
cbfs-files-y += $(APDP_CBFS)
################################################################################
# Rule to create apdp_meta from apdp.mbn
# This rule depends on apdp.mbn being built and the extractor script existing.
$(obj)/mainboard/$(MAINBOARDDIR)/apdp_meta: $(X1P42100_BLOB)/qtee/apdp.mbn util/qualcomm/elf_segment_extractor.py
@echo "Extracting ELF headers and hash table segment from $< to $@"
@util/qualcomm/elf_segment_extractor.py --eh --pht --hashtable $< $@
APDP_META_FILE := $(obj)/mainboard/$(MAINBOARDDIR)/apdp_meta
APDP_META_CBFS := $(CONFIG_CBFS_PREFIX)/apdp_meta
$(APDP_META_CBFS)-file := $(APDP_META_FILE)
$(APDP_META_CBFS)-type := raw
$(APDP_META_CBFS)-compression := $(CBFS_COMPRESS_FLAG)
cbfs-files-y += $(APDP_META_CBFS)
endif # ifeq ($(CONFIG_QC_APDP_ENABLE),y)
endif # ifeq ($(CONFIG_USE_QC_BLOBS),y)
endif # ifeq ($(CONFIG_QC_BLOBS_UPSTREAM),y)

View file

@ -110,6 +110,8 @@
* | qclib | |
* 0x14897000 +----------------------------------------------------------+ |
* | ... Usable memory ... | |
* 0x14891000 +----------------------------------------------------------+ |
* | apdp_ramdump_meta | |
* 0x14890000 +----------------------------------------------------------+ |
* | aop_blob_meta | |
* 0x1488C000 +----------------------------------------------------------+ |
@ -207,6 +209,7 @@ SECTIONS
REGION(ddr_training, 0x14878000, 64K, 4K)
REGION(qc_blob_meta, 0x14888000, 16K, 4K)
REGION(aop_blob_meta, 0x1488c000, 16K, 4K)
REGION(apdp_ramdump_meta, 0x14890000, 4K, 4K)
REGION(qclib, 0x14897000, 1536K, 4K)
REGION(cpr_settings, 0x14A17000, 12K, 4K)
PRERAM_CBMEM_CONSOLE(0x14A30000, 32K)