[PORT FROM R2] atomisp: mt9e013: sensor settings updated for max VBI, change order
authorRobert Jong-A-Lock <robert.jong-a-lock@intel.com>
Wed, 18 Jan 2012 14:57:00 +0000 (15:57 +0100)
committerbuildbot <buildbot@intel.com>
Mon, 13 Feb 2012 13:21:45 +0000 (05:21 -0800)
BZ: 23295

Sensor settings need to be updated for maximized VBI.
The order of the regsiters was changed, to speedup loading of registers.
Removed, debug code that was left behind.

Change-Id: Iedbfffb66fec9e209a63245a61efc4638d37b7aa
Orig-Change-Id: I16c72ff96a5b8da9e8e4f509d4b30f928e42254d
Reviewed-on: http://android.intel.com:8080/34896
Reviewed-by: Koski, Anttu <anttu.koski@intel.com>
Tested-by: Koski, Anttu <anttu.koski@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/media/video/mt9e013.c
drivers/media/video/mt9e013.h

index ccae716..99d0bf6 100644 (file)
@@ -130,8 +130,8 @@ struct mt9e013_resolution mt9e013_res_still[] = {
                 .height =      1848    ,
                 .fps =         15      ,
                 .used =        0       ,
-                .pixels_per_line = 0x191C, /* consistent with regs arrays */
-                .lines_per_frame = 0x07C7, /* consistent with regs arrays */
+                .pixels_per_line = 0x1258, /* consistent with regs arrays */
+                .lines_per_frame = 0x0AA4, /* consistent with regs arrays */
                 .regs =        mt9e013_STILL_6M_15fps  ,
                 .bin_factor_x =        0,
                 .bin_factor_y =        0,
@@ -143,8 +143,8 @@ struct mt9e013_resolution mt9e013_res_still[] = {
                 .height =      2464    ,
                 .fps =         15      ,
                 .used =        0       ,
-                .pixels_per_line = 0x132C, /* consistent with regs arrays */
-                .lines_per_frame = 0x0A2F, /* consistent with regs arrays */
+                .pixels_per_line = 0x1258, /* consistent with regs arrays */
+                .lines_per_frame = 0x0AA4, /* consistent with regs arrays */
                 .regs =        mt9e013_STILL_8M_15fps  ,
                 .bin_factor_x =        0,
                 .bin_factor_y =        0,
@@ -161,8 +161,8 @@ struct mt9e013_resolution mt9e013_res_video[] = {
                 .height =      176     ,
                 .fps =         30      ,
                 .used =        0       ,
-                .pixels_per_line = 0x20F0, /* consistent with regs arrays */
-                .lines_per_frame = 0x02F7, /* consistent with regs arrays */
+                .pixels_per_line = 0x1020, /* consistent with regs arrays */
+                .lines_per_frame = 0x060E, /* consistent with regs arrays */
                 .regs =        mt9e013_QCIF_strong_dvs_30fps   ,
                 .bin_factor_x =        2,
                 .bin_factor_y =        2,
@@ -174,8 +174,8 @@ struct mt9e013_resolution mt9e013_res_video[] = {
                 .height =      308     ,
                 .fps =         30      ,
                 .used =        0       ,
-                .pixels_per_line = 0x20F0, /* consistent with regs arrays */
-                .lines_per_frame = 0x02F7, /* consistent with regs arrays */
+                .pixels_per_line = 0x1020, /* consistent with regs arrays */
+                .lines_per_frame = 0x060E, /* consistent with regs arrays */
                 .regs =        mt9e013_QVGA_strong_dvs_30fps   ,
                 .bin_factor_x =        2,
                 .bin_factor_y =        2,
@@ -187,8 +187,8 @@ struct mt9e013_resolution mt9e013_res_video[] = {
                 .height =      616     ,
                 .fps =         30      ,
                 .used =        0       ,
-                .pixels_per_line = 0x20F0, /* consistent with regs arrays */
-                .lines_per_frame = 0x02F7, /* consistent with regs arrays */
+                .pixels_per_line = 0x1020, /* consistent with regs arrays */
+                .lines_per_frame = 0x060E, /* consistent with regs arrays */
                 .regs =        mt9e013_VGA_strong_dvs_30fps    ,
                 .bin_factor_x =        2,
                 .bin_factor_y =        2,
@@ -213,8 +213,8 @@ struct mt9e013_resolution mt9e013_res_video[] = {
                 .height =      876     ,
                 .fps =         30      ,
                 .used =        0       ,
-                .pixels_per_line = 0x188C, /* consistent with regs arrays */
-                .lines_per_frame = 0x03FF, /* consistent with regs arrays */
+                .pixels_per_line = 0x156C, /* consistent with regs arrays */
+                .lines_per_frame = 0x048F, /* consistent with regs arrays */
                 .regs =        mt9e013_720p_strong_dvs_30fps   ,
                 .bin_factor_x =        1,
                 .bin_factor_y =        1,
@@ -1160,11 +1160,6 @@ static int mt9e013_get_intg_factor(struct i2c_client *client,
        vt_pix_clk_freq_mhz = divsave_rounded(ext_clk_freq_mhz*pll_multiplier,
                                                                pre_pll_clk_div*vt_sys_clk_div*vt_pix_clk_div);
 
-       memset(data, 0, MT9E013_SHORT_MAX * sizeof(u16));
-       if (mt9e013_read_reg(client, 2, MT9E013_FINE_INTEGRATION_TIME, data))
-               return -EINVAL;
-       v4l2_info(client, "fine_integration_time_i2c: %d", data[0]);
-
        for (; next->type != MT9E013_TOK_TERM; next++) {
                if (next->type == MT9E013_16BIT) {
                        if (next->reg.sreg == MT9E013_FINE_INTEGRATION_TIME) {
index 144cb19..677bbab 100644 (file)
@@ -632,74 +632,74 @@ static const struct mt9e013_reg mt9e013_scaler[] = {
 
 /*****************************still15ok*****************************/
 static struct mt9e013_reg const mt9e013_STILL_8M_15fps[] = {
-       /*      STILL 8M        */
+       /*      STILL 8M */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  },  /*  X_ADDR_START    0       */
-       {MT9E013_16BIT, {0x0348},       0x0CCF  },  /*  X_ADDR_END      3279    */
-       {MT9E013_16BIT, {0x0346},       0x0000  },  /*  Y_ADDR_START    0       */
-       {MT9E013_16BIT, {0x034A},       0x099F  },  /*  Y_ADDR_END      2463    */
-       {MT9E013_16BIT, {0x034C},       0x0CD0  },  /*  X_OUTPUT_SIZE   3280    */
-       {MT9E013_16BIT, {0x034E},       0x09A0  },  /*  Y_OUTPUT_SIZE   2464    */
-       {MT9E013_16BIT, {0x3040},       0x0041  },  /*  READ_MODE       65      */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x1258  },  /*  line_length_pck 4696    */
-       {MT9E013_16BIT, {0x0340},       0x0AA4  },  /*  frame_length_lines      2724    */
-       {MT9E013_16BIT, {0x0202},       0x04CA  },  /*  COARSE_INTEGRATION_TIME 1226    */
-       {MT9E013_16BIT, {0x3014},       0x03F6  },  /*  FINE_INTEGRATION_TIME   1014    */
-       {MT9E013_16BIT, {0x3010},       0x0078  },  /*  FINE_CORRECTION 120     */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x0     },  /*  SCALE_MODE      0       */
-       {MT9E013_16BIT, {0x0404},       0x10    },  /*  SCALE_M 16      */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x0AA4  }, /*   FRAME_LENGTH_LINES      2724 */
+       {MT9E013_16BIT, {0x0342},       0x1258  }, /*   LINE_LENGTH_PCK 4696 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x0000  }, /*   Y_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /*   X_ADDR_END      3279 */
+       {MT9E013_16BIT, {0x034A},       0x099F  }, /*   Y_ADDR_END      2463 */
+       {MT9E013_16BIT, {0x034C},       0x0CD0  }, /*   X_OUTPUT_SIZE   3280 */
+       {MT9E013_16BIT, {0x034E},       0x09A0  }, /*   Y_OUTPUT_SIZE   2464 */
+       {MT9E013_16BIT, {0x3040},       0x0041  }, /*   READ_MODE       65 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x0}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0078  }, /*   FINE_CORRECTION 120 */
+       {MT9E013_16BIT, {0X3012},       0x04CA  }, /*   COARSE_INTEGRATION_TIME 1226 */
+       {MT9E013_16BIT, {0X3014},       0x03F6  }, /*   FINE_INTEGRATION_TIME   1014 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0000  }, /*   SCALE_MODE      0 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_STILL_6M_15fps[] = {
-       /*      STILL 6M        */
+       /*      STILL 6M */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  },  /*  X_ADDR_START    0       */
-       {MT9E013_16BIT, {0x0348},       0x0CCF  },  /*  X_ADDR_END      3279    */
-       {MT9E013_16BIT, {0x0346},       0x0134  },  /*  Y_ADDR_START    308     */
-       {MT9E013_16BIT, {0x034A},       0x086D  },  /*  Y_ADDR_END      2157    */
-       {MT9E013_16BIT, {0x034C},       0x0CD0  },  /*  X_OUTPUT_SIZE   3280    */
-       {MT9E013_16BIT, {0x034E},       0x0738  },  /*  Y_OUTPUT_SIZE   1848    */
-       {MT9E013_16BIT, {0x3040},       0x0041  },  /*  READ_MODE       65      */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x191C  },  /*  line_length_pck 6428    */
-       {MT9E013_16BIT, {0x0340},       0x07C7  },  /*  frame_length_lines      1991    */
-       {MT9E013_16BIT, {0x0202},       0x07C7  },  /*  COARSE_INTEGRATION_TIME 1991    */
-       {MT9E013_16BIT, {0x3014},       0x073C  },  /*  FINE_INTEGRATION_TIME   1852    */
-       {MT9E013_16BIT, {0x3010},       0x0078  },  /*  FINE_CORRECTION 120     */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x0     },  /*  SCALE_MODE      0       */
-       {MT9E013_16BIT, {0x0404},       0x10    },  /*  SCALE_M 16      */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x0AA4  }, /*   FRAME_LENGTH_LINES      2724 */
+       {MT9E013_16BIT, {0x0342},       0x1258  }, /*   LINE_LENGTH_PCK 4696 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x0134  }, /*   Y_ADDR_START    308 */
+       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /*   X_ADDR_END      3279 */
+       {MT9E013_16BIT, {0x034A},       0x086D  }, /*   Y_ADDR_END      2157 */
+       {MT9E013_16BIT, {0x034C},       0x0CD0  }, /*   X_OUTPUT_SIZE   3280 */
+       {MT9E013_16BIT, {0x034E},       0x0738  }, /*   Y_OUTPUT_SIZE   1848 */
+       {MT9E013_16BIT, {0x3040},       0x0041  }, /*   READ_MODE       65 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x0}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0078  }, /*   FINE_CORRECTION 120 */
+       {MT9E013_16BIT, {0X3012},       0x04CA  }, /*   COARSE_INTEGRATION_TIME 1226 */
+       {MT9E013_16BIT, {0X3014},       0x03F6  }, /*   FINE_INTEGRATION_TIME   1014 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0000  }, /*   SCALE_MODE      0 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_STILL_2M_15fps[] = {
-       /*      STILL 2M        */
+       /*      STILL 2M */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  }, /* X_ADDR_START      0 */
-       {MT9E013_16BIT, {0x0348},       0x0CD1  }, /* X_ADDR_END        3281 */
-       {MT9E013_16BIT, {0x0346},       0x0000  }, /* Y_ADDR_START      0 */
-       {MT9E013_16BIT, {0x034A},       0x09A1  }, /* Y_ADDR_END        2465 */
-       {MT9E013_16BIT, {0x034C},       0x0668  }, /* X_OUTPUT_SIZE     1640 */
-       {MT9E013_16BIT, {0x034E},       0x04D0  }, /* Y_OUTPUT_SIZE     1232 */
-       {MT9E013_16BIT, {0x3040},       0x04C3  }, /* READ_MODE 1219 */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuration */
-       {MT9E013_16BIT, {0x0342},       0x1020  }, /* line_length_pck   4128 */
-       {MT9E013_16BIT, {0x0340},       0x0C1C  }, /* frame_length_lines        3100 */
-       {MT9E013_16BIT, {0x0202},       0x0573  }, /* COARSE_INTEGRATION_TIME   1395 */
-       {MT9E013_16BIT, {0x3014},       0x0846  }, /* FINE_INTEGRATION_TIME     2118 */
-       {MT9E013_16BIT, {0x3010},       0x0130  }, /* FINE_CORRECTION   304 */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x0     },  /*  SCALE_MODE      0       */
-       {MT9E013_16BIT, {0x0404},       0x10    },  /*  SCALE_M 16      */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x0C1C  }, /*   FRAME_LENGTH_LINES      3100 */
+       {MT9E013_16BIT, {0x0342},       0x1020  }, /*   LINE_LENGTH_PCK 4128 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x0000  }, /*   Y_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0348},       0x0CD1  }, /*   X_ADDR_END      3281 */
+       {MT9E013_16BIT, {0x034A},       0x09A1  }, /*   Y_ADDR_END      2465 */
+       {MT9E013_16BIT, {0x034C},       0x0668  }, /*   X_OUTPUT_SIZE   1640 */
+       {MT9E013_16BIT, {0x034E},       0x04D0  }, /*   Y_OUTPUT_SIZE   1232 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x0573  }, /*   COARSE_INTEGRATION_TIME 1395 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0000  }, /*   SCALE_MODE      0 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
@@ -707,193 +707,193 @@ static struct mt9e013_reg const mt9e013_STILL_2M_15fps[] = {
 static struct mt9e013_reg const mt9e013_PREVIEW_30fps[] = {
        /* PREVIEW */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  }, /* X_ADDR_START      0 */
