]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arm: armv8: mmu: fix mem_map_from_dram_banks
authorAnshul Dalal <anshuld@ti.com>
Fri, 31 Oct 2025 16:17:31 +0000 (21:47 +0530)
committerTom Rini <trini@konsulko.com>
Tue, 4 Nov 2025 16:39:06 +0000 (10:39 -0600)
mem_map_from_dram_banks calls fdtdec_setup_memory_banksize to setup the
dram banks though that is expected to be done by dram_init_banksize as
part of board_r sequence.

This has the side effect of modifying gd->bd->bi_dram as well, therefore
this patch removes the call and updates spl_enable_cache for K3 to call
dram_init_banksize.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reported-by: Francesco Dolcini <francesco@dolcini.it>
Closes: https://lore.kernel.org/u-boot/20251027165225.GA71553@francesco-nb/
Fixes: fe2647f2a0d4 ("arm: armv8: mmu: add mem_map_from_dram_banks")
Tested-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
arch/arm/cpu/armv8/cache_v8.c
arch/arm/mach-k3/common.c

index 672ec16d4834be501d5bfa343af9537aa9285252..0309da6d3971af6f2a349ce0760507765da9af4f 100644 (file)
@@ -61,12 +61,6 @@ static int get_effective_el(void)
 int mem_map_from_dram_banks(unsigned int index, unsigned int len, u64 attrs)
 {
        unsigned int i;
-       int ret = fdtdec_setup_memory_banksize();
-
-       if (ret) {
-               log_err("%s: Failed to setup dram banks\n", __func__);
-               return ret;
-       }
 
        if (index + CONFIG_NR_DRAM_BANKS >= len) {
                log_err("%s: Provided mem_map array has insufficient size for DRAM entries\n",
index 04a0f232d843b43a44210af21962099e2f9cd7f6..3f51b9614d967d921492c07b39fb7b63b57f508f 100644 (file)
@@ -311,6 +311,7 @@ void spl_enable_cache(void)
        int ret = 0;
 
        dram_init();
+       dram_init_banksize();
 
        /* reserve TLB table */
        gd->arch.tlb_size = PGTABLE_SIZE;