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 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.