-       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /* X_ADDR_END        3279 */
-       {MT9E013_16BIT, {0x0346},       0x0000  }, /* Y_ADDR_START      0 */
-       {MT9E013_16BIT, {0x034A},       0x099F  }, /* Y_ADDR_END        2463 */
-       {MT9E013_16BIT, {0x034C},       0x0334  }, /* X_OUTPUT_SIZE     820 */
-       {MT9E013_16BIT, {0x034E},       0x0268  }, /* Y_OUTPUT_SIZE     616 */
-       {MT9E013_16BIT, {0x3040},       0x04C3  }, /* READ_MODE 1219 */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuration */
-       {MT9E013_16BIT, {0x0342},       0x1020  }, /* line_length_pck   4128 */
-       {MT9E013_16BIT, {0x0340},       0x060E  }, /* frame_length_lines        1550 */
-       {MT9E013_16BIT, {0x0202},       0x0573  }, /* COARSE_INTEGRATION_TIME   1395 */
-       {MT9E013_16BIT, {0x3014},       0x0846  }, /* FINE_INTEGRATION_TIME     2118 */
-       {MT9E013_16BIT, {0x3010},       0x0130  }, /* FINE_CORRECTION   304 */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x2     }, /* SCALE_MODE        1 */
-       {MT9E013_16BIT, {0x0404},       0x20    }, /* SCALE_M   32 */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x060E  }, /*   FRAME_LENGTH_LINES      1550 */
+       {MT9E013_16BIT, {0x0342},       0x1020  }, /*   LINE_LENGTH_PCK 4128 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x0000  }, /*   Y_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /*   X_ADDR_END      3279 */
+       {MT9E013_16BIT, {0x034A},       0x099F  }, /*   Y_ADDR_END      2463 */
+       {MT9E013_16BIT, {0x034C},       0x0334  }, /*   X_OUTPUT_SIZE   820 */
+       {MT9E013_16BIT, {0x034E},       0x0268  }, /*   Y_OUTPUT_SIZE   616 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x0573  }, /*   COARSE_INTEGRATION_TIME 1395 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0002  }, /*   SCALE_MODE      2 */
+       {MT9E013_16BIT, {0x0404},       0x0020  }, /*   SCALE_M 32 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_WIDE_PREVIEW_30fps[] = {
        /* WIDE PREVIEW */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  }, /* X_ADDR_START      0 */
