From: Liu Ying Date: Thu, 5 Jul 2012 10:42:02 +0000 (+0800) Subject: ENGR00215884-1 MX6 SabreSD:Refine OV mipi camera reset sequence X-Git-Tag: v3.0.35-fsl~793 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=21e706fd84c8bacb01962bbd0e5e0068176f26b4;p=karo-tx-linux.git ENGR00215884-1 MX6 SabreSD:Refine OV mipi camera reset sequence 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 (cherry picked from commit 9e78895d8856651b769908e63d4ebc514314eeaa) --- diff --git a/arch/arm/mach-mx6/board-mx6q_sabresd.c b/arch/arm/mach-mx6/board-mx6q_sabresd.c index 2089e2bd3fef..07d76cecfa82 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabresd.c +++ b/arch/arm/mach-mx6/board-mx6q_sabresd.c @@ -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())