]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - cpu/mcf532x/start.S
rename CFG_ macros to CONFIG_SYS
[people/ms/u-boot.git] / cpu / mcf532x / start.S
index d36d076cf32d39a3b85077068fd9a0d609308274..7a3eb5f98c558cb1f288e5df3ba8586777946793 100644 (file)
@@ -31,7 +31,6 @@
 #define _START _start
 #define _FAULT _fault
 
-
 #define SAVE_ALL                                               \
        move.w  #0x2700,%sr;            /* disable intrs */     \
        subl    #60,%sp;                /* space for 15 regs */ \
@@ -42,7 +41,6 @@
        addl    #60,%sp;                /* space for 15 regs */ \
        rte;
 
-
 .text
 /*
  *     Vector table. This is used for initial platform startup.
  */
 _vectors:
 
-INITSP:     .long      0x00000000  /* Initial SP */
-INITPC:     .long   _START      /* Initial PC */
-vector02:      .long   _FAULT          /* Access Error                 */
-vector03:      .long   _FAULT          /* Address Error                */
-vector04:      .long   _FAULT          /* Illegal Instruction  */
-vector05:      .long   _FAULT          /* Reserved                             */
-vector06:      .long   _FAULT          /* Reserved                             */
-vector07:      .long   _FAULT          /* Reserved                             */
-vector08:      .long   _FAULT          /* Privilege Violation  */
-vector09:      .long   _FAULT          /* Trace                                */
-vector0A:      .long   _FAULT          /* Unimplemented A-Line */
-vector0B:      .long   _FAULT          /* Unimplemented F-Line */
-vector0C:      .long   _FAULT          /* Debug Interrupt              */
-vector0D:      .long   _FAULT          /* Reserved                             */
-vector0E:      .long   _FAULT          /* Format Error                 */
-vector0F:      .long   _FAULT          /* Unitialized Int.             */
-
-/* Reserved    */
+INITSP:                .long   0x00000000      /* Initial SP   */
+INITPC:                .long   _START  /* Initial PC           */
+vector02:      .long   _FAULT  /* Access Error         */
+vector03:      .long   _FAULT  /* Address Error        */
+vector04:      .long   _FAULT  /* Illegal Instruction  */
+vector05:      .long   _FAULT  /* Reserved             */
+vector06:      .long   _FAULT  /* Reserved             */
+vector07:      .long   _FAULT  /* Reserved             */
+vector08:      .long   _FAULT  /* Privilege Violation  */
+vector09:      .long   _FAULT  /* Trace                */
+vector0A:      .long   _FAULT  /* Unimplemented A-Line */
+vector0B:      .long   _FAULT  /* Unimplemented F-Line */
+vector0C:      .long   _FAULT  /* Debug Interrupt      */
+vector0D:      .long   _FAULT  /* Reserved             */
+vector0E:      .long   _FAULT  /* Format Error         */
+vector0F:      .long   _FAULT  /* Unitialized Int.     */
+
+/* Reserved */
 vector10_17:
 .long  _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
 
-vector18:      .long   _FAULT          /* Spurious Interrupt   */
-vector19:      .long   _FAULT          /* Autovector Level 1   */
-vector1A:      .long   _FAULT          /* Autovector Level 2   */
-vector1B:      .long   _FAULT          /* Autovector Level 3   */
-vector1C:      .long   _FAULT          /* Autovector Level 4   */
-vector1D:      .long   _FAULT          /* Autovector Level 5   */
-vector1E:      .long   _FAULT          /* Autovector Level 6   */
-vector1F:      .long   _FAULT          /* Autovector Level 7   */
+vector18:      .long   _FAULT  /* Spurious Interrupt   */
+vector19:      .long   _FAULT  /* Autovector Level 1   */
+vector1A:      .long   _FAULT  /* Autovector Level 2   */
+vector1B:      .long   _FAULT  /* Autovector Level 3   */
+vector1C:      .long   _FAULT  /* Autovector Level 4   */
+vector1D:      .long   _FAULT  /* Autovector Level 5   */
+vector1E:      .long   _FAULT  /* Autovector Level 6   */
+vector1F:      .long   _FAULT  /* Autovector Level 7   */
 
 /* TRAP #0 - #15 */
 vector20_2F:
