提交 4a65e382 编写于 作者: M Magnus Damm 提交者: Paul Mundt

sh: drain and wait for early printk

Drain by waiting for all characters to be sent, and make sure to
wait a little bit after setting up the baud rate.
Signed-off-by: NMagnus Damm <damm@igel.co.jp>
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 0fba3213
......@@ -143,6 +143,7 @@ static void scif_sercon_init(char *s)
{
struct uart_port *port = &scif_port;
unsigned baud = DEFAULT_BAUD;
unsigned int status;
char *e;
if (*s == ',')
......@@ -161,12 +162,17 @@ static void scif_sercon_init(char *s)
baud = DEFAULT_BAUD;
}
do {
status = sci_in(port, SCxSR);
} while (!(status & SCxSR_TEND(port)));
sci_out(port, SCSCR, 0); /* TE=0, RE=0 */
sci_out(port, SCSMR, 0);
/* Set baud rate */
sci_out(port, SCBRR, (CONFIG_SH_PCLK_FREQ + 16 * baud) /
(32 * baud) - 1);
udelay((1000000+(baud-1)) / baud); /* Wait one bit interval */
sci_out(port, SCFCR, 12);
sci_out(port, SCFCR, 8);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册