blob: fd14f1d9829dfaea4a7b503c1f60de8441f362e5 [file] [log] [blame]
Varadarajan Narayanan02adc672025-02-26 12:14:59 +05301.. SPDX-License-Identifier: GPL-2.0
2.. sectionauthor:: Varadarajan Narayanan <quic_varada@quicinc.com>
3
4Qualcomm Reference Design Platform (RDP)
5========================================
6
7Qualcomm RDPs are development boards based on the Qualcomm IPQ series of
8SoCs. These SoCs are used as the application processors in WiFi router
9platforms. RDPs come in multiple variants with differences in storage
10medium (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
14Installation
15------------
16First, 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
22This will build ``u-boot.elf`` in the configured output directory.
23
24Although the RDPs do not have secure boot set up by default, the firmware still
25expects firmware ELF images to be "signed". The signature does not provide any
26security in this case, but it provides the firmware with some required metadata.
27
28To "sign" ``u-boot.elf`` you can use e.g. `qtestsign`_::
29
30 $ qtestsign -v6 aboot -o u-boot.mbn u-boot.elf
31
32Then install the resulting ``u-boot.mbn`` to the ``0:APPSBL`` partition
33on 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
40U-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