[PATCH v5 02/13] binman: qcom: Add type definitions for Qualcomm binaries
Simon Glass
sjg at chromium.org
Fri Jun 19 14:14:56 CEST 2026
Hi Varadarajan,
On 2026-06-17T10:17:59, Varadarajan Narayanan
<varadarajan.narayanan at oss.qualcomm.com> wrote:
> binman: qcom: Add type definitions for Qualcomm binaries
>
> Add type definitions for Qualcomm's
>
> appsbl -> APPS Boot Loader (U-Boot)
> config -> Board/DDR related configuration
> lib -> Library of proprietary routines
>
> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan at oss.qualcomm.com>
>
> tools/binman/etype/qcom_appsbl.py | 23 +++++++++++++++++++++++
> tools/binman/etype/qcom_config.py | 26 ++++++++++++++++++++++++++
> tools/binman/etype/qcom_lib.py | 21 +++++++++++++++++++++
> 3 files changed, 70 insertions(+)
> diff --git a/tools/binman/etype/qcom_appsbl.py b/tools/binman/etype/qcom_appsbl.py
> @@ -0,0 +1,23 @@
> + Properties / Entry arguments:
> + - filename: Filename of U-Boot MBN (default 'u-boot.mbn')
> +
> + This is the U-Boot MBN image.
> + """
> + def __init__(self, section, etype, node):
> + super().__init__(section, etype, node, 'qcom-appsbl')
Not quite. blob_named_by_arg looks up an entry-arg called
<blob_fname>-path, so the actual property is qcom-appsbl-path
(matching what your doc patch passes with -a qcom-appsbl-path=...).
There is no filename property and no default. Please update the
docstring to match the other two new etypes.
> diff --git a/tools/binman/etype/qcom_appsbl.py b/tools/binman/etype/qcom_appsbl.py
> @@ -0,0 +1,23 @@
> + def __init__(self, section, etype, node):
> + super().__init__(section, etype, node, 'qcom-appsbl')
qcom_config and qcom_lib set self.external = True, but this one
doesn't, even though u-boot.mbn is supplied via -a qcom-appsbl-path=.
Should this also be external? Otherwise a missing blob produces a hard
error rather than the usual missing-blob warning.
> diff --git a/tools/binman/etype/qcom_config.py b/tools/binman/etype/qcom_config.py
> @@ -0,0 +1,26 @@
> +from binman.entry import Entry
> +from binman.etype.blob_named_by_arg import Entry_blob_named_by_arg
The Entry import is unused - same in qcom_lib.py. Please drop it.
> diff --git a/tools/binman/etype/qcom_appsbl.py b/tools/binman/etype/qcom_appsbl.py
> @@ -0,0 +1,23 @@
> +# SPDX-License-Identifier: GPL-2.0
The rest of tools/binman/etype/ uses GPL-2.0+. Please align (all three
new files).
> diff --git a/tools/binman/etype/qcom_appsbl.py b/tools/binman/etype/qcom_appsbl.py
> @@ -0,0 +1,23 @@
> + MBN is a Qualcomm‑specific signed firmware container that packages
> + executable images (typically ELF) along with metadata such as hash,
> + signature, and certificate chain, enabling the secure boot chain and Root
> + of Trust (RoT) to load and authenticate images.
Just to clarify - the doc patch shows this entry is fed u-boot.mbn
produced by running elftombn.py over u-boot.elf, but the binman node
in the dtsi treats it as an ELF (fit,operation = 'split-elf', os =
'U-Boot'). Is the input actually a raw MBN container or the wrap-elf?
The docstring should describe whichever binman consumes.
> diff --git a/tools/binman/etype/qcom_appsbl.py b/tools/binman/etype/qcom_appsbl.py
> @@ -0,0 +1,23 @@
> +class Entry_qcom_appsbl(Entry_blob_named_by_arg):
> + """U-Boot mbn image
New binman etypes normally come with an ftest entry and a small test
data file. Please add coverage for these three.
Regards,
Simon
More information about the U-Boot
mailing list