
Collect the list of currerently supported Renesas boards.
For the RZ/N1 board, add details about booting and flashing.
Signed-off-by: Ralph Siemsen ralph.siemsen@linaro.org ---
(no changes since v1)
doc/board/renesas/index.rst | 9 +++ doc/board/renesas/renesas.rst | 115 ++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 doc/board/renesas/index.rst create mode 100644 doc/board/renesas/renesas.rst
diff --git a/doc/board/renesas/index.rst b/doc/board/renesas/index.rst new file mode 100644 index 0000000000..3244c9d45e --- /dev/null +++ b/doc/board/renesas/index.rst @@ -0,0 +1,9 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +Renesas +======= + +.. toctree:: + :maxdepth: 2 + + renesas diff --git a/doc/board/renesas/renesas.rst b/doc/board/renesas/renesas.rst new file mode 100644 index 0000000000..5ae84004cf --- /dev/null +++ b/doc/board/renesas/renesas.rst @@ -0,0 +1,115 @@ +.. 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 industrial applications. + +U-boot supports several Renesas SoC families: + +* rcar gen1/gen2 (32-bit) + - Blanche board + - Gose board + - Koelsch board + - Lager board + - Silk board + - Porter board + - Stout board +* rcar gen3 (64-bit) + - Condor board + - Draak board + - Eagle board + - Ebisu board + - Falcon board + - Salvator-x board + - Ulcb board + - Beacon-rzg2 board + - Hihope-rzg2 board + - ek874 board +* rza1 (32-bit) + - GR-PEACH board +* rzn1 (32-bit) + - Schneider rzn1-snarc board + +Building +-------- + +NOTE: the following information is for the rzn1 board only. + +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. + +SPKG image +^^^^^^^^^^ + +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 raw u-boot binary can be wrapped into SPKG format 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. + +Binman +^^^^^^ + +Alternatively `binman` may be used to generate the SPKG format for booting. +This tool and its pre-requisites must be installed as per +:doc:`../../../tools/binman/binman.rst`` + +.. 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. + +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. +This format is detailed in the RZ/N1 User Manual, and can be produced using +the u-boot `mkimage` utility. + +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.