diff options
Diffstat (limited to 'arch/m68k')
-rw-r--r-- | arch/m68k/platform/5272/config.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/arch/m68k/platform/5272/config.c b/arch/m68k/platform/5272/config.c index 1c99cbae1f97..a99a6893a57a 100644 --- a/arch/m68k/platform/5272/config.c +++ b/arch/m68k/platform/5272/config.c | |||
@@ -85,29 +85,18 @@ static struct platform_device *m5272_devices[] __initdata = { | |||
85 | 85 | ||
86 | /***************************************************************************/ | 86 | /***************************************************************************/ |
87 | 87 | ||
88 | static void __init m5272_uart_init_line(int line, int irq) | 88 | static void __init m5272_uarts_init(void) |
89 | { | 89 | { |
90 | u32 v; | 90 | u32 v; |
91 | 91 | ||
92 | if ((line >= 0) && (line < 2)) { | 92 | /* Enable the output lines for the serial ports */ |
93 | /* Enable the output lines for the serial ports */ | 93 | v = readl(MCF_MBAR + MCFSIM_PBCNT); |
94 | v = readl(MCF_MBAR + MCFSIM_PBCNT); | 94 | v = (v & ~0x000000ff) | 0x00000055; |
95 | v = (v & ~0x000000ff) | 0x00000055; | 95 | writel(v, MCF_MBAR + MCFSIM_PBCNT); |
96 | writel(v, MCF_MBAR + MCFSIM_PBCNT); | ||
97 | |||
98 | v = readl(MCF_MBAR + MCFSIM_PDCNT); | ||
99 | v = (v & ~0x000003fc) | 0x000002a8; | ||
100 | writel(v, MCF_MBAR + MCFSIM_PDCNT); | ||
101 | } | ||
102 | } | ||
103 | |||
104 | static void __init m5272_uarts_init(void) | ||
105 | { | ||
106 | const int nrlines = ARRAY_SIZE(m5272_uart_platform); | ||
107 | int line; | ||
108 | 96 | ||
109 | for (line = 0; (line < nrlines); line++) | 97 | v = readl(MCF_MBAR + MCFSIM_PDCNT); |
110 | m5272_uart_init_line(line, m5272_uart_platform[line].irq); | 98 | v = (v & ~0x000003fc) | 0x000002a8; |
99 | writel(v, MCF_MBAR + MCFSIM_PDCNT); | ||
111 | } | 100 | } |
112 | 101 | ||
113 | /***************************************************************************/ | 102 | /***************************************************************************/ |