[PATCH v2 03/11] doc: board: renesas: Document Renesas R-Car Gen3 H3/M3-W/M3-N Salvator-X(S) board

Marek Vasut marek.vasut+renesas at mailbox.org
Tue Jun 23 03:38:29 CEST 2026


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 at mailbox.org>
---
Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
Cc: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
Cc: Tom Rini <trini at konsulko.com>
Cc: u-boot at lists.denx.de
---
V2: No change
---
 doc/board/renesas/index.rst                |  3 +
 doc/board/renesas/rcar-gen3-install-hf.rst | 76 ++++++++++++++++++++++
 doc/board/renesas/rcar-gen3-install.rst    | 30 +++++++++
 doc/board/renesas/rcar-gen3-salvator-x.rst | 48 ++++++++++++++
 4 files changed, 157 insertions(+)
 create mode 100644 doc/board/renesas/rcar-gen3-install-hf.rst
 create mode 100644 doc/board/renesas/rcar-gen3-install.rst
 create mode 100644 doc/board/renesas/rcar-gen3-salvator-x.rst

diff --git a/doc/board/renesas/index.rst b/doc/board/renesas/index.rst
index ef2b856a77c..eca06a13d0c 100644
--- a/doc/board/renesas/index.rst
+++ b/doc/board/renesas/index.rst
@@ -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
diff --git a/doc/board/renesas/rcar-gen3-install-hf.rst b/doc/board/renesas/rcar-gen3-install-hf.rst
new file mode 100644
index 00000000000..d3a753eb2eb
--- /dev/null
+++ b/doc/board/renesas/rcar-gen3-install-hf.rst
@@ -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
diff --git a/doc/board/renesas/rcar-gen3-install.rst b/doc/board/renesas/rcar-gen3-install.rst
new file mode 100644
index 00000000000..b53978edbf9
--- /dev/null
+++ b/doc/board/renesas/rcar-gen3-install.rst
@@ -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
diff --git a/doc/board/renesas/rcar-gen3-salvator-x.rst b/doc/board/renesas/rcar-gen3-salvator-x.rst
new file mode 100644
index 00000000000..37f009452e5
--- /dev/null
+++ b/doc/board/renesas/rcar-gen3-salvator-x.rst
@@ -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.
-- 
2.53.0



More information about the U-Boot mailing list