diff options
| author | Ilias Apalodimas <[email protected]> | 2026-06-17 10:48:21 +0300 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-06-24 18:13:24 -0600 |
| commit | 0943f107ce4adb47d4b01c06e046dce130a1de50 (patch) | |
| tree | 8f5275a11216c03662e8af3084c750939eaae864 /common | |
| parent | 15b35e4289e11f1ab201701dfb6dc0232b30be48 (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]>
Diffstat (limited to 'common')
| -rw-r--r-- | common/board_f.c | 22 |
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) |