@@ -126,14 +124,14 @@ vector192_255:
 _start:
        nop
        nop
-       move.w #0x2700,%sr                  /* Mask off Interrupt */
+       move.w #0x2700,%sr      /* Mask off Interrupt */
 
-    /* Set vector base register at the beginning of the Flash */
-       move.l  #CFG_FLASH_BASE, %d0
+       /* Set vector base register at the beginning of the Flash */
+       move.l  #CONFIG_SYS_FLASH_BASE, %d0
        movec   %d0, %VBR
 
-       move.l  #(CFG_INIT_RAM_ADDR + CFG_INIT_RAM_CTRL), %d0
-       movec   %d0, %RAMBAR0
+       move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0
+       movec   %d0, %RAMBAR1
 
        /* invalidate and disable cache */
        move.l  #0x01000000, %d0                /* Invalidate cache cmd */
@@ -144,19 +142,20 @@ _start:
 
        /* initialize general use internal ram */
        move.l #0, %d0
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-8), %a1
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-4), %a2
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-8), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-4), %a2
        move.l %d0, (%a1)
        move.l %d0, (%a2)
 
-       /* set stackpointer to end of internal ram to get some stackspace for the first c-code */
-       move.l  #(CFG_INIT_RAM_ADDR + CFG_INIT_SP_OFFSET), %sp
+       /* set stackpointer to end of internal ram to get some stackspace for the
+          first c-code */
+       move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
        clr.l %sp@-
 
-       move.l #__got_start, %a5                /* put relocation table address to a5 */
+       move.l #__got_start, %a5        /* put relocation table address to a5 */
 
-       bsr cpu_init_f                          /* run low-level CPU init code (from flash) */
-       bsr board_init_f                        /* run low-level board init code (from flash) */
+       bsr cpu_init_f                  /* run low-level CPU init code (from flash) */
+       bsr board_init_f                /* run low-level board init code (from flash) */
 
        /* board_init_f() does not return */
 
@@ -181,7 +180,7 @@ relocate_code:
        move.l 12(%a6), %d0             /* Save copy of Global Data pointer */
        move.l 16(%a6), %a0             /* Save copy of Destination Address */
 
-       move.l #CFG_MONITOR_BASE, %a1
+       move.l #CONFIG_SYS_MONITOR_BASE, %a1
        move.l #__init_end, %a2
        move.l %a0, %a3
 
@@ -196,7 +195,7 @@ relocate_code:
  * initialization, now running from RAM.
  */
        move.l  %a0, %a1
-       add.l   #(in_ram - CFG_MONITOR_BASE), %a1
+       add.l   #(in_ram - CONFIG_SYS_MONITOR_BASE), %a1
        jmp     (%a1)
 
 in_ram:
@@ -206,9 +205,9 @@ clear_bss:
         * Now clear BSS segment
         */
        move.l  %a0, %a1
-       add.l   #(_sbss - CFG_MONITOR_BASE),%a1
+       add.l   #(_sbss - CONFIG_SYS_MONITOR_BASE),%a1
        move.l  %a0, %d1
-       add.l   #(_ebss - CFG_MONITOR_BASE),%d1
+       add.l   #(_ebss - CONFIG_SYS_MONITOR_BASE),%d1
 6:
        clr.l   (%a1)+
        cmp.l   %a1,%d1
@@ -218,11 +217,11 @@ clear_bss:
         * fix got table in RAM
         */
        move.l  %a0, %a1
-       add.l   #(__got_start - CFG_MONITOR_BASE),%a1
+       add.l   #(__got_start - CONFIG_SYS_MONITOR_BASE),%a1
        move.l  %a1,%a5         /* * fix got pointer register a5 */
 
        move.l  %a0, %a2
