]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00171353 MIPI_DSI: mipi display blank and unblank fail fixed
authorWayne Zou <b36644@freescale.com>
Thu, 2 Feb 2012 07:10:35 +0000 (15:10 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:57 +0000 (08:33 +0200)
mipi display blank and unblank fail on HW board: MX6Q_ARM2 1G SN 0112
The host processor sends PCLK, HS and VS information to display modules
two frames before sleep-out command is sent.

Signed-off-by: Wayne Zou <b36644@freescale.com>
drivers/video/mxc/mipi_dsi.c
drivers/video/mxc/mxcfb_hx8369_wvga.c

index c236ee7434ecb0240e14e48164b1edc21a90994e..244f2d8f294b8e39097edb9c4ed3846d81dd6ca5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2011-2012 Freescale Semiconductor, Inc. All Rights Reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -454,6 +454,10 @@ static int mipi_dsi_power_on(struct mxc_dispdrv_handle *disp)
        if (!mipi_dsi->dsi_power_on) {
                clk_enable(mipi_dsi->dphy_clk);
                mipi_dsi_enable_controller(mipi_dsi, false);
+               mipi_dsi_set_mode(mipi_dsi, false);
+               /* host send pclk/hsync/vsync for two frames before sleep-out */
+               msleep((1000/mipi_dsi->mode->refresh + 1) << 1);
+               mipi_dsi_set_mode(mipi_dsi, true);
                err = mipi_dsi_dcs_cmd(mipi_dsi, MIPI_DCS_EXIT_SLEEP_MODE,
                        NULL, 0);
                if (err) {
index d8771fd3c1a3620b826127a42389c263a9dd3198..ed6ffbc37530a719296eec9b73bddf776c3d5931 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2011-2012 Freescale Semiconductor, Inc. All Rights Reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -317,7 +317,10 @@ int mipid_hx8369_lcd_setup(struct mipi_dsi_info *mipi_dsi)
        buf[0] = MIPI_DCS_EXIT_SLEEP_MODE;
        mipi_dsi_pkt_write(mipi_dsi, MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM,
                buf, 0);
-
+       /* To allow time for the supply voltages
+        * and clock circuits to stabilize.
+        */
+       msleep(5);
        buf[0] = MIPI_DCS_SET_DISPLAY_ON;
        mipi_dsi_pkt_write(mipi_dsi, MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM,
                buf, 0);