serial: imx: allow waking up on RTSD
authorEduardo Valentin <edubezval@gmail.com>
Tue, 11 Aug 2015 17:21:22 +0000 (10:21 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Aug 2015 00:23:25 +0000 (17:23 -0700)
This patch sets RTSDEN bit when going into idle (Stop mode).
We add the RTSDEN for the case RTS is sent from
the remote connection. This way we allow the system
to wakeup when RTS is received.

Cc: Fabio Stevam <festevam@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.com>
Cc: linux-serial@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index 3c2b0aca7d0ec74afddfb14eaa8bfa75f836893d..167dea1adf90083dce7a1aca8ab4280d46ead3b0 100644 (file)
@@ -1982,6 +1982,13 @@ static void serial_imx_enable_wakeup(struct imx_port *sport, bool on)
        else
                val &= ~UCR3_AWAKEN;
        writel(val, sport->port.membase + UCR3);
+
+       val = readl(sport->port.membase + UCR1);
+       if (on)
+               val |= UCR1_RTSDEN;
+       else
+               val &= ~UCR1_RTSDEN;
+       writel(val, sport->port.membase + UCR1);
 }
 
 static int imx_serial_port_suspend_noirq(struct device *dev)