public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Sumit Garg <sumit.garg@kernel.org>
To: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
Cc: rayagonda.kokatanur@broadcom.com, trini@konsulko.com,
	casey.connolly@linaro.org, neil.armstrong@linaro.org,
	peng.fan@nxp.com, jh80.chung@samsung.com, lukma@denx.de,
	tien.fong.chee@altera.com, anshuld@ti.com,
	alif.zakuan.yuslaimi@altera.com, tingting.meng@altera.com,
	alice.guo@nxp.com, quentin.schulz@cherry.de,
	ilias.apalodimas@linaro.org, xypron.glpk@gmx.de,
	mkorpershoek@kernel.org, h-salunke@ti.com, alchark@gmail.com,
	dario.binacchi@amarulasolutions.com, ye.li@nxp.com,
	andre.przywara@arm.com, afd@ti.com, dinesh.maniyam@altera.com,
	balaji.selvanathan@oss.qualcomm.com, danila@jiaxyga.com,
	aswin.murugan@oss.qualcomm.com, luca.weiss@fairphone.com,
	adrian@mainlining.org, justin@tidylabs.net, n-francis@ti.com,
	wens@kernel.org, jamie.gibbons@microchip.com,
	david.wronek@mainlining.org, alexeymin@postmarketos.org,
	james.hilliard1@gmail.com, michael@amarulasolutions.com,
	richard.genoud@bootlin.com, philip.molloy@analog.com,
	sughosh.ganu@arm.com, u-boot@lists.denx.de,
	u-boot-qcom@groups.io, michael.srba@seznam.cz
Subject: Re: [PATCH v2 2/9] doc: board/qualcomm: Update RDP build instructions
Date: Mon, 20 Apr 2026 18:55:25 +0530	[thread overview]
Message-ID: <aeYpRSg2S6p8dNZt@sumit-xelite> (raw)
In-Reply-To: <20260410091154.1001021-3-varadarajan.narayanan@oss.qualcomm.com>

Adding Michael

On Fri, Apr 10, 2026 at 02:41:47PM +0530, Varadarajan Narayanan wrote:
> Add details about the SPL & U-Boot proper build steps, converting to
> flashable images, source URLs for the needed binaries and scripts.
> 
> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> ---
>  doc/board/qualcomm/rdp.rst | 69 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 69 insertions(+)
> 
> diff --git a/doc/board/qualcomm/rdp.rst b/doc/board/qualcomm/rdp.rst
> index 99cf8eba57c..d09dba52044 100644
> --- a/doc/board/qualcomm/rdp.rst
> +++ b/doc/board/qualcomm/rdp.rst
> @@ -42,6 +42,67 @@ on your device with::
>  
>  U-Boot should be running after a reboot (``reset``).
>  
> +Build steps for IPQ5210 based Qualcomm Dragonwing F8 & N8 Platforms:
> +====================================================================

Rather than just the build steps, please describe the overall boot flow.
And since you have created a common SPL file for all the Qcom platforms,
can you ellaborate on how the boot flow is going to be reused across
Qcom platforms. Maybe we just need a dedicated spl.rst document here.

Also, how does this series align with one for SPL support on SDM845 here
[1]? Are there things that both SPL ports can reuse from each other?

[1] https://lore.kernel.org/all/20260411-qcom_spl-v2-0-9609557cf562@seznam.cz/

-Sumit

