aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/txx9/generic/setup_tx3927.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/txx9/generic/setup_tx3927.c')
-rw-r--r--arch/mips/txx9/generic/setup_tx3927.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/arch/mips/txx9/generic/setup_tx3927.c b/arch/mips/txx9/generic/setup_tx3927.c
index 0d09a0ff71e..7bd963d37fc 100644
--- a/arch/mips/txx9/generic/setup_tx3927.c
+++ b/arch/mips/txx9/generic/setup_tx3927.c
@@ -13,8 +13,8 @@
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/ioport.h> 14#include <linux/ioport.h>
15#include <linux/delay.h> 15#include <linux/delay.h>
16#include <linux/serial_core.h>
17#include <linux/param.h> 16#include <linux/param.h>
17#include <linux/io.h>
18#include <asm/mipsregs.h> 18#include <asm/mipsregs.h>
19#include <asm/txx9irq.h> 19#include <asm/txx9irq.h>
20#include <asm/txx9tmr.h> 20#include <asm/txx9tmr.h>
@@ -119,23 +119,12 @@ void __init tx3927_time_init(unsigned int evt_tmrnr, unsigned int src_tmrnr)
119 txx9_clocksource_init(TX3927_TMR_REG(src_tmrnr), TXX9_IMCLK); 119 txx9_clocksource_init(TX3927_TMR_REG(src_tmrnr), TXX9_IMCLK);
120} 120}
121 121
122void __init tx3927_setup_serial(unsigned int cts_mask) 122void __init tx3927_sio_init(unsigned int sclk, unsigned int cts_mask)
123{ 123{
124#ifdef CONFIG_SERIAL_TXX9
125 int i; 124 int i;
126 struct uart_port req; 125
127 126 for (i = 0; i < 2; i++)
128 for (i = 0; i < 2; i++) { 127 txx9_sio_init(TX3927_SIO_REG(i),
129 memset(&req, 0, sizeof(req)); 128 TXX9_IRQ_BASE + TX3927_IR_SIO(i),
130 req.line = i; 129 i, sclk, (1 << i) & cts_mask);
131 req.iotype = UPIO_MEM;
132 req.membase = (unsigned char __iomem *)TX3927_SIO_REG(i);
133 req.mapbase = TX3927_SIO_REG(i);
134 req.irq = TXX9_IRQ_BASE + TX3927_IR_SIO(i);
135 if (!((1 << i) & cts_mask))
136 req.flags |= UPF_BUGGY_UART /*HAVE_CTS_LINE*/;
137 req.uartclk = TXX9_IMCLK;
138 early_serial_txx9_setup(&req);
139 }
140#endif /* CONFIG_SERIAL_TXX9 */
141} 130}