doc: board: renesas: Document Renesas R-Car Gen3 H3/M3-W/M3-N Salvator-X(S) board

Add document which clarifies how to build and install U-Boot on
Renesas R-Car Gen3 H3/M3-W/M3-N Salvator-X(S) board.

Include generic and HyperFlash Renesas R-Car Gen3 installation
procedure document.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
Marek Vasut
2026-07-16 00:40:42 +02:00
committed by Heinrich Schuchardt
parent 3debe4140e
commit cda3dec066
4 changed files with 157 additions and 0 deletions
+3
View File
@@ -10,4 +10,7 @@ Renesas
build-env-sh
build-env-aarch32
build-env-aarch64
rcar-gen3-salvator-x
rcar-gen3-install
rcar-gen3-install-hf
rzn1
@@ -0,0 +1,76 @@
.. SPDX-License-Identifier: GPL-2.0+
Renesas R-Car Gen3 U-Boot HyperFlash installation
=================================================
U-Boot can be installed on R-Car Gen3 systems into HyperFlash from U-Boot.
.. note::
This update mechanism is only available in case the TFA has been built
with `RCAR_RPC_HYPERFLASH_LOCKED=0`.
Install U-Boot into HyperFlash using NOR write from U-Boot
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order to install U-Boot using write into HyperFlash, first build U-Boot
for this target and collect ``u-boot.bin`` build artifact. Then start the
target, drop into U-Boot shell, and load the build artifact into DRAM at
well known address:
.. code-block:: console
=> tftp 0x50000000 u-boot.bin
Finally, write U-Boot into HyperFlash:
.. code-block:: console
=> erase 0x8640000 +${filesize} && cp.w 0x50000000 0x8640000 0x80000
.. note::
The `cp.w` size parameter is in 16-bit short word units, not in Bytes.
The `cp.w` size parameter size in Bytes would be 0x100000 .
Install U-Boot into HyperFlash using dfu_tftp update from U-Boot
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order to install U-Boot using dfu_tftp update, first build U-Boot for
this target and collect ``u-boot.bin`` build artifact. Then bundle this
``u-boot.bin`` into an update fitImage using the following fitImage source
file. The update fitImage source file is named ``update.its`` in this example:
.. code-block:: dts
// update.its
/dts-v1/;
/ {
description = "Update fitImage for U-Boot";
images {
bootparam {
description = "U-Boot";
data = /incbin/("u-boot.bin");
type = "standalone";
os = "U-Boot";
arch = "arm64";
compression = "none";
load = <0x8640000>;
};
};
};
Generate the update fitImage using the following command:
.. code-block:: console
$ mkimage -f update.its update.itb
Then start the target, drop into U-Boot shell, and load the ``update.itb``
artifact into DRAM at well known address:
.. code-block:: console
=> tftp 0x50000000 update.itb && dfu tftp 0x50000000
+30
View File
@@ -0,0 +1,30 @@
.. SPDX-License-Identifier: GPL-2.0+
Renesas R-Car Gen3 U-Boot installation
======================================
U-Boot can be installed on R-Car Gen3 systems in multiple ways.
The generic installation method, which also requires physical hardware
access, is to install U-Boot using the `flash_writer`_ tool. This
procedure is documented below.
Installation into the HyperFlash can be performed from U-Boot, please
refer to :doc:`Renesas R-Car Gen3 U-Boot HyperFlash installation <rcar-gen3-install-hf>`
for details.
.. note::
The maximum u-boot.bin size for this target is 1 MiB or 0x100000 Bytes
Install U-Boot using flash_writer tool
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order to install U-Boot using flash_writer tool, first build U-Boot
for this target and collect ``u-boot-elf.srec`` build artifact. Then
follow the `application note`_ shipped together with the flash_writer
tool to install the ``u-boot-elf.srec`` artifact using `XLS2 command`_.
.. _`flash_writer`: https://github.com/renesas-rcar/flash_writer
.. _`application note`: https://github.com/renesas-rcar/flash_writer/blob/rcar_gen3/docs/application-note.md
.. _`XLS2 command`: https://github.com/renesas-rcar/flash_writer/blob/rcar_gen3/docs/application-note.md#341-write-to-the-s-record-format-images-to-the-serial-flash
@@ -0,0 +1,48 @@
.. SPDX-License-Identifier: GPL-2.0+
Renesas R-Car Gen3 H3/M3-W/M3-N Salvator-X(S) board
===================================================
- Renesas R-Car Gen3 Salvator-X board: https://elinux.org/R-Car/Boards/Salvator-X
- Renesas R-Car Gen3 Salvator-XS board: https://elinux.org/R-Car/Boards/Salvator-XS
Build U-Boot
------------
Please follow :doc:`Renesas 64-bit ARM SoC build environment setup <build-env-aarch64>`
to correctly set up the build environment before attempting to build U-Boot.
Clone up to date U-Boot source code and change directory into the
newly cloned source directory:
.. code-block:: console
$ git clone https://source.denx.de/u-boot/u-boot.git/
$ cd u-boot
Configure U-Boot:
.. code-block:: console
$ make rcar3_salvator-x_defconfig
Compile U-Boot:
.. code-block:: console
$ make
To speed up build process, -jN option can be passed to make to start
multiple jobs at the same time, this is beneficial especially on SMP
systems. The following example starts up to number of CPUs in the
system jobs, which is the recommended amount:
.. code-block:: console
$ make -j$(nproc)
Install U-Boot
--------------
Please follow :doc:`Renesas R-Car Gen3 U-Boot installation <rcar-gen3-install>`
to install U-Boot into HyperFlash.