]> git.sur5r.net Git - u-boot/blobdiff - cpu/pxa/start.S
Update ARM Integrator boards:
[u-boot] / cpu / pxa / start.S
index b1f6e7e615b9836382b4790ecf3352556a8aeb29..a8cc0800b0ca48ad8e7cb7323789c4137c8c2ec0 100644 (file)
@@ -108,10 +108,11 @@ reset:
         * we do sys-critical inits only at reboot,
         * not when booting from ram!
         */
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
        bl      cpu_init_crit           /* we do sys-critical inits         */
 #endif
 
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
 relocate:                              /* relocate U-Boot to RAM           */
        adr     r0, _start              /* r0 <- current position of code   */
        ldr     r1, _TEXT_BASE          /* test if we run from flash or RAM */
@@ -128,6 +129,7 @@ copy_loop:
        stmia   r1!, {r3-r10}           /* copy to   target address [r1]    */
        cmp     r0, r2                  /* until source end addreee [r2]    */
        ble     copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
 
        /* Set up the stack                                                 */
 stack_setup:
@@ -147,7 +149,7 @@ clear_bss:
 clbss_l:str    r2, [r0]                /* clear loop...                    */
        add     r0, r0, #4
        cmp     r0, r1
-       bne     clbss_l
+       ble     clbss_l
 
        ldr     pc, _start_armboot
 
@@ -218,10 +220,10 @@ setspeed_done:
        /*
         * before relocating, we have to setup RAM timing
         * because memory timing is board-dependend, you will
-        * find a memsetup.S in your board directory.
+        * find a lowlevel_init.S in your board directory.
         */
        mov     ip,     lr
-       bl      memsetup
+       bl      lowlevel_init
        mov     lr,     ip
 
        /* Memory interfaces are working. Disable MMU and enable I-cache.   */