summaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_s3c.c
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@pengutronix.de>2012-07-24 11:24:50 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-07-25 09:27:38 +0200
commit24c110da94f4d0d764ec191e239bec4696ca637f (patch)
tree3df8ddde940f1f27865d0bb59ee84a18b3c8ae04 /drivers/serial/serial_s3c.c
parentc5066ad4cd42251ff0690a382c6dd93d0f07e3dc (diff)
downloadbarebox-24c110da94f4d0d764ec191e239bec4696ca637f.tar.gz
barebox-24c110da94f4d0d764ec191e239bec4696ca637f.tar.xz
Samsung/serial: unify UCON register settings
This should work on S3C24XX and S3C64XX SoCs. Tested at runtime on a Mini2440 and Mini6410. Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/serial/serial_s3c.c')
-rw-r--r--drivers/serial/serial_s3c.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/serial/serial_s3c.c b/drivers/serial/serial_s3c.c
index 877ccd2e17..96fe84744f 100644
--- a/drivers/serial/serial_s3c.c
+++ b/drivers/serial/serial_s3c.c
@@ -102,9 +102,13 @@ static int s3c_serial_init_port(struct console_device *cdev)
/* Normal,No parity,1 stop,8 bit */
writeb(0x03, base + ULCON);
- /* tx=level,rx=edge,disable timeout int.,enable rx error int.,
- * normal, interrupt or polling, no pre-divider */
- writew(0x0245 | UCON_SET_CLK_SRC(S3C_UART_CLKSEL),
+ /*
+ * S3C2440 SoC:
+ * - no clock divider
+ * all SoCs:
+ * - enable receive and transmit mode
+ */
+ writew(0x0005 | UCON_SET_CLK_SRC(S3C_UART_CLKSEL),
base + UCON);
if (IS_ENABLED(CONFIG_DRIVER_SERIAL_S3C_IMPROVED))