From 191d4437b9c028afee1a0568d9c7e6e0b264c703 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 23 Apr 2008 21:16:06 +0900 Subject: sh: reset hardware from early printk Reset the transmitter and receiver when setting up early printk. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt --- arch/sh/kernel/early_printk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'arch/sh/kernel') diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 11b4c85999b..6b7d166694e 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c @@ -167,6 +167,7 @@ static void scif_sercon_init(char *s) } while (!(status & SCxSR_TEND(port))); sci_out(port, SCSCR, 0); /* TE=0, RE=0 */ + sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST); sci_out(port, SCSMR, 0); /* Set baud rate */ @@ -174,12 +175,11 @@ static void scif_sercon_init(char *s) (32 * baud) - 1); udelay((1000000+(baud-1)) / baud); /* Wait one bit interval */ - sci_out(port, SCFCR, 12); - sci_out(port, SCFCR, 8); - sci_out(port, SCSPTR, 0); sci_out(port, SCxSR, 0x60); sci_out(port, SCLSR, 0); + + sci_out(port, SCFCR, 0); sci_out(port, SCSCR, 0x30); /* TE=1, RE=1 */ } #endif /* defined(CONFIG_CPU_SUBTYPE_SH7720) */ -- cgit v1.2.3-70-g09d2