diff options
-rw-r--r-- | arch/arm/boot/dts/imx7ulp-evk.dts | 3 | ||||
-rw-r--r-- | drivers/video/fbdev/mxc/mipi_dsi_northwest.c | 16 |
2 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/imx7ulp-evk.dts b/arch/arm/boot/dts/imx7ulp-evk.dts index dca10271a969..31b33804641a 100644 --- a/arch/arm/boot/dts/imx7ulp-evk.dts +++ b/arch/arm/boot/dts/imx7ulp-evk.dts @@ -430,8 +430,9 @@ }; &mipi_dsi { - pinctrl-names = "default"; + pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_mipi_dsi_reset>; + pinctrl-1 = <&pinctrl_mipi_dsi_reset>; lcd_panel = "TRULY-WVGA-TFT3P5581E"; resets = <&mipi_dsi_reset>; status = "okay"; diff --git a/drivers/video/fbdev/mxc/mipi_dsi_northwest.c b/drivers/video/fbdev/mxc/mipi_dsi_northwest.c index ce960aeedade..f2067db90e53 100644 --- a/drivers/video/fbdev/mxc/mipi_dsi_northwest.c +++ b/drivers/video/fbdev/mxc/mipi_dsi_northwest.c @@ -931,7 +931,23 @@ static int mipi_dsi_runtime_resume(struct device *dev) return 0; } +static int mipi_dsi_suspend(struct device *dev) +{ + pinctrl_pm_select_sleep_state(dev); + + return 0; +} + +static int mipi_dsi_resume(struct device *dev) +{ + pinctrl_pm_select_default_state(dev); + + return 0; +} + static const struct dev_pm_ops mipi_dsi_pm_ops = { + .suspend = mipi_dsi_suspend, + .resume = mipi_dsi_resume, .runtime_suspend = mipi_dsi_runtime_suspend, .runtime_resume = mipi_dsi_runtime_resume, .runtime_idle = NULL, |