diff options
author | Zhang Jiejing <jiejing.zhang@freescale.com> | 2010-11-11 15:34:35 +0800 |
---|---|---|
committer | Scott Sweeny <scott.sweeny@timesys.com> | 2011-01-19 11:50:23 -0500 |
commit | 7fc8e98bd2c13bdd897238e40d04ec661464f881 (patch) | |
tree | 89faffc18b4a0c3fd8bab87d3d99429f08e38d91 /drivers/serial | |
parent | 0af9c7c6e2edd0b907696478263c978b845246cb (diff) |
ENGR00133590 UART: let user control HW flow control
HW flow control should be enable/disable by userspace.
It can be set by tty option: options.c_cflag of CRTSCTS
bit.
This bug is found by testing UART BT AR3001 chip,
this chip will wake up the chip by set RTS to high,
it needs frist disable HW flow control, set RTS,
then disable HW flow control.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/mxc_uart.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/serial/mxc_uart.c b/drivers/serial/mxc_uart.c index 55f7660ef364..347a7462c396 100644 --- a/drivers/serial/mxc_uart.c +++ b/drivers/serial/mxc_uart.c @@ -1357,6 +1357,9 @@ static void mxcuart_set_termios(struct uart_port *port, umxc->port.ignore_status_mask |= UART_CREAD_BIT; } + /* Hardware flow control should controled by userspace */ + umxc->hardware_flow = (termios->c_cflag & CRTSCTS) ? 1 : 0; + cr4 = readl(umxc->port.membase + MXC_UARTUCR4); if (UART_ENABLE_MS(port, termios->c_cflag)) { mxcuart_enable_ms(port); |