
On 10/25/24 14:15, Sughosh Ganu wrote:
Use the get_mem_top function to compute the value of ram_top. This was earlier done through LMB API's, which are no longer available till after relocation. Use get_mem_top() instead to compute the ram_top value.
Signed-off-by: Sughosh Ganu sughosh.ganu@linaro.org
board/xilinx/common/board.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 38dd80533fa..e14ed2cff00 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -19,6 +19,7 @@ #include <i2c.h> #include <linux/sizes.h> #include <malloc.h> +#include <memtop.h> #include <mtd_node.h> #include "board.h" #include <dm.h> @@ -676,3 +677,27 @@ int ft_board_setup(void *blob, struct bd_info *bd) return 0; } #endif
+#ifndef MMU_SECTION_SIZE +#define MMU_SECTION_SIZE (1 * 1024 * 1024) +#endif
+phys_addr_t board_get_usable_ram_top(phys_size_t total_size) +{
- phys_size_t size;
- phys_addr_t reg;
- if (!total_size)
return gd->ram_top;
- if (!IS_ALIGNED((ulong)gd->fdt_blob, 0x8))
panic("Not 64bit aligned DT location: %p\n", gd->fdt_blob);
- size = ALIGN(CONFIG_SYS_MALLOC_LEN + total_size, MMU_SECTION_SIZE);
- reg = get_mem_top(gd->ram_base, gd->ram_size, size,
(void *)gd->fdt_blob);
- if (!reg)
reg = gd->ram_top - size;
- return reg + size;
+}
Reviewed-by: Michal Simek michal.simek@amd.com
Thanks, Michal