summaryrefslogtreecommitdiff
path: root/drivers/serial/samsung.c
diff options
context:
space:
mode:
authorJongpill Lee <boyko.lee@samsung.com>2010-07-16 01:19:41 (GMT)
committerKukjin Kim <kgene.kim@samsung.com>2010-08-05 09:32:41 (GMT)
commit8b526ae4ddd7a62397d99856079b59eda5d09360 (patch)
tree004b09ebdb47c96612d28b97fb7c7dd5907597cb /drivers/serial/samsung.c
parent9fe6206f400646a2322096b56c59891d530e8d51 (diff)
downloadlinux-fsl-qoriq-8b526ae4ddd7a62397d99856079b59eda5d09360.tar.xz
ARM: SAMSUNG: serial: Add FRACVAL support for newer UART
Add support for the FRACVAL register on the newer UART blocks which provides the same function as UDIVSLOT register but the FRACVAL is easier to implement. To support UDIVSLOT register, UDIVSLOT table search is necessary though supporting FRACVAL only needs the index value of UDIVSLOT table. Signed-off-by: Jongpill Lee <boyko.lee@samsung.com> Acked-by: Changhwan Youn <chaos.youn@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/serial/samsung.c')
-rw-r--r--drivers/serial/samsung.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
index a9d6c56..b1156ba 100644
--- a/drivers/serial/samsung.c
+++ b/drivers/serial/samsung.c
@@ -705,8 +705,13 @@ static void s3c24xx_serial_set_termios(struct uart_port *port,
if (ourport->info->has_divslot) {
unsigned int div = ourport->baudclk_rate / baud;
- udivslot = udivslot_table[div & 15];
- dbg("udivslot = %04x (div %d)\n", udivslot, div & 15);
+ if (cfg->has_fracval) {
+ udivslot = (div & 15);
+ dbg("fracval = %04x\n", udivslot);
+ } else {
+ udivslot = udivslot_table[div & 15];
+ dbg("udivslot = %04x (div %d)\n", udivslot, div & 15);
+ }
}
switch (termios->c_cflag & CSIZE) {