summaryrefslogtreecommitdiff
path: root/drivers/media/video/mxc/capture/mt9v111.h
blob: ba91a722a076fece9c3aa236dc556ab069d0e88f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
/*
 * Copyright 2004-2008 Freescale Semiconductor, Inc. All Rights Reserved.
 */

/*
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/*!
 * @defgroup Camera Sensor Drivers
 */

/*!
 * @file mt9v111.h
 *
 * @brief MT9V111 Camera Header file
 *
 * This header file contains defines and structures for the iMagic mi8012
 * aka the Micron mt9v111 camera.
 *
 * @ingroup Camera
 */

#ifndef MT9V111_H_
#define MT9V111_H_

/*!
 * Basic camera values
 */
#define MT9V111_FRAME_RATE        30
#define MT9V111_MCLK              27000000 /* Desired clock rate */
#define MT9V111_CLK_MIN           12000000 /* This clock rate yields 15 fps */
#define MT9V111_CLK_MAX           27000000
#define MT9V111_MAX_WIDTH         640      /* Max width for this camera */
#define MT9V111_MAX_HEIGHT        480      /* Max height for this camera */

/*!
 * mt9v111 IFP REGISTER BANK MAP
 */
#define MT9V111I_ADDR_SPACE_SEL           0x1
#define MT9V111I_BASE_MAXTRIX_SIGN        0x2
#define MT9V111I_BASE_MAXTRIX_SCALE15     0x3
#define MT9V111I_BASE_MAXTRIX_SCALE69     0x4
#define MT9V111I_APERTURE_GAIN            0x5
#define MT9V111I_MODE_CONTROL             0x6
#define MT9V111I_SOFT_RESET               0x7
#define MT9V111I_FORMAT_CONTROL           0x8
#define MT9V111I_BASE_MATRIX_CFK1         0x9
#define MT9V111I_BASE_MATRIX_CFK2         0xa
#define MT9V111I_BASE_MATRIX_CFK3         0xb
#define MT9V111I_BASE_MATRIX_CFK4         0xc
#define MT9V111I_BASE_MATRIX_CFK5         0xd
#define MT9V111I_BASE_MATRIX_CFK6         0xe
#define MT9V111I_BASE_MATRIX_CFK7         0xf
#define MT9V111I_BASE_MATRIX_CFK8         0x10
#define MT9V111I_BASE_MATRIX_CFK9         0x11
#define MT9V111I_AWB_POSITION             0x12
#define MT9V111I_AWB_RED_GAIN             0x13
#define MT9V111I_AWB_BLUE_GAIN            0x14
#define MT9V111I_DELTA_MATRIX_CF_SIGN     0x15
#define MT9V111I_DELTA_MATRIX_CF_D1       0x16
#define MT9V111I_DELTA_MATRIX_CF_D2       0x17
#define MT9V111I_DELTA_MATRIX_CF_D3       0x18
#define MT9V111I_DELTA_MATRIX_CF_D4       0x19
#define MT9V111I_DELTA_MATRIX_CF_D5       0x1a
#define MT9V111I_DELTA_MATRIX_CF_D6       0x1b
#define MT9V111I_DELTA_MATRIX_CF_D7       0x1c
#define MT9V111I_DELTA_MATRIX_CF_D8       0x1d
#define MT9V111I_DELTA_MATRIX_CF_D9       0x1e
#define MT9V111I_LUMINANCE_LIMIT_WB       0x20
#define MT9V111I_RBG_MANUUAL_WB           0x21
#define MT9V111I_AWB_RED_LIMIT            0x22
#define MT9V111I_AWB_BLUE_LIMIT           0x23
#define MT9V111I_MATRIX_ADJUST_LIMIT      0x24
#define MT9V111I_AWB_SPEED                0x25
#define MT9V111I_H_BOUND_AE               0x26
#define MT9V111I_V_BOUND_AE               0x27
#define MT9V111I_H_BOUND_AE_CEN_WIN       0x2b
#define MT9V111I_V_BOUND_AE_CEN_WIN       0x2c
#define MT9V111I_BOUND_AWB_WIN            0x2d
#define MT9V111I_AE_PRECISION_TARGET      0x2e
#define MT9V111I_AE_SPEED                 0x2f
#define MT9V111I_RED_AWB_MEASURE          0x30
#define MT9V111I_LUMA_AWB_MEASURE         0x31
#define MT9V111I_BLUE_AWB_MEASURE         0x32
#define MT9V111I_LIMIT_SHARP_SATU_CTRL    0x33
#define MT9V111I_LUMA_OFFSET              0x34
#define MT9V111I_CLIP_LIMIT_OUTPUT_LUMI   0x35
#define MT9V111I_GAIN_LIMIT_AE            0x36
#define MT9V111I_SHUTTER_WIDTH_LIMIT_AE   0x37
#define MT9V111I_UPPER_SHUTTER_DELAY_LIM  0x39
#define MT9V111I_OUTPUT_FORMAT_CTRL2      0x3a
#define MT9V111I_IPF_BLACK_LEVEL_SUB      0x3b
#define MT9V111I_IPF_BLACK_LEVEL_ADD      0x3c
#define MT9V111I_ADC_LIMIT_AE_ADJ         0x3d
#define MT9V111I_GAIN_THRE_CCAM_ADJ       0x3e
#define MT9V111I_LINEAR_AE                0x3f
#define MT9V111I_THRESHOLD_EDGE_DEFECT    0x47
#define MT9V111I_LUMA_SUM_MEASURE         0x4c
#define MT9V111I_TIME_ADV_SUM_LUMA        0x4d
#define MT9V111I_MOTION                   0x52
#define MT9V111I_GAMMA_KNEE_Y12           0x53
#define MT9V111I_GAMMA_KNEE_Y34           0x54
#define MT9V111I_GAMMA_KNEE_Y56           0x55
#define MT9V111I_GAMMA_KNEE_Y78           0x56
#define MT9V111I_GAMMA_KNEE_Y90           0x57
#define MT9V111I_GAMMA_VALUE_Y0           0x58
#define MT9V111I_SHUTTER_60               0x59
#define MT9V111I_AUTO_EXPOSURE_17         0x5A
#define MT9V111I_SEARCH_FLICK_60          0x5c
#define MT9V111I_RESERVED93	    	      0x5d
#define MT9V111I_RATIO_IMAGE_GAIN_BASE    0x5e
#define MT9V111I_RATIO_IMAGE_GAIN_DELTA   0x5f
#define MT9V111I_SIGN_VALUE_REG5F         0x60
#define MT9V111I_AE_GAIN                  0x62
#define MT9V111I_RESERVED100              0x64
#define MT9V111I_MAX_GAIN_AE              0x67
#define MT9V111I_LENS_CORRECT_CTRL        0x80
#define MT9V111I_SHADING_PARAMETER1       0x81
#define MT9V111I_SHADING_PARAMETER2       0x82
#define MT9V111I_SHADING_PARAMETER3       0x83
#define MT9V111I_SHADING_PARAMETER4       0x84
#define MT9V111I_SHADING_PARAMETER5       0x85
#define MT9V111I_SHADING_PARAMETER6       0x86
#define MT9V111I_SHADING_PARAMETER7       0x87
#define MT9V111I_SHADING_PARAMETER8       0x88
#define MT9V111I_SHADING_PARAMETER9       0x89
#define MT9V111I_SHADING_PARAMETER10      0x8A
#define MT9V111I_SHADING_PARAMETER11      0x8B
#define MT9V111I_SHADING_PARAMETER12      0x8C
#define MT9V111I_SHADING_PARAMETER13      0x8D
#define MT9V111I_SHADING_PARAMETER14      0x8E
#define MT9V111I_SHADING_PARAMETER15      0x8F
#define MT9V111I_SHADING_PARAMETER16      0x90
#define MT9V111I_SHADING_PARAMETER17      0x91
#define MT9V111I_SHADING_PARAMETER18      0x92
#define MT9V111I_SHADING_PARAMETER19      0x93
#define MT9V111I_SHADING_PARAMETER20      0x94
#define MT9V111I_SHADING_PARAMETER21      0x95
#define MT9V111i_FLASH_CTRL               0x98
#define MT9V111i_LINE_COUNTER             0x99
#define MT9V111i_FRAME_COUNTER            0x9A
#define MT9V111i_H_PAN                    0xA5
#define MT9V111i_H_ZOOM                   0xA6
#define MT9V111i_H_SIZE                   0xA7
#define MT9V111i_V_PAN                    0xA8
#define MT9V111i_V_ZOOM                   0xA9
#define MT9V111i_V_SIZE                   0xAA

#define MT9V111I_SEL_IFP                  0x1
#define MT9V111I_SEL_SCA                  0x4
#define MT9V111I_FC_RGB_OR_YUV            0x1000

/*!
 * Mt9v111 SENSOR CORE REGISTER BANK MAP
 */
#define MT9V111S_ADDR_SPACE_SEL           0x1
#define MT9V111S_COLUMN_START             0x2
#define MT9V111S_WIN_HEIGHT               0x3
#define MT9V111S_WIN_WIDTH                0x4
#define MT9V111S_HOR_BLANKING             0x5
#define MT9V111S_VER_BLANKING             0x6
#define MT9V111S_OUTPUT_CTRL              0x7
#define MT9V111S_ROW_START                0x8
#define MT9V111S_SHUTTER_WIDTH            0x9
#define MT9V111S_PIXEL_CLOCK_SPEED        0xa
#define MT9V111S_RESTART                  0xb
#define MT9V111S_SHUTTER_DELAY            0xc
#define MT9V111S_RESET                    0xd
#define MT9V111S_COLUMN_START_IN_ZOOM     0x12
#define MT9V111S_ROW_START_IN_ZOOM        0x13
#define MT9V111S_DIGITAL_ZOOM             0x1e
#define MT9V111S_READ_MODE                0x20
#define MT9V111S_RESERVED33               0x21
#define MT9V111S_DAC_CTRL                 0x27
#define MT9V111S_GREEN1_GAIN              0x2b
#define MT9V111S_BLUE_GAIN                0x2c
#define MT9V111S_READ_GAIN                0x2d
#define MT9V111S_GREEN2_GAIN              0x2e
#define MT9V111S_ROW_NOISE_CTRL           0x30
#define MT9V111S_DARK_TARGET_W            0x31
#define MT9V111S_TEST_DATA                0x32
#define MT9V111S_GLOBAL_GAIN              0x35
#define MT9V111S_SENSOR_CORE_VERSION      0x36
#define MT9V111S_DARK_TARGET_WO           0x37
#define MT9V111S_VERF_DAC                 0x41
#define MT9V111S_VCM_VCL                  0x42
#define MT9V111S_DISABLE_BYPASS           0x58
#define MT9V111S_CALIB_MEAN_TEST          0x59
#define MT9V111S_DARK_G1_AVE              0x5B
#define MT9V111S_DARK_G2_AVE              0x5C
#define MT9V111S_DARK_R_AVE               0x5D
#define MT9V111S_DARK_B_AVE               0x5E
#define MT9V111S_CAL_THRESHOLD            0x5f
#define MT9V111S_CAL_G1                   0x60
#define MT9V111S_CAL_G2                   0x61
#define MT9V111S_CAL_CTRL                 0x62
#define MT9V111S_CAL_R                    0x63
#define MT9V111S_CAL_B                    0x64
#define MT9V111S_CHIP_ENABLE              0xF1
#define MT9V111S_CHIP_VERSION             0xFF

/* OUTPUT_CTRL */
#define MT9V111S_OUTCTRL_SYNC             0x1
#define MT9V111S_OUTCTRL_CHIP_ENABLE      0x2
#define MT9V111S_OUTCTRL_TEST_MODE        0x40

/* READ_MODE */
#define MT9V111S_RM_NOBADFRAME            0x1
#define MT9V111S_RM_NODESTRUCT            0x2
#define MT9V111S_RM_COLUMNSKIP            0x4
#define MT9V111S_RM_ROWSKIP               0x8
#define MT9V111S_RM_BOOSTEDRESET          0x1000
#define MT9V111S_RM_COLUMN_LATE           0x10
#define MT9V111S_RM_ROW_LATE              0x80
#define MT9V111S_RM_RIGTH_TO_LEFT         0x4000
#define MT9V111S_RM_BOTTOM_TO_TOP         0x8000

/*! I2C Slave Address */
#define MT9V111_I2C_ADDRESS	0x48

/*!
 * The image resolution enum for the mt9v111 sensor
 */
typedef enum {
	MT9V111_OutputResolution_VGA = 0,	/*!< VGA size */
	MT9V111_OutputResolution_QVGA,	/*!< QVGA size */
	MT9V111_OutputResolution_CIF,	/*!< CIF size */
	MT9V111_OutputResolution_QCIF,	/*!< QCIF size */
	MT9V111_OutputResolution_QQVGA,	/*!< QQVGA size */
	MT9V111_OutputResolution_SXGA	/*!< SXGA size */
} MT9V111_OutputResolution;

enum {
	MT9V111_WINWIDTH = 0x287,
	MT9V111_WINWIDTH_DEFAULT = 0x287,
	MT9V111_WINWIDTH_MIN = 0x9,

	MT9V111_WINHEIGHT = 0x1E7,
	MT9V111_WINHEIGHT_DEFAULT = 0x1E7,

	MT9V111_HORZBLANK_DEFAULT = 0x26,
	MT9V111_HORZBLANK_MIN = 0x9,
	MT9V111_HORZBLANK_MAX = 0x3FF,

	MT9V111_VERTBLANK_DEFAULT = 0x4,
	MT9V111_VERTBLANK_MIN = 0x3,
	MT9V111_VERTBLANK_MAX = 0xFFF,
};

/*!
 * Mt9v111 Core Register structure.
 */
typedef struct {
	u32 addressSelect;	/*!< select address bank for Core Register 0x4 */
	u32 columnStart;	/*!< Starting Column */
	u32 windowHeight;	/*!< Window Height */
	u32 windowWidth;	/*!< Window Width */
	u32 horizontalBlanking;	/*!< Horizontal Blank time, in pixels */
	u32 verticalBlanking;	/*!< Vertical Blank time, in pixels */
	u32 outputControl;	/*!< Register to control sensor output */
	u32 rowStart;		/*!< Starting Row */
	u32 shutterWidth;
	u32 pixelClockSpeed;	/*!< pixel date rate */
	u32 restart;		/*!< Abandon the readout of current frame */
	u32 shutterDelay;
	u32 reset;		/*!< reset the sensor to the default mode */
	u32 zoomColStart;	/*!< Column start in the Zoom mode */
	u32 zomRowStart;	/*!< Row start in the Zoom mode */
	u32 digitalZoom;	/*!< 1 means zoom by 2 */
	u32 readMode;		/*!< Readmode: aspects of the readout of the sensor */
	u32 dACStandbyControl;
	u32 green1Gain;		/*!< Gain Settings */
	u32 blueGain;
	u32 redGain;
	u32 green2Gain;
	u32 rowNoiseControl;
	u32 darkTargetwNC;
	u32 testData;		/*!< test mode */
	u32 reserved33;
	u32 globalGain;
	u32 chipVersion;
	u32 darkTargetwoNC;
	u32 vREFDACs;
	u32 vCMandVCL;
	u32 disableBypass;
	u32 calibMeanTest;
	u32 darkG1average;
	u32 darkG2average;
	u32 darkRaverage;
	u32 darkBaverage;
	u32 calibThreshold;
	u32 calibGreen1;
	u32 calibGreen2;
	u32 calibControl;
	u32 calibRed;
	u32 calibBlue;
	u32 chipEnable;		/*!< Image core Registers written by image flow processor */
} mt9v111_coreReg;

/*!
 * Mt9v111 IFP Register structure.
 */
typedef struct {
	u32 addrSpaceSel;	/*!< select address bank for Core Register 0x1 */
	u32 baseMaxtrixSign;	/*!< sign of coefficient for base color correction matrix */
	u32 baseMaxtrixScale15;	/*!< scaling of color correction coefficient K1-5 */
	u32 baseMaxtrixScale69;	/*!< scaling of color correction coefficient K6-9 */
	u32 apertureGain;	/*!< sharpening */
	u32 modeControl;	/*!< bit 7 CCIR656 sync codes are embedded in the image */
	u32 softReset;		/*!< Image processing mode: 1 reset mode, 0 operational mode */
	u32 formatControl;	/*!< bit12 1 for RGB565, 0 for YcrCb */
	u32 baseMatrixCfk1;	/*!< K1 Color correction coefficient */
	u32 baseMatrixCfk2;	/*!< K2 Color correction coefficient */
	u32 baseMatrixCfk3;	/*!< K3 Color correction coefficient */
	u32 baseMatrixCfk4;	/*!< K4 Color correction coefficient */
	u32 baseMatrixCfk5;	/*!< K5 Color correction coefficient */
	u32 baseMatrixCfk6;	/*!< K6 Color correction coefficient */
	u32 baseMatrixCfk7;	/*!< K7 Color correction coefficient */
	u32 baseMatrixCfk8;	/*!< K8 Color correction coefficient */
	u32 baseMatrixCfk9;	/*!< K9 Color correction coefficient */
	u32 awbPosition;	/*!< Current position of AWB color correction matrix */
	u32 awbRedGain;		/*!< Current value of AWB red channel gain */
	u32 awbBlueGain;	/*!< Current value of AWB blue channel gain */
	u32 deltaMatrixCFSign;	/*!< Sign of coefficients of delta color correction matrix register */
	u32 deltaMatrixCFD1;	/*!< D1 Delta coefficient */
	u32 deltaMatrixCFD2;	/*!< D2 Delta coefficient */
	u32 deltaMatrixCFD3;	/*!< D3 Delta coefficient */
	u32 deltaMatrixCFD4;	/*!< D4 Delta coefficient */
	u32 deltaMatrixCFD5;	/*!< D5 Delta coefficient */
	u32 deltaMatrixCFD6;	/*!< D6 Delta coefficient */
	u32 deltaMatrixCFD7;	/*!< D7 Delta coefficient */
	u32 deltaMatrixCFD8;	/*!< D8 Delta coefficient */
	u32 deltaMatrixCFD9;	/*!< D9 Delta coefficient */
	u32 lumLimitWB;		/*!< Luminance range of pixels considered in WB statistics */
	u32 RBGManualWB;	/*!< Red and Blue color channel gains for manual white balance */
	u32 awbRedLimit;	/*!< Limits on Red channel gain adjustment through AWB */
	u32 awbBlueLimit;	/*!< Limits on Blue channel gain adjustment through AWB */
	u32 matrixAdjLimit;	/*!< Limits on color correction matrix adjustment through AWB */
	u32 awbSpeed;		/*!< AWB speed and color saturation control */
	u32 HBoundAE;		/*!< Horizontal boundaries of AWB measurement window */
	u32 VBoundAE;		/*!< Vertical boundaries of AWB measurement window */
	u32 HBoundAECenWin;	/*!< Horizontal boundaries of AE measurement window for backlight compensation */
	u32 VBoundAECenWin;	/*!< Vertical boundaries of AE measurement window for backlight compensation */
	u32 boundAwbWin;	/*!< Boundaries of AWB measurement window */
	u32 AEPrecisionTarget;	/*!< Auto exposure target and precision control */
	u32 AESpeed;		/*!< AE speed and sensitivity control register */
	u32 redAWBMeasure;	/*!< Measure of the red channel value used by AWB */
	u32 lumaAWBMeasure;	/*!< Measure of the luminance channel value used by AWB */
	u32 blueAWBMeasure;	/*!< Measure of the blue channel value used by AWB */
	u32 limitSharpSatuCtrl;	/*!< Automatic control of sharpness and color saturation */
	u32 lumaOffset;		/*!< Luminance offset control (brightness control) */
	u32 clipLimitOutputLumi;	/*!< Clipping limits for output luminance */
	u32 gainLimitAE;	/*!< Imager gain limits for AE adjustment */
	u32 shutterWidthLimitAE;	/*!< Shutter width (exposure time) limits for AE adjustment */
	u32 upperShutterDelayLi;	/*!< Upper Shutter Delay Limit */
	u32 outputFormatCtrl2;	/*!< Output Format Control 2
				   00 = 16-bit RGB565.
				   01 = 15-bit RGB555.
				   10 = 12-bit RGB444x.
				   11 = 12-bit RGBx444.       */
	u32 ipfBlackLevelSub;	/*!< IFP black level subtraction */
	u32 ipfBlackLevelAdd;	/*!< IFP black level addition */
	u32 adcLimitAEAdj;	/*!< ADC limits for AE adjustment */
	u32 agimnThreCamAdj;	/*!< Gain threshold for CCM adjustment */
	u32 linearAE;
	u32 thresholdEdgeDefect;	/*!< Edge threshold for interpolation and defect correction */
	u32 lumaSumMeasure;	/*!< Luma measured by AE engine */
	u32 timeAdvSumLuma;	/*!< Time-averaged luminance value tracked by auto exposure */
	u32 motion;		/*!< 1 when motion is detected */
	u32 gammaKneeY12;	/*!< Gamma knee points Y1 and Y2 */
	u32 gammaKneeY34;	/*!< Gamma knee points Y3 and Y4 */
	u32 gammaKneeY56;	/*!< Gamma knee points Y5 and Y6 */
	u32 gammaKneeY78;	/*!< Gamma knee points Y7 and Y8 */
	u32 gammaKneeY90;	/*!< Gamma knee points Y9 and Y10 */
	u32 gammaKneeY0;	/*!< Gamma knee point Y0 */
	u32 shutter_width_60;
	u32 auto_exposure_17;
	u32 search_flicker_60;
	u32 reserved93;
	u32 ratioImageGainBase;
	u32 ratioImageGainDelta;
	u32 signValueReg5F;
	u32 aeGain;
	u32 reserved100;
	u32 maxGainAE;
	u32 lensCorrectCtrl;
	u32 shadingParameter1;	/*!< Shade Parameters */
	u32 shadingParameter2;
	u32 shadingParameter3;
	u32 shadingParameter4;
	u32 shadingParameter5;
	u32 shadingParameter6;
	u32 shadingParameter7;
	u32 shadingParameter8;
	u32 shadingParameter9;
	u32 shadingParameter10;
	u32 shadingParameter11;
	u32 shadingParameter12;
	u32 shadingParameter13;
	u32 shadingParameter14;
	u32 shadingParameter15;
	u32 shadingParameter16;
	u32 shadingParameter17;
	u32 shadingParameter18;
	u32 shadingParameter19;
	u32 shadingParameter20;
	u32 shadingParameter21;
	u32 flashCtrl;		/*!< Flash control */
	u32 lineCounter;	/*!< Line counter */
	u32 frameCounter;	/*!< Frame counter */
	u32 HPan;		/*!< Horizontal pan in decimation */
	u32 HZoom;		/*!< Horizontal zoom in decimation */
	u32 HSize;		/*!< Horizontal output size iIn decimation */
	u32 VPan;		/*!< Vertical pan in decimation */
	u32 VZoom;		/*!< Vertical zoom in decimation */
	u32 VSize;		/*!< Vertical output size in decimation */
} mt9v111_IFPReg;

/*!
 * mt9v111 Config structure
 */
typedef struct {
	mt9v111_coreReg *coreReg;	/*!< Sensor Core Register Bank */
	mt9v111_IFPReg *ifpReg;	/*!< IFP Register Bank */
} mt9v111_conf;

typedef struct {
	u8 index;
	u16 width;
	u16 height;
} mt9v111_image_format;

#endif				/* MT9V111_H_  */