rk2928 add phonepad support
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-rk2928 / board-rk2928-phonepad-760-camera.c
1 #ifdef CONFIG_VIDEO_RK29
2 /*---------------- Camera Sensor Macro Define Begin  ------------------------*/
3 /*---------------- Camera Sensor Configuration Macro Begin ------------------------*/
4 #define CONFIG_SENSOR_0 RK29_CAM_SENSOR_GC2035                                          /* back camera sensor */
5 #define CONFIG_SENSOR_IIC_ADDR_0                0x78
6 #define CONFIG_SENSOR_IIC_ADAPTER_ID_0    1
7 #define CONFIG_SENSOR_CIF_INDEX_0                    0
8 #define CONFIG_SENSOR_ORIENTATION_0       90
9 #define CONFIG_SENSOR_POWER_PIN_0                 INVALID_GPIO
10 #define CONFIG_SENSOR_RESET_PIN_0                 INVALID_GPIO
11 #define CONFIG_SENSOR_POWERDN_PIN_0             RK2928_PIN3_PB3
12 #define CONFIG_SENSOR_FALSH_PIN_0                 INVALID_GPIO
13 #define CONFIG_SENSOR_POWERACTIVE_LEVEL_0 RK29_CAM_POWERACTIVE_L
14 #define CONFIG_SENSOR_RESETACTIVE_LEVEL_0 RK29_CAM_RESETACTIVE_L
15 #define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_0 RK29_CAM_POWERDNACTIVE_H
16 #define CONFIG_SENSOR_FLASHACTIVE_LEVEL_0 RK29_CAM_FLASHACTIVE_L
17
18 #define CONFIG_SENSOR_QCIF_FPS_FIXED_0          15000
19 #define CONFIG_SENSOR_240X160_FPS_FIXED_0   15000
20 #define CONFIG_SENSOR_QVGA_FPS_FIXED_0          15000
21 #define CONFIG_SENSOR_CIF_FPS_FIXED_0           15000
22 #define CONFIG_SENSOR_VGA_FPS_FIXED_0           15000
23 #define CONFIG_SENSOR_480P_FPS_FIXED_0          15000
24 #define CONFIG_SENSOR_SVGA_FPS_FIXED_0          15000
25 #define CONFIG_SENSOR_720P_FPS_FIXED_0          30000
26
27 #define CONFIG_SENSOR_01  RK29_CAM_SENSOR_OV5642                   /* back camera sensor 1 */
28 #define CONFIG_SENSOR_IIC_ADDR_01           0x00
29 #define CONFIG_SENSOR_CIF_INDEX_01                    0
30 #define CONFIG_SENSOR_IIC_ADAPTER_ID_01    4
31 #define CONFIG_SENSOR_ORIENTATION_01       90
32 #define CONFIG_SENSOR_POWER_PIN_01         INVALID_GPIO
33 #define CONFIG_SENSOR_RESET_PIN_01         INVALID_GPIO
34 #define CONFIG_SENSOR_POWERDN_PIN_01       INVALID_GPIO//RK2928_PIN3_PB3
35 #define CONFIG_SENSOR_FALSH_PIN_01         INVALID_GPIO
36 #define CONFIG_SENSOR_POWERACTIVE_LEVEL_01 RK29_CAM_POWERACTIVE_L
37 #define CONFIG_SENSOR_RESETACTIVE_LEVEL_01 RK29_CAM_RESETACTIVE_L
38 #define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_01 RK29_CAM_POWERDNACTIVE_H
39 #define CONFIG_SENSOR_FLASHACTIVE_LEVEL_01 RK29_CAM_FLASHACTIVE_L
40
41 #define CONFIG_SENSOR_QCIF_FPS_FIXED_01      15000
42 #define CONFIG_SENSOR_240X160_FPS_FIXED_01   15000
43 #define CONFIG_SENSOR_QVGA_FPS_FIXED_01      15000
44 #define CONFIG_SENSOR_CIF_FPS_FIXED_01       15000
45 #define CONFIG_SENSOR_VGA_FPS_FIXED_01       15000
46 #define CONFIG_SENSOR_480P_FPS_FIXED_01      15000
47 #define CONFIG_SENSOR_SVGA_FPS_FIXED_01      15000
48 #define CONFIG_SENSOR_720P_FPS_FIXED_01     30000
49
50 #define CONFIG_SENSOR_02 RK29_CAM_SENSOR_OV5640                      /* back camera sensor 2 */
51 #define CONFIG_SENSOR_IIC_ADDR_02           0x00
52 #define CONFIG_SENSOR_CIF_INDEX_02                    0
53 #define CONFIG_SENSOR_IIC_ADAPTER_ID_02    4
54 #define CONFIG_SENSOR_ORIENTATION_02       90
55 #define CONFIG_SENSOR_POWER_PIN_02         INVALID_GPIO
56 #define CONFIG_SENSOR_RESET_PIN_02         INVALID_GPIO
57 #define CONFIG_SENSOR_POWERDN_PIN_02       INVALID_GPIO//RK2928_PIN3_PB3
58 #define CONFIG_SENSOR_FALSH_PIN_02         INVALID_GPIO
59 #define CONFIG_SENSOR_POWERACTIVE_LEVEL_02 RK29_CAM_POWERACTIVE_L
60 #define CONFIG_SENSOR_RESETACTIVE_LEVEL_02 RK29_CAM_RESETACTIVE_L
61 #define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_02 RK29_CAM_POWERDNACTIVE_H
62 #define CONFIG_SENSOR_FLASHACTIVE_LEVEL_02 RK29_CAM_FLASHACTIVE_L
63
64 #define CONFIG_SENSOR_QCIF_FPS_FIXED_02      15000
65 #define CONFIG_SENSOR_240X160_FPS_FIXED_02   15000
66 #define CONFIG_SENSOR_QVGA_FPS_FIXED_02      15000
67 #define CONFIG_SENSOR_CIF_FPS_FIXED_02       15000
68 #define CONFIG_SENSOR_VGA_FPS_FIXED_02       15000
69 #define CONFIG_SENSOR_480P_FPS_FIXED_02      15000
70 #define CONFIG_SENSOR_SVGA_FPS_FIXED_02      15000
71 #define CONFIG_SENSOR_720P_FPS_FIXED_02      30000
72
73 #define CONFIG_SENSOR_1 RK29_CAM_SENSOR_GC0308                      /* front camera sensor 0 */
74 #define CONFIG_SENSOR_IIC_ADDR_1           0x42
75 #define CONFIG_SENSOR_IIC_ADAPTER_ID_1    1
76 #define CONFIG_SENSOR_CIF_INDEX_1                                 0
77 #define CONFIG_SENSOR_ORIENTATION_1       270
78 #define CONFIG_SENSOR_POWER_PIN_1         INVALID_GPIO
79 #define CONFIG_SENSOR_RESET_PIN_1         INVALID_GPIO
80 #define CONFIG_SENSOR_POWERDN_PIN_1       RK2928_PIN3_PD7
81 #define CONFIG_SENSOR_FALSH_PIN_1         INVALID_GPIO
82 #define CONFIG_SENSOR_POWERACTIVE_LEVEL_1 RK29_CAM_POWERACTIVE_L
83 #define CONFIG_SENSOR_RESETACTIVE_LEVEL_1 RK29_CAM_RESETACTIVE_L
84 #define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_1 RK29_CAM_POWERDNACTIVE_H
85 #define CONFIG_SENSOR_FLASHACTIVE_LEVEL_1 RK29_CAM_FLASHACTIVE_L
86
87 #define CONFIG_SENSOR_QCIF_FPS_FIXED_1          15000
88 #define CONFIG_SENSOR_240X160_FPS_FIXED_1   15000
89 #define CONFIG_SENSOR_QVGA_FPS_FIXED_1          15000
90 #define CONFIG_SENSOR_CIF_FPS_FIXED_1           15000
91 #define CONFIG_SENSOR_VGA_FPS_FIXED_1           15000
92 #define CONFIG_SENSOR_480P_FPS_FIXED_1          15000
93 #define CONFIG_SENSOR_SVGA_FPS_FIXED_1          15000
94 #define CONFIG_SENSOR_720P_FPS_FIXED_1          30000
95
96 #define CONFIG_SENSOR_11 RK29_CAM_SENSOR_GC0329                      /* front camera sensor 1 */
97 #define CONFIG_SENSOR_IIC_ADDR_11           0x62
98 #define CONFIG_SENSOR_IIC_ADAPTER_ID_11    1
99 #define CONFIG_SENSOR_CIF_INDEX_11                                0
100 #define CONFIG_SENSOR_ORIENTATION_11       90
101 #define CONFIG_SENSOR_POWER_PIN_11         INVALID_GPIO
102 #define CONFIG_SENSOR_RESET_PIN_11         INVALID_GPIO
103 #define CONFIG_SENSOR_POWERDN_PIN_11       RK2928_PIN3_PD7
104 #define CONFIG_SENSOR_FALSH_PIN_11         INVALID_GPIO
105 #define CONFIG_SENSOR_POWERACTIVE_LEVEL_11 RK29_CAM_POWERACTIVE_L
106 #define CONFIG_SENSOR_RESETACTIVE_LEVEL_11 RK29_CAM_RESETACTIVE_L
107 #define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_11 RK29_CAM_POWERDNACTIVE_H
108 #define CONFIG_SENSOR_FLASHACTIVE_LEVEL_11 RK29_CAM_FLASHACTIVE_L
109
110 #define CONFIG_SENSOR_QCIF_FPS_FIXED_11      15000
111 #define CONFIG_SENSOR_240X160_FPS_FIXED_11   15000
112 #define CONFIG_SENSOR_QVGA_FPS_FIXED_11      15000
113 #define CONFIG_SENSOR_CIF_FPS_FIXED_11       15000
114 #define CONFIG_SENSOR_VGA_FPS_FIXED_11       15000
115 #define CONFIG_SENSOR_480P_FPS_FIXED_11      15000
116 #define CONFIG_SENSOR_SVGA_FPS_FIXED_11      15000
117 #define CONFIG_SENSOR_720P_FPS_FIXED_11      30000
118
119 #define CONFIG_SENSOR_12 RK29_CAM_SENSOR_OV2659//RK29_CAM_SENSOR_OV2655                      /* front camera sensor 2 */
120 #define CONFIG_SENSOR_IIC_ADDR_12          0x00
121 #define CONFIG_SENSOR_IIC_ADAPTER_ID_12    3
122 #define CONFIG_SENSOR_CIF_INDEX_12                                0
123 #define CONFIG_SENSOR_ORIENTATION_12       270
124 #define CONFIG_SENSOR_POWER_PIN_12         INVALID_GPIO
125 #define CONFIG_SENSOR_RESET_PIN_12         INVALID_GPIO
126 #define CONFIG_SENSOR_POWERDN_PIN_12       INVALID_GPIO
127 #define CONFIG_SENSOR_FALSH_PIN_12         INVALID_GPIO
128 #define CONFIG_SENSOR_POWERACTIVE_LEVEL_12 RK29_CAM_POWERACTIVE_L
129 #define CONFIG_SENSOR_RESETACTIVE_LEVEL_12 RK29_CAM_RESETACTIVE_L
130 #define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_12 RK29_CAM_POWERDNACTIVE_H
131 #define CONFIG_SENSOR_FLASHACTIVE_LEVEL_12 RK29_CAM_FLASHACTIVE_L
132
133 #define CONFIG_SENSOR_QCIF_FPS_FIXED_12      15000
134 #define CONFIG_SENSOR_240X160_FPS_FIXED_12   15000
135 #define CONFIG_SENSOR_QVGA_FPS_FIXED_12      15000
136 #define CONFIG_SENSOR_CIF_FPS_FIXED_12       15000
137 #define CONFIG_SENSOR_VGA_FPS_FIXED_12       15000
138 #define CONFIG_SENSOR_480P_FPS_FIXED_12      15000
139 #define CONFIG_SENSOR_SVGA_FPS_FIXED_12      15000
140 #define CONFIG_SENSOR_720P_FPS_FIXED_12      30000
141
142
143 #endif  //#ifdef CONFIG_VIDEO_RK29
144 /*---------------- Camera Sensor Configuration Macro End------------------------*/
145 #include "../../../drivers/media/video/rk2928_camera.c"
146 /*---------------- Camera Sensor Macro Define End  ---------*/
147
148 #define PMEM_CAM_SIZE PMEM_CAM_NECESSARY
149 /*****************************************************************************************
150  * camera  devices
151  * author: ddl@rock-chips.com
152  *****************************************************************************************/
153 #ifdef CONFIG_VIDEO_RK29
154 #define CONFIG_SENSOR_POWER_IOCTL_USR      1 //define this refer to your board layout
155 #define CONFIG_SENSOR_RESET_IOCTL_USR      0
156 #define CONFIG_SENSOR_POWERDOWN_IOCTL_USR          0
157 #define CONFIG_SENSOR_FLASH_IOCTL_USR      0
158
159 static void rk_cif_power(int on)
160 {
161     struct regulator *ldo_18,*ldo_28;
162         ldo_28 = regulator_get(NULL, "vaux1");  // vcc28_cif
163         ldo_18 = regulator_get(NULL, "vdig1");  // vcc18_cif
164         if (ldo_28 == NULL || IS_ERR(ldo_28) || ldo_18 == NULL || IS_ERR(ldo_18)){
165         printk("get cif ldo failed!\n");
166                 return;
167             }
168     if(on == 0){
169         regulator_force_disable(ldo_28);
170         regulator_put(ldo_28);
171         regulator_force_disable(ldo_18);
172         regulator_put(ldo_18);
173         mdelay(500);
174         }
175     else{
176         regulator_set_voltage(ldo_28, 2800000, 2800000);
177         regulator_enable(ldo_28);
178    //   printk("%s set ldo7 vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
179         regulator_put(ldo_28);
180
181         regulator_set_voltage(ldo_18, 1800000, 1800000);
182     //  regulator_set_suspend_voltage(ldo, 1800000);
183         regulator_enable(ldo_18);
184     //  printk("%s set ldo1 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_18));
185         regulator_put(ldo_18);
186         }
187 }
188
189 #if CONFIG_SENSOR_POWER_IOCTL_USR
190 static int sensor_power_usr_cb (struct rk29camera_gpio_res *res,int on)
191 {
192         //#error "CONFIG_SENSOR_POWER_IOCTL_USR is 1, sensor_power_usr_cb function must be writed!!";
193     rk_cif_power(on);
194 }
195 #endif
196
197 #if CONFIG_SENSOR_RESET_IOCTL_USR
198 static int sensor_reset_usr_cb (struct rk29camera_gpio_res *res,int on)
199 {
200         #error "CONFIG_SENSOR_RESET_IOCTL_USR is 1, sensor_reset_usr_cb function must be writed!!";
201 }
202 #endif
203
204 #if CONFIG_SENSOR_POWERDOWN_IOCTL_USR
205 static int sensor_powerdown_usr_cb (struct rk29camera_gpio_res *res,int on)
206 {
207         #error "CONFIG_SENSOR_POWERDOWN_IOCTL_USR is 1, sensor_powerdown_usr_cb function must be writed!!";
208 }
209 #endif
210
211 #if CONFIG_SENSOR_FLASH_IOCTL_USR
212 static int sensor_flash_usr_cb (struct rk29camera_gpio_res *res,int on)
213 {
214         #error "CONFIG_SENSOR_FLASH_IOCTL_USR is 1, sensor_flash_usr_cb function must be writed!!";
215 }
216 #endif
217
218 static struct rk29camera_platform_ioctl_cb      sensor_ioctl_cb = {
219         #if CONFIG_SENSOR_POWER_IOCTL_USR
220         .sensor_power_cb = sensor_power_usr_cb,
221         #else
222         .sensor_power_cb = NULL,
223         #endif
224
225         #if CONFIG_SENSOR_RESET_IOCTL_USR
226         .sensor_reset_cb = sensor_reset_usr_cb,
227         #else
228         .sensor_reset_cb = NULL,
229         #endif
230
231         #if CONFIG_SENSOR_POWERDOWN_IOCTL_USR
232         .sensor_powerdown_cb = sensor_powerdown_usr_cb,
233         #else
234         .sensor_powerdown_cb = NULL,
235         #endif
236
237         #if CONFIG_SENSOR_FLASH_IOCTL_USR
238         .sensor_flash_cb = sensor_flash_usr_cb,
239         #else
240         .sensor_flash_cb = NULL,
241         #endif
242 };
243
244 #if CONFIG_SENSOR_IIC_ADDR_0
245 static struct reginfo_t rk_init_data_sensor_reg_0[] =
246 {
247                 {0x0000, 0x00,0,0}
248         };
249 static struct reginfo_t rk_init_data_sensor_winseqreg_0[] ={
250         {0x0000, 0x00,0,0}
251         };
252 #endif
253
254 #if CONFIG_SENSOR_IIC_ADDR_1
255 static struct reginfo_t rk_init_data_sensor_reg_1[] =
256 {
257     {0x0000, 0x00,0,0}
258 };
259 static struct reginfo_t rk_init_data_sensor_winseqreg_1[] =
260 {
261        {0x0000, 0x00,0,0}
262 };
263 #endif
264 #if CONFIG_SENSOR_IIC_ADDR_01
265 static struct reginfo_t rk_init_data_sensor_reg_01[] =
266 {
267     {0x0000, 0x00,0,0}
268 };
269 static struct reginfo_t rk_init_data_sensor_winseqreg_01[] =
270 {
271        {0x0000, 0x00,0,0}
272 };
273 #endif
274 #if CONFIG_SENSOR_IIC_ADDR_02
275 static struct reginfo_t rk_init_data_sensor_reg_02[] =
276 {
277     {0x0000, 0x00,0,0}
278 };
279 static struct reginfo_t rk_init_data_sensor_winseqreg_02[] =
280 {
281        {0x0000, 0x00,0,0}
282 };
283 #endif
284 #if CONFIG_SENSOR_IIC_ADDR_11
285 static struct reginfo_t rk_init_data_sensor_reg_11[] =
286 {
287     {0x0000, 0x00,0,0}
288 };
289 static struct reginfo_t rk_init_data_sensor_winseqreg_11[] =
290 {
291        {0x0000, 0x00,0,0}
292 };
293 #endif
294 #if CONFIG_SENSOR_IIC_ADDR_12
295 static struct reginfo_t rk_init_data_sensor_reg_12[] =
296 {
297     {0x0000, 0x00,0,0}
298 };
299 static struct reginfo_t rk_init_data_sensor_winseqreg_12[] =
300 {
301        {0x0000, 0x00,0,0}
302 };
303 #endif
304 static rk_sensor_user_init_data_s rk_init_data_sensor[RK_CAM_NUM] = 
305 {
306     #if CONFIG_SENSOR_IIC_ADDR_0
307     {
308        .rk_sensor_init_width = INVALID_VALUE,
309        .rk_sensor_init_height = INVALID_VALUE,
310        .rk_sensor_init_bus_param = INVALID_VALUE,
311        .rk_sensor_init_pixelcode = INVALID_VALUE,
312        .rk_sensor_init_data = rk_init_data_sensor_reg_0,
313        .rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_0,
314        .rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_0) / sizeof(struct reginfo_t),
315        .rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_0) / sizeof(struct reginfo_t),
316     },
317     #else
318     {
319        .rk_sensor_init_width = INVALID_VALUE,
320        .rk_sensor_init_height = INVALID_VALUE,
321        .rk_sensor_init_bus_param = INVALID_VALUE,
322        .rk_sensor_init_pixelcode = INVALID_VALUE,
323        .rk_sensor_init_data = NULL,
324        .rk_sensor_init_winseq = NULL,
325        .rk_sensor_winseq_size = 0,
326        .rk_sensor_init_data_size = 0,
327     },
328     #endif
329     #if CONFIG_SENSOR_IIC_ADDR_1
330     {
331        .rk_sensor_init_width = INVALID_VALUE,
332        .rk_sensor_init_height = INVALID_VALUE,
333        .rk_sensor_init_bus_param = INVALID_VALUE,
334        .rk_sensor_init_pixelcode = INVALID_VALUE,
335        .rk_sensor_init_data = rk_init_data_sensor_reg_1,
336        .rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_1,
337        .rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_1) / sizeof(struct reginfo_t),
338        .rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_1) / sizeof(struct reginfo_t),
339     },
340     #else
341     {
342        .rk_sensor_init_width = INVALID_VALUE,
343        .rk_sensor_init_height = INVALID_VALUE,
344        .rk_sensor_init_bus_param = INVALID_VALUE,
345        .rk_sensor_init_pixelcode = INVALID_VALUE,
346        .rk_sensor_init_data = NULL,
347        .rk_sensor_init_winseq = NULL,
348        .rk_sensor_winseq_size = 0,
349        .rk_sensor_init_data_size = 0,
350     },
351     #endif
352     #if CONFIG_SENSOR_IIC_ADDR_01
353     {
354        .rk_sensor_init_width = INVALID_VALUE,
355        .rk_sensor_init_height = INVALID_VALUE,
356        .rk_sensor_init_bus_param = INVALID_VALUE,
357        .rk_sensor_init_pixelcode = INVALID_VALUE,
358        .rk_sensor_init_data = rk_init_data_sensor_reg_01,
359        .rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_01,
360        .rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_01) / sizeof(struct reginfo_t),
361        .rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_01) / sizeof(struct reginfo_t),
362     },
363     #else
364     {
365        .rk_sensor_init_width = INVALID_VALUE,
366        .rk_sensor_init_height = INVALID_VALUE,
367        .rk_sensor_init_bus_param = INVALID_VALUE,
368        .rk_sensor_init_pixelcode = INVALID_VALUE,
369        .rk_sensor_init_data = NULL,
370        .rk_sensor_init_winseq = NULL,
371        .rk_sensor_winseq_size = 0,
372        .rk_sensor_init_data_size = 0,
373     },
374     #endif
375     #if CONFIG_SENSOR_IIC_ADDR_02
376     {
377        .rk_sensor_init_width = INVALID_VALUE,
378        .rk_sensor_init_height = INVALID_VALUE,
379        .rk_sensor_init_bus_param = INVALID_VALUE,
380        .rk_sensor_init_pixelcode = INVALID_VALUE,
381        .rk_sensor_init_data = rk_init_data_sensor_reg_02,
382        .rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_02,
383        .rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_02) / sizeof(struct reginfo_t),
384        .rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_02) / sizeof(struct reginfo_t),
385     },
386     #else
387     {
388        .rk_sensor_init_width = INVALID_VALUE,
389        .rk_sensor_init_height = INVALID_VALUE,
390        .rk_sensor_init_bus_param = INVALID_VALUE,
391        .rk_sensor_init_pixelcode = INVALID_VALUE,
392        .rk_sensor_init_data = NULL,
393        .rk_sensor_init_winseq = NULL,
394        .rk_sensor_winseq_size = 0,
395        .rk_sensor_init_data_size = 0,
396     },
397     #endif
398     #if CONFIG_SENSOR_IIC_ADDR_11
399     {
400        .rk_sensor_init_width = INVALID_VALUE,
401        .rk_sensor_init_height = INVALID_VALUE,
402        .rk_sensor_init_bus_param = INVALID_VALUE,
403        .rk_sensor_init_pixelcode = INVALID_VALUE,
404        .rk_sensor_init_data = rk_init_data_sensor_reg_11,
405        .rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_11,
406        .rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_11) / sizeof(struct reginfo_t),
407        .rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_11) / sizeof(struct reginfo_t),
408     },
409     #else
410     {
411        .rk_sensor_init_width = INVALID_VALUE,
412        .rk_sensor_init_height = INVALID_VALUE,
413        .rk_sensor_init_bus_param = INVALID_VALUE,
414        .rk_sensor_init_pixelcode = INVALID_VALUE,
415        .rk_sensor_init_data = NULL,
416        .rk_sensor_init_winseq = NULL,
417        .rk_sensor_winseq_size = 0,
418        .rk_sensor_init_data_size = 0,
419     },
420     #endif
421     #if CONFIG_SENSOR_IIC_ADDR_12
422     {
423        .rk_sensor_init_width = INVALID_VALUE,
424        .rk_sensor_init_height = INVALID_VALUE,
425        .rk_sensor_init_bus_param = INVALID_VALUE,
426        .rk_sensor_init_pixelcode = INVALID_VALUE,
427        .rk_sensor_init_data = rk_init_data_sensor_reg_12,
428        .rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_12,
429        .rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_12) / sizeof(struct reginfo_t),
430        .rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_12) / sizeof(struct reginfo_t),
431     },
432     #else
433     {
434        .rk_sensor_init_width = INVALID_VALUE,
435        .rk_sensor_init_height = INVALID_VALUE,
436        .rk_sensor_init_bus_param = INVALID_VALUE,
437        .rk_sensor_init_pixelcode = INVALID_VALUE,
438        .rk_sensor_init_data = NULL,
439        .rk_sensor_init_winseq = NULL,
440        .rk_sensor_winseq_size = 0,
441        .rk_sensor_init_data_size = 0,
442     },
443     #endif
444
445  };
446 #include "../../../drivers/media/video/rk2928_camera.c"
447
448 #endif /* CONFIG_VIDEO_RK29 */