MIPS: bootm: Add fixup of '/memory' node.
authorPurna Chandra Mandal <purna.mandal@microchip.com>
Mon, 18 Apr 2016 13:01:38 +0000 (18:31 +0530)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tue, 19 Apr 2016 11:21:48 +0000 (13:21 +0200)
MIPS arch do not update 'reg' property of /memory node.
As a result Linux bootup will not work unless board.dts
file contains right /memory offset-size information or
board implements required memory fixup.
Fixing by renaming (unused) _arch_fixup_memory_node_ to
_arch_fixup_fdt_ in arch/mips/lib/bootm.c inline with ARM arch.

Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
arch/mips/lib/bootm.c

index eed159cd4620b43958f59ba38c8376494ae16c78..aa0475a4954e5920e2fad7a785175bb71c5af28e 100644 (file)
@@ -9,6 +9,7 @@
 #include <image.h>
 #include <fdt_support.h>
 #include <asm/addrspace.h>
+#include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -252,10 +253,10 @@ static int boot_reloc_fdt(bootm_headers_t *images)
 #endif
 }
 
-int arch_fixup_memory_node(void *blob)
+int arch_fixup_fdt(void *blob)
 {
 #if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
-       u64 mem_start = 0;
+       u64 mem_start = virt_to_phys((void *)gd->bd->bi_memstart);
        u64 mem_size = gd->ram_size;
 
        return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1);