On 12/19/23 22:11, Raymond Mao wrote:
Get devicetree from a bloblist if it exists.
If not, fallback to get FDT from the specified memory address.
Signed-off-by: Raymond Mao <raymond....@linaro.org>
---
board/emulation/qemu-arm/qemu-arm.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/board/emulation/qemu-arm/qemu-arm.c
b/board/emulation/qemu-arm/qemu-arm.c
index 72e0a97567..455c042a9a 100644
--- a/board/emulation/qemu-arm/qemu-arm.c
+++ b/board/emulation/qemu-arm/qemu-arm.c
@@ -148,9 +148,20 @@ int dram_init_banksize(void)
void *board_fdt_blob_setup(int *err)
{
+ void *fdt = NULL;
*err = 0;
- /* QEMU loads a generated DTB for us at the start of RAM. */
- return (void *)CFG_SYS_SDRAM_BASE;
+
+ /* Check if a DTB exists in bloblist */
+ if (IS_ENABLED(CONFIG_BLOBLIST)) {
+ if (bloblist_maybe_init())
+ return (void *)CFG_SYS_SDRAM_BASE;
+ fdt = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);
why not just.
return bloblist_find(...);
+ }
+ if (!fdt)
And you can ignore this if here.
+ /* QEMU loads a generated DTB for us at the start of RAM. */
+ return (void *)CFG_SYS_SDRAM_BASE;
+ else
+ return fdt;
}
int board_bloblist_from_boot_arg(unsigned long addr, unsigned long size)
M