aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/sh-sci.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2016-01-04 14:45:19 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-06 22:54:55 -0800
commit3a964abe1ef1cfbe82d0ae832d70c7750d673728 (patch)
tree5be116ee17cbdd49c037cdda4487f30527201e1a /drivers/tty/serial/sh-sci.c
parentserial: sh-sci: Add more Serial Mode Register documentation (diff)
downloadlinux-dev-3a964abe1ef1cfbe82d0ae832d70c7750d673728.tar.xz
linux-dev-3a964abe1ef1cfbe82d0ae832d70c7750d673728.zip
serial: sh-sci: Preserve SCIFA/SCIFB bit rate config for serial console
SCIFA and SCIFB have additional bit rate config bits in the Serial Mode Register. Don't touch them when using the port as a serial console, as we rely on the boot loader to have configured the serial port config. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/sh-sci.c')
-rw-r--r--drivers/tty/serial/sh-sci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 65f717395086..b175f8f565d8 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -2202,7 +2202,8 @@ done:
} else {
/* Don't touch the bit rate configuration */
scr_val = s->cfg->scscr & (SCSCR_CKE1 | SCSCR_CKE0);
- smr_val |= serial_port_in(port, SCSMR) & SCSMR_CKS;
+ smr_val |= serial_port_in(port, SCSMR) &
+ (SCSMR_CKEDG | SCSMR_SRC_MASK | SCSMR_CKS);
dev_dbg(port->dev, "SCR 0x%x SMR 0x%x\n", scr_val, smr_val);
serial_port_out(port, SCSCR, scr_val);
serial_port_out(port, SCSMR, smr_val);