MIPS: malta: malta-memory: Use the PHYS_OFFSET to build the memory map
authorMarkos Chandras <markos.chandras@imgtec.com>
Wed, 15 Jan 2014 14:13:05 +0000 (14:13 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 26 Mar 2014 22:09:20 +0000 (23:09 +0100)
PHYS_OFFSET is used to denote the physical start address of the
first bank of RAM. When the Malta board is in EVA mode, the physical
start address of RAM is shifted to 0x80000000 so it's necessary to use
this macro in order to make the code EVA agnostic.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
arch/mips/mti-malta/malta-memory.c

index cd0400802eb12b4aa7e2284d5d36bc0a781f0f54..9235aee832c7b91137545c947bd72b01a6b864b5 100644 (file)
@@ -81,11 +81,11 @@ fw_memblock_t * __init fw_getmdesc(int eva)
        memset(mdesc, 0, sizeof(mdesc));
 
        mdesc[0].type = fw_dontuse;
-       mdesc[0].base = 0x00000000;
+       mdesc[0].base = PHYS_OFFSET;
        mdesc[0].size = 0x00001000;
 
        mdesc[1].type = fw_code;
-       mdesc[1].base = 0x00001000;
+       mdesc[1].base = mdesc[0].base + 0x00001000UL;
        mdesc[1].size = 0x000ef000;
 
        /*
@@ -96,17 +96,17 @@ fw_memblock_t * __init fw_getmdesc(int eva)
         * devices.
         */
        mdesc[2].type = fw_dontuse;
-       mdesc[2].base = 0x000f0000;
+       mdesc[2].base = mdesc[0].base + 0x000f0000UL;
        mdesc[2].size = 0x00010000;
 
        mdesc[3].type = fw_dontuse;
-       mdesc[3].base = 0x00100000;
+       mdesc[3].base = mdesc[0].base + 0x00100000UL;
        mdesc[3].size = CPHYSADDR(PFN_ALIGN((unsigned long)&_end)) -
-               mdesc[3].base;
+               0x00100000UL;
 
        mdesc[4].type = fw_free;
-       mdesc[4].base = CPHYSADDR(PFN_ALIGN(&_end));
-       mdesc[4].size = memsize - mdesc[4].base;
+       mdesc[4].base = mdesc[0].base + CPHYSADDR(PFN_ALIGN(&_end));
+       mdesc[4].size = memsize - CPHYSADDR(mdesc[4].base);
 
        return &mdesc[0];
 }