summaryrefslogtreecommitdiff
path: root/drivers/tty/serial/imx.c
diff options
context:
space:
mode:
authorFugang Duan <b38611@freescale.com>2015-08-31 11:39:15 +0800
committerNitin Garg <nitin.garg@nxp.com>2016-01-14 11:00:10 -0600
commite4732c0e9e04ff911fff088cbaf558cd9562067c (patch)
tree8ee3e91067bb27110ed886e916cc6525c6252b7c /drivers/tty/serial/imx.c
parent76aeb822f30fea7f2d01da7d6ca3da149af46fc1 (diff)
MLK-11456-01 tty: serial: imx: add pinctrl sleep mode support
For LPSR mode, UART iomux settings will be lost after resume, so add pinctrl sleep mode support. Signed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'drivers/tty/serial/imx.c')
-rw-r--r--drivers/tty/serial/imx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 3e6b173057a3..21acb74ff572 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1865,6 +1865,8 @@ static int serial_imx_suspend(struct platform_device *dev, pm_message_t state)
sport->saved_reg[9] = readl(sport->port.membase + IMX21_UTS);
clk_disable_unprepare(sport->clk_ipg);
+ pinctrl_pm_select_sleep_state(&dev->dev);
+
return 0;
}
@@ -1873,6 +1875,8 @@ static int serial_imx_resume(struct platform_device *dev)
struct imx_port *sport = platform_get_drvdata(dev);
unsigned int val;
+ pinctrl_pm_select_default_state(&dev->dev);
+
clk_prepare_enable(sport->clk_ipg);
writel(sport->saved_reg[4], sport->port.membase + UFCR);
writel(sport->saved_reg[5], sport->port.membase + UESC);