[PATCH v1 2/4] common: move ram_base calculation to independent INITCALL()

Marek Vasut marek.vasut at mailbox.org
Sun Apr 5 05:59:52 CEST 2026


On 4/3/26 11:01 AM, Ilias Apalodimas wrote:
> Currently, ram_base is calculated within setup_dest_addr().
> However, upcoming patches that enable U-Boot relocation to the highest
> DRAM bank require ram_base to be initialized earlier.
> 
> The default dram_init_banksize() definition relies on ram_base
> to calculate the start of the first bank. But following patches
> will move that function to execute immediately before setup_dest_addr().
> 
> So let's split the ram_base initialization in its own INITCALL.
> 
> Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
>   common/board_f.c | 12 +++++++++---
>   1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/common/board_f.c b/common/board_f.c
> index 91c569da9682..7df92281c35a 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -329,6 +329,14 @@ __weak int arch_setup_dest_addr(void)
>   	return 0;
>   }
>   
> +static int setup_ram_base(void)
> +{
> +#ifdef CFG_SYS_SDRAM_BASE
> +	gd->ram_base = CFG_SYS_SDRAM_BASE;

Would it make sense to reset the variable to 0 in case 
CFG_SYS_SDRAM_BASE is not defined ?

Or better yet, how about moving CFG_SYS_SDRAM_BASE to Kconfig with 
default value 0 ?


More information about the U-Boot mailing list