summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlias Apalodimas <[email protected]>2026-06-17 10:48:21 +0300
committerTom Rini <[email protected]>2026-06-24 18:13:24 -0600
commit0943f107ce4adb47d4b01c06e046dce130a1de50 (patch)
tree8f5275a11216c03662e8af3084c750939eaae864
parent15b35e4289e11f1ab201701dfb6dc0232b30be48 (diff)
common: Clean up setup_dest_addr()
Right now the function does - Re-adjust the ram_size based on Kconfig options - Set ram_top - Set the relocation address It also does not set the ram_size in case ram_top grew from it's initial value. But ram_top and ram_size should always be changed together. So let's make things a bit cleaner and move the ram calculations in their own INITCALL Reviewed-by: Simon Glass <[email protected]> Tested-by: Anshul Dalal <[email protected]> Tested-by: Michal Simek <[email protected]> # Versal Gen 2 Vek385 Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Christophe Leroy (CS GROUP) <[email protected]>
-rw-r--r--common/board_f.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/common/board_f.c b/common/board_f.c
index e169ed93091..b3e633418e1 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -336,15 +336,9 @@ static int setup_ram_base(void)
return 0;
}
-static int setup_dest_addr(void)
+static int setup_ram_config(void)
{
- int ret;
-
debug("Monitor len: %08x\n", gd->mon_len);
- /*
- * Ram is setup, size stored in gd !!
- */
- debug("Ram size: %08llX\n", (unsigned long long)gd->ram_size);
#if CONFIG_VAL(SYS_MEM_TOP_HIDE)
/*
* Subtract specified amount of memory to hide so that it won't
@@ -360,8 +354,19 @@ static int setup_dest_addr(void)
#endif
gd->ram_top = gd->ram_base + get_effective_memsize();
gd->ram_top = board_get_usable_ram_top(gd->mon_len);
+
+ debug("Ram top: %08llx\n", (unsigned long long)gd->ram_top);
+ debug("Ram size: %08llx\n", (unsigned long long)gd->ram_size);
+
+ return 0;
+}
+
+static int setup_dest_addr(void)
+{
+ int ret;
+
gd->relocaddr = gd->ram_top;
- debug("Ram top: %08llX\n", (unsigned long long)gd->ram_top);
+ debug("Reloc addr: %08llX\n", (unsigned long long)gd->relocaddr);
ret = arch_setup_dest_addr();
if (ret)
@@ -983,6 +988,7 @@ static void initcall_run_f(void)
* - board info struct
*/
INITCALL(setup_ram_base);
+ INITCALL(setup_ram_config);
INITCALL(setup_dest_addr);
#if CONFIG_IS_ENABLED(OF_BOARD_FIXUP) && \
!CONFIG_IS_ENABLED(OF_INITIAL_DTB_READONLY)