]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/cpu/arm1136/start.S
MX31: Disable watchdog during low-power modes
[u-boot] / arch / arm / cpu / arm1136 / start.S
index b771d316e42d7b39bace32a7b0038e0fab5e059c..c0db96cb15455e172f58821ebb7bb2ba64ebca31 100644 (file)
@@ -3,8 +3,8 @@
  *
  *  Copyright (c) 2004 Texas Instruments <r-woodruff2@ti.com>
  *
- *  Copyright (c) 2001 Marius Gröger <mag@sysgo.de>
- *  Copyright (c) 2002 Alex Züpke <azu@sysgo.de>
+ *  Copyright (c) 2001 Marius Gröger <mag@sysgo.de>
+ *  Copyright (c) 2002 Alex Züpke <azu@sysgo.de>
  *  Copyright (c) 2002 Gary Jennejohn <garyj@denx.de>
  *  Copyright (c) 2003 Richard Woodruff <r-woodruff2@ti.com>
  *  Copyright (c) 2003 Kshitij <kshitij@ti.com>
@@ -33,7 +33,7 @@
 #include <version.h>
 .globl _start
 _start: b      reset
-#ifdef CONFIG_PRELOADER
+#ifdef CONFIG_SPL_BUILD
        ldr     pc, _hang
        ldr     pc, _hang
        ldr     pc, _hang
@@ -68,7 +68,7 @@ _not_used:            .word not_used
 _irq:                  .word irq
 _fiq:                  .word fiq
 _pad:                  .word 0x12345678 /* now 16*4=64 */
-#endif /* CONFIG_PRELOADER */
+#endif /* CONFIG_SPL_BUILD */
 .global _end_vect
 _end_vect:
 
@@ -102,6 +102,10 @@ _bss_start_ofs:
 
 .globl _bss_end_ofs
 _bss_end_ofs:
+       .word __bss_end__ - _start
+
+.globl _end_ofs
+_end_ofs:
        .word _end - _start
 
 #ifdef CONFIG_USE_IRQ
@@ -163,15 +167,7 @@ call_board_init_f:
        bic     sp, sp, #7 /* 8-byte alignment for ABI compliance */
        ldr     r0,=0x00000000
 
-#ifdef CONFIG_NAND_SPL
-       bl      nand_boot
-#else
-#ifdef CONFIG_ONENAND_IPL
-       bl      start_oneboot
-#else
        bl      board_init_f
-#endif /* CONFIG_ONENAND_IPL */
-#endif /* CONFIG_NAND_SPL */
 
 /*------------------------------------------------------------------------------*/
 
@@ -205,7 +201,7 @@ copy_loop:
        cmp     r0, r2                  /* until source end address [r2]    */
        blo     copy_loop
 
-#ifndef CONFIG_PRELOADER
+#ifndef CONFIG_SPL_BUILD
        /*
         * fix .rel.dyn relocations
         */
@@ -247,7 +243,7 @@ fixnext:
 #endif
 
 clear_bss:
-#ifndef CONFIG_PRELOADER
+#ifndef CONFIG_SPL_BUILD
        ldr     r0, _bss_start_ofs
        ldr     r1, _bss_end_ofs
        mov     r4, r6                  /* reloc addr */
@@ -259,7 +255,7 @@ clbss_l:str r2, [r0]                /* clear loop...                    */
        add     r0, r0, #4
        cmp     r0, r1
        bne     clbss_l
-#endif /* #ifndef CONFIG_PRELOADER */
+#endif /* #ifndef CONFIG_SPL_BUILD */
 
 /*
  * We are done. Do not return, instead branch to second part of board
@@ -267,14 +263,14 @@ clbss_l:str       r2, [r0]                /* clear loop...                    */
  */
 #ifdef CONFIG_NAND_SPL
        ldr     r0, _nand_boot_ofs
-       adr     r1, _start
-       add     pc, r0, r1
-_nand_boot_ofs
-       : .word nand_boot - _start
+       mov     pc, r0
+
+_nand_boot_ofs:
+       .word nand_boot
 #else
 jump_2_ram:
        ldr     r0, _board_init_r_ofs
-       adr     r1, _start
+       ldr     r1, _TEXT_BASE
        add     lr, r0, r1
        add     lr, lr, r9
        /* setup parameters for board_init_r */
@@ -333,7 +329,7 @@ cpu_init_crit:
        mov     pc, lr          /* back to my caller */
 #endif /* CONFIG_SKIP_LOWLEVEL_INIT */
 
-#ifndef CONFIG_PRELOADER
+#ifndef CONFIG_SPL_BUILD
 /*
  *************************************************************************
  *
@@ -440,17 +436,17 @@ cpu_init_crit:
        .macro get_fiq_stack                    @ setup FIQ stack
        ldr     sp, FIQ_STACK_START
        .endm
-#endif /* CONFIG_PRELOADER */
+#endif /* CONFIG_SPL_BUILD */
 
 /*
  * exception handlers
  */
-#ifdef CONFIG_PRELOADER
+#ifdef CONFIG_SPL_BUILD
        .align  5
 do_hang:
        ldr     sp, _TEXT_BASE                  /* use 32 words about stack */
        bl      hang                            /* hang and never return */
-#else  /* !CONFIG_PRELOADER */
+#else  /* !CONFIG_SPL_BUILD */
        .align  5
 undefined_instruction:
        get_bad_stack
@@ -516,11 +512,11 @@ fiq:
        .align 5
 .global arm1136_cache_flush
 arm1136_cache_flush:
-#if !defined(CONFIG_SYS_NO_ICACHE)
+#if !defined(CONFIG_SYS_ICACHE_OFF)
                mcr     p15, 0, r1, c7, c5, 0   @ invalidate I cache
 #endif
-#if !defined(CONFIG_SYS_NO_DCACHE)
+#if !defined(CONFIG_SYS_DCACHE_OFF)
                mcr     p15, 0, r1, c7, c14, 0  @ invalidate D cache
 #endif
                mov     pc, lr                  @ back to caller
-#endif /* CONFIG_PRELOADER */
+#endif /* CONFIG_SPL_BUILD */