-       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /* X_ADDR_END        3279 */
-       {MT9E013_16BIT, {0x0346},       0x0114  }, /* Y_ADDR_START      276 */
-       {MT9E013_16BIT, {0x034A},       0x088D  }, /* Y_ADDR_END        2189 */
-       {MT9E013_16BIT, {0x034C},       0x0668  }, /* X_OUTPUT_SIZE     1640 */
-       {MT9E013_16BIT, {0x034E},       0x03BC  }, /* Y_OUTPUT_SIZE     956 */
-       {MT9E013_16BIT, {0x3040},       0x04C3  }, /* READ_MODE 1219 */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuration */
-       {MT9E013_16BIT, {0x0342},       0x16C2  }, /* line_length_pck   5826 */
-       {MT9E013_16BIT, {0x0340},       0x044F  }, /* frame_length_lines        1103 */
-       {MT9E013_16BIT, {0x0202},       0x044B  }, /* COARSE_INTEGRATION_TIME   1099 */
-       {MT9E013_16BIT, {0x3014},       0x0846  }, /* FINE_INTEGRATION_TIME     2118 */
-       {MT9E013_16BIT, {0x3010},       0x0130  }, /* FINE_CORRECTION   304     */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x0     }, /* SCALE_MODE        0 */
-       {MT9E013_16BIT, {0x0404},       0x10    }, /* SCALE_M   16 */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x060E  }, /*   FRAME_LENGTH_LINES      1550 */
+       {MT9E013_16BIT, {0x0342},       0x1020  }, /*   LINE_LENGTH_PCK 4128 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x0114  }, /*   Y_ADDR_START    276 */
+       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /*   X_ADDR_END      3279 */
+       {MT9E013_16BIT, {0x034A},       0x088D  }, /*   Y_ADDR_END      2189 */
+       {MT9E013_16BIT, {0x034C},       0x0668  }, /*   X_OUTPUT_SIZE   1640 */
+       {MT9E013_16BIT, {0x034E},       0x03BC  }, /*   Y_OUTPUT_SIZE   956 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x0573  }, /*   COARSE_INTEGRATION_TIME 1395 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0000  }, /*   SCALE_MODE      0 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 /*****************************video************************/
 static struct mt9e013_reg const mt9e013_1080p_strong_dvs_30fps[] = {
-       /*      1080p strong dvs        */
+       /*      1080p strong dvs */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x01D8  },  /*  X_ADDR_START    472     */
-       {MT9E013_16BIT, {0x0348},       0x0AF7  },  /*  X_ADDR_END      2807    */
-       {MT9E013_16BIT, {0x0346},       0x0242  },  /*  Y_ADDR_START    578     */
-       {MT9E013_16BIT, {0x034A},       0x075D  },  /*  Y_ADDR_END      1885    */
-       {MT9E013_16BIT, {0x034C},       0x0920  },  /*  X_OUTPUT_SIZE   2336    */
-       {MT9E013_16BIT, {0x034E},       0x051C  },  /*  Y_OUTPUT_SIZE   1308    */
-       {MT9E013_16BIT, {0x3040},       0x0041  },  /*  READ_MODE       65      */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x113A  },  /*  line_length_pck 4410    */
-       {MT9E013_16BIT, {0x0340},       0x05AB  },  /*  frame_length_lines      1451    */
-       {MT9E013_16BIT, {0x0202},       0x05AB  },  /*  COARSE_INTEGRATION_TIME 1451    */
-       {MT9E013_16BIT, {0x3014},       0x0442  },  /*  FINE_INTEGRATION_TIME   1090    */
-       {MT9E013_16BIT, {0x3010},       0x0078  },  /*  FINE_CORRECTION 120     */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x0     },  /*  SCALE_MODE      0       */
-       {MT9E013_16BIT, {0x0404},       0x10    },  /*  SCALE_M 16      */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x05AB  }, /*   FRAME_LENGTH_LINES      1451 */
+       {MT9E013_16BIT, {0x0342},       0x113A  }, /*   LINE_LENGTH_PCK 4410 */
+       {MT9E013_16BIT, {0x0344},       0x01D8  }, /*   X_ADDR_START    472 */
+       {MT9E013_16BIT, {0x0346},       0x0242  }, /*   Y_ADDR_START    578 */
+       {MT9E013_16BIT, {0x0348},       0x0AF7  }, /*   X_ADDR_END      2807 */
+       {MT9E013_16BIT, {0x034A},       0x075D  }, /*   Y_ADDR_END      1885 */
+       {MT9E013_16BIT, {0x034C},       0x0920  }, /*   X_OUTPUT_SIZE   2336 */
+       {MT9E013_16BIT, {0x034E},       0x051C  }, /*   Y_OUTPUT_SIZE   1308 */
+       {MT9E013_16BIT, {0x3040},       0x0041  }, /*   READ_MODE       65 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x0}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0078  }, /*   FINE_CORRECTION 120 */
+       {MT9E013_16BIT, {0X3012},       0x05AB  }, /*   COARSE_INTEGRATION_TIME 1451 */
+       {MT9E013_16BIT, {0X3014},       0x0442  }, /*   FINE_INTEGRATION_TIME   1090 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0000  }, /*   SCALE_MODE      0 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_720p_strong_dvs_30fps[] = {
-       /*      720p strong dvs */
+       /*      720p strong dvs */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0048  },  /*  X_ADDR_START    72      */
-       {MT9E013_16BIT, {0x0348},       0x0C89  },  /*  X_ADDR_END      3209    */
-       {MT9E013_16BIT, {0x0346},       0x0164  },  /*  Y_ADDR_START    356     */
-       {MT9E013_16BIT, {0x034A},       0x083D  },  /*  Y_ADDR_END      2109    */
-       {MT9E013_16BIT, {0x034C},       0x0620  },  /*  X_OUTPUT_SIZE   1568    */
-       {MT9E013_16BIT, {0x034E},       0x036C  },  /*  Y_OUTPUT_SIZE   876     */
-       {MT9E013_16BIT, {0x3040},       0x04C3  },  /*  READ_MODE       5315    */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x188C  },  /*  line_length_pck 6284    */
-       {MT9E013_16BIT, {0x0340},       0x03FF  },  /*  frame_length_lines      1023    */
-       {MT9E013_16BIT, {0x0202},       0x03FB  },  /*  COARSE_INTEGRATION_TIME 1019    */
-       {MT9E013_16BIT, {0x3014},       0x0846  },  /*  FINE_INTEGRATION_TIME   2118    */
-       {MT9E013_16BIT, {0x3010},       0x0130  },  /*  FINE_CORRECTION 304     */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x2     },  /*  SCALE_MODE      2       */
-       {MT9E013_16BIT, {0x0404},       0x10    },  /*  SCALE_M 16      */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x048F  }, /*   FRAME_LENGTH_LINES      1167 */
+       {MT9E013_16BIT, {0x0342},       0x156C  }, /*   LINE_LENGTH_PCK 5484 */
+       {MT9E013_16BIT, {0x0344},       0x0048  }, /*   X_ADDR_START    72 */
+       {MT9E013_16BIT, {0x0346},       0x0164  }, /*   Y_ADDR_START    356 */
+       {MT9E013_16BIT, {0x0348},       0x0C89  }, /*   X_ADDR_END      3209 */
+       {MT9E013_16BIT, {0x034A},       0x083D  }, /*   Y_ADDR_END      2109 */
+       {MT9E013_16BIT, {0x034C},       0x0620  }, /*   X_OUTPUT_SIZE   1568 */
+       {MT9E013_16BIT, {0x034E},       0x036C  }, /*   Y_OUTPUT_SIZE   876 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x048F  }, /*   COARSE_INTEGRATION_TIME 1167 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0002  }, /*   SCALE_MODE      2 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_WVGA_strong_dvs_30fps[] = {
-       /*      WVGA strong dvs */
+       /*      WVGA strong dvs */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  },  /*  X_ADDR_START    0       */
-       {MT9E013_16BIT, {0x0348},       0x0CCD  },  /*  X_ADDR_END      3281    */
-       {MT9E013_16BIT, {0x0346},       0x00D0  },  /*  Y_ADDR_START    208     */
-       {MT9E013_16BIT, {0x034A},       0x08CD  },  /*  Y_ADDR_END      2253    */
-       {MT9E013_16BIT, {0x034C},       0x0668  },  /*  X_OUTPUT_SIZE   1640    */
-       {MT9E013_16BIT, {0x034E},       0x0400  },  /*  Y_OUTPUT_SIZE   1024    */
-       {MT9E013_16BIT, {0x3040},       0x04C3  },  /*  READ_MODE       195     */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x156C  },  /*  line_length_pck 5484    */
-       {MT9E013_16BIT, {0x0340},       0x048F  },  /*  frame_length_lines      1167    */
-       {MT9E013_16BIT, {0x0202},       0x048F  },  /*  COARSE_INTEGRATION_TIME 1167    */
-       {MT9E013_16BIT, {0x3014},       0x0846  },  /*  FINE_INTEGRATION_TIME   2118    */
-       {MT9E013_16BIT, {0x3010},       0x0130  },  /*  FINE_CORRECTION 304     */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x0     },  /*  SCALE_MODE      0       */
-       {MT9E013_16BIT, {0x0404},       0x10    },  /*  SCALE_M 16      */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x048F  }, /*   FRAME_LENGTH_LINES      1167 */
+       {MT9E013_16BIT, {0x0342},       0x156C  }, /*   LINE_LENGTH_PCK 5484 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x00D0  }, /*   Y_ADDR_START    208 */
+       {MT9E013_16BIT, {0x0348},       0x0CCD  }, /*   X_ADDR_END      3277 */
+       {MT9E013_16BIT, {0x034A},       0x08CD  }, /*   Y_ADDR_END      2253 */
+       {MT9E013_16BIT, {0x034C},       0x0668  }, /*   X_OUTPUT_SIZE   1640 */
+       {MT9E013_16BIT, {0x034E},       0x0400  }, /*   Y_OUTPUT_SIZE   1024 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x048F  }, /*   COARSE_INTEGRATION_TIME 1167 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0000  }, /*   SCALE_MODE      0 */
+       {MT9E013_16BIT, {0x0404},       0x0010  }, /*   SCALE_M 16 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_VGA_strong_dvs_30fps[] = {
-       /*      VGA strong dvs  */
+       /*      VGA strong dvs */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0000  }, /* X_ADDR_START      0 */
-       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /* X_ADDR_END        3279 */
-       {MT9E013_16BIT, {0x0346},       0x0000  }, /* Y_ADDR_START      0 */
-       {MT9E013_16BIT, {0x034A},       0x099F  }, /* Y_ADDR_END        2463 */
-       {MT9E013_16BIT, {0x034C},       0x0334  }, /* X_OUTPUT_SIZE     820     */
-       {MT9E013_16BIT, {0x034E},       0x0268  }, /* Y_OUTPUT_SIZE     616     */
-       {MT9E013_16BIT, {0x3040},       0x04C3  }, /* READ_MODE 1219 */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x1020  }, /* line_length_pck   4128 */
-       {MT9E013_16BIT, {0x0340},       0x060E  }, /* frame_length_lines        1550 */
-       {MT9E013_16BIT, {0x0202},       0x0573  }, /* COARSE_INTEGRATION_TIME   1395 */
-       {MT9E013_16BIT, {0x3014},       0x0846  }, /* FINE_INTEGRATION_TIME     2118 */
-       {MT9E013_16BIT, {0x3010},       0x0130  }, /* FINE_CORRECTION   304 */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x2     }, /* SCALE_MODE        1 */
-       {MT9E013_16BIT, {0x0404},       0x20    }, /* SCALE_M   32 */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x060E  }, /*   FRAME_LENGTH_LINES      1550 */
+       {MT9E013_16BIT, {0x0342},       0x1020  }, /*   LINE_LENGTH_PCK 4128 */
+       {MT9E013_16BIT, {0x0344},       0x0000  }, /*   X_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0346},       0x0000  }, /*   Y_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0348},       0x0CCF  }, /*   X_ADDR_END      3279 */
+       {MT9E013_16BIT, {0x034A},       0x099F  }, /*   Y_ADDR_END      2463 */
+       {MT9E013_16BIT, {0x034C},       0x0334  }, /*   X_OUTPUT_SIZE   820 */
+       {MT9E013_16BIT, {0x034E},       0x0268  }, /*   Y_OUTPUT_SIZE   616 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x0573  }, /*   COARSE_INTEGRATION_TIME 1395 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0002  }, /*   SCALE_MODE      2 */
+       {MT9E013_16BIT, {0x0404},       0x0020  }, /*   SCALE_M 32 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_QVGA_strong_dvs_30fps[] = {
-       /*      QVGA strong dvs */
+       /*      QVGA strong dvs */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0008  }, /* X_ADDR_START      8 */
-       {MT9E013_16BIT, {0x0348},       0x0CC7  }, /* X_ADDR_END        3271 */
-       {MT9E013_16BIT, {0x0346},       0x0000  }, /* Y_ADDR_START      0 */
-       {MT9E013_16BIT, {0x034A},       0x099F  }, /* Y_ADDR_END        2463 */
-       {MT9E013_16BIT, {0x034C},       0x0198  }, /* X_OUTPUT_SIZE     408 */
-       {MT9E013_16BIT, {0x034E},       0x0134  }, /* Y_OUTPUT_SIZE     308 */
-       {MT9E013_16BIT, {0x3040},       0x04C3  }, /* READ_MODE 1219 */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x1020  }, /* line_length_pck   4128 */
-       {MT9E013_16BIT, {0x0340},       0x060E  }, /* frame_length_lines        1550 */
-       {MT9E013_16BIT, {0x0202},       0x0573  }, /* COARSE_INTEGRATION_TIME   1395 */
-       {MT9E013_16BIT, {0x3014},       0x0846  }, /* FINE_INTEGRATION_TIME     2118 */
-       {MT9E013_16BIT, {0x3010},       0x0130  }, /* FINE_CORRECTION   304 */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x2     }, /* SCALE_MODE        1 */
-       {MT9E013_16BIT, {0x0404},       0x40    }, /* SCALE_M   64 */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x060E  }, /*   FRAME_LENGTH_LINES      1550 */
+       {MT9E013_16BIT, {0x0342},       0x1020  }, /*   LINE_LENGTH_PCK 4128 */
+       {MT9E013_16BIT, {0x0344},       0x0008  }, /*   X_ADDR_START    8 */
+       {MT9E013_16BIT, {0x0346},       0x0000  }, /*   Y_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0348},       0x0CC7  }, /*   X_ADDR_END      3271 */
+       {MT9E013_16BIT, {0x034A},       0x099F  }, /*   Y_ADDR_END      2463 */
+       {MT9E013_16BIT, {0x034C},       0x0198  }, /*   X_OUTPUT_SIZE   408 */
+       {MT9E013_16BIT, {0x034E},       0x0134  }, /*   Y_OUTPUT_SIZE   308 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x0573  }, /*   COARSE_INTEGRATION_TIME 1395 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0002  }, /*   SCALE_MODE      2 */
+       {MT9E013_16BIT, {0x0404},       0x0040  }, /*   SCALE_M 64 */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 
 static struct mt9e013_reg const mt9e013_QCIF_strong_dvs_30fps[] = {
-       /* QCIF strong dvs      */
+       /* QCIF strong dvs */
        GROUPED_PARAMETER_HOLD_ENABLE,
-       /* Output size */
-       {MT9E013_16BIT, {0x0344},       0x0080  }, /* X_ADDR_START      128 */
-       {MT9E013_16BIT, {0x0348},       0x0CB3  }, /* X_ADDR_END        3251 */
-       {MT9E013_16BIT, {0x0346},       0x0000  }, /* Y_ADDR_START      0 */
-       {MT9E013_16BIT, {0x034A},       0x099F  }, /* Y_ADDR_END        2463 */
-       {MT9E013_16BIT, {0x034C},       0x00D8  }, /* X_OUTPUT_SIZE     216 */
-       {MT9E013_16BIT, {0x034E},       0x00B0  }, /* Y_OUTPUT_SIZE     176 */
-       {MT9E013_16BIT, {0x3040},       0x04C3  }, /* READ_MODE 1219 */
-       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 1}, /* datapath_select_true_bayer */
-       /* Timing Configuation */
-       {MT9E013_16BIT, {0x0342},       0x1020  }, /* line_length_pck   4128 */
-       {MT9E013_16BIT, {0x0340},       0x060E  }, /* frame_length_lines        1550 */
-       {MT9E013_16BIT, {0x0202},       0x0573  }, /* COARSE_INTEGRATION_TIME   1395 */
-       {MT9E013_16BIT, {0x3014},       0x0846  }, /* FINE_INTEGRATION_TIME     2118 */
-       {MT9E013_16BIT, {0x3010},       0x0130  }, /* FINE_CORRECTION   304 */
-       /* scaler */
-       {MT9E013_16BIT, {0x0400},       0x2     }, /* SCALE_MODE        1 */
-       {MT9E013_16BIT, {0x0404},       0x70    }, /* SCALE_M   112 */
+       /* Frame size & Timing Configuration*/
+       {MT9E013_16BIT, {0x0340},       0x060E  }, /*   FRAME_LENGTH_LINES      1550 */
+       {MT9E013_16BIT, {0x0342},       0x1020  }, /*   LINE_LENGTH_PCK 4128 */
+       {MT9E013_16BIT, {0x0344},       0x0080  }, /*   X_ADDR_START    128 */
+       {MT9E013_16BIT, {0x0346},       0x0000  }, /*   Y_ADDR_START    0 */
+       {MT9E013_16BIT, {0x0348},       0x0CB3  }, /*   X_ADDR_END      3251 */
+       {MT9E013_16BIT, {0x034A},       0x099F  }, /*   Y_ADDR_END      2463 */
+       {MT9E013_16BIT, {0x034C},       0x00D8  }, /*   X_OUTPUT_SIZE   216 */
+       {MT9E013_16BIT, {0x034E},       0x00B0  }, /*   Y_OUTPUT_SIZE   176 */
+       {MT9E013_16BIT, {0x3040},       0x04C3  }, /*   READ_MODE       1219 */
+       {MT9E013_16BIT | MT9E013_RMW, {0x306E}, 0x0010, 0x1}, /* DATAPATH_SELECT_TRUE_BAYER */
+       /* Initial integration time */
+       {MT9E013_16BIT, {0x3010},       0x0130  }, /*   FINE_CORRECTION 304 */
+       {MT9E013_16BIT, {0X3012},       0x0573  }, /*   COARSE_INTEGRATION_TIME 1395 */
+       {MT9E013_16BIT, {0X3014},       0x0846  }, /*   FINE_INTEGRATION_TIME   2118 */
+       /* Scaler configuration */
+       {MT9E013_16BIT, {0x0400},       0x0002  }, /*   SCALE_MODE      2 */
+       {MT9E013_16BIT, {0x0404},       0x0070  }, /*   SCALE_M 112 */
        {MT9E013_TOK_TERM, {0}, 0}
 };