> +
> +Please refer to the following URLs for more details about the platforms.
> +
> +	F8: https://www.qualcomm.com/networking-infrastructure/products/f-series/f8-platform
> +
> +	N8: https://www.qualcomm.com/networking-infrastructure/products/n-series/n8-platform
> +
> +1. Since U-Boot SPL is enabled on these platforms, the build command generates
> +   both the U-Boot SPL and U-Boot proper images. Assuming ${uboot_dir} is the
> +   top of the U-Boot sources and ${out_dir} as the output directory,
> +
> +	$ cd ${uboot_dir}
> +	$ export CROSS_COMPILE=<aarch64 toolchain prefix>
> +	$ make -j8 O=${out_dir} qcom_ipq5210_mmc_defconfig
> +	$ make -j8 O=${out_dir}
> +
> +   U-Boot SPL image:	${out_dir}/spl/u-boot-spl.wrap-elf
> +   U-Boot image:	${out_dir}/u-boot.elf
> +
> +2. Convert the SPL image to multi ELF
> +
> +	$ cd ${out_dir}/spl
> +	$ python elftombn.py -f u-boot-spl.wrap-elf -o u-boot-spl.mbn -v7
> +	$ python create_multielf.py -f u-boot-spl.mbn,tmel-ipq52xx-patch.elf \
> +					-o u-boot-spl.melf
> +
> +   This u-boot-spl.melf should be flashed into 0:SPL partition.
> +   Please see below for the location of ``tmel-ipq52xx-patch.elf``
> +
> +3. Convert the U-Boot image to bootloader image
> +
> +	$ cd ${out_dir}
> +	$ python elftombn.py -f u-boot.elf -o u-boot.mbn -v7
> +
> +   The u-boot.mbn has to be combined with qc_config.elf, QCLib.elf, TFA and
> +   OPTEE. Please see below for the location for these ELFs. TFA and OPTEE can be
> +   built from the sources using the following commands
> +
> +   TFA:
> +	$ make PLAT=ipq52xx QTISECLIB_PATH=path/to/libqtisec_dbg.a SPD=opteed
> +
> +   OPTEE:
> +	$ make PLATFORM=qcom-ipq52xx -j16
> +
> +   These binaries can be combined into a flashable image using ``gen_its.py``.
> +
> +	$ python gen_its.py --arch ipq5210		\
> +		--qclib_path QCLib.elf			\
> +		--qcconfig_path qc_config.elf		\
> +		--tfa_bl31_path bl31.mbn		\
> +		--uboot_path u-boot.mbn			\
> +		--optee_path tee-raw.mbn		\
> +		-p qcconfig qclib			\
> +		-P tfa_bl31 uboot optee			\
> +		-o output/hm_503_test_uboot.img		\
> +		--template template.its
> +
> +   This should be flashed into 0:BOOTLDR partition.
> +
>  .. WARNING
>  	Boards with newer software versions would automatically go the emergency
>  	download (EDL) mode if U-Boot is not functioning as expected. If its a
> @@ -56,3 +117,11 @@ U-Boot should be running after a reboot (``reset``).
>  
>  .. _elftombn.py: https://git.codelinaro.org/clo/qsdk/oss/system/tools/meta/-/tree/NHSS.QSDK.13.0.5.r2/scripts?ref_type=heads
>  .. _edl: https://github.com/bkerler/edl
> +.. _create_multielf.py: https://raw.githubusercontent.com/coreboot/coreboot/refs/heads/main/util/qualcomm/create_multielf.py
> +.. _tmel-ipq52xx-patch.elf: https://softwarecenter.qualcomm.com/nexus/generic/product/chip/software-product/IPQ5210.NLQ.14.0/ipq5210.nlq.14.0-qca-oem-qartifact/r00036.1/TMEL.WNS.2.4/tmel-ipq52xx-patch.elf
> +.. _libqtisec_dbg.a: https://softwarecenter.qualcomm.com/nexus/generic/product/chip/software-product/IPQ5210.NLQ.14.0/ipq5210.nlq.14.0-qca-oem-qartifact/r00036.1/WIN.TFA.1.0.R4/apss_proc/out/proprietary/qtiseclib/output/ipq52xx/release/libqtisec_dbg.a
> +.. _qc_config.elf: https://softwarecenter.qualcomm.com/nexus/generic/product/chip/software-product/IPQ5210.NLQ.14.0/ipq5210.nlq.14.0-qca-oem-qartifact/r00036.1/BOOT.MXF.2.3.1.1/boot_images/boot/QcomPkg/SocPkg/Hermosa/Bin/LC/RELEASE/qc_config.elf
> +.. _QCLib.elf: https://softwarecenter.qualcomm.com/nexus/generic/product/chip/software-product/IPQ5210.NLQ.14.0/ipq5210.nlq.14.0-qca-oem-qartifact/r00036.1/BOOT.MXF.2.3.1.1/boot_images/boot/QcomPkg/SocPkg/Hermosa/Bin/LC/RELEASE/QCLib.elf
> +.. _gen_its.py: https://git.codelinaro.org/clo/qsdk/oss/system/tools/meta/-/tree/win.platform_tools.1.0.r34/scripts?ref_type=heads
> +.. _TFA: https://git.codelinaro.org/clo/trusted-firmware/tf-a/trusted-firmware-a/-/tree/win.tfa.1.0.r4?ref_type=heads
> +.. _OPTEE: https://git.codelinaro.org/clo/trusted-firmware/optee_os/optee_os/-/tree/win.optee.1.0?ref_type=heads
> -- 
> 2.34.1
> 

  parent reply	other threads:[~2026-04-20 20:33 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-10  9:11 [PATCH v2 0/9] Qualcomm IPQ5210 SoC bringup Varadarajan Narayanan
2026-04-10  9:11 ` [PATCH v2 1/9] dts: ipq5210-rdp504-u-boot: add override dtsi Varadarajan Narayanan
2026-04-11 13:18   ` Simon Glass
2026-04-20 12:36   ` Sumit Garg
2026-04-10  9:11 ` [PATCH v2 2/9] doc: board/qualcomm: Update RDP build instructions Varadarajan Narayanan
2026-04-11 13:15   ` Simon Glass
2026-04-13 11:05     ` Varadarajan Narayanan
2026-04-20 13:25   ` Sumit Garg [this message]
2026-04-10  9:11 ` [PATCH v2 3/9] clk/qcom: add initial clock driver for ipq5210 Varadarajan Narayanan
2026-04-10  9:11 ` [PATCH v2 4/9] pinctrl: qcom: Add ipq5210 pinctrl driver Varadarajan Narayanan
2026-04-10  9:11 ` [PATCH v2 5/9] misc: qcom_geni: Add minicore support Varadarajan Narayanan
2026-04-11 13:09   ` Simon Glass
2026-04-13  5:31     ` Varadarajan Narayanan
2026-04-13 13:35       ` Simon Glass
2026-04-10  9:11 ` [PATCH v2 6/9] spl: Include SMEM driver in SPL Varadarajan Narayanan
2026-04-11 13:09   ` Simon Glass
2026-04-10  9:11 ` [PATCH v2 7/9] mach-snapdragon: Add initial support for IPQ5210 SPL Varadarajan Narayanan
2026-04-11 13:12   ` Simon Glass
2026-04-10  9:11 ` [PATCH v2 8/9] mach-snapdragon: Add commands to create wrapper ELF Varadarajan Narayanan
2026-04-11 13:14   ` Simon Glass
2026-04-10  9:11 ` [PATCH v2 9/9] configs: add qcom_ipq5210_mmc_defconfig Varadarajan Narayanan
2026-04-11 13:15   ` Simon Glass
2026-04-15 10:10     ` Varadarajan Narayanan
2026-04-11 13:18 ` [PATCH v2 0/9] Qualcomm IPQ5210 SoC bringup Simon Glass
2026-04-15  7:14   ` Varadarajan Narayanan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aeYpRSg2S6p8dNZt@sumit-xelite \
    --to=sumit.garg@kernel.org \
    --cc=adrian@mainlining.org \
    --cc=afd@ti.com \
    --cc=alchark@gmail.com \
    --cc=alexeymin@postmarketos.org \
    --cc=alice.guo@nxp.com \
    --cc=alif.zakuan.yuslaimi@altera.com \
    --cc=andre.przywara@arm.com \
    --cc=anshuld@ti.com \
    --cc=aswin.murugan@oss.qualcomm.com \
    --cc=balaji.selvanathan@oss.qualcomm.com \
    --cc=casey.connolly@linaro.org \
    --cc=danila@jiaxyga.com \
    --cc=dario.binacchi@amarulasolutions.com \
    --cc=david.wronek@mainlining.org \
    --cc=dinesh.maniyam@altera.com \
    --cc=h-salunke@ti.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=james.hilliard1@gmail.com \
    --cc=jamie.gibbons@microchip.com \
    --cc=jh80.chung@samsung.com \
    --cc=justin@tidylabs.net \
    --cc=luca.weiss@fairphone.com \
    --cc=lukma@denx.de \
    --cc=michael.srba@seznam.cz \
    --cc=michael@amarulasolutions.com \
    --cc=mkorpershoek@kernel.org \
    --cc=n-francis@ti.com \
    --cc=neil.armstrong@linaro.org \
    --cc=peng.fan@nxp.com \
    --cc=philip.molloy@analog.com \
    --cc=quentin.schulz@cherry.de \
    --cc=rayagonda.kokatanur@broadcom.com \
    --cc=richard.genoud@bootlin.com \
    --cc=sughosh.ganu@arm.com \
    --cc=tien.fong.chee@altera.com \
    --cc=tingting.meng@altera.com \
    --cc=trini@konsulko.com \
    --cc=u-boot-qcom@groups.io \
    --cc=u-boot@lists.denx.de \
    --cc=varadarajan.narayanan@oss.qualcomm.com \
    --cc=wens@kernel.org \
    --cc=xypron.glpk@gmx.de \
    --cc=ye.li@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox