]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00215884-1 MX6 SabreSD:Refine OV mipi camera reset sequence
authorLiu Ying <Ying.Liu@freescale.com>
Thu, 5 Jul 2012 10:42:02 +0000 (18:42 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:58 +0000 (08:34 +0200)
This patch refines OV mipi camera reset sequence according to
OV's recommendation:
reset --------------------|_____|----------------
                        ->| 1ms |<-
pwdn  ----------|_________________________|------
              ->|   5ms   |<- ->|   5ms   |<-
    ->|   5ms   |<-

This change makes the OV mipi camera be at a correct status
after reset, otherwise, the wrong status of OV mipi camera
will reduce the ~2.78V analog camera power to ~2.3V, which
causes random thin colorful lines on OV5642 CSI camera image
as OV5642 CSI camera uses the same analog power.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 9e78895d8856651b769908e63d4ebc514314eeaa)

arch/arm/mach-mx6/board-mx6q_sabresd.c

index 2089e2bd3fef4f614bd947f85fc45775dcdc2a17..07d76cecfa82269b834e7d7f67c295aa5b5a1900 100644 (file)
@@ -554,8 +554,14 @@ static void mx6q_mipi_sensor_io_init(void)
        /* Camera power down */
        gpio_request(SABRESD_MIPICSI_PWN, "cam-pwdn");
        gpio_direction_output(SABRESD_MIPICSI_PWN, 1);
-       msleep(1);
+       msleep(5);
        gpio_set_value(SABRESD_MIPICSI_PWN, 0);
+       msleep(5);
+       gpio_set_value(SABRESD_MIPICSI_RST, 0);
+       msleep(1);
+       gpio_set_value(SABRESD_MIPICSI_RST, 1);
+       msleep(5);
+       gpio_set_value(SABRESD_MIPICSI_PWN, 1);
 
        /*for mx6dl, mipi virtual channel 1 connect to csi 1*/
        if (cpu_is_mx6dl())