]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - drivers/media/video/gspca/m5602/m5602_mt9m111.h
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
[linux-2.6-omap-h63xx.git] / drivers / media / video / gspca / m5602 / m5602_mt9m111.h
1 /*
2  * Driver for the mt9m111 sensor
3  *
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>
7  *
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
12  *
13  * Some defines taken from the mt9m111 sensor driver
14  * Copyright (C) 2008, Robert Jarzmik <robert.jarzmik@free.fr>
15  *
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.
19  *
20  */
21
22 #ifndef M5602_MT9M111_H_
23 #define M5602_MT9M111_H_
24
25 #include "m5602_sensor.h"
26
27 /*****************************************************************************/
28
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
40
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
52
53 #define MT9M111_RMB_MIRROR_ROWS                 (1 << 0)
54 #define MT9M111_RMB_MIRROR_COLS                 (1 << 1)
55
56 #define MT9M111_CONTEXT_CONTROL                 0xc8
57 #define MT9M111_PAGE_MAP                        0xf0
58 #define MT9M111_BYTEWISE_ADDRESS                0xf1
59
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
69
70 #define MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18   0x65
71 #define MT9M111_CC_AWB_PARAMETER_7              0x28
72
73 #define MT9M111_SENSOR_CORE                     0x00
74 #define MT9M111_COLORPIPE                       0x01
75 #define MT9M111_CAMERA_CONTROL                  0x02
76
77 #define INITIAL_MAX_GAIN                        64
78 #define DEFAULT_GAIN                            283
79
80 /*****************************************************************************/
81
82 /* Kernel module parameters */
83 extern int force_sensor;
84 extern int dump_sensor;
85
86 int mt9m111_probe(struct sd *sd);
87 int mt9m111_init(struct sd *sd);
88 int mt9m111_power_down(struct sd *sd);
89
90 int mt9m111_read_sensor(struct sd *sd, const u8 address,
91                         u8 *i2c_data, const u8 len);
92
93 int mt9m111_write_sensor(struct sd *sd, const u8 address,
94                          u8 *i2c_data, const u8 len);
95
96 void mt9m111_dump_registers(struct sd *sd);
97
98 int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
99 int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
100 int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
101 int mt9m111_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
102 int mt9m111_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
103 int mt9m111_set_gain(struct gspca_dev *gspca_dev, __s32 val);
104
105 static struct m5602_sensor mt9m111 = {
106         .name = "MT9M111",
107
108         .i2c_slave_id = 0xba,
109
110         .probe = mt9m111_probe,
111         .init = mt9m111_init,
112         .power_down = mt9m111_power_down,
113
114         .read_sensor = mt9m111_read_sensor,
115         .write_sensor = mt9m111_write_sensor,
116
117         .nctrls = 3,
118         .ctrls = {
119         {
120                 {
121                         .id             = V4L2_CID_VFLIP,
122                         .type           = V4L2_CTRL_TYPE_BOOLEAN,
123                         .name           = "vertical flip",
124                         .minimum        = 0,
125                         .maximum        = 1,
126                         .step           = 1,
127                         .default_value  = 0
128                 },
129                 .set = mt9m111_set_vflip,
130                 .get = mt9m111_get_vflip
131         }, {
132                 {
133                         .id             = V4L2_CID_HFLIP,
134                         .type           = V4L2_CTRL_TYPE_BOOLEAN,
135                         .name           = "horizontal flip",
136                         .minimum        = 0,
137                         .maximum        = 1,
138                         .step           = 1,
139                         .default_value  = 0
140                 },
141                 .set = mt9m111_set_hflip,
142                 .get = mt9m111_get_hflip
143         }, {
144                 {
145                         .id             = V4L2_CID_GAIN,
146                         .type           = V4L2_CTRL_TYPE_INTEGER,
147                         .name           = "gain",
148                         .minimum        = 0,
149                         .maximum        = (INITIAL_MAX_GAIN - 1) * 2 * 2 * 2,
150                         .step           = 1,
151                         .default_value  = DEFAULT_GAIN,
152                         .flags          = V4L2_CTRL_FLAG_SLIDER
153                 },
154                 .set = mt9m111_set_gain,
155                 .get = mt9m111_get_gain
156         }
157         },
158
159         .nmodes = 1,
160         .modes = {
161         {
162                 M5602_DEFAULT_FRAME_WIDTH,
163                 M5602_DEFAULT_FRAME_HEIGHT,
164                 V4L2_PIX_FMT_SBGGR8,
165                 V4L2_FIELD_NONE,
166                 .sizeimage =
167                         M5602_DEFAULT_FRAME_WIDTH * M5602_DEFAULT_FRAME_HEIGHT,
168                 .bytesperline = M5602_DEFAULT_FRAME_WIDTH,
169                 .colorspace = V4L2_COLORSPACE_SRGB,
170                 .priv = 1
171         }
172         }
173 };
174
175 static const unsigned char preinit_mt9m111[][4] =
176 {
177         {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00},
178         {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00},
179         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
180         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
181         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x0d, 0x00},
182         {BRIDGE, M5602_XB_SENSOR_CTRL, 0x00, 0x00},
183         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
184         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
185
186         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
187         {SENSOR, MT9M111_SC_RESET, 0xff, 0xf7},
188
189         {BRIDGE, M5602_XB_GPIO_DIR, 0x05, 0x00},
190         {BRIDGE, M5602_XB_GPIO_DAT, 0x04, 0x00},
191         {BRIDGE, M5602_XB_GPIO_EN_H, 0x3e, 0x00},
192         {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3e, 0x00},
193         {BRIDGE, M5602_XB_GPIO_DAT_H, 0x02, 0x00},
194         {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
195         {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
196         {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
197
198         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
199         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
200         {BRIDGE, M5602_XB_GPIO_DIR, 0x07, 0x00},
201         {BRIDGE, M5602_XB_GPIO_DAT, 0x0b, 0x00},
202         {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
203         {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
204
205         {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x0a, 0x00}
206 };
207
208 static const unsigned char init_mt9m111[][4] =
209 {
210         {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00},
211         {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00},
212         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
213         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
214         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
215         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x0d, 0x00},
216         {BRIDGE, M5602_XB_SENSOR_CTRL, 0x00, 0x00},
217         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
218         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
219         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
220         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
221
222         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
223         {SENSOR, MT9M111_SC_RESET, 0xff, 0xff},
224         {SENSOR, MT9M111_SC_RESET, 0xff, 0xff},
225         {SENSOR, MT9M111_SC_RESET, 0xff, 0xde},
226         {SENSOR, MT9M111_SC_RESET, 0xff, 0xff},
227         {SENSOR, MT9M111_SC_RESET, 0xff, 0xf7},
228         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
229
230         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xb3, 0x00},
231
232         {SENSOR, MT9M111_CP_GLOBAL_CLK_CONTROL, 0xff, 0xff},
233
234         {BRIDGE, M5602_XB_GPIO_DIR, 0x05, 0x00},
235         {BRIDGE, M5602_XB_GPIO_DAT, 0x04, 0x00},
236         {BRIDGE, M5602_XB_GPIO_EN_H, 0x3e, 0x00},
237         {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3e, 0x00},
238         {BRIDGE, M5602_XB_GPIO_DAT_H, 0x02, 0x00},
239         {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
240         {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
241         {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
242         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x04, 0x00},
243         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
244         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
245         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
246         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
247         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
248         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
249         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
250         {BRIDGE, M5602_XB_GPIO_DIR, 0x07, 0x00},
251         {BRIDGE, M5602_XB_GPIO_DAT, 0x0b, 0x00},
252         {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
253         {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
254         {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x0a, 0x00},
255
256         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
257         {SENSOR, MT9M111_SC_RESET, 0x00, 0x05},
258         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
259         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
260         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
261         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
262         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
263         {SENSOR, MT9M111_CP_OPERATING_MODE_CTL, 0x00, 0x10},
264         {SENSOR, MT9M111_CP_LENS_CORRECTION_1, 0x04, 0x2a},
265         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_A, 0x00, 0x01},
266         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_B, 0x00, 0x01},
267         {SENSOR, MT9M111_CP_LUMA_OFFSET, 0x00, 0x00},
268         {SENSOR, MT9M111_CP_LUMA_CLIP, 0xff, 0x00},
269         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A, 0x14, 0x00},
270         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B, 0x14, 0x00},
271         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xcd, 0x00},
272
273         {SENSOR, 0xcd, 0x00, 0x0e},
274         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xd0, 0x00},
275         {SENSOR, 0xd0, 0x00, 0x40},
276         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x02},
277         {SENSOR, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18, 0x00, 0x00},
278         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
279         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x07},
280         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
281         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x03},
282         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
283         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
284         {SENSOR, 0x33, 0x03, 0x49},
285         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
286
287         {SENSOR, 0x33, 0x03, 0x49},
288         {SENSOR, 0x34, 0xc0, 0x19},
289         {SENSOR, 0x3f, 0x20, 0x20},
290         {SENSOR, 0x40, 0x20, 0x20},
291         {SENSOR, 0x5a, 0xc0, 0x0a},
292         {SENSOR, 0x70, 0x7b, 0x0a},
293         {SENSOR, 0x71, 0xff, 0x00},
294         {SENSOR, 0x72, 0x19, 0x0e},
295         {SENSOR, 0x73, 0x18, 0x0f},
296         {SENSOR, 0x74, 0x57, 0x32},
297         {SENSOR, 0x75, 0x56, 0x34},
298         {SENSOR, 0x76, 0x73, 0x35},
299         {SENSOR, 0x77, 0x30, 0x12},
300         {SENSOR, 0x78, 0x79, 0x02},
301         {SENSOR, 0x79, 0x75, 0x06},
302         {SENSOR, 0x7a, 0x77, 0x0a},
303         {SENSOR, 0x7b, 0x78, 0x09},
304         {SENSOR, 0x7c, 0x7d, 0x06},
305         {SENSOR, 0x7d, 0x31, 0x10},
306         {SENSOR, 0x7e, 0x00, 0x7e},
307         {SENSOR, 0x80, 0x59, 0x04},
308         {SENSOR, 0x81, 0x59, 0x04},
309         {SENSOR, 0x82, 0x57, 0x0a},
310         {SENSOR, 0x83, 0x58, 0x0b},
311         {SENSOR, 0x84, 0x47, 0x0c},
312         {SENSOR, 0x85, 0x48, 0x0e},
313         {SENSOR, 0x86, 0x5b, 0x02},
314         {SENSOR, 0x87, 0x00, 0x5c},
315         {SENSOR, MT9M111_CONTEXT_CONTROL, 0x00, 0x08},
316         {SENSOR, 0x60, 0x00, 0x80},
317         {SENSOR, 0x61, 0x00, 0x00},
318         {SENSOR, 0x62, 0x00, 0x00},
319         {SENSOR, 0x63, 0x00, 0x00},
320         {SENSOR, 0x64, 0x00, 0x00},
321
322         {SENSOR, MT9M111_SC_ROWSTART, 0x00, 0x0d},
323         {SENSOR, MT9M111_SC_COLSTART, 0x00, 0x18},
324         {SENSOR, MT9M111_SC_WINDOW_HEIGHT, 0x04, 0x04},
325         {SENSOR, MT9M111_SC_WINDOW_WIDTH, 0x05, 0x08},
326         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_B, 0x01, 0x38},
327         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_B, 0x00, 0x11},
328         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_A, 0x01, 0x38},
329         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_A, 0x00, 0x11},
330         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_B, 0x01, 0x03},
331         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_A, 0x01, 0x03},
332         {SENSOR, 0x30, 0x04, 0x00},
333
334         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
335         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
336         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
337         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
338         {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
339         {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
340         {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
341         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
342         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
343         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
344         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
345         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
346         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
347         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
348         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
349         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
350         {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
351         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
352         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
353         {BRIDGE, M5602_XB_HSYNC_PARA, 0x05, 0x00},
354         {BRIDGE, M5602_XB_HSYNC_PARA, 0x07, 0x00},
355         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
356         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
357         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xa0, 0x00},
358         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
359         {SENSOR, MT9M111_SC_SHUTTER_WIDTH, 0x01, 0xf4},
360         {SENSOR, MT9M111_SC_GLOBAL_GAIN, 0x00, 0xea},
361
362         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
363         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
364         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
365         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
366         {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
367         {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
368         {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
369         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
370         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
371         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
372         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
373         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
374         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
375         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
376         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
377         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
378         {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
379         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
380         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
381         {BRIDGE, M5602_XB_HSYNC_PARA, 0x05, 0x00},
382         {BRIDGE, M5602_XB_HSYNC_PARA, 0x07, 0x00},
383         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
384         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
385         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
386
387         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
388         {SENSOR, MT9M111_SC_RESET, 0x00, 0x09},
389         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
390         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
391         {SENSOR, MT9M111_SC_RESET, 0x00, 0x0c},
392         {SENSOR, MT9M111_SC_RESET, 0x00, 0x04},
393         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
394         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xb3, 0x00},
395         {SENSOR, MT9M111_CP_GLOBAL_CLK_CONTROL, 0x00, 0x03},
396         {BRIDGE, M5602_XB_GPIO_DIR, 0x05, 0x00},
397         {BRIDGE, M5602_XB_GPIO_DAT, 0x04, 0x00},
398         {BRIDGE, M5602_XB_GPIO_EN_H, 0x3e, 0x00},
399         {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3e, 0x00},
400         {BRIDGE, M5602_XB_GPIO_DAT_H, 0x02, 0x00},
401         {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
402         {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
403         {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
404         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x04, 0x00},
405         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
406         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
407         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
408         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
409         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
410         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
411         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
412         {BRIDGE, M5602_XB_GPIO_DIR, 0x07, 0x00},
413         {BRIDGE, M5602_XB_GPIO_DAT, 0x0b, 0x00},
414         {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
415         {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
416         {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x0a, 0x00},
417
418         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
419         {SENSOR, MT9M111_SC_RESET, 0x00, 0x05},
420         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
421         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
422         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
423         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
424         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
425         {SENSOR, MT9M111_CP_OPERATING_MODE_CTL, 0x00, 0x10},
426         {SENSOR, MT9M111_CP_LENS_CORRECTION_1, 0x04, 0x2a},
427         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_A, 0x00, 0x01},
428         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_B, 0x00, 0x01},
429         {SENSOR, MT9M111_CP_LUMA_OFFSET, 0x00, 0x00},
430         {SENSOR, MT9M111_CP_LUMA_CLIP, 0xff, 0x00},
431         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A, 0x14, 0x00},
432         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B, 0x14, 0x00},
433
434         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xcd, 0x00},
435         {SENSOR, 0xcd, 0x00, 0x0e},
436         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xd0, 0x00},
437         {SENSOR, 0xd0, 0x00, 0x40},
438         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x02},
439         {SENSOR, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18, 0x00, 0x00},
440         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
441         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x07},
442         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
443         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x03},
444         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
445         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
446         {SENSOR, 0x33, 0x03, 0x49},
447         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
448
449         {SENSOR, 0x33, 0x03, 0x49},
450         {SENSOR, 0x34, 0xc0, 0x19},
451         {SENSOR, 0x3f, 0x20, 0x20},
452         {SENSOR, 0x40, 0x20, 0x20},
453         {SENSOR, 0x5a, 0xc0, 0x0a},
454         {SENSOR, 0x70, 0x7b, 0x0a},
455         {SENSOR, 0x71, 0xff, 0x00},
456         {SENSOR, 0x72, 0x19, 0x0e},
457         {SENSOR, 0x73, 0x18, 0x0f},
458         {SENSOR, 0x74, 0x57, 0x32},
459         {SENSOR, 0x75, 0x56, 0x34},
460         {SENSOR, 0x76, 0x73, 0x35},
461         {SENSOR, 0x77, 0x30, 0x12},
462         {SENSOR, 0x78, 0x79, 0x02},
463         {SENSOR, 0x79, 0x75, 0x06},
464         {SENSOR, 0x7a, 0x77, 0x0a},
465         {SENSOR, 0x7b, 0x78, 0x09},
466         {SENSOR, 0x7c, 0x7d, 0x06},
467         {SENSOR, 0x7d, 0x31, 0x10},
468         {SENSOR, 0x7e, 0x00, 0x7e},
469         {SENSOR, 0x80, 0x59, 0x04},
470         {SENSOR, 0x81, 0x59, 0x04},
471         {SENSOR, 0x82, 0x57, 0x0a},
472         {SENSOR, 0x83, 0x58, 0x0b},
473         {SENSOR, 0x84, 0x47, 0x0c},
474         {SENSOR, 0x85, 0x48, 0x0e},
475         {SENSOR, 0x86, 0x5b, 0x02},
476         {SENSOR, 0x87, 0x00, 0x5c},
477         {SENSOR, MT9M111_CONTEXT_CONTROL, 0x00, 0x08},
478         {SENSOR, 0x60, 0x00, 0x80},
479         {SENSOR, 0x61, 0x00, 0x00},
480         {SENSOR, 0x62, 0x00, 0x00},
481         {SENSOR, 0x63, 0x00, 0x00},
482         {SENSOR, 0x64, 0x00, 0x00},
483
484         {SENSOR, MT9M111_SC_ROWSTART, 0x00, 0x0d},
485         {SENSOR, MT9M111_SC_COLSTART, 0x00, 0x18},
486         {SENSOR, MT9M111_SC_WINDOW_HEIGHT, 0x04, 0x04},
487         {SENSOR, MT9M111_SC_WINDOW_WIDTH, 0x05, 0x08},
488         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_B, 0x01, 0x38},
489         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_B, 0x00, 0x11},
490         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_A, 0x01, 0x38},
491         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_A, 0x00, 0x11},
492         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_B, 0x01, 0x03},
493         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_A, 0x01, 0x03},
494         {SENSOR, 0x30, 0x04, 0x00},
495
496         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
497         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
498         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
499         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
500         {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
501         {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
502         {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
503         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
504         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
505         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
506         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
507         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
508         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
509         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
510         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
511         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
512         {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
513         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
514         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
515         {BRIDGE, M5602_XB_HSYNC_PARA, 0x05, 0x00},
516         {BRIDGE, M5602_XB_HSYNC_PARA, 0x07, 0x00},
517         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
518         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
519         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xa0, 0x00},
520         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
521         {SENSOR, MT9M111_SC_SHUTTER_WIDTH, 0x01, 0xf4},
522         {SENSOR, MT9M111_SC_GLOBAL_GAIN, 0x00, 0xea},
523         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
524         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
525
526         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
527         {SENSOR, MT9M111_SC_RESET, 0x00, 0x09},
528         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
529         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
530         {SENSOR, MT9M111_SC_RESET, 0x00, 0x0c},
531         {SENSOR, MT9M111_SC_RESET, 0x00, 0x04},
532         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
533
534         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xb3, 0x00},
535         {SENSOR, MT9M111_CP_GLOBAL_CLK_CONTROL, 0x00, 0x03},
536         {BRIDGE, M5602_XB_GPIO_DIR, 0x05, 0x00},
537         {BRIDGE, M5602_XB_GPIO_DAT, 0x04, 0x00},
538         {BRIDGE, M5602_XB_GPIO_EN_H, 0x3e, 0x00},
539         {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3e, 0x00},
540         {BRIDGE, M5602_XB_GPIO_DAT_H, 0x02, 0x00},
541         {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
542         {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
543         {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
544         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x04, 0x00},
545         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
546         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
547         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
548         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
549         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
550         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
551         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
552         {BRIDGE, M5602_XB_GPIO_DIR, 0x07, 0x00},
553         {BRIDGE, M5602_XB_GPIO_DAT, 0x0b, 0x00},
554         {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
555         {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
556         {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x0a, 0x00},
557
558         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
559         {SENSOR, MT9M111_SC_RESET, 0x00, 0x05},
560         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
561         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
562         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
563         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
564         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
565         {SENSOR, MT9M111_CP_OPERATING_MODE_CTL, 0x00, 0x10},
566         {SENSOR, MT9M111_CP_LENS_CORRECTION_1, 0x04, 0x2a},
567         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_A, 0x00, 0x01},
568         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_B, 0x00, 0x01},
569         {SENSOR, MT9M111_CP_LUMA_OFFSET, 0x00, 0x00},
570         {SENSOR, MT9M111_CP_LUMA_CLIP, 0xff, 0x00},
571         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A, 0x14, 0x00},
572         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B, 0x14, 0x00},
573
574         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xcd, 0x00},
575         {SENSOR, 0xcd, 0x00, 0x0e},
576         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xd0, 0x00},
577         {SENSOR, 0xd0, 0x00, 0x40},
578         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x02},
579         {SENSOR, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18, 0x00, 0x00},
580         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
581         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x07},
582         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
583         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x03},
584         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
585         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
586         {SENSOR, 0x33, 0x03, 0x49},
587         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
588
589         {SENSOR, 0x33, 0x03, 0x49},
590         {SENSOR, 0x34, 0xc0, 0x19},
591         {SENSOR, 0x3f, 0x20, 0x20},
592         {SENSOR, 0x40, 0x20, 0x20},
593         {SENSOR, 0x5a, 0xc0, 0x0a},
594         {SENSOR, 0x70, 0x7b, 0x0a},
595         {SENSOR, 0x71, 0xff, 0x00},
596         {SENSOR, 0x72, 0x19, 0x0e},
597         {SENSOR, 0x73, 0x18, 0x0f},
598         {SENSOR, 0x74, 0x57, 0x32},
599         {SENSOR, 0x75, 0x56, 0x34},
600         {SENSOR, 0x76, 0x73, 0x35},
601         {SENSOR, 0x77, 0x30, 0x12},
602         {SENSOR, 0x78, 0x79, 0x02},
603         {SENSOR, 0x79, 0x75, 0x06},
604         {SENSOR, 0x7a, 0x77, 0x0a},
605         {SENSOR, 0x7b, 0x78, 0x09},
606         {SENSOR, 0x7c, 0x7d, 0x06},
607         {SENSOR, 0x7d, 0x31, 0x10},
608         {SENSOR, 0x7e, 0x00, 0x7e},
609         {SENSOR, 0x80, 0x59, 0x04},
610         {SENSOR, 0x81, 0x59, 0x04},
611         {SENSOR, 0x82, 0x57, 0x0a},
612         {SENSOR, 0x83, 0x58, 0x0b},
613         {SENSOR, 0x84, 0x47, 0x0c},
614         {SENSOR, 0x85, 0x48, 0x0e},
615         {SENSOR, 0x86, 0x5b, 0x02},
616         {SENSOR, 0x87, 0x00, 0x5c},
617         {SENSOR, MT9M111_CONTEXT_CONTROL, 0x00, 0x08},
618         {SENSOR, 0x60, 0x00, 0x80},
619         {SENSOR, 0x61, 0x00, 0x00},
620         {SENSOR, 0x62, 0x00, 0x00},
621         {SENSOR, 0x63, 0x00, 0x00},
622         {SENSOR, 0x64, 0x00, 0x00},
623
624         {SENSOR, MT9M111_SC_ROWSTART, 0x00, 0x0d},
625         {SENSOR, MT9M111_SC_COLSTART, 0x00, 0x18},
626         {SENSOR, MT9M111_SC_WINDOW_HEIGHT, 0x04, 0x04},
627         {SENSOR, MT9M111_SC_WINDOW_WIDTH, 0x05, 0x08},
628         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_B, 0x01, 0x38},
629         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_B, 0x00, 0x11},
630         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_A, 0x01, 0x38},
631         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_A, 0x00, 0x11},
632         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_B, 0x01, 0x03},
633         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_A, 0x01, 0x03},
634         {SENSOR, 0x30, 0x04, 0x00},
635
636         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
637         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
638         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
639         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
640         {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
641         {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
642         {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
643         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
644         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
645         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
646         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
647         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
648         {BRIDGE, M5602_XB_VSYNC_PARA, 0x04, 0x00},
649         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
650         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
651         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
652         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
653         {BRIDGE, M5602_XB_HSYNC_PARA, 0x05, 0x00},
654         {BRIDGE, M5602_XB_HSYNC_PARA, 0x07, 0x00},
655         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
656         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
657         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xa0, 0x00},
658         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
659         {SENSOR, MT9M111_SC_SHUTTER_WIDTH, 0x01, 0xf4},
660         {SENSOR, MT9M111_SC_GLOBAL_GAIN, 0x00, 0xea},
661         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
662         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
663         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
664         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
665         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
666         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
667         {SENSOR, MT9M111_SC_RESET, 0x00, 0x09},
668         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
669         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
670         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
671         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
672         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
673         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
674         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
675         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
676         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
677         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
678         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
679         {SENSOR, MT9M111_SC_RESET, 0x00, 0x0c},
680         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
681         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
682         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
683         {SENSOR, MT9M111_SC_RESET, 0x00, 0x04},
684         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
685         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
686         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xb3, 0x00},
687         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
688         {SENSOR, MT9M111_CP_GLOBAL_CLK_CONTROL, 0x00, 0x03},
689         {BRIDGE, M5602_XB_GPIO_DIR, 0x05, 0x00},
690         {BRIDGE, M5602_XB_GPIO_DAT, 0x04, 0x00},
691         {BRIDGE, M5602_XB_GPIO_EN_H, 0x3e, 0x00},
692         {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3e, 0x00},
693         {BRIDGE, M5602_XB_GPIO_DAT_H, 0x02, 0x00},
694         {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
695         {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
696         {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
697         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x04, 0x00},
698         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
699         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
700         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
701         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
702         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
703         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
704         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
705         {BRIDGE, M5602_XB_GPIO_DIR, 0x07, 0x00},
706         {BRIDGE, M5602_XB_GPIO_DAT, 0x0b, 0x00},
707         {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
708         {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
709         {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x0a, 0x00},
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},
714         {SENSOR, MT9M111_SC_RESET, 0x00, 0x05},
715         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
716         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
717         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
718         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
719         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
720         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
721         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
722         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
723         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
724
725         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
726         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
727         {SENSOR, MT9M111_CP_OPERATING_MODE_CTL, 0x00, 0x10},
728         {SENSOR, MT9M111_CP_LENS_CORRECTION_1, 0x04, 0x2a},
729         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_A, 0x00, 0x01},
730         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_B, 0x00, 0x01},
731         {SENSOR, MT9M111_CP_LUMA_OFFSET, 0x00, 0x00},
732         {SENSOR, MT9M111_CP_LUMA_CLIP, 0xff, 0x00},
733         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A, 0x14, 0x00},
734         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B, 0x14, 0x00},
735
736         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
737         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xcd, 0x00},
738         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
739         {SENSOR, 0xcd, 0x00, 0x0e},
740         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
741         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xd0, 0x00},
742         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
743         {SENSOR, 0xd0, 0x00, 0x40},
744         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x02},
745         {SENSOR, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18, 0x00, 0x00},
746         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
747         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
748         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
749         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x07},
750         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
751         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
752         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
753         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x03},
754         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
755         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
756         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
757         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
758         {SENSOR, 0x33, 0x03, 0x49},
759         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
760         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
761         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
762
763         {SENSOR, 0x33, 0x03, 0x49},
764         {SENSOR, 0x34, 0xc0, 0x19},
765         {SENSOR, 0x3f, 0x20, 0x20},
766         {SENSOR, 0x40, 0x20, 0x20},
767         {SENSOR, 0x5a, 0xc0, 0x0a},
768         {SENSOR, 0x70, 0x7b, 0x0a},
769         {SENSOR, 0x71, 0xff, 0x00},
770         {SENSOR, 0x72, 0x19, 0x0e},
771         {SENSOR, 0x73, 0x18, 0x0f},
772         {SENSOR, 0x74, 0x57, 0x32},
773         {SENSOR, 0x75, 0x56, 0x34},
774         {SENSOR, 0x76, 0x73, 0x35},
775         {SENSOR, 0x77, 0x30, 0x12},
776         {SENSOR, 0x78, 0x79, 0x02},
777         {SENSOR, 0x79, 0x75, 0x06},
778         {SENSOR, 0x7a, 0x77, 0x0a},
779         {SENSOR, 0x7b, 0x78, 0x09},
780         {SENSOR, 0x7c, 0x7d, 0x06},
781         {SENSOR, 0x7d, 0x31, 0x10},
782         {SENSOR, 0x7e, 0x00, 0x7e},
783         {SENSOR, 0x80, 0x59, 0x04},
784         {SENSOR, 0x81, 0x59, 0x04},
785         {SENSOR, 0x82, 0x57, 0x0a},
786         {SENSOR, 0x83, 0x58, 0x0b},
787         {SENSOR, 0x84, 0x47, 0x0c},
788         {SENSOR, 0x85, 0x48, 0x0e},
789         {SENSOR, 0x86, 0x5b, 0x02},
790         {SENSOR, 0x87, 0x00, 0x5c},
791         {SENSOR, MT9M111_CONTEXT_CONTROL, 0x00, 0x08},
792         {SENSOR, 0x60, 0x00, 0x80},
793         {SENSOR, 0x61, 0x00, 0x00},
794         {SENSOR, 0x62, 0x00, 0x00},
795         {SENSOR, 0x63, 0x00, 0x00},
796         {SENSOR, 0x64, 0x00, 0x00},
797         {SENSOR, MT9M111_SC_ROWSTART, 0x00, 0x0d},
798         {SENSOR, MT9M111_SC_COLSTART, 0x00, 0x12},
799         {SENSOR, MT9M111_SC_WINDOW_HEIGHT, 0x04, 0x00},
800         {SENSOR, MT9M111_SC_WINDOW_WIDTH, 0x05, 0x10},
801         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_B, 0x01, 0x60},
802         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_B, 0x00, 0x11},
803         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_A, 0x01, 0x60},
804         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_A, 0x00, 0x11},
805         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_B, 0x01, 0x0f},
806         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_A, 0x01, 0x0f},
807         {SENSOR, 0x30, 0x04, 0x00},
808
809         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
810         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
811         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
812         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
813         {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
814         {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
815         {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
816         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
817         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
818         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
819         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
820         {BRIDGE, M5602_XB_VSYNC_PARA, 0x01, 0x00},
821         {BRIDGE, M5602_XB_VSYNC_PARA, 0xe3, 0x00},
822         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
823         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
824         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
825         {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
826         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
827         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
828         {BRIDGE, M5602_XB_HSYNC_PARA, 0x02, 0x00},
829         {BRIDGE, M5602_XB_HSYNC_PARA, 0x87, 0x00},
830         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
831         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
832         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
833
834         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
835         {SENSOR, MT9M111_SC_SHUTTER_WIDTH, 0x01, 0x90},
836         {SENSOR, MT9M111_SC_GLOBAL_GAIN, 0x00, 0xe6},
837         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
838         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
839         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
840         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
841         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
842         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
843         {SENSOR, MT9M111_SC_RESET, 0x00, 0x09},
844         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
845         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
846         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
847         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
848         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
849         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
850         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
851         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
852         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
853         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
854         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
855         {SENSOR, MT9M111_SC_RESET, 0x00, 0x0c},
856         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
857         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
858         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
859         {SENSOR, MT9M111_SC_RESET, 0x00, 0x04},
860         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
861         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
862         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xb3, 0x00},
863         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
864         {SENSOR, MT9M111_CP_GLOBAL_CLK_CONTROL, 0x00, 0x03},
865
866         {BRIDGE, M5602_XB_GPIO_DIR, 0x05, 0x00},
867         {BRIDGE, M5602_XB_GPIO_DAT, 0x04, 0x00},
868         {BRIDGE, M5602_XB_GPIO_EN_H, 0x3e, 0x00},
869         {BRIDGE, M5602_XB_GPIO_DIR_H, 0x3e, 0x00},
870         {BRIDGE, M5602_XB_GPIO_DAT_H, 0x02, 0x00},
871         {BRIDGE, M5602_XB_GPIO_EN_L, 0xff, 0x00},
872         {BRIDGE, M5602_XB_GPIO_DIR_L, 0xff, 0x00},
873         {BRIDGE, M5602_XB_GPIO_DAT_L, 0x00, 0x00},
874         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x04, 0x00},
875         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
876         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
877         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
878         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
879         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
880         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
881         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
882         {BRIDGE, M5602_XB_GPIO_DIR, 0x07, 0x00},
883         {BRIDGE, M5602_XB_GPIO_DAT, 0x0b, 0x00},
884         {BRIDGE, M5602_XB_GPIO_EN_H, 0x06, 0x00},
885         {BRIDGE, M5602_XB_GPIO_EN_L, 0x00, 0x00},
886         {BRIDGE, M5602_XB_I2C_CLK_DIV, 0x0a, 0x00},
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, 0x05},
892         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
893         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
894         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
895         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
896         {SENSOR, MT9M111_SC_RESET, 0x00, 0x29},
897         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
898         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
899         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x0d, 0x00},
900         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
901         {SENSOR, MT9M111_SC_RESET, 0x00, 0x08},
902         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x01},
903         {SENSOR, MT9M111_CP_OPERATING_MODE_CTL, 0x00, 0x10},
904         {SENSOR, MT9M111_CP_LENS_CORRECTION_1, 0x04, 0x2a},
905         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_A, 0x00, 0x01},
906         {SENSOR, MT9M111_CP_DEFECT_CORR_CONTEXT_B, 0x00, 0x01},
907         {SENSOR, MT9M111_CP_LUMA_OFFSET, 0x00, 0x00},
908         {SENSOR, MT9M111_CP_LUMA_CLIP, 0xff, 0x00},
909         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_A, 0x14, 0x00},
910         {SENSOR, MT9M111_CP_OUTPUT_FORMAT_CTL2_CONTEXT_B, 0x14, 0x00},
911
912         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
913         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xcd, 0x00},
914         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
915         {SENSOR, 0xcd, 0x00, 0x0e},
916         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
917         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0xd0, 0x00},
918         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
919         {SENSOR, 0xd0, 0x00, 0x40},
920         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x02},
921         {SENSOR, MT9M111_CC_AUTO_EXPOSURE_PARAMETER_18, 0x00, 0x00},
922         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
923         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
924         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
925         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x07},
926         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
927         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x28, 0x00},
928         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
929         {SENSOR, MT9M111_CC_AWB_PARAMETER_7, 0xef, 0x03},
930         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
931
932         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
933         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
934         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
935         {SENSOR, 0x33, 0x03, 0x49},
936         {BRIDGE, M5602_XB_I2C_DEV_ADDR, 0xba, 0x00},
937         {BRIDGE, M5602_XB_I2C_REG_ADDR, 0x33, 0x00},
938         {BRIDGE, M5602_XB_I2C_CTRL, 0x1a, 0x00},
939
940         {SENSOR, 0x33, 0x03, 0x49},
941         {SENSOR, 0x34, 0xc0, 0x19},
942         {SENSOR, 0x3f, 0x20, 0x20},
943         {SENSOR, 0x40, 0x20, 0x20},
944         {SENSOR, 0x5a, 0xc0, 0x0a},
945         {SENSOR, 0x70, 0x7b, 0x0a},
946         {SENSOR, 0x71, 0xff, 0x00},
947         {SENSOR, 0x72, 0x19, 0x0e},
948         {SENSOR, 0x73, 0x18, 0x0f},
949         {SENSOR, 0x74, 0x57, 0x32},
950         {SENSOR, 0x75, 0x56, 0x34},
951         {SENSOR, 0x76, 0x73, 0x35},
952         {SENSOR, 0x77, 0x30, 0x12},
953         {SENSOR, 0x78, 0x79, 0x02},
954         {SENSOR, 0x79, 0x75, 0x06},
955         {SENSOR, 0x7a, 0x77, 0x0a},
956         {SENSOR, 0x7b, 0x78, 0x09},
957         {SENSOR, 0x7c, 0x7d, 0x06},
958         {SENSOR, 0x7d, 0x31, 0x10},
959         {SENSOR, 0x7e, 0x00, 0x7e},
960         {SENSOR, 0x80, 0x59, 0x04},
961         {SENSOR, 0x81, 0x59, 0x04},
962         {SENSOR, 0x82, 0x57, 0x0a},
963         {SENSOR, 0x83, 0x58, 0x0b},
964         {SENSOR, 0x84, 0x47, 0x0c},
965         {SENSOR, 0x85, 0x48, 0x0e},
966         {SENSOR, 0x86, 0x5b, 0x02},
967         {SENSOR, 0x87, 0x00, 0x5c},
968         {SENSOR, MT9M111_CONTEXT_CONTROL, 0x00, 0x08},
969         {SENSOR, 0x60, 0x00, 0x80},
970         {SENSOR, 0x61, 0x00, 0x00},
971         {SENSOR, 0x62, 0x00, 0x00},
972         {SENSOR, 0x63, 0x00, 0x00},
973         {SENSOR, 0x64, 0x00, 0x00},
974
975         {SENSOR, MT9M111_SC_ROWSTART, 0x00, 0x0d},
976         {SENSOR, MT9M111_SC_COLSTART, 0x00, 0x12},
977         {SENSOR, MT9M111_SC_WINDOW_HEIGHT, 0x04, 0x00},
978         {SENSOR, MT9M111_SC_WINDOW_WIDTH, 0x05, 0x10},
979         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_B, 0x01, 0x60},
980         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_B, 0x00, 0x11},
981         {SENSOR, MT9M111_SC_HBLANK_CONTEXT_A, 0x01, 0x60},
982         {SENSOR, MT9M111_SC_VBLANK_CONTEXT_A, 0x00, 0x11},
983         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_B, 0x01, 0x0f},
984         {SENSOR, MT9M111_SC_R_MODE_CONTEXT_A, 0x01, 0x0f},
985         {SENSOR, 0x30, 0x04, 0x00},
986
987         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x06, 0x00},
988         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
989         {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00},
990         {BRIDGE, M5602_XB_SENSOR_TYPE, 0x09, 0x00},
991         {BRIDGE, M5602_XB_LINE_OF_FRAME_H, 0x81, 0x00},
992         {BRIDGE, M5602_XB_PIX_OF_LINE_H, 0x82, 0x00},
993         {BRIDGE, M5602_XB_SIG_INI, 0x01, 0x00},
994         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
995         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
996         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
997         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
998         {BRIDGE, M5602_XB_VSYNC_PARA, 0x01, 0x00},
999         {BRIDGE, M5602_XB_VSYNC_PARA, 0xe0, 0x00},
1000         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
1001         {BRIDGE, M5602_XB_VSYNC_PARA, 0x00, 0x00},
1002         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
1003         {BRIDGE, M5602_XB_SIG_INI, 0x02, 0x00},
1004         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
1005         {BRIDGE, M5602_XB_HSYNC_PARA, 0x00, 0x00},
1006         {BRIDGE, M5602_XB_HSYNC_PARA, 0x02, 0x00},
1007         {BRIDGE, M5602_XB_HSYNC_PARA, 0x7f, 0x00},
1008         {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00},
1009         {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00},
1010         {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00},
1011
1012         {SENSOR, MT9M111_PAGE_MAP, 0x00, 0x00},
1013         /* Set number of blank rows chosen to 400 */
1014         {SENSOR, MT9M111_SC_SHUTTER_WIDTH, 0x01, 0x90},
1015         /* Set the global gain to 283 (of 512) */
1016         {SENSOR, MT9M111_SC_GLOBAL_GAIN, 0x03, 0x63}
1017 };
1018
1019 #endif