diff options
Diffstat (limited to 'target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch')
-rw-r--r-- | target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch b/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch new file mode 100644 index 0000000000..a06557542a --- /dev/null +++ b/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch @@ -0,0 +1,38 @@ +From 9a061cea4477f26a1dfcc0a08dc20575016e91df Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de> +Date: Thu, 24 Mar 2016 14:24:20 +0100 +Subject: [PATCH 1/3] serial: imx: fix polarity of RI +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When in DTE mode, the bit USR2_RIIN is active low. So invert the logic +accordingly. + +Fixes: 90ebc4838666 ("serial: imx: repair and complete handshaking") +Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> +Signed-off-by: Petr Štetiar <ynezz@true.cz> +--- + drivers/tty/serial/imx.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c +index 231e7d5..bfc4555 100644 +--- a/drivers/tty/serial/imx.c ++++ b/drivers/tty/serial/imx.c +@@ -797,9 +797,9 @@ static unsigned int imx_get_hwmctrl(struct imx_port *sport) + if (!(usr1 & USR2_DCDIN)) + tmp |= TIOCM_CAR; + +- /* in DCE mode RIIN is always 0 */ +- if (readl(sport->port.membase + USR2) & USR2_RIIN) +- tmp |= TIOCM_RI; ++ if (sport->dte_mode) ++ if (!(readl(sport->port.membase + USR2) & USR2_RIIN)) ++ tmp |= TIOCM_RI; + + return tmp; + } +-- +1.9.1 + |