blob: fd14f1d9829dfaea4a7b503c1f60de8441f362e5 [file] [log] [blame]
.. SPDX-License-Identifier: GPL-2.0
.. sectionauthor:: Varadarajan Narayanan <quic_varada@quicinc.com>
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=<aarch64 toolchain prefix>
$ make qcom_ipq9574_mmc_defconfig
$ make -j8
This will build ``u-boot.elf`` in the configured output directory.
Although the RDPs do 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 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 <start blk no> <count>
IPQ9574# mmc write $fileaddr <blk no> <count>
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.
.. _qtestsign: https://github.com/msm8916-mainline/qtestsign
.. _edl: https://github.com/bkerler/edl