feat(versal2): retrieve DT address from transfer list
On versal2 platform, unlike current static DT address passing
mechanism, DT address is retrieved from transfer list dynamically.
Change-Id: I44b9a0753809652f26bc1b7e061f5364229ba352
Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
diff --git a/plat/xilinx/common/plat_fdt.c b/plat/xilinx/common/plat_fdt.c
index 4ad7b2d..ae2c1ea 100644
--- a/plat/xilinx/common/plat_fdt.c
+++ b/plat/xilinx/common/plat_fdt.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved.
+ * Copyright (c) 2023-2025, Advanced Micro Devices, Inc. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -105,7 +105,7 @@
int map_ret = 0;
int ret = 0;
- dtb = (void *)XILINX_OF_BOARD_DTB_ADDR;
+ dtb = (void *)plat_retrieve_dt_addr();
if (!IS_TFA_IN_OCM(BL31_BASE)) {
@@ -156,4 +156,14 @@
}
}
#endif
+}
+
+uintptr_t plat_retrieve_dt_addr(void)
+{
+ void *dtb = NULL;
+
+#if defined(XILINX_OF_BOARD_DTB_ADDR)
+ dtb = (void *)XILINX_OF_BOARD_DTB_ADDR;
+#endif
+ return (uintptr_t)dtb;
}