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:
committed by
Heinrich Schuchardt
parent
3debe4140e
commit
cda3dec066
@@ -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
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user