* Patch by Mark Jonas, 08 June 2004:
[oweals/u-boot.git] / cpu / at91rm9200 / cpu.c
index f41210b54572fda678369b5a389ef577a1f4be59..02507297e1b6e4b3f5c50e39d8ea0017e9edcf47 100644 (file)
@@ -32,7 +32,8 @@
 
 #include <common.h>
 #include <command.h>
-#include <AT91RM9200.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
 
 /* read co-processor 15, register #1 (control register) */
 static unsigned long read_p15_c1(void)
@@ -53,7 +54,7 @@ static void write_p15_c1(unsigned long value)
 {
     /*printf("write %08lx to p15/c1\n", value); */
     __asm__ __volatile__(
-        "mcr     p15, 0, %0, c1, c0, 0   @ write it back\n"
+       "mcr     p15, 0, %0, c1, c0, 0   @ write it back\n"
        : "=r" (value)
        :
        : "memory");
@@ -80,18 +81,16 @@ static void cp_delay(void)
 
 int cpu_init(void)
 {
-    /*
-     * setup up stack if necessary
-     */
+       /*
+        * setup up stacks if necessary
+        */
 #ifdef CONFIG_USE_IRQ
-    IRQ_STACK_START = _armboot_end +
-                       CONFIG_STACKSIZE + CONFIG_STACKSIZE_IRQ - 4;
-    FIQ_STACK_START = IRQ_STACK_START + CONFIG_STACKSIZE_FIQ;
-    _armboot_real_end = FIQ_STACK_START + 4;
-#else
-    _armboot_real_end = _armboot_end + CONFIG_STACKSIZE;
+       DECLARE_GLOBAL_DATA_PTR;
+
+       IRQ_STACK_START = _armboot_start - CFG_MALLOC_LEN - CFG_GBL_DATA_SIZE - 4;
+       FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;
 #endif
-    return 0;
+       return 0;
 }
 
 int cleanup_before_linux(void)