From: Harrison Mutai <harrison.mutai@arm.com>
To: Liviu Dudau <liviu.dudau@foss.arm.com>, Tom Rini <trini@konsulko.com>
Cc: nd@arm.com, andre.przywara@arm.com, manish.pandey2@arm.com,
Harrison Mutai <harrison.mutai@arm.com>,
u-boot@lists.denx.de
Subject: [PATCH v2 4/4] board: vexpress64: enable bloblist for SPL handoff
Date: Wed, 15 Jan 2025 13:52:07 +0000 [thread overview]
Message-ID: <20250115135209.13946-5-harrison.mutai@arm.com> (raw)
In-Reply-To: <20250115135209.13946-1-harrison.mutai@arm.com>
Enable bloblist on vexpress64 platforms to facilitate information
passing from TF-A using the firmware handoff framework.
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
---
board/armltd/vexpress64/Makefile | 3 ++-
board/armltd/vexpress64/vexpress64.c | 4 ++++
configs/vexpress_fvp_bloblist_defconfig | 5 +++++
doc/board/armltd/vexpress64.rst | 16 ++++++++++++++++
4 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 configs/vexpress_fvp_bloblist_defconfig
diff --git a/board/armltd/vexpress64/Makefile b/board/armltd/vexpress64/Makefile
index 1878fbed4e..4729787c5e 100644
--- a/board/armltd/vexpress64/Makefile
+++ b/board/armltd/vexpress64/Makefile
@@ -3,5 +3,6 @@
# (C) Copyright 2000-2004
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-obj-y := vexpress64.o lowlevel_init.o
+obj-y := vexpress64.o
+obj-$(CONFIG_OF_HAS_PRIOR_STAGE) := lowlevel_init.o
obj-$(CONFIG_TARGET_VEXPRESS64_JUNO) += pcie.o
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index b5ede58757..0b75c1358f 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -100,7 +100,9 @@ int dram_init_banksize(void)
* Push the variable into the .data section so that it
* does not get cleared later.
*/
+#ifdef CONFIG_OF_HAS_PRIOR_STAGE
unsigned long __section(".data") prior_stage_fdt_address[2];
+#endif
#ifdef CONFIG_OF_BOARD
@@ -151,6 +153,7 @@ static phys_addr_t find_dtb_in_nor_flash(const char *partname)
}
#endif
+#ifdef CONFIG_OF_HAS_PRIOR_STAGE
/*
* Filter for a valid DTB, as TF-A happens to provide a pointer to some
* data structure using the DTB format, which we cannot use.
@@ -201,6 +204,7 @@ int board_fdt_blob_setup(void **fdtp)
return -ENXIO;
}
#endif
+#endif
/* Actual reset is done via PSCI. */
void reset_cpu(void)
diff --git a/configs/vexpress_fvp_bloblist_defconfig b/configs/vexpress_fvp_bloblist_defconfig
new file mode 100644
index 0000000000..dcc87db872
--- /dev/null
+++ b/configs/vexpress_fvp_bloblist_defconfig
@@ -0,0 +1,5 @@
+#include <configs/vexpress_fvp_defconfig>
+
+CONFIG_BLOBLIST=y
+CONFIG_BLOBLIST_PASSAGE=y
+CONFIG_BLOBLIST_SIZE_RELOC=0x10000
diff --git a/doc/board/armltd/vexpress64.rst b/doc/board/armltd/vexpress64.rst
index a7f771d266..4dadadb53d 100644
--- a/doc/board/armltd/vexpress64.rst
+++ b/doc/board/armltd/vexpress64.rst
@@ -43,6 +43,22 @@ Juno is an Arm development board with the following features:
More details can be found in the board documentation [3]_.
+Bloblist Support
+----------------
+
+The ``vexpress_fvp_bloblist_defconfig`` configures U-Boot to be compiled for
+Vexpress64 with Bloblist as the primary method for information handoff between
+boot stages. U-Boot offers three methods to set up a bloblist: using a
+predefined bloblist at a specified address, dynamically allocating memory for a
+bloblist, or utilizing a standard passage-provided bloblist with automatic size
+detection.
+
+By default, ``vexpress_fvp_bloblist_defconfig`` uses the standard passage method
+(CONFIG_BLOBLIST_PASSAGE) because TF-A provides a Transfer List in non-secure
+memory that U-Boot can utilise. This Bloblist, which is referred to as a Transfer List in
+TF-A, contains all necessary data for the handoff process, including DT and ACPI
+tables.
+
References
----------
--
2.46.2
prev parent reply other threads:[~2025-01-15 13:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 13:52 [PATCH v2 0/4] Enable bloblist support on Vexpress64 Harrison Mutai
2025-01-15 13:52 ` [PATCH v2 1/4] bloblist: fix typo in code comments Harrison Mutai
2025-01-15 14:35 ` Tom Rini
2025-01-15 13:52 ` [PATCH v2 2/4] board: vexpress64: default to hardware device tree Harrison Mutai
2025-01-16 1:26 ` Simon Glass
2025-01-16 11:20 ` Harrison Mutai
2025-01-16 11:33 ` Harrison Mutai
2025-01-15 13:52 ` [PATCH v2 3/4] bloblist: add support for CONFIG_BLOBLIST_PASSAGE Harrison Mutai
2025-01-15 14:36 ` Tom Rini
2025-01-16 1:26 ` Simon Glass
2025-01-22 17:21 ` Tom Rini
2025-01-23 17:03 ` Harrison Mutai
2025-01-23 17:12 ` Tom Rini
2025-01-27 12:42 ` Harrison Mutai
2025-01-31 0:10 ` Tom Rini
2025-02-03 12:28 ` Harrison Mutai
2025-02-03 22:22 ` Tom Rini
2025-02-04 10:32 ` Harrison Mutai
2025-01-15 13:52 ` Harrison Mutai [this message]
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=20250115135209.13946-5-harrison.mutai@arm.com \
--to=harrison.mutai@arm.com \
--cc=andre.przywara@arm.com \
--cc=liviu.dudau@foss.arm.com \
--cc=manish.pandey2@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox