aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/pxa.c
diff options
context:
space:
mode:
authorRobert Jarzmik <robert.jarzmik@free.fr>2008-09-06 23:01:32 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-09-09 16:32:53 +0100
commit2276f03b745c297733e41470dde7f32bdd4b52af (patch)
tree368a86b2233e6121bde6d974a589c334c1c480fd /drivers/serial/pxa.c
parent[ARM] pxa: Allow platforms to override PSPR setting (diff)
downloadlinux-dev-2276f03b745c297733e41470dde7f32bdd4b52af.tar.xz
linux-dev-2276f03b745c297733e41470dde7f32bdd4b52af.zip
[ARM] 5244/1: Add hardware CTSRTS flow control to pxa serial driver
Adds hardware CTSRTS control for pxa serial devices through termios controls. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/serial/pxa.c')
-rw-r--r--drivers/serial/pxa.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c
index f7a0d37c4221..abc00be55433 100644
--- a/drivers/serial/pxa.c
+++ b/drivers/serial/pxa.c
@@ -534,6 +534,11 @@ serial_pxa_set_termios(struct uart_port *port, struct ktermios *termios,
serial_out(up, UART_IER, up->ier);
+ if (termios->c_cflag & CRTSCTS)
+ up->mcr |= UART_MCR_AFE;
+ else
+ up->mcr &= ~UART_MCR_AFE;
+
serial_out(up, UART_LCR, cval | UART_LCR_DLAB);/* set DLAB */
serial_out(up, UART_DLL, quot & 0xff); /* LS of divisor */
serial_out(up, UART_DLM, quot >> 8); /* MS of divisor */