summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-02-11 18:09:05 -0600
committerTom Rini <[email protected]>2025-02-11 18:09:05 -0600
commit87dec3078a0a36d2e6da7602b9a750010c2d111d (patch)
tree1f18e43f1a5a6e32dd4f0319cf58a5cfc3fbdf91 /board
parentb4df7003dfd06da630c248c958993a686fb1619b (diff)
parent42aebf0f987798599b5f2d2ca6098a775bb9f448 (diff)
Merge patch series "Enable bloblist support on Vexpress64"
Harrison Mutai <[email protected]> says: This series of patches enhances the vexpress64 platform by enabling bloblist support. It also introduces support for CONFIG_BLOBLIST_PASSAGE. This is necessary to boot vexpress64 and other boards without manually specifying a fixed address and size for the bloblist. After this change, all the bloblist init modes are supported (i.e., fixed, alloc, passage) and Vexpress64 boots with CONFIG_BLOBLIST_PASSAGE. Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'board')
-rw-r--r--board/armltd/vexpress64/Kconfig2
-rw-r--r--board/armltd/vexpress64/Makefile5
-rw-r--r--board/armltd/vexpress64/vexpress64.c4
3 files changed, 9 insertions, 2 deletions
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index 584b5455e97..7e8709444fe 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -28,7 +28,7 @@ choice
config TARGET_VEXPRESS64_BASE_FVP
bool "Support Versatile Express ARMv8a FVP BASE model"
select VEXPRESS64_BASE_MODEL
- imply OF_HAS_PRIOR_STAGE
+ imply OF_HAS_PRIOR_STAGE if !BLOBLIST
config TARGET_VEXPRESS64_BASER_FVP
bool "Support Versatile Express ARMv8r64 FVP BASE model"
diff --git a/board/armltd/vexpress64/Makefile b/board/armltd/vexpress64/Makefile
index 1878fbed4ec..b0dd1d0af87 100644
--- a/board/armltd/vexpress64/Makefile
+++ b/board/armltd/vexpress64/Makefile
@@ -3,5 +3,8 @@
# (C) Copyright 2000-2004
# Wolfgang Denk, DENX Software Engineering, [email protected].
-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 b5ede58757d..0b75c1358f0 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)