]> git.sur5r.net Git - u-boot/blobdiff - cpu/arm720t/interrupts.c
usb: musb: make sure the register layout is packed
[u-boot] / cpu / arm720t / interrupts.c
index 39ed345bb76b23e8824212e09962741b928b0794..eb8d4253181c12a6136ce9ac8bec21a069c49f38 100644 (file)
@@ -110,9 +110,34 @@ static void timer_isr( void *data) {
 static ulong timestamp;
 static ulong lastdec;
 
-int interrupt_init (void)
+#if defined(CONFIG_USE_IRQ) && defined(CONFIG_S3C4510B)
+int arch_interrupt_init (void)
 {
+       int i;
+
+       /* install default interrupt handlers */
+       for ( i = 0; i < N_IRQS; i++) {
+               IRQ_HANDLER[i].m_data = (void *)i;
+               IRQ_HANDLER[i].m_func = default_isr;
+       }
+
+       /* configure interrupts for IRQ mode */
+       PUT_REG( REG_INTMODE, 0x0);
+       /* clear any pending interrupts */
+       PUT_REG( REG_INTPEND, 0x1FFFFF);
+
+       lastdec = 0;
+
+       /* install interrupt handler for timer */
+       IRQ_HANDLER[INT_TIMER0].m_data = (void *)&timestamp;
+       IRQ_HANDLER[INT_TIMER0].m_func = timer_isr;
+
+       return 0;
+}
+#endif
 
+int timer_init (void)
+{
 #if defined(CONFIG_NETARM)
        /* disable all interrupts */
        IRQEN = 0;
@@ -137,25 +162,6 @@ int interrupt_init (void)
        /* set timer 1 counter */
        lastdec = IO_TC1D = TIMER_LOAD_VAL;
 #elif defined(CONFIG_S3C4510B)
-       int i;
-
-       /* install default interrupt handlers */
-       for ( i = 0; i < N_IRQS; i++) {
-               IRQ_HANDLER[i].m_data = (void *)i;
-               IRQ_HANDLER[i].m_func = default_isr;
-       }
-
-       /* configure interrupts for IRQ mode */
-       PUT_REG( REG_INTMODE, 0x0);
-       /* clear any pending interrupts */
-       PUT_REG( REG_INTPEND, 0x1FFFFF);
-
-       lastdec = 0;
-
-       /* install interrupt handler for timer */
-       IRQ_HANDLER[INT_TIMER0].m_data = (void *)&timestamp;
-       IRQ_HANDLER[INT_TIMER0].m_func = timer_isr;
-
        /* configure free running timer 0 */
        PUT_REG( REG_TMOD, 0x0);
        /* Stop timer 0 */
@@ -187,7 +193,7 @@ int interrupt_init (void)
        PUT32(T0TCR, 1);        /* enable timer0 */
 
 #else
-#error No interrupt_init() defined for this CPU type
+#error No timer_init() defined for this CPU type
 #endif
        timestamp = 0;
 
@@ -218,7 +224,7 @@ void set_timer (ulong t)
        timestamp = t;
 }
 
-void udelay (unsigned long usec)
+void __udelay (unsigned long usec)
 {
        ulong tmo;
 
@@ -290,7 +296,7 @@ ulong get_timer (ulong base)
        return timestamp - base;
 }
 
-void udelay (unsigned long usec)
+void __udelay (unsigned long usec)
 {
        u32 ticks;