[PATCH v4 7/8] qualcomm: use mkmbn via binman and stop creating ELF files
Casey Connolly
casey.connolly at linaro.org
Fri Jun 13 19:23:11 CEST 2025
Remove the load address and REMAKE_ELF from Qualcomm defconfigs. This
information is now encoded in a table in mkmbn.py.
Add a new qcom-binman.dts file to configure binman to build a u-boot.mbn
file.
mkmbn.py is now run by binman during the build process and will emit an
MBN file for supported boards with the appropriate signatures.
This removes the need for additional processing of the image in most
cases.
Signed-off-by: Casey Connolly <casey.connolly at linaro.org>
---
arch/arm/Kconfig | 1 +
arch/arm/dts/qcom-binman.dts | 16 ++++++++++++++++
configs/qcm6490_defconfig | 4 ----
configs/qcom_defconfig | 2 ++
configs/qcom_ipq9574_mmc_defconfig | 1 -
configs/qcs9100_defconfig | 4 ----
6 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 579c8acfcb466122c4fe66950ec7ca24c355b43a..12f354b86b6c740a8ae4c59a1a48b0be6595acfb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1107,8 +1107,9 @@ config ARCH_RENESAS
config ARCH_SNAPDRAGON
bool "Qualcomm Snapdragon SoCs"
select ARM64
+ select BINMAN
select DM
select DM_GPIO
select DM_SERIAL
select DM_RESET
diff --git a/arch/arm/dts/qcom-binman.dts b/arch/arm/dts/qcom-binman.dts
new file mode 100644
index 0000000000000000000000000000000000000000..da5d4a23d2fa960c5de6e1eec6dd982018fdd804
--- /dev/null
+++ b/arch/arm/dts/qcom-binman.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * (C) Copyright 2025, Linaro Ltd.
+ *
+ * Casey Connolly <casey.connolly at linaro.org>
+ */
+
+/* Configure binman to build a u-boot.mbn */
+/dts-v1/;
+/{
+ binman {
+ u-boot-mbn {
+
+ };
+ };
+};
diff --git a/configs/qcm6490_defconfig b/configs/qcm6490_defconfig
index 54eb5dedaecb7a82c26a4bd7f5d1807ca6d4201c..63daa74a451aec5178cb9c1e58907ab9c9985d90 100644
--- a/configs/qcm6490_defconfig
+++ b/configs/qcm6490_defconfig
@@ -7,9 +7,5 @@
# Otherwise buildman thinks this isn't an ARM platform
CONFIG_ARM=y
-# Address where U-Boot will be loaded
-CONFIG_TEXT_BASE=0x9fc00000
-CONFIG_REMAKE_ELF=y
-
CONFIG_DEFAULT_DEVICE_TREE="qcom/qcs6490-rb3gen2"
diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
index 6258d5dd5aad0367cd92f52b6a1f84367b7921ea..2afb930e103cac5801bea05f531f98ed046113a0 100644
--- a/configs/qcom_defconfig
+++ b/configs/qcom_defconfig
@@ -152,4 +152,6 @@ CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_NO_FB_CLEAR=y
CONFIG_VIDEO_SIMPLE=y
CONFIG_WDT_QCOM=y
CONFIG_WDT=y
+# CONFIG_BINMAN_FDT is not set
+CONFIG_BINMAN_DTB="./arch/arm/dts/qcom-binman.dtb"
diff --git a/configs/qcom_ipq9574_mmc_defconfig b/configs/qcom_ipq9574_mmc_defconfig
index 8d7d3d92c73a30b246acc2eae6da1d7b04892691..00abc8430596dadd574d5d2b7353ecfdef01e2b4 100644
--- a/configs/qcom_ipq9574_mmc_defconfig
+++ b/configs/qcom_ipq9574_mmc_defconfig
@@ -11,9 +11,8 @@ CONFIG_DEFAULT_DEVICE_TREE="qcom/ipq9574-rdp433"
CONFIG_SYS_LOAD_ADDR=0x50000000
CONFIG_DEBUG_UART_BASE=0x78b1000
CONFIG_DEBUG_UART_CLOCK=1843200
CONFIG_DEBUG_UART=y
-CONFIG_REMAKE_ELF=y
# CONFIG_EFI_LOADER is not set
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
# CONFIG_BOOTSTD is not set
diff --git a/configs/qcs9100_defconfig b/configs/qcs9100_defconfig
index 4ceeba63ec12cebbc2124eb256a255450500152f..09e2c51d6d216f1f5c92c66b2eb30f38476d5792 100644
--- a/configs/qcs9100_defconfig
+++ b/configs/qcs9100_defconfig
@@ -4,9 +4,5 @@
# a dedicated "uefi" partition for edk2/U-Boot)
#include "qcom_defconfig"
-# Address where U-Boot will be loaded
-CONFIG_TEXT_BASE=0xaf000000
-CONFIG_REMAKE_ELF=y
-
CONFIG_DEFAULT_DEVICE_TREE="qcom/qcs9100-ride-r3"
--
2.49.0
More information about the U-Boot
mailing list