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. More information can be found on the Qualcomm’s IQ6 product page, Qualcomm’s IQ8 product page and Qualcomm’s IQ9 product page.
Installation
First, setup CROSS_COMPILE for aarch64. Then, build U-Boot for QCS615, QCS8300 or QCS9100:
$ export CROSS_COMPILE=<aarch64 toolchain prefix>
$ make qcom_qcs8300_defconfig
$ make -j8 u-boot.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:
$ qtestsign -v6 aboot -o u-boot.mbn u-boot.elf
Then flash the resulting u-boot.mbn to the uefi_a partition
on your device with fastboot flash uefi_a u-boot.mbn.
U-Boot should be running after a reboot (fastboot reboot).
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.
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.)
$ edl.py --loader /path/to/prog_firehose_ddr.elf w uefi_a u-boot.mbn