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