mips: mtmips: fix dram size detection in dram_init
authorWeijie Gao <weijie.gao@mediatek.com>
Thu, 12 Nov 2020 08:35:33 +0000 (16:35 +0800)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Sun, 24 Jan 2021 20:39:26 +0000 (21:39 +0100)
CONFIG_SYS_SDRAM_BASE points to cached memory, i.e. KSEG0, which is not
suitable for detecting memory size.

Replace CONFIG_SYS_SDRAM_BASE with KSEG1, and make dram_init() always do
memory size detection in any stage.

Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
arch/mips/mach-mtmips/cpu.c

index 2ddf8cb..ca19670 100644 (file)
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <init.h>
 #include <malloc.h>
+#include <asm/addrspace.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
@@ -14,9 +15,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
-#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-       gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE, SZ_256M);
-#endif
+       gd->ram_size = get_ram_size((void *)KSEG1, SZ_256M);
 
        return 0;
 }