m68knommu: fix 5249 ColdFire UART vector setup
authorGreg Ungerer <gerg@uclinux.org>
Tue, 24 Mar 2009 07:14:32 +0000 (17:14 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Tue, 24 Mar 2009 07:14:32 +0000 (17:14 +1000)
The address of the IVUR register is not correct, it should be offset
into the MBAR region. Without this the vector is not set to the correct
number.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68knommu/platform/5249/config.c

index 3b808c6..9eab19d 100644 (file)
@@ -52,11 +52,11 @@ static void __init m5249_uart_init_line(int line, int irq)
 {
        if (line == 0) {
                writeb(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI1, MCF_MBAR + MCFSIM_UART1ICR);
-               writeb(irq, MCFUART_BASE1 + MCFUART_UIVR);
+               writeb(irq, MCF_MBAR + MCFUART_BASE1 + MCFUART_UIVR);
                mcf_setimr(mcf_getimr() & ~MCFSIM_IMR_UART1);
        } else if (line == 1) {
                writeb(MCFSIM_ICR_LEVEL6 | MCFSIM_ICR_PRI2, MCF_MBAR + MCFSIM_UART2ICR);
-               writeb(irq, MCFUART_BASE2 + MCFUART_UIVR);
+               writeb(irq, MCF_MBAR + MCFUART_BASE2 + MCFUART_UIVR);
                mcf_setimr(mcf_getimr() & ~MCFSIM_IMR_UART2);
        }
 }