Qualcomm Robotics RB3 Gen 2
The RB3 Gen 2 is a development board based on the Qualcomm QCM6490 SoC (a derivative of SC7280). More information can be found on Qualcomm’s product page.
U-Boot can be used as a replacement for Qualcomm’s original EDK2 bootloader by flashing it directly to the uefi_a (or _b) partition.
Installation
First, setup CROSS_COMPILE for aarch64. Then, build U-Boot for qcm6490:
$ export CROSS_COMPILE=<aarch64 toolchain prefix>
$ make qcm6490_defconfig
$ make -j8 DEVICE_TREE=qcom/qcs6490-rb3gen2
This will build u-boot.mbn in the configured output directory.
Although the board does not have secure boot set up by default, the firmware still expects firmware ELF images to be “signed” in the MBN format. This is handled automatically with mkmbn (see Qualcomm Image Signing for more details).
Then install 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 this board, as a result, to flash back the original firmware, or new versoins of the U-Boot, EDL mode must be used. This can be accessed by holding the EDL button while powering on as described in the Qualcomm Linux documentation.
A tool like bkerler’s edl can be used for flashing with the firehose loader from the RB3 Gen 2 bootbinaries.
$ edl.py --loader /path/to/prog_firehose_ddr.elf w uefi_a u-boot.mbn
Usage
The USB Type-A ports are connected via a PCIe USB hub, which is not supported yet. However, the Type-C port can be used with a powered USB dock to connect peripherals like a USB stick.