MLK-17116-1 media: camera: use simpler way for 20MHz mclk setting
authorRobby Cai <robby.cai@nxp.com>
Thu, 7 Dec 2017 07:00:33 +0000 (15:00 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:50:56 +0000 (14:50 -0500)
For ov5640, the simpler way is to make PLL1 same. Here's changing PRE_DIV0.
"24MHz / 3" equals to "20MHz / 2.5", hereby the reg 3037[3:0] = 7.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
(cherry picked from commit bf7d2bb06ca3bdf88a8aa86ac39b7d3f44134ea5)

drivers/media/platform/mxc/capture/ov5640_mipi_v2.c

index ae41a66..0062be0 100644 (file)
@@ -1530,39 +1530,16 @@ static struct v4l2_subdev_ops ov5640_subdev_ops = {
 
 static void ov5640_adjust_setting_20mhz(void)
 {
-       struct ov5640_mode_info *modeinfo;
        struct reg_value *regsetting;
-       int i, j, k, array_size;
+       int i, array_size;
 
        /* adjust for INIT mode */
        regsetting = ov5640_init_setting_30fps_VGA;
        array_size = ARRAY_SIZE(ov5640_init_setting_30fps_VGA);
 
-       for (k = 0; k < array_size; k++, regsetting++)
-               if (regsetting->u16RegAddr == 0x3036)
-                       regsetting->u8Val = 0x44;
-
-       /* adjust for other modes */
-       for (i = 0; i < ARRAY_SIZE(ov5640_mode_info_data); i++) {
-               for (j = 0; j < ov5640_mode_MAX; j++) {
-                       modeinfo = &ov5640_mode_info_data[i][j];
-                       regsetting = modeinfo->init_data_ptr;
-                       array_size = modeinfo->init_data_size;
-                       if (regsetting == NULL || array_size == 0)
-                               continue;
-
-                       for (k = 0; k < array_size; k++, regsetting++) {
-                               if (regsetting->u16RegAddr == 0x3036) {
-                                       if (modeinfo->width == 640)
-                                               regsetting->u8Val = 0x44;
-                                       else if (modeinfo->width == 720)
-                                               regsetting->u8Val = 0x87;
-                                       else
-                                               regsetting->u8Val = 0x65;
-                               }
-                       }
-               }
-       }
+       for (i = 0; i < array_size; i++, regsetting++)
+               if (regsetting->u16RegAddr == 0x3037)
+                       regsetting->u8Val = 0x17;
 }
 
 /*!