MLK-14252-2 video: mipi_dsi_northwest: reset dsi domains when dsi disabled.
authorFancy Fang <chen.fang@nxp.com>
Thu, 23 Feb 2017 08:31:37 +0000 (16:31 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:10:46 +0000 (15:10 -0500)
Put the three dsi domains into reset state when dsi is disabled
to avoid dsi being an unstable state before next time enabled.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
drivers/video/fbdev/mxc/mipi_dsi_northwest.c

index 021de46..88e9f52 100644 (file)
@@ -511,6 +511,8 @@ static int mipi_dsi_enable(struct mxc_dispdrv_handle *disp,
                        return -EINVAL;
                }
 
+               reset_dsi_domains(mipi_dsi, 0);
+
                ret = mipi_display_exit_sleep(mipi_dsi->disp_mipi);
                if (ret) {
                        dev_err(&mipi_dsi->pdev->dev, "exit sleep failed\n");
@@ -702,6 +704,10 @@ static void mipi_dsi_disable(struct mxc_dispdrv_handle *disp,
        }
 
        clk_disable_unprepare(mipi_dsi->esc_clk);
+
+       reset_dsi_domains(mipi_dsi, 1);
+       regmap_update_bits(mipi_dsi->regmap, SIM_SOPT1CFG,
+                          DSI_PLL_EN, 0x0);
 }
 
 static int mipi_dsi_setup(struct mxc_dispdrv_handle *disp,