-       add.l   #(__got_end - CFG_MONITOR_BASE),%a2
+       add.l   #(__got_end - CONFIG_SYS_MONITOR_BASE),%a2
 
 7:
        move.l  (%a1),%d1
@@ -234,7 +233,7 @@ clear_bss:
 
        /* calculate relative jump to board_init_r in ram */
        move.l %a0, %a1
-       add.l #(board_init_r - CFG_MONITOR_BASE), %a1
+       add.l #(board_init_r - CONFIG_SYS_MONITOR_BASE), %a1
 
        /* set parameters for board_init_r */
        move.l %a0,-(%sp)               /* dest_addr */
@@ -269,48 +268,46 @@ _int_handler:
 icache_enable:
        move.l  #0x01000000, %d0                /* Invalidate cache cmd */
        movec   %d0, %CACR                      /* Invalidate cache */
-       move.l  #(CFG_SDRAM_BASE + 0xc000), %d0         /* Setup cache mask */
+       move.l  #(CONFIG_SYS_SDRAM_BASE + 0x1c000), %d0
        movec   %d0, %ACR0                      /* Enable cache */
-       move.l  #(CFG_CS0_BASE + 0xc000), %d0           /* Setup cache mask */
-       movec   %d0, %ACR1                      /* Enable cache */
 
-       /*move.l        #0x81000100, %d0*/              /* Setup cache mask */
-       move.l  #0x81000100, %d0                /* Setup cache mask */
+       move.l  #0x80000200, %d0                /* Setup cache mask */
        movec   %d0, %CACR                      /* Enable cache */
+       nop
 
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-8), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-8), %a1
        moveq   #1, %d0
        move.l  %d0, (%a1)
        rts
 
        .globl  icache_disable
 icache_disable:
-       move.l  #0x00000100, %d0                /* Setup cache mask */
-       movec   %d0, %CACR                      /* Enable cache */
+       move.l  #0x01000000, %d0                /* Setup cache mask */
+       movec   %d0, %CACR                      /* Disable cache */
        clr.l   %d0                             /* Setup cache mask */
-       movec   %d0, %ACR0                      /* Enable cache */
-       movec   %d0, %ACR1                      /* Enable cache */
+       movec   %d0, %ACR0
+       movec   %d0, %ACR1
 
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-8), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-8), %a1
        moveq   #0, %d0
        move.l  %d0, (%a1)
        rts
 
        .globl  icache_status
 icache_status:
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-8), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-8), %a1
        move.l  (%a1), %d0
        rts
 
        .globl  icache_invalid
 icache_invalid:
-       move.l  #0x00000100, %d0                /* Setup cache mask */
+       move.l  #0x81000200, %d0                /* Setup cache mask */
        movec   %d0, %CACR                      /* Enable cache */
        rts
 
        .globl  dcache_enable
 dcache_enable:
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-4), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-4), %a1
        moveq   #1, %d0
        move.l  %d0, (%a1)
        rts
@@ -318,14 +315,14 @@ dcache_enable:
     /* No dcache, just a dummy function */
        .globl  dcache_disable
 dcache_disable:
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-4), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-4), %a1
        moveq   #0, %d0
        move.l  %d0, (%a1)
        rts
 
        .globl  dcache_status
 dcache_status:
-       move.l #(CFG_INIT_RAM_ADDR+CFG_INIT_RAM_END-4), %a1
+       move.l #(CONFIG_SYS_INIT_RAM_ADDR+CONFIG_SYS_INIT_RAM_END-4), %a1
        move.l  (%a1), %d0
        rts
 
@@ -336,3 +333,4 @@ version_string:
        .ascii U_BOOT_VERSION
        .ascii " (", __DATE__, " - ", __TIME__, ")"
        .ascii CONFIG_IDENT_STRING, "\0"
+       .align 4