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 <[email protected]> --- Cc: Heinrich Schuchardt <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Cc: Tom Rini <[email protected]> Cc: [email protected] --- 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

