board: vexpress64: enable bloblist for SPL handoff
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>
This commit is contained in:
@@ -28,7 +28,7 @@ choice
|
|||||||
config TARGET_VEXPRESS64_BASE_FVP
|
config TARGET_VEXPRESS64_BASE_FVP
|
||||||
bool "Support Versatile Express ARMv8a FVP BASE model"
|
bool "Support Versatile Express ARMv8a FVP BASE model"
|
||||||
select VEXPRESS64_BASE_MODEL
|
select VEXPRESS64_BASE_MODEL
|
||||||
imply OF_HAS_PRIOR_STAGE
|
imply OF_HAS_PRIOR_STAGE if !BLOBLIST
|
||||||
|
|
||||||
config TARGET_VEXPRESS64_BASER_FVP
|
config TARGET_VEXPRESS64_BASER_FVP
|
||||||
bool "Support Versatile Express ARMv8r64 FVP BASE model"
|
bool "Support Versatile Express ARMv8r64 FVP BASE model"
|
||||||
|
@@ -3,5 +3,8 @@
|
|||||||
# (C) Copyright 2000-2004
|
# (C) Copyright 2000-2004
|
||||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
# 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
|
obj-$(CONFIG_TARGET_VEXPRESS64_JUNO) += pcie.o
|
||||||
|
@@ -100,7 +100,9 @@ int dram_init_banksize(void)
|
|||||||
* Push the variable into the .data section so that it
|
* Push the variable into the .data section so that it
|
||||||
* does not get cleared later.
|
* does not get cleared later.
|
||||||
*/
|
*/
|
||||||
|
#ifdef CONFIG_OF_HAS_PRIOR_STAGE
|
||||||
unsigned long __section(".data") prior_stage_fdt_address[2];
|
unsigned long __section(".data") prior_stage_fdt_address[2];
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_OF_BOARD
|
#ifdef CONFIG_OF_BOARD
|
||||||
|
|
||||||
@@ -151,6 +153,7 @@ static phys_addr_t find_dtb_in_nor_flash(const char *partname)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_OF_HAS_PRIOR_STAGE
|
||||||
/*
|
/*
|
||||||
* Filter for a valid DTB, as TF-A happens to provide a pointer to some
|
* 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.
|
* data structure using the DTB format, which we cannot use.
|
||||||
@@ -201,6 +204,7 @@ int board_fdt_blob_setup(void **fdtp)
|
|||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Actual reset is done via PSCI. */
|
/* Actual reset is done via PSCI. */
|
||||||
void reset_cpu(void)
|
void reset_cpu(void)
|
||||||
|
5
configs/vexpress_fvp_bloblist_defconfig
Normal file
5
configs/vexpress_fvp_bloblist_defconfig
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#include <configs/vexpress_fvp_defconfig>
|
||||||
|
|
||||||
|
CONFIG_BLOBLIST=y
|
||||||
|
CONFIG_BLOBLIST_PASSAGE=y
|
||||||
|
CONFIG_BLOBLIST_SIZE_RELOC=0x10000
|
@@ -43,6 +43,22 @@ Juno is an Arm development board with the following features:
|
|||||||
|
|
||||||
More details can be found in the board documentation [3]_.
|
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
|
References
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user