All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harrison Mutai <harrison.mutai@arm.com>
To: Tom Rini <trini@konsulko.com>
Cc: nd@arm.com, Harrison Mutai <harrison.mutai@arm.com>,
	u-boot@lists.denx.de
Subject: [PATCH 2/2] vepxress64: add guide for running FVP with TF-A
Date: Tue,  4 Mar 2025 16:52:02 +0000	[thread overview]
Message-ID: <20250304165204.53097-3-harrison.mutai@arm.com> (raw)
In-Reply-To: <20250304165204.53097-1-harrison.mutai@arm.com>

Add documentation on how to run FVP with U-Boot and TF-A. This helps
users configure and run U-Boot correctly on Arm models.

Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
---
 doc/board/armltd/vexpress64.rst | 54 +++++++++++++++++++++++++++++++--
 1 file changed, 52 insertions(+), 2 deletions(-)

diff --git a/doc/board/armltd/vexpress64.rst b/doc/board/armltd/vexpress64.rst
index a732fac899d..434cc785bd6 100644
--- a/doc/board/armltd/vexpress64.rst
+++ b/doc/board/armltd/vexpress64.rst
@@ -19,6 +19,11 @@ view", which gives a comprehensive model on which to build and test software.
 The supported FVPs are available free of charge and can be downloaded from the
 Arm developer site [1]_ (user registration might be required).
 
+The Architecture Envelope Models (AEM) FVPs offer virtual platforms for Armv8-A,
+Armv9-A, and Armv8-R architectures, including a comprehensive set of System IP.
+For general use though, the Armv8-A Base Rev C FVP, which emulates a generic 64-bit
+Armv8-A hardware platform, is a suitable option.
+
 Supported features:
 
  * GICv3
@@ -31,6 +36,50 @@ into the TF-A build: ``make PLAT=<platform> all fip BL33=u-boot.bin``
 
 The FVPs can be debugged using Arm Development Studio [2]_.
 
+Building U-Boot
+^^^^^^^^^^^^^^^
+
+Set the ``CROSS_COMPILE`` environment variable as usual, and run:
+
+.. code-block:: bash
+
+    make vexpress_fvp_defconfig
+    make
+
+Running U-Boot
+^^^^^^^^^^^^^^
+
+Set ``CROSS_COMPILE`` as usual and build TF-A:
+
+.. code-block:: bash
+
+    git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
+    cd trusted-firmware-a
+    make PLAT=fvp BL33=/path/to/u-boot.bin fiptool all fip
+
+This command generates the ROM image `bl1.bin`, and a boot image `fip.bin` in
+TF-A's FIP format [5]. It contains all images executed by TF-A, including U-Boot.
+Note that TF-A outputs the built binaries into `build/fvp/release/`.
+
+If you already have a FIP image, and are primarily interested in updating the BL33
+image (i.e., U-Boot), use `fiptool` from TF-A:
+
+.. code-block:: bash
+
+    make fiptool
+    tools/fiptool/fiptool update --nt-fw=/path/to/u-boot.bin /path/to/fip.bin
+
+To run the FVP:
+
+.. code-block:: bash
+
+    FVP_Base_RevC-2xAEMvA -C bp.flashloader0.fname=fip.bin \
+        -C bp.secureflashloader.fname=bl1.bin \
+        -C bp.vis.disable_visualisation=1
+
+This setup relies on semi-hosting, as well as, having a kernel image (``Image``)
+and ramdisk (``ramdisk.img``) in the current working directory.
+
 Juno
 ----
 
@@ -62,7 +111,8 @@ tables.
 References
 ----------
 
-.. [1] https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
+.. [1] https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/Arm%20Architecture%20FVPs
 .. [2] https://developer.arm.com/tools-and-software/embedded/arm-development-studio
 .. [3] https://developer.arm.com/tools-and-software/development-boards/juno-development-board
-.. [4] https://trustedfirmware-a.readthedocs.io/
\ No newline at end of file
+.. [4] https://trustedfirmware-a.readthedocs.io/
+.. [5] https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/image-terminology.html#firmware-image-package-fip
-- 
2.46.2


  parent reply	other threads:[~2025-03-04 16:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-04 16:52 [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Harrison Mutai
2025-03-04 16:52 ` [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts Harrison Mutai
2025-03-04 16:53   ` Tom Rini
2025-03-04 16:52 ` Harrison Mutai [this message]
2025-03-04 16:53   ` [PATCH 2/2] vepxress64: add guide for running FVP with TF-A Tom Rini
2025-03-18 17:01 ` [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250304165204.53097-3-harrison.mutai@arm.com \
    --to=harrison.mutai@arm.com \
    --cc=nd@arm.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.