[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: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
e6070a1712
commit
029fc1375f
|
@ -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
|
||||||
|
#if defined(CONFIG_MOD5272)
|
||||||
|
#define MEM_SIZE 0x00800000 /* 8MiB default memory */
|
||||||
#endif
|
#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 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 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:
|
||||||
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 */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue