2 * Driver for the mt9m111 sensor
4 * Copyright (C) 2008 Erik Andrén
5 * Copyright (C) 2007 Ilyes Gouta. Based on the m5603x Linux Driver Project.
6 * Copyright (C) 2005 m5603x Linux Driver Project <m5602@x3ng.com.br>
8 * Portions of code to USB interface and ALi driver software,
9 * Copyright (c) 2006 Willem Duinker
10 * v4l2 interface modeled after the V4L2 driver
11 * for SN9C10x PC Camera Controllers
13 * Some defines taken from the mt9m111 sensor driver
14 * Copyright (C) 2008, Robert Jarzmik <robert.jarzmik@free.fr>
16 * This program is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation, version 2.
22 #ifndef M5602_MT9M111_H_
23 #define M5602_MT9M111_H_
25 #include "m5602_sensor.h"
27 /*****************************************************************************/
29 #define MT9M111_SC_CHIPVER 0x00
30 #define MT9M111_SC_ROWSTART 0x01
31 #define MT9M111_SC_COLSTART 0x02
32 #define MT9M111_SC_WINDOW_HEIGHT 0x03
33 #define MT9M111_SC_WINDOW_WIDTH 0x04
34 #define MT9M111_SC_HBLANK_CONTEXT_B 0x05
35 #define MT9M111_SC_VBLANK_CONTEXT_B 0x06
36 #define MT9M111_SC_HBLANK_CONTEXT_A 0x07
37 #define MT9M111_SC_VBLANK_CONTEXT_A 0x08
38 #define MT9M111_SC_SHUTTER_WIDTH 0x09
39 #define MT9M111_SC_ROW_SPEED 0x0a
41 #define MT9M111_SC_EXTRA_DELAY 0x0b
42 #define MT9M111_SC_SHUTTER_DELAY 0x0c
43 #define MT9M111_SC_RESET 0x0d
44 #define MT9M111_SC_R_MODE_CONTEXT_B 0x20
45 #define MT9M111_SC_R_MODE_CONTEXT_A 0x21
46 #define MT9M111_SC_FLASH_CONTROL 0x23
47 #define MT9M111_SC_GREEN_1_GAIN 0x2b
48 #define MT9M111_SC_BLUE_GAIN 0x2c
49 #define MT9M111_SC_RED_GAIN 0x2d
50 #define MT9M111_SC_GREEN_2_GAIN 0x2e
51 #define MT9M111_SC_GLOBAL_GAIN 0x2f
53 #define MT9M111_RMB_MIRROR_ROWS (1 << 0)
54 #define MT9M111_RMB_MIRROR_COLS (1 << 1)
56 #define MT9M111_CONTEXT_CONTROL 0xc8
57 #define MT9M111_PAGE_MAP 0xf0
58 #define MT9M111_BYTEWISE_ADDRESS 0xf1
60 #define MT9M111_CP_OPERATING_MODE_CTL 0x06
61 #define MT9M111_CP_LUMA_OFFSET 0x34
62 #define MT9M111_CP_LUMA_CLIP 0x35
63 #define MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A 0x3a
64 #define MT9M111_CP_LENS_CORRECTION_1 0x3b
65 #define MT9M111_CP_DEFECT_CORR_CONTEXT_A 0x4c
66 #define MT9M111_CP_DEFECT_CORR_CONTEXT_B 0x4d
67 #define MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B 0x9b
68 #define MT9M111_CP_GLOBAL_CLK_CONTROL 0xb3
70 #define MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18 0x65
71 #define MT9M111_CC_AWB_PARAMETER_7 0x28
73 #define MT9M111_SENSOR_CORE 0x00
74 #define MT9M111_COLORPIPE 0x01
75 #define MT9M111_CAMERA_CONTROL 0x02
77 #define INITIAL_MAX_GAIN 64
78 #define DEFAULT_GAIN 283
80 /*****************************************************************************/
82 /* Kernel module parameters */
83 extern int force_sensor
;
84 extern int dump_sensor
;
86 int mt9m111_probe(struct sd
*sd
);
87 int mt9m111_init(struct sd
*sd
);
88 int mt9m111_power_down(struct sd
*sd
);
90 int mt9m111_set_vflip(struct gspca_dev
*gspca_dev
, __s32 val
);
91 int mt9m111_get_vflip(struct gspca_dev
*gspca_dev
, __s32
*val
);
92 int mt9m111_get_hflip(struct gspca_dev
*gspca_dev
, __s32
*val
);
93 int mt9m111_set_hflip(struct gspca_dev
*gspca_dev
, __s32 val
);
94 int mt9m111_get_gain(struct gspca_dev
*gspca_dev
, __s32
*val
);
95 int mt9m111_set_gain(struct gspca_dev
*gspca_dev
, __s32 val
);
97 static struct m5602_sensor mt9m111
= {
100 .i2c_slave_id
= 0xba,
103 .probe
= mt9m111_probe
,
104 .init
= mt9m111_init
,
105 .power_down
= mt9m111_power_down
,
111 .id
= V4L2_CID_VFLIP
,
112 .type
= V4L2_CTRL_TYPE_BOOLEAN
,
113 .name
= "vertical flip",
119 .set
= mt9m111_set_vflip
,
120 .get
= mt9m111_get_vflip
123 .id
= V4L2_CID_HFLIP
,
124 .type
= V4L2_CTRL_TYPE_BOOLEAN
,
125 .name
= "horizontal flip",
131 .set
= mt9m111_set_hflip
,
132 .get
= mt9m111_get_hflip
136 .type
= V4L2_CTRL_TYPE_INTEGER
,
139 .maximum
= (INITIAL_MAX_GAIN
- 1) * 2 * 2 * 2,
141 .default_value
= DEFAULT_GAIN
,
142 .flags
= V4L2_CTRL_FLAG_SLIDER
144 .set
= mt9m111_set_gain
,
145 .get
= mt9m111_get_gain
152 M5602_DEFAULT_FRAME_WIDTH
,
153 M5602_DEFAULT_FRAME_HEIGHT
,
157 M5602_DEFAULT_FRAME_WIDTH
* M5602_DEFAULT_FRAME_HEIGHT
,
158 .bytesperline
= M5602_DEFAULT_FRAME_WIDTH
,
159 .colorspace
= V4L2_COLORSPACE_SRGB
,
165 static const unsigned char preinit_mt9m111
[][4] =
167 {BRIDGE
, M5602_XB_MCU_CLK_DIV
, 0x02, 0x00},
168 {BRIDGE
, M5602_XB_MCU_CLK_CTRL
, 0xb0, 0x00},
169 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
170 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
171 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x0d, 0x00},
172 {BRIDGE
, M5602_XB_SENSOR_CTRL
, 0x00, 0x00},
173 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
174 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
176 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
177 {SENSOR
, MT9M111_SC_RESET
, 0xff, 0xf7},
179 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x05, 0x00},
180 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x04, 0x00},
181 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x3e, 0x00},
182 {BRIDGE
, M5602_XB_GPIO_DIR_H
, 0x3e, 0x00},
183 {BRIDGE
, M5602_XB_GPIO_DAT_H
, 0x02, 0x00},
184 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0xff, 0x00},
185 {BRIDGE
, M5602_XB_GPIO_DIR_L
, 0xff, 0x00},
186 {BRIDGE
, M5602_XB_GPIO_DAT_L
, 0x00, 0x00},
188 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
189 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
190 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x07, 0x00},
191 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x0b, 0x00},
192 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x06, 0x00},
193 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0x00, 0x00},
195 {BRIDGE
, M5602_XB_I2C_CLK_DIV
, 0x0a, 0x00}
198 static const unsigned char init_mt9m111
[][4] =
200 {BRIDGE
, M5602_XB_MCU_CLK_DIV
, 0x02, 0x00},
201 {BRIDGE
, M5602_XB_MCU_CLK_CTRL
, 0xb0, 0x00},
202 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
203 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
204 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
205 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x0d, 0x00},
206 {BRIDGE
, M5602_XB_SENSOR_CTRL
, 0x00, 0x00},
207 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
208 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
209 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
210 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
212 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
213 {SENSOR
, MT9M111_SC_RESET
, 0xff, 0xff},
214 {SENSOR
, MT9M111_SC_RESET
, 0xff, 0xff},
215 {SENSOR
, MT9M111_SC_RESET
, 0xff, 0xde},
216 {SENSOR
, MT9M111_SC_RESET
, 0xff, 0xff},
217 {SENSOR
, MT9M111_SC_RESET
, 0xff, 0xf7},
218 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
220 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xb3, 0x00},
222 {SENSOR
, MT9M111_CP_GLOBAL_CLK_CONTROL
, 0xff, 0xff},
224 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x05, 0x00},
225 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x04, 0x00},
226 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x3e, 0x00},
227 {BRIDGE
, M5602_XB_GPIO_DIR_H
, 0x3e, 0x00},
228 {BRIDGE
, M5602_XB_GPIO_DAT_H
, 0x02, 0x00},
229 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0xff, 0x00},
230 {BRIDGE
, M5602_XB_GPIO_DIR_L
, 0xff, 0x00},
231 {BRIDGE
, M5602_XB_GPIO_DAT_L
, 0x00, 0x00},
232 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x04, 0x00},
233 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
234 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
235 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
236 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
237 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
238 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
239 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
240 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x07, 0x00},
241 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x0b, 0x00},
242 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x06, 0x00},
243 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0x00, 0x00},
244 {BRIDGE
, M5602_XB_I2C_CLK_DIV
, 0x0a, 0x00},
246 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
247 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x05},
248 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
249 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
250 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
251 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
252 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
253 {SENSOR
, MT9M111_CP_OPERATING_MODE_CTL
, 0x00, 0x10},
254 {SENSOR
, MT9M111_CP_LENS_CORRECTION_1
, 0x04, 0x2a},
255 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_A
, 0x00, 0x01},
256 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_B
, 0x00, 0x01},
257 {SENSOR
, MT9M111_CP_LUMA_OFFSET
, 0x00, 0x00},
258 {SENSOR
, MT9M111_CP_LUMA_CLIP
, 0xff, 0x00},
259 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A
, 0x14, 0x00},
260 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B
, 0x14, 0x00},
261 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xcd, 0x00},
263 {SENSOR
, 0xcd, 0x00, 0x0e},
264 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xd0, 0x00},
265 {SENSOR
, 0xd0, 0x00, 0x40},
266 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x02},
267 {SENSOR
, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18
, 0x00, 0x00},
268 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
269 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x07},
270 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
271 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x03},
272 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
273 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
274 {SENSOR
, 0x33, 0x03, 0x49},
275 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
277 {SENSOR
, 0x33, 0x03, 0x49},
278 {SENSOR
, 0x34, 0xc0, 0x19},
279 {SENSOR
, 0x3f, 0x20, 0x20},
280 {SENSOR
, 0x40, 0x20, 0x20},
281 {SENSOR
, 0x5a, 0xc0, 0x0a},
282 {SENSOR
, 0x70, 0x7b, 0x0a},
283 {SENSOR
, 0x71, 0xff, 0x00},
284 {SENSOR
, 0x72, 0x19, 0x0e},
285 {SENSOR
, 0x73, 0x18, 0x0f},
286 {SENSOR
, 0x74, 0x57, 0x32},
287 {SENSOR
, 0x75, 0x56, 0x34},
288 {SENSOR
, 0x76, 0x73, 0x35},
289 {SENSOR
, 0x77, 0x30, 0x12},
290 {SENSOR
, 0x78, 0x79, 0x02},
291 {SENSOR
, 0x79, 0x75, 0x06},
292 {SENSOR
, 0x7a, 0x77, 0x0a},
293 {SENSOR
, 0x7b, 0x78, 0x09},
294 {SENSOR
, 0x7c, 0x7d, 0x06},
295 {SENSOR
, 0x7d, 0x31, 0x10},
296 {SENSOR
, 0x7e, 0x00, 0x7e},
297 {SENSOR
, 0x80, 0x59, 0x04},
298 {SENSOR
, 0x81, 0x59, 0x04},
299 {SENSOR
, 0x82, 0x57, 0x0a},
300 {SENSOR
, 0x83, 0x58, 0x0b},
301 {SENSOR
, 0x84, 0x47, 0x0c},
302 {SENSOR
, 0x85, 0x48, 0x0e},
303 {SENSOR
, 0x86, 0x5b, 0x02},
304 {SENSOR
, 0x87, 0x00, 0x5c},
305 {SENSOR
, MT9M111_CONTEXT_CONTROL
, 0x00, 0x08},
306 {SENSOR
, 0x60, 0x00, 0x80},
307 {SENSOR
, 0x61, 0x00, 0x00},
308 {SENSOR
, 0x62, 0x00, 0x00},
309 {SENSOR
, 0x63, 0x00, 0x00},
310 {SENSOR
, 0x64, 0x00, 0x00},
312 {SENSOR
, MT9M111_SC_ROWSTART
, 0x00, 0x0d},
313 {SENSOR
, MT9M111_SC_COLSTART
, 0x00, 0x18},
314 {SENSOR
, MT9M111_SC_WINDOW_HEIGHT
, 0x04, 0x04},
315 {SENSOR
, MT9M111_SC_WINDOW_WIDTH
, 0x05, 0x08},
316 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_B
, 0x01, 0x38},
317 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_B
, 0x00, 0x11},
318 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_A
, 0x01, 0x38},
319 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_A
, 0x00, 0x11},
320 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_B
, 0x01, 0x03},
321 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_A
, 0x01, 0x03},
322 {SENSOR
, 0x30, 0x04, 0x00},
324 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x06, 0x00},
325 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
326 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
327 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
328 {BRIDGE
, M5602_XB_LINE_OF_FRAME_H
, 0x81, 0x00},
329 {BRIDGE
, M5602_XB_PIX_OF_LINE_H
, 0x82, 0x00},
330 {BRIDGE
, M5602_XB_SIG_INI
, 0x01, 0x00},
331 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
332 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
333 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
334 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
335 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
336 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
337 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
338 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
339 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
340 {BRIDGE
, M5602_XB_SIG_INI
, 0x02, 0x00},
341 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
342 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
343 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x05, 0x00},
344 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x07, 0x00},
345 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
346 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
347 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xa0, 0x00},
348 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
349 {SENSOR
, MT9M111_SC_SHUTTER_WIDTH
, 0x01, 0xf4},
350 {SENSOR
, MT9M111_SC_GLOBAL_GAIN
, 0x00, 0xea},
352 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x06, 0x00},
353 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
354 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
355 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
356 {BRIDGE
, M5602_XB_LINE_OF_FRAME_H
, 0x81, 0x00},
357 {BRIDGE
, M5602_XB_PIX_OF_LINE_H
, 0x82, 0x00},
358 {BRIDGE
, M5602_XB_SIG_INI
, 0x01, 0x00},
359 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
360 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
361 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
362 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
363 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
364 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
365 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
366 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
367 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
368 {BRIDGE
, M5602_XB_SIG_INI
, 0x02, 0x00},
369 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
370 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
371 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x05, 0x00},
372 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x07, 0x00},
373 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
374 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
375 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
377 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
378 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x09},
379 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
380 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
381 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x0c},
382 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x04},
383 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
384 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xb3, 0x00},
385 {SENSOR
, MT9M111_CP_GLOBAL_CLK_CONTROL
, 0x00, 0x03},
386 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x05, 0x00},
387 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x04, 0x00},
388 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x3e, 0x00},
389 {BRIDGE
, M5602_XB_GPIO_DIR_H
, 0x3e, 0x00},
390 {BRIDGE
, M5602_XB_GPIO_DAT_H
, 0x02, 0x00},
391 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0xff, 0x00},
392 {BRIDGE
, M5602_XB_GPIO_DIR_L
, 0xff, 0x00},
393 {BRIDGE
, M5602_XB_GPIO_DAT_L
, 0x00, 0x00},
394 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x04, 0x00},
395 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
396 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
397 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
398 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
399 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
400 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
401 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
402 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x07, 0x00},
403 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x0b, 0x00},
404 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x06, 0x00},
405 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0x00, 0x00},
406 {BRIDGE
, M5602_XB_I2C_CLK_DIV
, 0x0a, 0x00},
408 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
409 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x05},
410 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
411 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
412 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
413 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
414 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
415 {SENSOR
, MT9M111_CP_OPERATING_MODE_CTL
, 0x00, 0x10},
416 {SENSOR
, MT9M111_CP_LENS_CORRECTION_1
, 0x04, 0x2a},
417 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_A
, 0x00, 0x01},
418 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_B
, 0x00, 0x01},
419 {SENSOR
, MT9M111_CP_LUMA_OFFSET
, 0x00, 0x00},
420 {SENSOR
, MT9M111_CP_LUMA_CLIP
, 0xff, 0x00},
421 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A
, 0x14, 0x00},
422 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B
, 0x14, 0x00},
424 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xcd, 0x00},
425 {SENSOR
, 0xcd, 0x00, 0x0e},
426 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xd0, 0x00},
427 {SENSOR
, 0xd0, 0x00, 0x40},
428 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x02},
429 {SENSOR
, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18
, 0x00, 0x00},
430 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
431 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x07},
432 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
433 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x03},
434 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
435 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
436 {SENSOR
, 0x33, 0x03, 0x49},
437 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
439 {SENSOR
, 0x33, 0x03, 0x49},
440 {SENSOR
, 0x34, 0xc0, 0x19},
441 {SENSOR
, 0x3f, 0x20, 0x20},
442 {SENSOR
, 0x40, 0x20, 0x20},
443 {SENSOR
, 0x5a, 0xc0, 0x0a},
444 {SENSOR
, 0x70, 0x7b, 0x0a},
445 {SENSOR
, 0x71, 0xff, 0x00},
446 {SENSOR
, 0x72, 0x19, 0x0e},
447 {SENSOR
, 0x73, 0x18, 0x0f},
448 {SENSOR
, 0x74, 0x57, 0x32},
449 {SENSOR
, 0x75, 0x56, 0x34},
450 {SENSOR
, 0x76, 0x73, 0x35},
451 {SENSOR
, 0x77, 0x30, 0x12},
452 {SENSOR
, 0x78, 0x79, 0x02},
453 {SENSOR
, 0x79, 0x75, 0x06},
454 {SENSOR
, 0x7a, 0x77, 0x0a},
455 {SENSOR
, 0x7b, 0x78, 0x09},
456 {SENSOR
, 0x7c, 0x7d, 0x06},
457 {SENSOR
, 0x7d, 0x31, 0x10},
458 {SENSOR
, 0x7e, 0x00, 0x7e},
459 {SENSOR
, 0x80, 0x59, 0x04},
460 {SENSOR
, 0x81, 0x59, 0x04},
461 {SENSOR
, 0x82, 0x57, 0x0a},
462 {SENSOR
, 0x83, 0x58, 0x0b},
463 {SENSOR
, 0x84, 0x47, 0x0c},
464 {SENSOR
, 0x85, 0x48, 0x0e},
465 {SENSOR
, 0x86, 0x5b, 0x02},
466 {SENSOR
, 0x87, 0x00, 0x5c},
467 {SENSOR
, MT9M111_CONTEXT_CONTROL
, 0x00, 0x08},
468 {SENSOR
, 0x60, 0x00, 0x80},
469 {SENSOR
, 0x61, 0x00, 0x00},
470 {SENSOR
, 0x62, 0x00, 0x00},
471 {SENSOR
, 0x63, 0x00, 0x00},
472 {SENSOR
, 0x64, 0x00, 0x00},
474 {SENSOR
, MT9M111_SC_ROWSTART
, 0x00, 0x0d},
475 {SENSOR
, MT9M111_SC_COLSTART
, 0x00, 0x18},
476 {SENSOR
, MT9M111_SC_WINDOW_HEIGHT
, 0x04, 0x04},
477 {SENSOR
, MT9M111_SC_WINDOW_WIDTH
, 0x05, 0x08},
478 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_B
, 0x01, 0x38},
479 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_B
, 0x00, 0x11},
480 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_A
, 0x01, 0x38},
481 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_A
, 0x00, 0x11},
482 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_B
, 0x01, 0x03},
483 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_A
, 0x01, 0x03},
484 {SENSOR
, 0x30, 0x04, 0x00},
486 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x06, 0x00},
487 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
488 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
489 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
490 {BRIDGE
, M5602_XB_LINE_OF_FRAME_H
, 0x81, 0x00},
491 {BRIDGE
, M5602_XB_PIX_OF_LINE_H
, 0x82, 0x00},
492 {BRIDGE
, M5602_XB_SIG_INI
, 0x01, 0x00},
493 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
494 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
495 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
496 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
497 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
498 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
499 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
500 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
501 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
502 {BRIDGE
, M5602_XB_SIG_INI
, 0x02, 0x00},
503 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
504 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
505 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x05, 0x00},
506 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x07, 0x00},
507 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
508 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
509 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xa0, 0x00},
510 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
511 {SENSOR
, MT9M111_SC_SHUTTER_WIDTH
, 0x01, 0xf4},
512 {SENSOR
, MT9M111_SC_GLOBAL_GAIN
, 0x00, 0xea},
513 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
514 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
516 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
517 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x09},
518 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
519 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
520 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x0c},
521 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x04},
522 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
524 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xb3, 0x00},
525 {SENSOR
, MT9M111_CP_GLOBAL_CLK_CONTROL
, 0x00, 0x03},
526 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x05, 0x00},
527 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x04, 0x00},
528 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x3e, 0x00},
529 {BRIDGE
, M5602_XB_GPIO_DIR_H
, 0x3e, 0x00},
530 {BRIDGE
, M5602_XB_GPIO_DAT_H
, 0x02, 0x00},
531 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0xff, 0x00},
532 {BRIDGE
, M5602_XB_GPIO_DIR_L
, 0xff, 0x00},
533 {BRIDGE
, M5602_XB_GPIO_DAT_L
, 0x00, 0x00},
534 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x04, 0x00},
535 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
536 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
537 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
538 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
539 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
540 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
541 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
542 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x07, 0x00},
543 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x0b, 0x00},
544 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x06, 0x00},
545 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0x00, 0x00},
546 {BRIDGE
, M5602_XB_I2C_CLK_DIV
, 0x0a, 0x00},
548 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
549 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x05},
550 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
551 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
552 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
553 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
554 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
555 {SENSOR
, MT9M111_CP_OPERATING_MODE_CTL
, 0x00, 0x10},
556 {SENSOR
, MT9M111_CP_LENS_CORRECTION_1
, 0x04, 0x2a},
557 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_A
, 0x00, 0x01},
558 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_B
, 0x00, 0x01},
559 {SENSOR
, MT9M111_CP_LUMA_OFFSET
, 0x00, 0x00},
560 {SENSOR
, MT9M111_CP_LUMA_CLIP
, 0xff, 0x00},
561 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A
, 0x14, 0x00},
562 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B
, 0x14, 0x00},
564 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xcd, 0x00},
565 {SENSOR
, 0xcd, 0x00, 0x0e},
566 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xd0, 0x00},
567 {SENSOR
, 0xd0, 0x00, 0x40},
568 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x02},
569 {SENSOR
, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18
, 0x00, 0x00},
570 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
571 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x07},
572 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
573 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x03},
574 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
575 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
576 {SENSOR
, 0x33, 0x03, 0x49},
577 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
579 {SENSOR
, 0x33, 0x03, 0x49},
580 {SENSOR
, 0x34, 0xc0, 0x19},
581 {SENSOR
, 0x3f, 0x20, 0x20},
582 {SENSOR
, 0x40, 0x20, 0x20},
583 {SENSOR
, 0x5a, 0xc0, 0x0a},
584 {SENSOR
, 0x70, 0x7b, 0x0a},
585 {SENSOR
, 0x71, 0xff, 0x00},
586 {SENSOR
, 0x72, 0x19, 0x0e},
587 {SENSOR
, 0x73, 0x18, 0x0f},
588 {SENSOR
, 0x74, 0x57, 0x32},
589 {SENSOR
, 0x75, 0x56, 0x34},
590 {SENSOR
, 0x76, 0x73, 0x35},
591 {SENSOR
, 0x77, 0x30, 0x12},
592 {SENSOR
, 0x78, 0x79, 0x02},
593 {SENSOR
, 0x79, 0x75, 0x06},
594 {SENSOR
, 0x7a, 0x77, 0x0a},
595 {SENSOR
, 0x7b, 0x78, 0x09},
596 {SENSOR
, 0x7c, 0x7d, 0x06},
597 {SENSOR
, 0x7d, 0x31, 0x10},
598 {SENSOR
, 0x7e, 0x00, 0x7e},
599 {SENSOR
, 0x80, 0x59, 0x04},
600 {SENSOR
, 0x81, 0x59, 0x04},
601 {SENSOR
, 0x82, 0x57, 0x0a},
602 {SENSOR
, 0x83, 0x58, 0x0b},
603 {SENSOR
, 0x84, 0x47, 0x0c},
604 {SENSOR
, 0x85, 0x48, 0x0e},
605 {SENSOR
, 0x86, 0x5b, 0x02},
606 {SENSOR
, 0x87, 0x00, 0x5c},
607 {SENSOR
, MT9M111_CONTEXT_CONTROL
, 0x00, 0x08},
608 {SENSOR
, 0x60, 0x00, 0x80},
609 {SENSOR
, 0x61, 0x00, 0x00},
610 {SENSOR
, 0x62, 0x00, 0x00},
611 {SENSOR
, 0x63, 0x00, 0x00},
612 {SENSOR
, 0x64, 0x00, 0x00},
614 {SENSOR
, MT9M111_SC_ROWSTART
, 0x00, 0x0d},
615 {SENSOR
, MT9M111_SC_COLSTART
, 0x00, 0x18},
616 {SENSOR
, MT9M111_SC_WINDOW_HEIGHT
, 0x04, 0x04},
617 {SENSOR
, MT9M111_SC_WINDOW_WIDTH
, 0x05, 0x08},
618 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_B
, 0x01, 0x38},
619 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_B
, 0x00, 0x11},
620 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_A
, 0x01, 0x38},
621 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_A
, 0x00, 0x11},
622 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_B
, 0x01, 0x03},
623 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_A
, 0x01, 0x03},
624 {SENSOR
, 0x30, 0x04, 0x00},
626 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x06, 0x00},
627 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
628 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
629 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
630 {BRIDGE
, M5602_XB_LINE_OF_FRAME_H
, 0x81, 0x00},
631 {BRIDGE
, M5602_XB_PIX_OF_LINE_H
, 0x82, 0x00},
632 {BRIDGE
, M5602_XB_SIG_INI
, 0x01, 0x00},
633 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
634 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
635 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
636 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
637 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
638 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x04, 0x00},
639 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
640 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
641 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
642 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
643 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x05, 0x00},
644 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x07, 0x00},
645 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
646 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
647 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xa0, 0x00},
648 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
649 {SENSOR
, MT9M111_SC_SHUTTER_WIDTH
, 0x01, 0xf4},
650 {SENSOR
, MT9M111_SC_GLOBAL_GAIN
, 0x00, 0xea},
651 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
652 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
653 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
654 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
655 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
656 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
657 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x09},
658 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
659 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
660 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
661 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
662 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
663 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
664 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
665 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
666 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
667 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
668 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
669 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x0c},
670 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
671 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
672 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
673 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x04},
674 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
675 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
676 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xb3, 0x00},
677 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
678 {SENSOR
, MT9M111_CP_GLOBAL_CLK_CONTROL
, 0x00, 0x03},
679 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x05, 0x00},
680 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x04, 0x00},
681 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x3e, 0x00},
682 {BRIDGE
, M5602_XB_GPIO_DIR_H
, 0x3e, 0x00},
683 {BRIDGE
, M5602_XB_GPIO_DAT_H
, 0x02, 0x00},
684 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0xff, 0x00},
685 {BRIDGE
, M5602_XB_GPIO_DIR_L
, 0xff, 0x00},
686 {BRIDGE
, M5602_XB_GPIO_DAT_L
, 0x00, 0x00},
687 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x04, 0x00},
688 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
689 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
690 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
691 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
692 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
693 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
694 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
695 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x07, 0x00},
696 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x0b, 0x00},
697 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x06, 0x00},
698 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0x00, 0x00},
699 {BRIDGE
, M5602_XB_I2C_CLK_DIV
, 0x0a, 0x00},
700 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
701 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
702 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
703 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
704 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x05},
705 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
706 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
707 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
708 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
709 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
710 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
711 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
712 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
713 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
715 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
716 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
717 {SENSOR
, MT9M111_CP_OPERATING_MODE_CTL
, 0x00, 0x10},
718 {SENSOR
, MT9M111_CP_LENS_CORRECTION_1
, 0x04, 0x2a},
719 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_A
, 0x00, 0x01},
720 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_B
, 0x00, 0x01},
721 {SENSOR
, MT9M111_CP_LUMA_OFFSET
, 0x00, 0x00},
722 {SENSOR
, MT9M111_CP_LUMA_CLIP
, 0xff, 0x00},
723 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A
, 0x14, 0x00},
724 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B
, 0x14, 0x00},
726 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
727 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xcd, 0x00},
728 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
729 {SENSOR
, 0xcd, 0x00, 0x0e},
730 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
731 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xd0, 0x00},
732 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
733 {SENSOR
, 0xd0, 0x00, 0x40},
734 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x02},
735 {SENSOR
, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18
, 0x00, 0x00},
736 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
737 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
738 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
739 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x07},
740 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
741 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
742 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
743 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x03},
744 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
745 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
746 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
747 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
748 {SENSOR
, 0x33, 0x03, 0x49},
749 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
750 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
751 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
753 {SENSOR
, 0x33, 0x03, 0x49},
754 {SENSOR
, 0x34, 0xc0, 0x19},
755 {SENSOR
, 0x3f, 0x20, 0x20},
756 {SENSOR
, 0x40, 0x20, 0x20},
757 {SENSOR
, 0x5a, 0xc0, 0x0a},
758 {SENSOR
, 0x70, 0x7b, 0x0a},
759 {SENSOR
, 0x71, 0xff, 0x00},
760 {SENSOR
, 0x72, 0x19, 0x0e},
761 {SENSOR
, 0x73, 0x18, 0x0f},
762 {SENSOR
, 0x74, 0x57, 0x32},
763 {SENSOR
, 0x75, 0x56, 0x34},
764 {SENSOR
, 0x76, 0x73, 0x35},
765 {SENSOR
, 0x77, 0x30, 0x12},
766 {SENSOR
, 0x78, 0x79, 0x02},
767 {SENSOR
, 0x79, 0x75, 0x06},
768 {SENSOR
, 0x7a, 0x77, 0x0a},
769 {SENSOR
, 0x7b, 0x78, 0x09},
770 {SENSOR
, 0x7c, 0x7d, 0x06},
771 {SENSOR
, 0x7d, 0x31, 0x10},
772 {SENSOR
, 0x7e, 0x00, 0x7e},
773 {SENSOR
, 0x80, 0x59, 0x04},
774 {SENSOR
, 0x81, 0x59, 0x04},
775 {SENSOR
, 0x82, 0x57, 0x0a},
776 {SENSOR
, 0x83, 0x58, 0x0b},
777 {SENSOR
, 0x84, 0x47, 0x0c},
778 {SENSOR
, 0x85, 0x48, 0x0e},
779 {SENSOR
, 0x86, 0x5b, 0x02},
780 {SENSOR
, 0x87, 0x00, 0x5c},
781 {SENSOR
, MT9M111_CONTEXT_CONTROL
, 0x00, 0x08},
782 {SENSOR
, 0x60, 0x00, 0x80},
783 {SENSOR
, 0x61, 0x00, 0x00},
784 {SENSOR
, 0x62, 0x00, 0x00},
785 {SENSOR
, 0x63, 0x00, 0x00},
786 {SENSOR
, 0x64, 0x00, 0x00},
787 {SENSOR
, MT9M111_SC_ROWSTART
, 0x00, 0x0d},
788 {SENSOR
, MT9M111_SC_COLSTART
, 0x00, 0x12},
789 {SENSOR
, MT9M111_SC_WINDOW_HEIGHT
, 0x04, 0x00},
790 {SENSOR
, MT9M111_SC_WINDOW_WIDTH
, 0x05, 0x10},
791 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_B
, 0x01, 0x60},
792 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_B
, 0x00, 0x11},
793 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_A
, 0x01, 0x60},
794 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_A
, 0x00, 0x11},
795 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_B
, 0x01, 0x0f},
796 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_A
, 0x01, 0x0f},
797 {SENSOR
, 0x30, 0x04, 0x00},
799 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x06, 0x00},
800 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
801 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
802 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
803 {BRIDGE
, M5602_XB_LINE_OF_FRAME_H
, 0x81, 0x00},
804 {BRIDGE
, M5602_XB_PIX_OF_LINE_H
, 0x82, 0x00},
805 {BRIDGE
, M5602_XB_SIG_INI
, 0x01, 0x00},
806 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
807 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
808 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
809 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
810 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x01, 0x00},
811 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0xe3, 0x00},
812 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
813 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
814 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
815 {BRIDGE
, M5602_XB_SIG_INI
, 0x02, 0x00},
816 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
817 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
818 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x02, 0x00},
819 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x87, 0x00},
820 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
821 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
822 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
824 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
825 {SENSOR
, MT9M111_SC_SHUTTER_WIDTH
, 0x01, 0x90},
826 {SENSOR
, MT9M111_SC_GLOBAL_GAIN
, 0x00, 0xe6},
827 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
828 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
829 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
830 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
831 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
832 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
833 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x09},
834 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
835 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
836 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
837 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
838 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
839 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
840 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
841 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
842 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
843 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
844 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
845 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x0c},
846 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
847 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
848 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
849 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x04},
850 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
851 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
852 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xb3, 0x00},
853 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
854 {SENSOR
, MT9M111_CP_GLOBAL_CLK_CONTROL
, 0x00, 0x03},
856 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x05, 0x00},
857 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x04, 0x00},
858 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x3e, 0x00},
859 {BRIDGE
, M5602_XB_GPIO_DIR_H
, 0x3e, 0x00},
860 {BRIDGE
, M5602_XB_GPIO_DAT_H
, 0x02, 0x00},
861 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0xff, 0x00},
862 {BRIDGE
, M5602_XB_GPIO_DIR_L
, 0xff, 0x00},
863 {BRIDGE
, M5602_XB_GPIO_DAT_L
, 0x00, 0x00},
864 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x04, 0x00},
865 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
866 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
867 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
868 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
869 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
870 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
871 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
872 {BRIDGE
, M5602_XB_GPIO_DIR
, 0x07, 0x00},
873 {BRIDGE
, M5602_XB_GPIO_DAT
, 0x0b, 0x00},
874 {BRIDGE
, M5602_XB_GPIO_EN_H
, 0x06, 0x00},
875 {BRIDGE
, M5602_XB_GPIO_EN_L
, 0x00, 0x00},
876 {BRIDGE
, M5602_XB_I2C_CLK_DIV
, 0x0a, 0x00},
877 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
878 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
879 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
880 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
881 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x05},
882 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
883 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
884 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
885 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
886 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x29},
887 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
888 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
889 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x0d, 0x00},
890 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
891 {SENSOR
, MT9M111_SC_RESET
, 0x00, 0x08},
892 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x01},
893 {SENSOR
, MT9M111_CP_OPERATING_MODE_CTL
, 0x00, 0x10},
894 {SENSOR
, MT9M111_CP_LENS_CORRECTION_1
, 0x04, 0x2a},
895 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_A
, 0x00, 0x01},
896 {SENSOR
, MT9M111_CP_DEFECT_CORR_CONTEXT_B
, 0x00, 0x01},
897 {SENSOR
, MT9M111_CP_LUMA_OFFSET
, 0x00, 0x00},
898 {SENSOR
, MT9M111_CP_LUMA_CLIP
, 0xff, 0x00},
899 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A
, 0x14, 0x00},
900 {SENSOR
, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B
, 0x14, 0x00},
902 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
903 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xcd, 0x00},
904 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
905 {SENSOR
, 0xcd, 0x00, 0x0e},
906 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
907 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0xd0, 0x00},
908 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
909 {SENSOR
, 0xd0, 0x00, 0x40},
910 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x02},
911 {SENSOR
, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18
, 0x00, 0x00},
912 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
913 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
914 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
915 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x07},
916 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
917 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x28, 0x00},
918 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
919 {SENSOR
, MT9M111_CC_AWB_PARAMETER_7
, 0xef, 0x03},
920 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
922 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
923 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
924 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
925 {SENSOR
, 0x33, 0x03, 0x49},
926 {BRIDGE
, M5602_XB_I2C_DEV_ADDR
, 0xba, 0x00},
927 {BRIDGE
, M5602_XB_I2C_REG_ADDR
, 0x33, 0x00},
928 {BRIDGE
, M5602_XB_I2C_CTRL
, 0x1a, 0x00},
930 {SENSOR
, 0x33, 0x03, 0x49},
931 {SENSOR
, 0x34, 0xc0, 0x19},
932 {SENSOR
, 0x3f, 0x20, 0x20},
933 {SENSOR
, 0x40, 0x20, 0x20},
934 {SENSOR
, 0x5a, 0xc0, 0x0a},
935 {SENSOR
, 0x70, 0x7b, 0x0a},
936 {SENSOR
, 0x71, 0xff, 0x00},
937 {SENSOR
, 0x72, 0x19, 0x0e},
938 {SENSOR
, 0x73, 0x18, 0x0f},
939 {SENSOR
, 0x74, 0x57, 0x32},
940 {SENSOR
, 0x75, 0x56, 0x34},
941 {SENSOR
, 0x76, 0x73, 0x35},
942 {SENSOR
, 0x77, 0x30, 0x12},
943 {SENSOR
, 0x78, 0x79, 0x02},
944 {SENSOR
, 0x79, 0x75, 0x06},
945 {SENSOR
, 0x7a, 0x77, 0x0a},
946 {SENSOR
, 0x7b, 0x78, 0x09},
947 {SENSOR
, 0x7c, 0x7d, 0x06},
948 {SENSOR
, 0x7d, 0x31, 0x10},
949 {SENSOR
, 0x7e, 0x00, 0x7e},
950 {SENSOR
, 0x80, 0x59, 0x04},
951 {SENSOR
, 0x81, 0x59, 0x04},
952 {SENSOR
, 0x82, 0x57, 0x0a},
953 {SENSOR
, 0x83, 0x58, 0x0b},
954 {SENSOR
, 0x84, 0x47, 0x0c},
955 {SENSOR
, 0x85, 0x48, 0x0e},
956 {SENSOR
, 0x86, 0x5b, 0x02},
957 {SENSOR
, 0x87, 0x00, 0x5c},
958 {SENSOR
, MT9M111_CONTEXT_CONTROL
, 0x00, 0x08},
959 {SENSOR
, 0x60, 0x00, 0x80},
960 {SENSOR
, 0x61, 0x00, 0x00},
961 {SENSOR
, 0x62, 0x00, 0x00},
962 {SENSOR
, 0x63, 0x00, 0x00},
963 {SENSOR
, 0x64, 0x00, 0x00},
965 {SENSOR
, MT9M111_SC_ROWSTART
, 0x00, 0x0d},
966 {SENSOR
, MT9M111_SC_COLSTART
, 0x00, 0x12},
967 {SENSOR
, MT9M111_SC_WINDOW_HEIGHT
, 0x04, 0x00},
968 {SENSOR
, MT9M111_SC_WINDOW_WIDTH
, 0x05, 0x10},
969 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_B
, 0x01, 0x60},
970 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_B
, 0x00, 0x11},
971 {SENSOR
, MT9M111_SC_HBLANK_CONTEXT_A
, 0x01, 0x60},
972 {SENSOR
, MT9M111_SC_VBLANK_CONTEXT_A
, 0x00, 0x11},
973 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_B
, 0x01, 0x0f},
974 {SENSOR
, MT9M111_SC_R_MODE_CONTEXT_A
, 0x01, 0x0f},
975 {SENSOR
, 0x30, 0x04, 0x00},
977 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x06, 0x00},
978 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
979 {BRIDGE
, M5602_XB_ADC_CTRL
, 0xc0, 0x00},
980 {BRIDGE
, M5602_XB_SENSOR_TYPE
, 0x09, 0x00},
981 {BRIDGE
, M5602_XB_LINE_OF_FRAME_H
, 0x81, 0x00},
982 {BRIDGE
, M5602_XB_PIX_OF_LINE_H
, 0x82, 0x00},
983 {BRIDGE
, M5602_XB_SIG_INI
, 0x01, 0x00},
984 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
985 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
986 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
987 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
988 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x01, 0x00},
989 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0xe0, 0x00},
990 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
991 {BRIDGE
, M5602_XB_VSYNC_PARA
, 0x00, 0x00},
992 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
993 {BRIDGE
, M5602_XB_SIG_INI
, 0x02, 0x00},
994 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
995 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x00, 0x00},
996 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x02, 0x00}, /* 639*/
997 {BRIDGE
, M5602_XB_HSYNC_PARA
, 0x7f, 0x00},
998 {BRIDGE
, M5602_XB_SIG_INI
, 0x00, 0x00},
999 {BRIDGE
, M5602_XB_SEN_CLK_DIV
, 0x00, 0x00},
1000 {BRIDGE
, M5602_XB_SEN_CLK_CTRL
, 0xb0, 0x00},
1002 {SENSOR
, MT9M111_PAGE_MAP
, 0x00, 0x00},
1003 /* Set number of blank rows chosen to 400 */
1004 {SENSOR
, MT9M111_SC_SHUTTER_WIDTH
, 0x01, 0x90},
1005 /* Set the global gain to 283 (of 512) */
1006 {SENSOR
, MT9M111_SC_GLOBAL_GAIN
, 0x03, 0x63}