From 3f4c84513d85278b2bc52286e015c726ffed1a92 Mon Sep 17 00:00:00 2001 From: Swathi Tamilselvan Date: Tue, 19 Aug 2025 09:51:55 +0530 Subject: [PATCH] soc/qualcomm/x1p42100/qclib: Support to pack AOP config and meta in CBFS Add support to pack AOP config and AOP config metadata. Reserve region for aop blob meta load in memlayout. Change-Id: Iafa4d878d6bf515824681b24f6078ab868c26bf6 Signed-off-by: Swathi Tamilselvan Reviewed-on: https://review.coreboot.org/c/coreboot/+/88814 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik Reviewed-by: Kapil Porwal --- src/soc/qualcomm/x1p42100/Makefile.mk | 22 ++++++++++++++++++++++ src/soc/qualcomm/x1p42100/memlayout.ld | 1 + 2 files changed, 23 insertions(+) diff --git a/src/soc/qualcomm/x1p42100/Makefile.mk b/src/soc/qualcomm/x1p42100/Makefile.mk index d96dd8d760..1c0d3fe762 100644 --- a/src/soc/qualcomm/x1p42100/Makefile.mk +++ b/src/soc/qualcomm/x1p42100/Makefile.mk @@ -166,6 +166,28 @@ $(AOP_META_CBFS)-type := raw $(AOP_META_CBFS)-compression := $(CBFS_COMPRESS_FLAG) cbfs-files-y += $(AOP_META_CBFS) +################################################################################ +AOP_CFG_FILE := $(X1P42100_BLOB)/aop/aop_devcfg.mbn +AOP_CFG_CBFS := $(CONFIG_CBFS_PREFIX)/aop_cfg +$(AOP_CFG_CBFS)-file := $(AOP_CFG_FILE) +$(AOP_CFG_CBFS)-type := payload +$(AOP_CFG_CBFS)-compression := $(CBFS_COMPRESS_FLAG) +cbfs-files-y += $(AOP_CFG_CBFS) + +################################################################################ +# Rule to create aop_meta from aop_devcfg.mbn +# This rule depends on aop_devcfg.mbn built and the extractor script existing. +$(obj)/mainboard/$(MAINBOARDDIR)/aop_devcfg_meta: $(X1P42100_BLOB)/aop/aop_devcfg.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 $< $@ + +AOP_DEVCFG_META_FILE := $(obj)/mainboard/$(MAINBOARDDIR)/aop_devcfg_meta +AOP_DEVCFG_META_CBFS := $(CONFIG_CBFS_PREFIX)/aop_devcfg_meta +$(AOP_DEVCFG_META_CBFS)-file := $(AOP_DEVCFG_META_FILE) +$(AOP_DEVCFG_META_CBFS)-type := raw +$(AOP_DEVCFG_META_CBFS)-compression := $(CBFS_COMPRESS_FLAG) +cbfs-files-y += $(AOP_DEVCFG_META_CBFS) + ################################################################################ CPUCP_FILE := $(X1P42100_BLOB)/cpucp/cpucp.elf CPUCP_CBFS := $(CONFIG_CBFS_PREFIX)/cpucp diff --git a/src/soc/qualcomm/x1p42100/memlayout.ld b/src/soc/qualcomm/x1p42100/memlayout.ld index 9101bd3bb8..4154534f2b 100644 --- a/src/soc/qualcomm/x1p42100/memlayout.ld +++ b/src/soc/qualcomm/x1p42100/memlayout.ld @@ -34,6 +34,7 @@ SECTIONS REGION(dtb, 0x14870000, 32K, 4K) REGION(ddr_training, 0x14878000, 64K, 4K) REGION(qc_blob_meta, 0x14888000, 16K, 4K) + REGION(aop_blob_meta, 0x1488c000, 16K, 4K) REGION(qclib, 0x14897000, 1536K, 4K) PRERAM_CBMEM_CONSOLE(0x14A30000, 32K) OVERLAP_DECOMPRESSOR_VERSTAGE_ROMSTAGE(0x14A38000, 132K)