@@ -72,8 +72,6 @@ static const struct imx219_reg imx219_init_tab_3280_2464_21fps[] = {
7272 {0x0128 , 0x00 }, /* DPHY_CNTRL */
7373 {0x012A , 0x18 }, /* EXCK_FREQ[15:8] */
7474 {0x012B , 0x00 }, /* EXCK_FREQ[7:0] */
75- {0x015A , 0x01 }, /* INTEG TIME[15:8] */
76- {0x015B , 0xF4 }, /* INTEG TIME[7:0] */
7775 {0x0160 , 0x09 }, /* FRM_LENGTH_A[15:8] */
7876 {0x0161 , 0xC4 }, /* FRM_LENGTH_A[7:0] */
7977 {0x0162 , 0x0D }, /* LINE_LENGTH_A[15:8] */
@@ -124,8 +122,6 @@ static const struct imx219_reg imx219_init_tab_3280_1848_28fps[] = {
124122 {0x0128 , 0x00 }, /* DPHY_CNTRL */
125123 {0x012A , 0x18 }, /* EXCK_FREQ[15:8] */
126124 {0x012B , 0x00 }, /* EXCK_FREQ[7:0] */
127- {0x015A , 0x01 }, /* INTEG TIME[15:8] */
128- {0x015B , 0xF4 }, /* INTEG TIME[7:0] */
129125 {0x0160 , 0x07 }, /* FRM_LENGTH_A[15:8] */
130126 {0x0161 , 0x60 }, /* FRM_LENGTH_A[7:0] */
131127 {0x0162 , 0x0F }, /* LINE_LENGTH_A[15:8] */
@@ -229,8 +225,6 @@ static const struct imx219_reg imx219_init_tab_1640_1232_30fps[] = {
229225 {0x0128 , 0x00 }, /* DPHY_CNTRL */
230226 {0x012A , 0x18 }, /* EXCK_FREQ[15:8] */
231227 {0x012B , 0x00 }, /* EXCK_FREQ[7:0] */
232- {0x015A , 0x01 }, /* INTEG TIME[15:8] */
233- {0x015B , 0xF4 }, /* INTEG TIME[7:0] */
234228 {0x0160 , 0x06 }, /* FRM_LENGTH_A[15:8] */
235229 {0x0161 , 0xE6 }, /* FRM_LENGTH_A[7:0] */
236230 {0x0162 , 0x0D }, /* LINE_LENGTH_A[15:8] */
@@ -529,6 +523,15 @@ static int imx219_s_stream(struct v4l2_subdev *sd, int enable)
529523 if (ret )
530524 return ret ;
531525
526+ /* Set exposure and gain */
527+ ret = reg_write (client , 0x0157 , priv -> analogue_gain );
528+ ret |= reg_write (client , 0x0158 , priv -> digital_gain >> 8 );
529+ ret |= reg_write (client , 0x0159 , priv -> digital_gain & 0xff );
530+ ret |= reg_write (client , 0x015a , priv -> exposure_time >> 8 );
531+ ret |= reg_write (client , 0x015b , priv -> exposure_time & 0xff );
532+ if (ret )
533+ return ret ;
534+
532535 return reg_write_table (client , start );
533536}
534537
0 commit comments