Varadarajan Narayanan | 02adc67 | 2025-02-26 12:14:59 +0530 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0 |
| 2 | .. sectionauthor:: Varadarajan Narayanan <quic_varada@quicinc.com> |
| 3 | |
| 4 | Qualcomm Reference Design Platform (RDP) |
| 5 | ======================================== |
| 6 | |
| 7 | Qualcomm RDPs are development boards based on the Qualcomm IPQ series of |
| 8 | SoCs. These SoCs are used as the application processors in WiFi router |
| 9 | platforms. RDPs come in multiple variants with differences in storage |
| 10 | medium (NOR, NAND, MMC), no. of USB and PCIe ports, n/w ports etc. |
| 11 | |
| 12 | .. _Qualcomm's product page: https://www.qualcomm.com/products/internet-of-things/networking/wi-fi-networks/networking-pro-series/qualcomm-networking-pro-820-platform |
| 13 | |
| 14 | Installation |
| 15 | ------------ |
| 16 | First, setup ``CROSS_COMPILE`` for aarch64. Then, build U-Boot for ``IPQ9574``:: |
| 17 | |
| 18 | $ export CROSS_COMPILE=<aarch64 toolchain prefix> |
| 19 | $ make qcom_ipq9574_mmc_defconfig |
| 20 | $ make -j8 |
| 21 | |
| 22 | This will build ``u-boot.elf`` in the configured output directory. |
| 23 | |
| 24 | Although the RDPs do not have secure boot set up by default, the firmware still |
| 25 | expects firmware ELF images to be "signed". The signature does not provide any |
| 26 | security in this case, but it provides the firmware with some required metadata. |
| 27 | |
| 28 | To "sign" ``u-boot.elf`` you can use e.g. `qtestsign`_:: |
| 29 | |
| 30 | $ qtestsign -v6 aboot -o u-boot.mbn u-boot.elf |
| 31 | |
| 32 | Then install the resulting ``u-boot.mbn`` to the ``0:APPSBL`` partition |
| 33 | on your device with:: |
| 34 | |
| 35 | IPQ9574# tftpboot path/to/u-boot.mbn |
| 36 | IPQ9574# mmc part (note down the start & end block no.s of '0:APPSBL' partition) |
| 37 | IPQ9574# mmc erase <start blk no> <count> |
| 38 | IPQ9574# mmc write $fileaddr <blk no> <count> |
| 39 | |
| 40 | U-Boot should be running after a reboot (``reset``). |
| 41 | |
| 42 | .. WARNING |
| 43 | Boards with newer software versions would automatically go the emergency |
| 44 | download (EDL) mode if U-Boot is not functioning as expected. If its a |
| 45 | runtime failure at Uboot, the system will get reset (due to watchdog) |
| 46 | and XBL will try to boot from next bank and if Bank B also doesn't have |
| 47 | a functional image and is not booting fine, then the system will enter |
| 48 | EDL. A tool like bkerler's `edl`_ can be used for flashing with the |
| 49 | firehose loader binary appropriate for the board. |
| 50 | |
| 51 | Note that the support added is very basic. Restoring the original U-Boot |
| 52 | on boards with older version of the software requires a debugger. |
| 53 | |
| 54 | .. _qtestsign: https://github.com/msm8916-mainline/qtestsign |
| 55 | .. _edl: https://github.com/bkerler/edl |