]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/lib/vectors.S
rockchip: rk322x: add clock driver
[u-boot] / arch / arm / lib / vectors.S
index 493f3373f3cd7ed61ff0df45fba8e77ed71e7a54..101909103e4a5d4ae69f41ff4c8e623779b13e91 100644 (file)
@@ -33,7 +33,7 @@
  *************************************************************************
  */
 
-       .section ".vectors", "x"
+       .section ".vectors", "ax"
 
 /*
  *************************************************************************
  *************************************************************************
  */
 
+_start:
+
 #ifdef CONFIG_SYS_DV_NOR_BOOT_CFG
        .word   CONFIG_SYS_DV_NOR_BOOT_CFG
 #endif
 
-_start:
-       ldr     pc, _reset
+       b       reset
        ldr     pc, _undefined_instruction
        ldr     pc, _software_interrupt
        ldr     pc, _prefetch_abort
@@ -59,6 +60,15 @@ _start:
        ldr     pc, _irq
        ldr     pc, _fiq
 
+#ifdef CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK
+/*
+ * Various SoCs need something special and SoC-specific up front in
+ * order to boot, allow them to set that in their boot0.h file and then
+ * use it here.
+ */
+#include <asm/arch/boot0.h>
+#endif
+
 /*
  *************************************************************************
  *
@@ -77,7 +87,6 @@ _start:
        .globl  _irq
        .globl  _fiq
 
-_reset:                        .word reset
 _undefined_instruction:        .word undefined_instruction
 _software_interrupt:   .word software_interrupt
 _prefetch_abort:       .word prefetch_abort
@@ -108,7 +117,6 @@ data_abort:
 not_used:
 irq:
 fiq:
-
 1:
        bl      1b                      /* hang and never return */
 
@@ -117,20 +125,11 @@ fiq:
 /* IRQ stack memory (calculated at run-time) + 8 bytes */
 .globl IRQ_STACK_START_IN
 IRQ_STACK_START_IN:
+#ifdef IRAM_BASE_ADDR
+       .word   IRAM_BASE_ADDR + 0x20
+#else
        .word   0x0badc0de
-
-#ifdef CONFIG_USE_IRQ
-/* IRQ stack memory (calculated at run-time) */
-.globl IRQ_STACK_START
-IRQ_STACK_START:
-       .word   0x0badc0de
-
-/* IRQ stack memory (calculated at run-time) */
-.globl FIQ_STACK_START
-FIQ_STACK_START:
-       .word 0x0badc0de
-
-#endif /* CONFIG_USE_IRQ */
+#endif
 
 @
 @ IRQ stack frame.
@@ -255,24 +254,6 @@ not_used:
        bad_save_user_regs
        bl      do_not_used
 
-#ifdef CONFIG_USE_IRQ
-
-       .align  5
-irq:
-       get_irq_stack
-       irq_save_user_regs
-       bl      do_irq
-       irq_restore_user_regs
-
-       .align  5
-fiq:
-       get_fiq_stack
-       /* someone ought to write a more effiction fiq_save_user_regs */
-       irq_save_user_regs
-       bl      do_fiq
-       irq_restore_user_regs
-
-#else
 
        .align  5
 irq:
@@ -286,6 +267,4 @@ fiq:
        bad_save_user_regs
        bl      do_fiq
 
-#endif /* CONFIG_USE_IRQ */
-
 #endif /* CONFIG_SPL_BUILD */