Commit 029fc137 authored by Greg Ungerer's avatar Greg Ungerer Committed by Linus Torvalds

[PATCH] m68knommu: fix ColdFire startup code to properly handle non 0 based ram

Correctly determine the end of ram for ram setups that do not
start at base address of 0. Add support for the MOD5272 board,
which doesn not have a ram base of 0.
Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent e6070a17
...@@ -39,14 +39,18 @@ ...@@ -39,14 +39,18 @@
* Memory size exceptions for special cases. Some boards may be set * Memory size exceptions for special cases. Some boards may be set
* for auto memory sizing, but we can't do it that way for some reason. * for auto memory sizing, but we can't do it that way for some reason.
* For example the 5206eLITE board has static RAM, and auto-detecting * For example the 5206eLITE board has static RAM, and auto-detecting
* the SDRAM will do you no good at all. * the SDRAM will do you no good at all. Same goes for the MOD5272.
*/ */
#ifdef CONFIG_RAMAUTO #ifdef CONFIG_RAMAUTO
#if defined(CONFIG_M5206eLITE) #if defined(CONFIG_M5206eLITE)
#define MEM_SIZE 0x00100000 /* 1MiB default memory */ #define MEM_SIZE 0x00100000 /* 1MiB default memory */
#endif #endif
#if defined(CONFIG_MOD5272)
#define MEM_SIZE 0x00800000 /* 8MiB default memory */
#endif
#endif /* CONFIG_RAMAUTO */ #endif /* CONFIG_RAMAUTO */
/* /*
* If we don't have a fixed memory size now, then lets build in code * If we don't have a fixed memory size now, then lets build in code
* to auto detect the DRAM size. Obviously this is the prefered * to auto detect the DRAM size. Obviously this is the prefered
...@@ -100,11 +104,15 @@ ...@@ -100,11 +104,15 @@
/* /*
* Most ColdFire boards have their DRAM starting at address 0. * Most ColdFire boards have their DRAM starting at address 0.
* Notable exception is the 5206eLITE board. * Notable exception is the 5206eLITE board, another is the MOD5272.
*/ */
#if defined(CONFIG_M5206eLITE) #if defined(CONFIG_M5206eLITE)
#define MEM_BASE 0x30000000 #define MEM_BASE 0x30000000
#endif #endif
#if defined(CONFIG_MOD5272)
#define MEM_BASE 0x02000000
#define VBR_BASE 0x20000000 /* vectors in SRAM */
#endif
#ifndef MEM_BASE #ifndef MEM_BASE
#define MEM_BASE 0x00000000 /* memory base at address 0 */ #define MEM_BASE 0x00000000 /* memory base at address 0 */
...@@ -188,6 +196,7 @@ _start: ...@@ -188,6 +196,7 @@ _start:
movel %a7,_rambase movel %a7,_rambase
GET_MEM_SIZE /* macro code determines size */ GET_MEM_SIZE /* macro code determines size */
addl %a7,%d0
movel %d0,_ramend /* set end ram addr */ movel %d0,_ramend /* set end ram addr */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment