146146#define IMX219_PIXEL_ARRAY_WIDTH 3280U
147147#define IMX219_PIXEL_ARRAY_HEIGHT 2464U
148148
149- enum binning_bit_depths {
150- BINNING_IDX_8_BIT ,
151- BINNING_IDX_10_BIT ,
152- BINNING_IDX_MAX
153- };
154-
155149/* Mode : resolution and related config&values */
156150struct imx219_mode {
157151 /* Frame width */
@@ -161,10 +155,6 @@ struct imx219_mode {
161155
162156 /* V-timing */
163157 unsigned int fll_def ;
164- unsigned int vts_def ;
165-
166- /* binning mode based on format code */
167- unsigned int binning [BINNING_IDX_MAX ];
168158};
169159
170160static const struct cci_reg_sequence imx219_common_regs [] = {
@@ -323,44 +313,24 @@ static const struct imx219_mode supported_modes[] = {
323313 .width = 3280 ,
324314 .height = 2464 ,
325315 .fll_def = 3526 ,
326- .vts_def = 3526 ,
327- .binning = {
328- [BINNING_IDX_8_BIT ] = IMX219_BINNING_NONE ,
329- [BINNING_IDX_10_BIT ] = IMX219_BINNING_NONE ,
330- },
331316 },
332317 {
333318 /* 1080P 30fps cropped */
334319 .width = 1920 ,
335320 .height = 1080 ,
336321 .fll_def = 1763 ,
337- .vts_def = 1763 ,
338- .binning = {
339- [BINNING_IDX_8_BIT ] = IMX219_BINNING_NONE ,
340- [BINNING_IDX_10_BIT ] = IMX219_BINNING_NONE ,
341- },
342322 },
343323 {
344324 /* 2x2 binned 60fps mode */
345325 .width = 1640 ,
346326 .height = 1232 ,
347327 .fll_def = 1707 ,
348- .vts_def = 1763 ,
349- .binning = {
350- [BINNING_IDX_8_BIT ] = IMX219_BINNING_X2_ANALOG ,
351- [BINNING_IDX_10_BIT ] = IMX219_BINNING_X2 ,
352- },
353328 },
354329 {
355330 /* 640x480 60fps mode */
356331 .width = 640 ,
357332 .height = 480 ,
358333 .fll_def = 1707 ,
359- .vts_def = 1763 ,
360- .binning = {
361- [BINNING_IDX_8_BIT ] = IMX219_BINNING_X2_ANALOG ,
362- [BINNING_IDX_10_BIT ] = IMX219_BINNING_X2_ANALOG ,
363- },
364334 },
365335};
366336
@@ -461,7 +431,7 @@ static unsigned int imx219_get_binning(struct v4l2_subdev_state *state,
461431 * bin_v = IMX219_BINNING_NONE ;
462432
463433 if (* bin_h == 2 && * bin_v == 2 )
464- return bin_mode ;
434+ return IMX219_BINNING_X2_ANALOG ;
465435 else if (* bin_h == 2 || * bin_v == 2 )
466436 /*
467437 * Don't use analog binning if only one dimension
0 commit comments