[PATCH] doc: qcom: dragonwing: Improve build and installation documentation

Casey Connolly casey.connolly at linaro.org
Tue May 5 15:40:25 CEST 2026



On 03/05/2026 06:34, Balaji Selvanathan wrote:
> Enhance the Qualcomm DragonWing board documentation with clearer
> and more detailed build instructions.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>
> ---
>  doc/board/qualcomm/dragonwing.rst | 112 +++++++++++++++++++++++++++++++++-----
>  1 file changed, 98 insertions(+), 14 deletions(-)
> 
> diff --git a/doc/board/qualcomm/dragonwing.rst b/doc/board/qualcomm/dragonwing.rst
> index d4899415309..fbb50a90290 100644
> --- a/doc/board/qualcomm/dragonwing.rst
> +++ b/doc/board/qualcomm/dragonwing.rst
> @@ -4,9 +4,11 @@
>  Qualcomm DragonWing
>  ========================================
>  
> -Qualcomm DragonWing are industrial-grade boards that provides various series
> -of processors such as IQ6 (QCS615), IQ8 (QCS8300) and IQ9 (QCS9100).
> -These SoCs are used for factory/industry based applications.
> +Qualcomm DragonWing boards are industrial-grade platforms targeting factory
> +and edge applications. They span multiple product families, including
> +IQ6, IQ8, and IQ9, which are based on Qualcomm QCS615, QCS8300, and
> +QCS9100 series SoCs respectively
> +
>  More information can be found on the `Qualcomm's IQ6 product page`_,
>  `Qualcomm's IQ8 product page`_ and `Qualcomm's IQ9 product page`_.
>  
> @@ -16,33 +18,115 @@ More information can be found on the `Qualcomm's IQ6 product page`_,
>  
>  Installation
>  ------------
> -First, setup ``CROSS_COMPILE`` for aarch64. Then, build U-Boot for ``QCS615``, ``QCS8300`` or ``QCS9100``::
> +
> +Prerequisites
> +~~~~~~~~~~~~~
> +
> +Download the qtestsign utility:
> +
> +.. code-block:: bash
> +
> +  $ git clone https://github.com/msm8916-mainline/qtestsign qtestsign
> +
> +Build Steps
> +~~~~~~~~~~~
> +
> +Download the U-Boot source code. See the :doc:`../../build/source` documentation
> +for instructions on obtaining the U-Boot source.
> +
> +Go to the U-Boot source directory:
> +
> +.. code-block:: bash
> +
> +  $ cd u-boot
> +
> +Configure the build for desired platform. This command creates the required
> +configuration files in the .output directory. Following gives command for each
> +platform (choose based on your platform):
> +
> +Generate the default configuration for the IQ-615 platform:
> +
> +.. code-block:: bash
> +
> +  $ make O=.output qcom_qcs615_defconfig
> +
> +Generate the default configuration for the IQ-8 platform:
> +
> +.. code-block:: bash
> +
> +  $ make O=.output qcom_qcs8300_defconfig
> +
> +Generate the default configuration for the IQ-9 platform:
> +
> +.. code-block:: bash
> +
> +  $ make O=.output qcom_qcs9100_defconfig

Could you update this to lemans and fold it in with the rename patch?

> +
> +Build U-Boot using the cross compile toolchain. First, setup ``CROSS_COMPILE``
> +for aarch64:
> +
> +.. code-block:: bash
>  
>    $ export CROSS_COMPILE=<aarch64 toolchain prefix>
> -  $ make qcom_qcs8300_defconfig
> -  $ make -j8 u-boot.mbn
> +
> +Compile the U-Boot source using the GCC cross compile toolchain:
> +
> +.. code-block:: bash
> +
> +  $ make -j8 CROSS_COMPILE=<aarch64 toolchain prefix> O=.output
> +
> +.. note::
> +   Some toolchains may treat incompatible pointer types as errors.
> +   The extra KCFLAGS argument can be used to work around this when needed:
> +
> +   .. code-block:: bash
> +
> +     $ make -j8 KCFLAGS+=" -Wno-error=incompatible-pointer-types" CROSS_COMPILE=<aarch64 toolchain prefix> O=.output

Does this happen with any compiler that U-Boot supports or is it
specific to something you have internally? If there are compile errors
with some recent GCC please send fixes for that and keep stuff like this
in your internal documentation.

> +
> +Expected result:
> +
> +- The U-Boot build completes without errors.
> +- The ``u-boot.elf`` file is available in the ``.output`` directory and is ready for further packaging or flashing.
> +
> +Convert U-Boot image (ELF to MBN)
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
>  Although the board does not have secure boot set up by default,
>  the firmware still expects firmware ELF images to be "signed". The signature
>  does not provide any security in this case, but it provides the firmware with
>  some required metadata.
>  
> -To "sign" ``u-boot.elf`` you can use e.g. `qtestsign`_::
> +Move to .output folder:
>  
> -  $ qtestsign -v6 aboot -o u-boot.mbn u-boot.elf
> +.. code-block:: bash
> +
> +  $ cd .output
> +
> +Generate the signed MBN image. To "sign" ``u-boot.elf`` you can use e.g. `qtestsign`_:
> +
> +.. code-block:: bash
> +
> +  $ python <qtestsign path>/qtestsign.py -v6 aboot -o u-boot.mbn u-boot.elf
> +
> +This command generates the signed u-boot.mbn file required for flashing.
>  
>  Then flash the resulting ``u-boot.mbn`` to the ``uefi_a`` partition
> -on your device with ``fastboot flash uefi_a u-boot.mbn``.
> +(or the appropriate UEFI partition for your board):
>  
> -U-Boot should be running after a reboot (``fastboot reboot``).
> +.. code-block:: bash
> +
> +  $ fastboot flash uefi_a u-boot.mbn
>  
> -Note that fastboot is not yet supported in U-Boot on Dragonwing boards, as a result, to flash
> -back the original firmware, or new versoins of the U-Boot, EDL mode must be used.
> +U-Boot should be running after a reboot (``fastboot reboot``).
>  
>  A tool like bkerler's `edl`_ can be used for flashing with the firehose loader (for example, for QCS9100
> -the firehose loader can be obtained from `dragonwing IQ9 bootbinaries`.) ::
> +the firehose loader can be obtained from `dragonwing IQ9 bootbinaries`).
> +
> +For example:
> +
> +.. code-block:: bash
>  
> -$ edl.py --loader /path/to/prog_firehose_ddr.elf w uefi_a u-boot.mbn
> +  $ edl.py --loader /path/to/prog_firehose_ddr.elf w uefi_a u-boot.mbn
>  
>  .. _qtestsign: https://github.com/msm8916-mainline/qtestsign
>  .. _edl: https://github.com/bkerler/edl
> 
> ---
> base-commit: bb0f3eebb3c196d9b6efbbd1e5aa9b16abbb9ad6
> change-id: 20260503-iq9-868091a47496
> 
> Best regards,

-- 
// Casey (she/her)



More information about the U-Boot mailing list