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