doc: renesas: add Renesas board docs

As a starting point, list all currently supported Renesas boards.

For the RZ/N1 board, add details about booting and flashing.

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
Ralph Siemsen 2023-05-12 21:36:58 -04:00 committed by Marek Vasut
parent afdfcb11f9
commit a5b9f95943
4 changed files with 132 additions and 0 deletions

View file

@ -34,6 +34,7 @@ Board-specific doc
openpiton/index
purism/index
qualcomm/index
renesas/index
rockchip/index
samsung/index
siemens/index

View file

@ -0,0 +1,10 @@
.. SPDX-License-Identifier: GPL-2.0+
Renesas
=======
.. toctree::
:maxdepth: 2
renesas
rzn1

View file

@ -0,0 +1,45 @@
.. SPDX-License-Identifier: GPL-2.0+
Renesas
=======
About this
----------
This document describes the information about Renesas supported boards
and their usage steps.
Renesas boards
--------------
Renesas is a SoC solutions provider for automotive and industrial applications.
U-Boot supports several Renesas SoC families:
* R-Car Gen2 (32-bit)
- Blanche board
- Gose board
- Koelsch board
- Lager board
- Silk board
- Porter board
- Stout board
* R-Car Gen3 (64-bit)
- Condor board
- Draak board
- Eagle board
- Ebisu board
- Salvator-X and Salvator-XS boards
- ULCB board
* R-Car Gen4 (64-bit)
- Falcon board
- Spider board
- Whitehawk board
* RZ/A1 (32-bit)
- GR-PEACH board
* RZ/G
- Beacon-rzg2 board
- Hihope-rzg2 board
- ek874 board
* RZ/N1 (32-bit)
- Schneider rzn1-snarc board

View file

@ -0,0 +1,76 @@
.. SPDX-License-Identifier: GPL-2.0+
Renesas RZ/N1
=============
Building
--------
This document describes how to build and flash U-Boot for the RZ/N1.
U-Boot
^^^^^^
Clone the U-Boot repository and build it as follows:
.. code-block:: bash
git clone --depth 1 https://source.denx.de/u-boot/u-boot.git
cd u-boot
make rzn1_snarc_defconfig
make CROSS_COMPILE=arm-linux-gnu-
This produces `u-boot` which is an ELF executable, suitable for use with `gdb`
and JTAG debugging tools.
It also produceds `u-boot.bin` which is a raw binary.
Binman
^^^^^^
The BootROM in the RZ/N1 SoC expects to find the boot image in SPKG format.
This format is documented in Chapter 7.4 of the RZ/N1 User Manual.
The `binman` tool may be used to generate the SPKG format for booting.
See tools/binman/binman.rst for details on this tool and its pre-requisites.
.. code-block:: bash
binman -d arch/arm/dts/r9a06g032-rzn1-snarc.dtb -o <OUT>
This will produce `u-boot.bin.spkg` in the specified <OUT> directory. It can
then be flashed into QSPI, NAND, or loaded via USB-DFU mode.
SPKG image
^^^^^^^^^^
Alternatively, the same SPKG image can be built by calling `mkimage` as follows:
.. code-block:: bash
tools/mkimage -n board/schneider/rzn1-snarc/spkgimage.cfg \
-T spkgimage -a 0x20040000 -e 0x20040000 \
-d u-boot.bin u-boot.bin.spkg
This produces `u-boot.bin.spkg` which can be flashed into QSPI, NAND, or loaded
via USB-DFU mode.
Take note of the load and execution address, which are encoded into the SPKG
headers. For development convenience, mkimage computes the execution offset
(part of the SPKG header) by subtracting the supplied load address from the
supplied execution address.
Also note there are other parameters, notably ECC configuration in the case of
boot from NAND, specified in the `spkgimage.cfg` configuration file.
Flashing
--------
The RZ/N1 is able to boot from QSPI, NAND, or via USB (DFU). In all cases the
on-board BootROM expects for the binary to be wrapped with a "SPKG" header.
It is possible to recover a bricked unit by using the USB (DFU) boot mode. This
allows uploading U-Boot into the internal RAM. Thereafter U-Boot can be used to
program the QSPI and/or NAND, making use of U-Boot dfu mode.
Otherwise the only other option for recovery is via JTAG.