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