From 4a2c61a8a09bd5023fac6a297218b364698b0877 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Sat, 21 Jun 2025 07:16:09 +0000 Subject: [PATCH] soc/qc/x1p42100: Allow building QC platform without upstream blobs Qualcomm's latest SoC, the x1p42100, lacks upstreamed blobs. This prevents coreboot builds because the default setting marks CONFIG_USE_QC_BLOBS=y. As a result, build errors occur when the new Qualcomm SoC blobs aren't in the upstream. This change introduces `QC_BLOBS_UPSTREAM` Kconfig and set to default `N` to build QC platform without relying on upstream blob support. This is necessary for bringing up a new QC SoC-based platform, as public QC blobs won't be available until later in the year. This ensures that early QC development can proceed for QC SoC based without depending on upstream blobs. Override this Kconfig when QC blobs are available in upstream for latest X1P42100 SoC. TEST=Able to build google/bluey. Change-Id: I04fde6e8917fb3f88c58eb2b55b47de1c2d33518 Signed-off-by: Subrata Banik Reviewed-on: https://review.coreboot.org/c/coreboot/+/88137 Tested-by: build bot (Jenkins) Reviewed-by: Kapil Porwal --- src/soc/qualcomm/x1p42100/Kconfig | 8 +++++++- src/soc/qualcomm/x1p42100/Makefile.mk | 9 ++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/soc/qualcomm/x1p42100/Kconfig b/src/soc/qualcomm/x1p42100/Kconfig index d9d6a939af..7aa6481581 100644 --- a/src/soc/qualcomm/x1p42100/Kconfig +++ b/src/soc/qualcomm/x1p42100/Kconfig @@ -3,7 +3,6 @@ config SOC_QUALCOMM_X1P42100 bool default n - depends on USE_QC_BLOBS select ARCH_BOOTBLOCK_ARMV8_64 select ARCH_RAMSTAGE_ARMV8_64 select ARCH_ROMSTAGE_ARMV8_64 @@ -28,6 +27,13 @@ config SOC_QUALCOMM_X1P42100 if SOC_QUALCOMM_X1P42100 +config QC_BLOBS_UPSTREAM + bool "QC blobs are available in upstream repository" + select USE_QC_BLOBS + default n + help + Select based on availability of QC blobs in upstream coreboot `3rdparty/qc_blobs`. + config MEMLAYOUT_LD_FILE string default "src/soc/qualcomm/x1p42100/memlayout.ld" diff --git a/src/soc/qualcomm/x1p42100/Makefile.mk b/src/soc/qualcomm/x1p42100/Makefile.mk index 7627320dbc..7a8b928930 100644 --- a/src/soc/qualcomm/x1p42100/Makefile.mk +++ b/src/soc/qualcomm/x1p42100/Makefile.mk @@ -47,9 +47,11 @@ CPPFLAGS_common += -Isrc/soc/qualcomm/x1p42100/include CPPFLAGS_common += -Isrc/soc/qualcomm/common/include ################################################################################ +# look for QC blobs if QC SoC blobs are only available in upstream else ignore +ifeq ($(CONFIG_QC_BLOBS_UPSTREAM),y) ifeq ($(CONFIG_USE_QC_BLOBS),y) # TODO: Upload X1P42100 SoC blobs -X1P42100_BLOB := $(top)/3rdparty/qc_blobs/sc7280 +X1P42100_BLOB := $(top)/3rdparty/qc_blobs/x1p42100 ifeq ($(CONFIG_QC_SDI_ENABLE),y) BL31_MAKEARGS += QTI_SDI_BUILD=1 @@ -187,6 +189,7 @@ $(GSI_FW_CBFS)-type := raw $(GSI_FW_CBFS)-compression := $(CBFS_COMPRESS_FLAG) cbfs-files-y += $(GSI_FW_CBFS) -endif +endif # ifeq ($(CONFIG_USE_QC_BLOBS),y) -endif +endif # ifeq ($(CONFIG_QC_BLOBS_UPSTREAM),y) +endif # ifeq ($(CONFIG_SOC_QUALCOMM_X1P42100),y)