.. SPDX-License-Identifier: GPL-2.0 .. sectionauthor:: Varadarajan Narayanan Qualcomm Reference Design Platform (RDP) ======================================== Qualcomm RDPs are development boards based on the Qualcomm IPQ series of SoCs. These SoCs are used as the application processors in WiFi router platforms. RDPs come in multiple variants with differences in storage medium (NOR, NAND, MMC), no. of USB and PCIe ports, n/w ports etc. .. _Qualcomm's product page: https://www.qualcomm.com/products/internet-of-things/networking/wi-fi-networks/networking-pro-series/qualcomm-networking-pro-820-platform Installation ------------ First, setup ``CROSS_COMPILE`` for aarch64. Then, build U-Boot for ``IPQ9574``:: $ export CROSS_COMPILE= $ make qcom_ipq9574_mmc_defconfig $ make -j8 This will build ``u-boot.elf`` in the configured output directory. The firmware expects the ELF images to be in MBN format. The `elftombn.py` tool can be used to convert the ELF images to MBN format. IPQ9574: (MBN version 6) $ python elftombn.py -f u-boot.elf -o u-boot.mbn -v6 IPQ5424: (MBN version 7) $ python elftombn.py -f u-boot.elf -o u-boot.mbn -v7 Then install the resulting ``u-boot.mbn`` to the ``0:APPSBL`` partition on your device with:: IPQ9574# tftpboot path/to/u-boot.mbn IPQ9574# mmc part (note down the start & end block no.s of '0:APPSBL' partition) IPQ9574# mmc erase IPQ9574# mmc write $fileaddr U-Boot should be running after a reboot (``reset``). .. 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 runtime failure at Uboot, the system will get reset (due to watchdog) and XBL will try to boot from next bank and if Bank B also doesn't have a functional image and is not booting fine, then the system will enter EDL. A tool like bkerler's `edl`_ can be used for flashing with the firehose loader binary appropriate for the board. Note that the support added is very basic. Restoring the original U-Boot on boards with older version of the software requires a debugger. .. _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