UPSTREAM: drm/rockchip: support non-iommu buffer path
[firefly-linux-kernel-4.4.55.git] / drivers / media / video / gc0308_user_series.c
1
2 #if defined(CONFIG_MACH_RK30_PHONE_PAD)
3
4 /* init 640X480 VGA */
5 static struct reginfo sensor_init_data[] =
6 {
7
8     {0xfe , 0x80},      
9                 
10         {0xfe , 0x00},   // set page0
11         
12         {0xd2 , 0x10},   // close AEC
13         {0x22 , 0x55},   // close AWB
14
15         {0x03 , 0x01},                                  
16         {0x04 , 0x2c},                                  
17         {0x5a , 0x56},
18         {0x5b , 0x40},
19         {0x5c , 0x4a},                  
20
21         {0x22 , 0x57},   // Open AWB
22
23         {0x01 , 0xfa},                                    
24         {0x02 , 0x70},                                  
25         {0x0f , 0x01},                                  
26                                                                    
27                                                                    
28         {0xe2 , 0x00},   //anti-flicker step [11:8]     
29         {0xe3 , 0x64},   //anti-flicker step [7:0]      
30                                                                                
31         {0xe4 , 0x02},   //exp level 1  16.67fps        
32         {0xe5 , 0x58},                                  
33         {0xe6 , 0x03},   //exp level 2  12.5fps         
34         {0xe7 , 0x20},                                  
35         {0xe8 , 0x04},   //exp level 3  8.33fps         
36         {0xe9 , 0xb0},                                  
37         {0xea , 0x09},   //exp level 4  4.00fps         
38         {0xeb , 0xc4},                                  
39
40         //{0xec , 0x20},
41            
42         {0x05 , 0x00},                                  
43         {0x06 , 0x00},                                  
44         {0x07 , 0x00},                                  
45         {0x08 , 0x00},                                  
46         {0x09 , 0x01},                                  
47         {0x0a , 0xe8},                                  
48         {0x0b , 0x02},                                  
49         {0x0c , 0x88},                                  
50         {0x0d , 0x02},                                  
51         {0x0e , 0x02},                                  
52         {0x10 , 0x22},                                  
53         {0x11 , 0xfd},                                  
54         {0x12 , 0x2a},                                  
55         {0x13 , 0x00},                                  
56         //{0x14 , 0x10},                                
57         {0x15 , 0x0a},                                  
58         {0x16 , 0x05},                                  
59         {0x17 , 0x01},                                  
60         {0x18 , 0x44},                                  
61         {0x19 , 0x44},                                  
62         {0x1a , 0x1e},                                  
63         {0x1b , 0x00},                                  
64         {0x1c , 0xc1},                                  
65         {0x1d , 0x08},                                  
66         {0x1e , 0x60},                                  
67         {0x1f , 0x17},                                  
68                                                                    
69                                                                          
70         {0x20 , 0xff},                                  
71         {0x21 , 0xf8},                                  
72         {0x22 , 0x57},                                  
73         {0x24 , 0xa2},                                  
74         {0x25 , 0x0f},                                  
75                                                                          
76         //output sync_mode                                               
77         {0x26 , 0x02},   //0x03  20101016 zhj                                 
78         {0x2f , 0x01},                                  
79         {0x30 , 0xf7},                                  
80         {0x31 , 0x50},
81         {0x32 , 0x00},
82         {0x39 , 0x04},
83         {0x3a , 0x18},
84         {0x3b , 0x20},                                  
85         {0x3c , 0x00},                                  
86         {0x3d , 0x00},                                  
87         {0x3e , 0x00},                                  
88         {0x3f , 0x00},                                  
89         {0x50 , 0x10},                                  
90         {0x53 , 0x82},                                  
91         {0x54 , 0x80},                                  
92         {0x55 , 0x80},                                  
93         {0x56 , 0x82},                                  
94         {0x8b , 0x40},                                  
95         {0x8c , 0x40},                                  
96         {0x8d , 0x40},                                  
97         {0x8e , 0x2e},                                  
98         {0x8f , 0x2e},                                  
99         {0x90 , 0x2e},                                  
100         {0x91 , 0x3c},                                  
101         {0x92 , 0x50},                                  
102         {0x5d , 0x12},                                  
103         {0x5e , 0x1a},                                  
104         {0x5f , 0x24},                                  
105         {0x60 , 0x07},                                  
106         {0x61 , 0x15},                                  
107         {0x62 , 0x08},                                  
108         {0x64 , 0x03},                                  
109         {0x66 , 0xe8},                                  
110         {0x67 , 0x86},                                  
111         {0x68 , 0xa2},                                  
112         {0x69 , 0x18},                                  
113         {0x6a , 0x0f},                                  
114         {0x6b , 0x00},                                  
115         {0x6c , 0x5f},                                  
116         {0x6d , 0x8f},                                  
117         {0x6e , 0x55},                                  
118         {0x6f , 0x38},                                  
119         {0x70 , 0x15},                                  
120         {0x71 , 0x33},                                  
121         {0x72 , 0xdc},                                  
122         {0x73 , 0x80},                                  
123         {0x74 , 0x02},                                  
124         {0x75 , 0x3f},                                  
125         {0x76 , 0x02},                                  
126         {0x77 , 0x36},                                  
127         {0x78 , 0x88},                                  
128         {0x79 , 0x81},                                  
129         {0x7a , 0x81},                                  
130         {0x7b , 0x22},                                  
131         {0x7c , 0xff},                                  
132         {0x93 , 0x48},                                  
133         {0x94 , 0x00},                                  
134         {0x95 , 0x05},                                  
135         {0x96 , 0xe8},                                  
136         {0x97 , 0x40},                                  
137         {0x98 , 0xf0},                                  
138         {0xb1 , 0x38},                                  
139         {0xb2 , 0x38},                                  
140         {0xbd , 0x38},                                  
141         {0xbe , 0x36},                                  
142         {0xd0 , 0xc9},                                  
143         {0xd1 , 0x10},                                  
144         //{0xd2 , 0x90},                                
145         {0xd3 , 0x80},                                  
146         {0xd5 , 0xf2},                                  
147         {0xd6 , 0x16},                                  
148         {0xdb , 0x92},                                  
149         {0xdc , 0xa5},                                  
150         {0xdf , 0x23},                                  
151         {0xd9 , 0x00},                                  
152         {0xda , 0x00},                                  
153         {0xe0 , 0x09},                                  
154                                
155         {0xed , 0x04},                                  
156         {0xee , 0xa0},                                  
157         {0xef , 0x40},                                  
158         {0x80 , 0x03},                                  
159         {0x80 , 0x03},                                  
160         {0x9F , 0x10},                                  
161         {0xA0 , 0x20},                                  
162         {0xA1 , 0x38},                                  
163         {0xA2 , 0x4E},                                  
164         {0xA3 , 0x63},                                  
165         {0xA4 , 0x76},                                  
166         {0xA5 , 0x87},                                  
167         {0xA6 , 0xA2},                                  
168         {0xA7 , 0xB8},                                  
169         {0xA8 , 0xCA},                                  
170         {0xA9 , 0xD8},                                  
171         {0xAA , 0xE3},                                  
172         {0xAB , 0xEB},                                  
173         {0xAC , 0xF0},                                  
174         {0xAD , 0xF8},                                  
175         {0xAE , 0xFD},                                  
176         {0xAF , 0xFF},                                  
177         {0xc0 , 0x00},                                  
178         {0xc1 , 0x10},                                  
179         {0xc2 , 0x1C},                                  
180         {0xc3 , 0x30},                                  
181         {0xc4 , 0x43},                                  
182         {0xc5 , 0x54},                                  
183         {0xc6 , 0x65},                                  
184         {0xc7 , 0x75},                                  
185         {0xc8 , 0x93},                                  
186         {0xc9 , 0xB0},                                  
187         {0xca , 0xCB},                                  
188         {0xcb , 0xE6},                                  
189         {0xcc , 0xFF},                                  
190         {0xf0 , 0x02},                                  
191         {0xf1 , 0x01},                                  
192         {0xf2 , 0x01},                                  
193         {0xf3 , 0x30},                                  
194         {0xf9 , 0x9f},                                  
195         {0xfa , 0x78},                                  
196                                                                    
197         //---------------------------------------------------------------
198         {0xfe , 0x01},// set page1                                            
199                                                                    
200         {0x00 , 0xf5},                                  
201         {0x02 , 0x1a},                                  
202         {0x0a , 0xa0},                                  
203         {0x0b , 0x60},                                  
204         {0x0c , 0x08},                                  
205         {0x0e , 0x4c},                                  
206         {0x0f , 0x39},                                  
207         {0x11 , 0x3f},                                  
208         {0x12 , 0x72},                                  
209         {0x13 , 0x13},                                  
210         {0x14 , 0x42},                                  
211         {0x15 , 0x43},                                  
212         {0x16 , 0xc2},                                  
213         {0x17 , 0xa8},                                  
214         {0x18 , 0x18},                                  
215         {0x19 , 0x40},                                  
216         {0x1a , 0xd0},                                  
217         {0x1b , 0xf5},                                  
218         {0x70 , 0x40},                                  
219         {0x71 , 0x58},                                  
220         {0x72 , 0x30},                                  
221         {0x73 , 0x48},                                  
222         {0x74 , 0x20},                                  
223         {0x75 , 0x60},                                  
224         {0x77 , 0x20},                                  
225         {0x78 , 0x32},                                  
226         {0x30 , 0x03},                                  
227         {0x31 , 0x40},                                  
228         {0x32 , 0xe0},                                  
229         {0x33 , 0xe0},                                  
230         {0x34 , 0xe0},                                  
231         {0x35 , 0xb0},                                  
232         {0x36 , 0xc0},                                  
233         {0x37 , 0xc0},                                  
234         {0x38 , 0x04},                                  
235         {0x39 , 0x09},                                  
236         {0x3a , 0x12},                                  
237         {0x3b , 0x1C},                                  
238         {0x3c , 0x28},                                  
239         {0x3d , 0x31},                                  
240         {0x3e , 0x44},                                  
241         {0x3f , 0x57},                                  
242         {0x40 , 0x6C},                                  
243         {0x41 , 0x81},                                  
244         {0x42 , 0x94},                                  
245         {0x43 , 0xA7},                                  
246         {0x44 , 0xB8},                                  
247         {0x45 , 0xD6},                                  
248         {0x46 , 0xEE},                                  
249         {0x47 , 0x0d},                                  
250         {0xfe , 0x00}, // set page0
251          
252         //-----------Update the registers 2010/07/06-------------//
253         //Registers of Page0
254         {0xfe , 0x00}, // set page0
255         {0x10 , 0x26},                                 
256         {0x11 , 0x0d},  // fd,modified by mormo 2010/07/06                               
257         {0x1a , 0x2a},  // 1e,modified by mormo 2010/07/06                                  
258
259         {0x1c , 0x49}, // c1,modified by mormo 2010/07/06                                 
260         {0x1d , 0x9a}, // 08,modified by mormo 2010/07/06                                 
261         {0x1e , 0x61}, // 60,modified by mormo 2010/07/06                                 
262
263         {0x3a , 0x20},
264
265         {0x50 , 0x14},  // 10,modified by mormo 2010/07/06                               
266         {0x53 , 0x80},                                  
267         {0x56 , 0x80},
268         
269         {0x8b , 0x20}, //LSC                                 
270         {0x8c , 0x20},                                  
271         {0x8d , 0x20},                                  
272         {0x8e , 0x14},                                  
273         {0x8f , 0x10},                                  
274         {0x90 , 0x14},                                  
275
276         {0x94 , 0x02},                                  
277         {0x95 , 0x07},                                  
278         {0x96 , 0xe0},                                  
279
280         {0xb1 , 0x40}, // YCPT                                 
281         {0xb2 , 0x40},                                  
282         {0xb3 , 0x40},
283         {0xb6 , 0xe0},
284
285         {0xd0 , 0xcb}, // AECT  c9,modifed by mormo 2010/07/06                                
286         {0xd3 , 0x48}, // 80,modified by mormor 2010/07/06                           
287
288         {0xf2 , 0x02},                                  
289         {0xf7 , 0x12},
290         {0xf8 , 0x0a},
291
292         //Registers of Page1
293         {0xfe , 0x01},// set page1    
294         {0x02 , 0x20},
295         {0x04 , 0x10},
296         {0x05 , 0x08},
297         {0x06 , 0x20},
298         {0x08 , 0x0a},
299
300         {0x0e , 0x44},                                  
301         {0x0f , 0x32},
302         {0x10 , 0x41},                                  
303         {0x11 , 0x37},                                  
304         {0x12 , 0x22},                                  
305         {0x13 , 0x19},                                  
306         {0x14 , 0x44},                                  
307         {0x15 , 0x44},  
308         
309         {0x19 , 0x50},                                  
310         {0x1a , 0xd8}, 
311         
312         {0x32 , 0x10}, 
313         
314         {0x35 , 0x00},                                  
315         {0x36 , 0x80},                                  
316         {0x37 , 0x00}, 
317         //-----------Update the registers end---------//
318
319
320         {0xfe , 0x00}, // set page0
321         {0xd2 , 0x90},
322
323
324         //-----------GAMMA Select(3)---------------//
325         {0x9F , 0x10},
326         {0xA0 , 0x20},
327         {0xA1 , 0x38},
328         {0xA2 , 0x4E},
329         {0xA3 , 0x63},
330         {0xA4 , 0x76},
331         {0xA5 , 0x87},
332         {0xA6 , 0xA2},
333         {0xA7 , 0xB8},
334         {0xA8 , 0xCA},
335         {0xA9 , 0xD8},
336         {0xAA , 0xE3},
337         {0xAB , 0xEB},
338         {0xAC , 0xF0},
339         {0xAD , 0xF8},
340         {0xAE , 0xFD},
341         {0xAF , 0xFF},
342
343          /*GC0308_GAMMA_Select,
344                 1:                                             //smallest gamma curve
345                         {0x9F , 0x0B},
346                         {0xA0 , 0x16},
347                         {0xA1 , 0x29},
348                         {0xA2 , 0x3C},
349                         {0xA3 , 0x4F},
350                         {0xA4 , 0x5F},
351                         {0xA5 , 0x6F},
352                         {0xA6 , 0x8A},
353                         {0xA7 , 0x9F},
354                         {0xA8 , 0xB4}, 
355                         {0xA9 , 0xC6},
356                         {0xAA , 0xD3},
357                         {0xAB , 0xDD},
358                         {0xAC , 0xE5},
359                         {0xAD , 0xF1},
360                         {0xAE , 0xFA},
361                         {0xAF , 0xFF},  
362                         
363                 2:                      
364                         {0x9F , 0x0E},
365                         {0xA0 , 0x1C},
366                         {0xA1 , 0x34},
367                         {0xA2 , 0x48},
368                         {0xA3 , 0x5A},
369                         {0xA4 , 0x6B},
370                         {0xA5 , 0x7B},
371                         {0xA6 , 0x95},
372                         {0xA7 , 0xAB},
373                         {0xA8 , 0xBF},
374                         {0xA9 , 0xCE},
375                         {0xAA , 0xD9},
376                         {0xAB , 0xE4},
377                         {0xAC , 0xEC},
378                         {0xAD , 0xF7},
379                         {0xAE , 0xFD},
380                         {0xAF , 0xFF},
381                         
382                 3:
383                         {0x9F , 0x10},
384                         {0xA0 , 0x20},
385                         {0xA1 , 0x38},
386                         {0xA2 , 0x4E},
387                         {0xA3 , 0x63},
388                         {0xA4 , 0x76},
389                         {0xA5 , 0x87},
390                         {0xA6 , 0xA2},
391                         {0xA7 , 0xB8},
392                         {0xA8 , 0xCA},
393                         {0xA9 , 0xD8},
394                         {0xAA , 0xE3},
395                         {0xAB , 0xEB},
396                         {0xAC , 0xF0},
397                         {0xAD , 0xF8},
398                         {0xAE , 0xFD},
399                         {0xAF , 0xFF},
400
401                 4:
402                         {0x9F , 0x14},
403                         {0xA0 , 0x28},
404                         {0xA1 , 0x44},
405                         {0xA2 , 0x5D},
406                         {0xA3 , 0x72},
407                         {0xA4 , 0x86},
408                         {0xA5 , 0x95},
409                         {0xA6 , 0xB1},
410                         {0xA7 , 0xC6},
411                         {0xA8 , 0xD5},
412                         {0xA9 , 0xE1},
413                         {0xAA , 0xEA},
414                         {0xAB , 0xF1},
415                         {0xAC , 0xF5},
416                         {0xAD , 0xFB},
417                         {0xAE , 0xFE},
418                         {0xAF , 0xFF},
419                         
420                 5:                                                              //largest gamma curve
421                         {0x9F , 0x15},
422                         {0xA0 , 0x2A},
423                         {0xA1 , 0x4A},
424                         {0xA2 , 0x67},
425                         {0xA3 , 0x79},
426                         {0xA4 , 0x8C},
427                         {0xA5 , 0x9A},
428                         {0xA6 , 0xB3},
429                         {0xA7 , 0xC5},
430                         {0xA8 , 0xD5},
431                         {0xA9 , 0xDF},
432                         {0xAA , 0xE8},
433                         {0xAB , 0xEE},
434                         {0xAC , 0xF3},
435                         {0xAD , 0xFA},
436                         {0xAE , 0xFD},
437                         {0xAF , 0xFF}, */
438         //-----------GAMMA Select End--------------//
439
440
441
442
443         //-------------H_V_Switch(4)---------------//
444                         {0x14 , 0x10},  //0x10
445
446          /*GC0308_H_V_Switch,
447
448                 1:  // normal
449                         {0x14 , 0x10},
450                         
451                 2:  // IMAGE_H_MIRROR
452                         {0x14 , 0x11},
453                         
454                 3:  // IMAGE_V_MIRROR
455                         {0x14 , 0x12},
456                         
457                 4:  // IMAGE_HV_MIRROR
458                         {0x14 , 0x13},
459         */                  
460         //-------------H_V_Select End--------------//
461
462 };
463
464 /* 1280X1024 SXGA */
465 static struct reginfo sensor_sxga[] =
466 {
467         {0x00,0x00}
468 };
469
470 /* 800X600 SVGA*/
471 static struct reginfo sensor_svga[] =
472 {
473     {0x0, 0x0},
474 };
475
476 /* 640X480 VGA */
477 static struct reginfo sensor_vga[] =
478 {
479     {0x17, 0x13},
480     {0x18, 0x01},
481     {0x32, 0xbf},
482     {0x19, 0x03},
483     {0x1a, 0x7b},
484     {0x03, 0x0a},
485         {0x00,0x00}
486 };
487
488 /* 352X288 CIF */
489 static struct reginfo sensor_cif[] =
490 {
491     {0x00,0x00}
492 };
493
494 /* 320*240 QVGA */
495 static  struct reginfo sensor_qvga[] =
496 {
497     {0x00,0x00}
498 };
499
500 /* 176X144 QCIF*/
501 static struct reginfo sensor_qcif[] =
502 {
503     {0x00,0x00}
504 };
505
506
507
508 #else
509
510 /* init 640X480 VGA */
511 static struct reginfo sensor_init_data[] =
512 {
513
514     {0xfe , 0x80},      
515                 
516         {0xfe , 0x00},   // set page0
517         
518         {0xd2 , 0x10},   // close AEC
519         {0x22 , 0x55},   // close AWB
520
521         {0x03 , 0x01},                                  
522         {0x04 , 0x2c},                                  
523         {0x5a , 0x56},
524         {0x5b , 0x40},
525         {0x5c , 0x4a},                  
526
527         {0x22 , 0x57},   // Open AWB
528
529         {0x01 , 0xfa},                                    
530         {0x02 , 0x70},                                  
531         {0x0f , 0x01},                                  
532                                                                    
533                                                                    
534         {0xe2 , 0x00},   //anti-flicker step [11:8]     
535         {0xe3 , 0x64},   //anti-flicker step [7:0]      
536                                                                                
537         {0xe4 , 0x02},   //exp level 1  16.67fps        
538         {0xe5 , 0x58},                                  
539         {0xe6 , 0x03},   //exp level 2  12.5fps         
540         {0xe7 , 0x20},                                  
541         {0xe8 , 0x04},   //exp level 3  8.33fps         
542         {0xe9 , 0xb0},                                  
543         {0xea , 0x09},   //exp level 4  4.00fps         
544         {0xeb , 0xc4},                                  
545
546         //{0xec , 0x20},
547            
548         {0x05 , 0x00},                                  
549         {0x06 , 0x00},                                  
550         {0x07 , 0x00},                                  
551         {0x08 , 0x00},                                  
552         {0x09 , 0x01},                                  
553         {0x0a , 0xe8},                                  
554         {0x0b , 0x02},                                  
555         {0x0c , 0x88},                                  
556         {0x0d , 0x02},                                  
557         {0x0e , 0x02},                                  
558         {0x10 , 0x22},                                  
559         {0x11 , 0xfd},                                  
560         {0x12 , 0x2a},                                  
561         {0x13 , 0x00},                                  
562         //{0x14 , 0x10},                                
563         {0x15 , 0x0a},                                  
564         {0x16 , 0x05},                                  
565         {0x17 , 0x01},                                  
566         {0x18 , 0x44},                                  
567         {0x19 , 0x44},                                  
568         {0x1a , 0x1e},                                  
569         {0x1b , 0x00},                                  
570         {0x1c , 0xc1},                                  
571         {0x1d , 0x08},                                  
572         {0x1e , 0x60},                                  
573         {0x1f , 0x17},                                  
574                                                                    
575                                                                          
576         {0x20 , 0xff},                                  
577         {0x21 , 0xf8},                                  
578         {0x22 , 0x57},                                  
579         {0x24 , 0xa2},                                  
580         {0x25 , 0x0f},                                  
581                                                                          
582         //output sync_mode                                               
583         {0x26 , 0x02},   //0x03  20101016 zhj                                 
584         {0x2f , 0x01},                                  
585         {0x30 , 0xf7},                                  
586         {0x31 , 0x50},
587         {0x32 , 0x00},
588         {0x39 , 0x04},
589         {0x3a , 0x18},
590         {0x3b , 0x20},                                  
591         {0x3c , 0x00},                                  
592         {0x3d , 0x00},                                  
593         {0x3e , 0x00},                                  
594         {0x3f , 0x00},                                  
595         {0x50 , 0x10},                                  
596         {0x53 , 0x82},                                  
597         {0x54 , 0x80},                                  
598         {0x55 , 0x80},                                  
599         {0x56 , 0x82},                                  
600         {0x8b , 0x40},                                  
601         {0x8c , 0x40},                                  
602         {0x8d , 0x40},                                  
603         {0x8e , 0x2e},                                  
604         {0x8f , 0x2e},                                  
605         {0x90 , 0x2e},                                  
606         {0x91 , 0x3c},                                  
607         {0x92 , 0x50},                                  
608         {0x5d , 0x12},                                  
609         {0x5e , 0x1a},                                  
610         {0x5f , 0x24},                                  
611         {0x60 , 0x07},                                  
612         {0x61 , 0x15},                                  
613         {0x62 , 0x08},                                  
614         {0x64 , 0x03},                                  
615         {0x66 , 0xe8},                                  
616         {0x67 , 0x86},                                  
617         {0x68 , 0xa2},                                  
618         {0x69 , 0x18},                                  
619         {0x6a , 0x0f},                                  
620         {0x6b , 0x00},                                  
621         {0x6c , 0x5f},                                  
622         {0x6d , 0x8f},                                  
623         {0x6e , 0x55},                                  
624         {0x6f , 0x38},                                  
625         {0x70 , 0x15},                                  
626         {0x71 , 0x33},                                  
627         {0x72 , 0xdc},                                  
628         {0x73 , 0x80},                                  
629         {0x74 , 0x02},                                  
630         {0x75 , 0x3f},                                  
631         {0x76 , 0x02},                                  
632         {0x77 , 0x36},                                  
633         {0x78 , 0x88},                                  
634         {0x79 , 0x81},                                  
635         {0x7a , 0x81},                                  
636         {0x7b , 0x22},                                  
637         {0x7c , 0xff},                                  
638         {0x93 , 0x48},                                  
639         {0x94 , 0x00},                                  
640         {0x95 , 0x05},                                  
641         {0x96 , 0xe8},                                  
642         {0x97 , 0x40},                                  
643         {0x98 , 0xf0},                                  
644         {0xb1 , 0x38},                                  
645         {0xb2 , 0x38},                                  
646         {0xbd , 0x38},                                  
647         {0xbe , 0x36},                                  
648         {0xd0 , 0xc9},                                  
649         {0xd1 , 0x10},                                  
650         //{0xd2 , 0x90},                                
651         {0xd3 , 0x80},                                  
652         {0xd5 , 0xf2},                                  
653         {0xd6 , 0x16},                                  
654         {0xdb , 0x92},                                  
655         {0xdc , 0xa5},                                  
656         {0xdf , 0x23},                                  
657         {0xd9 , 0x00},                                  
658         {0xda , 0x00},                                  
659         {0xe0 , 0x09},                                  
660                                
661         {0xed , 0x04},                                  
662         {0xee , 0xa0},                                  
663         {0xef , 0x40},                                  
664         {0x80 , 0x03},                                  
665         {0x80 , 0x03},                                  
666         {0x9F , 0x10},                                  
667         {0xA0 , 0x20},                                  
668         {0xA1 , 0x38},                                  
669         {0xA2 , 0x4E},                                  
670         {0xA3 , 0x63},                                  
671         {0xA4 , 0x76},                                  
672         {0xA5 , 0x87},                                  
673         {0xA6 , 0xA2},                                  
674         {0xA7 , 0xB8},                                  
675         {0xA8 , 0xCA},                                  
676         {0xA9 , 0xD8},                                  
677         {0xAA , 0xE3},                                  
678         {0xAB , 0xEB},                                  
679         {0xAC , 0xF0},                                  
680         {0xAD , 0xF8},                                  
681         {0xAE , 0xFD},                                  
682         {0xAF , 0xFF},                                  
683         {0xc0 , 0x00},                                  
684         {0xc1 , 0x10},                                  
685         {0xc2 , 0x1C},                                  
686         {0xc3 , 0x30},                                  
687         {0xc4 , 0x43},                                  
688         {0xc5 , 0x54},                                  
689         {0xc6 , 0x65},                                  
690         {0xc7 , 0x75},                                  
691         {0xc8 , 0x93},                                  
692         {0xc9 , 0xB0},                                  
693         {0xca , 0xCB},                                  
694         {0xcb , 0xE6},                                  
695         {0xcc , 0xFF},                                  
696         {0xf0 , 0x02},                                  
697         {0xf1 , 0x01},                                  
698         {0xf2 , 0x01},                                  
699         {0xf3 , 0x30},                                  
700         {0xf9 , 0x9f},                                  
701         {0xfa , 0x78},                                  
702                                                                    
703         //---------------------------------------------------------------
704         {0xfe , 0x01},// set page1                                            
705                                                                    
706         {0x00 , 0xf5},                                  
707         {0x02 , 0x1a},                                  
708         {0x0a , 0xa0},                                  
709         {0x0b , 0x60},                                  
710         {0x0c , 0x08},                                  
711         {0x0e , 0x4c},                                  
712         {0x0f , 0x39},                                  
713         {0x11 , 0x3f},                                  
714         {0x12 , 0x72},                                  
715         {0x13 , 0x13},                                  
716         {0x14 , 0x42},                                  
717         {0x15 , 0x43},                                  
718         {0x16 , 0xc2},                                  
719         {0x17 , 0xa8},                                  
720         {0x18 , 0x18},                                  
721         {0x19 , 0x40},                                  
722         {0x1a , 0xd0},                                  
723         {0x1b , 0xf5},                                  
724         {0x70 , 0x40},                                  
725         {0x71 , 0x58},                                  
726         {0x72 , 0x30},                                  
727         {0x73 , 0x48},                                  
728         {0x74 , 0x20},                                  
729         {0x75 , 0x60},                                  
730         {0x77 , 0x20},                                  
731         {0x78 , 0x32},                                  
732         {0x30 , 0x03},                                  
733         {0x31 , 0x40},                                  
734         {0x32 , 0xe0},                                  
735         {0x33 , 0xe0},                                  
736         {0x34 , 0xe0},                                  
737         {0x35 , 0xb0},                                  
738         {0x36 , 0xc0},                                  
739         {0x37 , 0xc0},                                  
740         {0x38 , 0x04},                                  
741         {0x39 , 0x09},                                  
742         {0x3a , 0x12},                                  
743         {0x3b , 0x1C},                                  
744         {0x3c , 0x28},                                  
745         {0x3d , 0x31},                                  
746         {0x3e , 0x44},                                  
747         {0x3f , 0x57},                                  
748         {0x40 , 0x6C},                                  
749         {0x41 , 0x81},                                  
750         {0x42 , 0x94},                                  
751         {0x43 , 0xA7},                                  
752         {0x44 , 0xB8},                                  
753         {0x45 , 0xD6},                                  
754         {0x46 , 0xEE},                                  
755         {0x47 , 0x0d},                                  
756         {0xfe , 0x00}, // set page0
757          
758         //-----------Update the registers 2010/07/06-------------//
759         //Registers of Page0
760         {0xfe , 0x00}, // set page0
761         {0x10 , 0x26},                                 
762         {0x11 , 0x0d},  // fd,modified by mormo 2010/07/06                               
763         {0x1a , 0x2a},  // 1e,modified by mormo 2010/07/06                                  
764
765         {0x1c , 0x49}, // c1,modified by mormo 2010/07/06                                 
766         {0x1d , 0x9a}, // 08,modified by mormo 2010/07/06                                 
767         {0x1e , 0x61}, // 60,modified by mormo 2010/07/06                                 
768
769         {0x3a , 0x20},
770
771         {0x50 , 0x14},  // 10,modified by mormo 2010/07/06                               
772         {0x53 , 0x80},                                  
773         {0x56 , 0x80},
774         
775         {0x8b , 0x20}, //LSC                                 
776         {0x8c , 0x20},                                  
777         {0x8d , 0x20},                                  
778         {0x8e , 0x14},                                  
779         {0x8f , 0x10},                                  
780         {0x90 , 0x14},                                  
781
782         {0x94 , 0x02},                                  
783         {0x95 , 0x07},                                  
784         {0x96 , 0xe0},                                  
785
786         {0xb1 , 0x40}, // YCPT                                 
787         {0xb2 , 0x40},                                  
788         {0xb3 , 0x40},
789         {0xb6 , 0xe0},
790
791         {0xd0 , 0xcb}, // AECT  c9,modifed by mormo 2010/07/06                                
792         {0xd3 , 0x48}, // 80,modified by mormor 2010/07/06                           
793
794         {0xf2 , 0x02},                                  
795         {0xf7 , 0x12},
796         {0xf8 , 0x0a},
797
798         //Registers of Page1
799         {0xfe , 0x01},// set page1    
800         {0x02 , 0x20},
801         {0x04 , 0x10},
802         {0x05 , 0x08},
803         {0x06 , 0x20},
804         {0x08 , 0x0a},
805
806         {0x0e , 0x44},                                  
807         {0x0f , 0x32},
808         {0x10 , 0x41},                                  
809         {0x11 , 0x37},                                  
810         {0x12 , 0x22},                                  
811         {0x13 , 0x19},                                  
812         {0x14 , 0x44},                                  
813         {0x15 , 0x44},  
814         
815         {0x19 , 0x50},                                  
816         {0x1a , 0xd8}, 
817         
818         {0x32 , 0x10}, 
819         
820         {0x35 , 0x00},                                  
821         {0x36 , 0x80},                                  
822         {0x37 , 0x00}, 
823         //-----------Update the registers end---------//
824
825
826         {0xfe , 0x00}, // set page0
827         {0xd2 , 0x90},
828
829
830         //-----------GAMMA Select(3)---------------//
831         {0x9F , 0x10},
832         {0xA0 , 0x20},
833         {0xA1 , 0x38},
834         {0xA2 , 0x4E},
835         {0xA3 , 0x63},
836         {0xA4 , 0x76},
837         {0xA5 , 0x87},
838         {0xA6 , 0xA2},
839         {0xA7 , 0xB8},
840         {0xA8 , 0xCA},
841         {0xA9 , 0xD8},
842         {0xAA , 0xE3},
843         {0xAB , 0xEB},
844         {0xAC , 0xF0},
845         {0xAD , 0xF8},
846         {0xAE , 0xFD},
847         {0xAF , 0xFF},
848
849          /*GC0308_GAMMA_Select,
850                 1:                                             //smallest gamma curve
851                         {0x9F , 0x0B},
852                         {0xA0 , 0x16},
853                         {0xA1 , 0x29},
854                         {0xA2 , 0x3C},
855                         {0xA3 , 0x4F},
856                         {0xA4 , 0x5F},
857                         {0xA5 , 0x6F},
858                         {0xA6 , 0x8A},
859                         {0xA7 , 0x9F},
860                         {0xA8 , 0xB4}, 
861                         {0xA9 , 0xC6},
862                         {0xAA , 0xD3},
863                         {0xAB , 0xDD},
864                         {0xAC , 0xE5},
865                         {0xAD , 0xF1},
866                         {0xAE , 0xFA},
867                         {0xAF , 0xFF},  
868                         
869                 2:                      
870                         {0x9F , 0x0E},
871                         {0xA0 , 0x1C},
872                         {0xA1 , 0x34},
873                         {0xA2 , 0x48},
874                         {0xA3 , 0x5A},
875                         {0xA4 , 0x6B},
876                         {0xA5 , 0x7B},
877                         {0xA6 , 0x95},
878                         {0xA7 , 0xAB},
879                         {0xA8 , 0xBF},
880                         {0xA9 , 0xCE},
881                         {0xAA , 0xD9},
882                         {0xAB , 0xE4},
883                         {0xAC , 0xEC},
884                         {0xAD , 0xF7},
885                         {0xAE , 0xFD},
886                         {0xAF , 0xFF},
887                         
888                 3:
889                         {0x9F , 0x10},
890                         {0xA0 , 0x20},
891                         {0xA1 , 0x38},
892                         {0xA2 , 0x4E},
893                         {0xA3 , 0x63},
894                         {0xA4 , 0x76},
895                         {0xA5 , 0x87},
896                         {0xA6 , 0xA2},
897                         {0xA7 , 0xB8},
898                         {0xA8 , 0xCA},
899                         {0xA9 , 0xD8},
900                         {0xAA , 0xE3},
901                         {0xAB , 0xEB},
902                         {0xAC , 0xF0},
903                         {0xAD , 0xF8},
904                         {0xAE , 0xFD},
905                         {0xAF , 0xFF},
906
907                 4:
908                         {0x9F , 0x14},
909                         {0xA0 , 0x28},
910                         {0xA1 , 0x44},
911                         {0xA2 , 0x5D},
912                         {0xA3 , 0x72},
913                         {0xA4 , 0x86},
914                         {0xA5 , 0x95},
915                         {0xA6 , 0xB1},
916                         {0xA7 , 0xC6},
917                         {0xA8 , 0xD5},
918                         {0xA9 , 0xE1},
919                         {0xAA , 0xEA},
920                         {0xAB , 0xF1},
921                         {0xAC , 0xF5},
922                         {0xAD , 0xFB},
923                         {0xAE , 0xFE},
924                         {0xAF , 0xFF},
925                         
926                 5:                                                              //largest gamma curve
927                         {0x9F , 0x15},
928                         {0xA0 , 0x2A},
929                         {0xA1 , 0x4A},
930                         {0xA2 , 0x67},
931                         {0xA3 , 0x79},
932                         {0xA4 , 0x8C},
933                         {0xA5 , 0x9A},
934                         {0xA6 , 0xB3},
935                         {0xA7 , 0xC5},
936                         {0xA8 , 0xD5},
937                         {0xA9 , 0xDF},
938                         {0xAA , 0xE8},
939                         {0xAB , 0xEE},
940                         {0xAC , 0xF3},
941                         {0xAD , 0xFA},
942                         {0xAE , 0xFD},
943                         {0xAF , 0xFF}, */
944         //-----------GAMMA Select End--------------//
945
946
947
948
949         //-------------H_V_Switch(4)---------------//
950                         {0x14 , 0x10},  //0x10
951
952          /*GC0308_H_V_Switch,
953
954                 1:  // normal
955                         {0x14 , 0x10},
956                         
957                 2:  // IMAGE_H_MIRROR
958                         {0x14 , 0x11},
959                         
960                 3:  // IMAGE_V_MIRROR
961                         {0x14 , 0x12},
962                         
963                 4:  // IMAGE_HV_MIRROR
964                         {0x14 , 0x13},
965         */                  
966         //-------------H_V_Select End--------------//
967
968 };
969
970 /* 1280X1024 SXGA */
971 static struct reginfo sensor_sxga[] =
972 {
973         {0x00,0x00}
974 };
975
976 /* 800X600 SVGA*/
977 static struct reginfo sensor_svga[] =
978 {
979     {0x0, 0x0},
980 };
981
982 /* 640X480 VGA */
983 static struct reginfo sensor_vga[] =
984 {
985     {0x17, 0x13},
986     {0x18, 0x01},
987     {0x32, 0xbf},
988     {0x19, 0x03},
989     {0x1a, 0x7b},
990     {0x03, 0x0a},
991         {0x00,0x00}
992 };
993
994 /* 352X288 CIF */
995 static struct reginfo sensor_cif[] =
996 {
997     {0x00,0x00}
998 };
999
1000 /* 320*240 QVGA */
1001 static  struct reginfo sensor_qvga[] =
1002 {
1003     {0x00,0x00}
1004 };
1005
1006 /* 176X144 QCIF*/
1007 static struct reginfo sensor_qcif[] =
1008 {
1009     {0x00,0x00}
1010 };
1011
1012
1013 #endif