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

Reply via email to