From bea2dc4c6eef6884a22a4627cd39113f3d0650ff Mon Sep 17 00:00:00 2001 From: Wayne Zou Date: Thu, 2 Feb 2012 15:10:35 +0800 Subject: [PATCH] ENGR00171353 MIPI_DSI: mipi display blank and unblank fail fixed 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 --- drivers/video/mxc/mipi_dsi.c | 6 +++++- drivers/video/mxc/mxcfb_hx8369_wvga.c | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/video/mxc/mipi_dsi.c b/drivers/video/mxc/mipi_dsi.c index c236ee7434ec..244f2d8f294b 100644 --- a/drivers/video/mxc/mipi_dsi.c +++ b/drivers/video/mxc/mipi_dsi.c @@ -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) { diff --git a/drivers/video/mxc/mxcfb_hx8369_wvga.c b/drivers/video/mxc/mxcfb_hx8369_wvga.c index d8771fd3c1a3..ed6ffbc37530 100644 --- a/drivers/video/mxc/mxcfb_hx8369_wvga.c +++ b/drivers/video/mxc/mxcfb_hx8369_wvga.c @@ -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); -- 2.39.5