m68knommu: simplify the 5272 UART setup code
[firefly-linux-kernel-4.4.55.git] / arch / m68k / platform / 5272 / config.c
index 65bb582734e1faea91d2a707e4107a55bbd90145..a99a6893a57ad9c1a6e36afaac401f44c0d5f10d 100644 (file)
@@ -32,12 +32,12 @@ unsigned char ledbank = 0xff;
 
 static struct mcf_platform_uart m5272_uart_platform[] = {
        {
-               .mapbase        = MCF_MBAR + MCFUART_BASE1,
-               .irq            = MCF_IRQ_UART1,
+               .mapbase        = MCFUART_BASE0,
+               .irq            = MCF_IRQ_UART0,
        },
        {
-               .mapbase        = MCF_MBAR + MCFUART_BASE2,
-               .irq            = MCF_IRQ_UART2,
+               .mapbase        = MCFUART_BASE1,
+               .irq            = MCF_IRQ_UART1,
        },
        { },
 };
@@ -85,29 +85,18 @@ static struct platform_device *m5272_devices[] __initdata = {
 
 /***************************************************************************/
 
-static void __init m5272_uart_init_line(int line, int irq)
+static void __init m5272_uarts_init(void)
 {
        u32 v;
 
-       if ((line >= 0) && (line < 2)) {
-               /* Enable the output lines for the serial ports */
-               v = readl(MCF_MBAR + MCFSIM_PBCNT);
-               v = (v & ~0x000000ff) | 0x00000055;
-               writel(v, MCF_MBAR + MCFSIM_PBCNT);
-
-               v = readl(MCF_MBAR + MCFSIM_PDCNT);
-               v = (v & ~0x000003fc) | 0x000002a8;
-               writel(v, MCF_MBAR + MCFSIM_PDCNT);
-       }
-}
-
-static void __init m5272_uarts_init(void)
-{
-       const int nrlines = ARRAY_SIZE(m5272_uart_platform);
-       int line;
+       /* Enable the output lines for the serial ports */
+       v = readl(MCF_MBAR + MCFSIM_PBCNT);
+       v = (v & ~0x000000ff) | 0x00000055;
+       writel(v, MCF_MBAR + MCFSIM_PBCNT);
 
-       for (line = 0; (line < nrlines); line++)
-               m5272_uart_init_line(line, m5272_uart_platform[line].irq);
+       v = readl(MCF_MBAR + MCFSIM_PDCNT);
+       v = (v & ~0x000003fc) | 0x000002a8;
+       writel(v, MCF_MBAR + MCFSIM_PDCNT);
 }
 
 /***************************************************************************/
@@ -146,6 +135,7 @@ void __init config_BSP(char *commandp, int size)
 #endif
 
        mach_reset = m5272_cpu_reset;
+       mach_sched_init = hw_timer_init;
 }
 
 /***************************************************************************/