Lines Matching +full:0 +full:x5300

7  * V0.0X01.0X00 first version.
8 * V0.0X01.0X01 fix some errors.
9 * V0.0X01.0X02 add get_selection.
10 * V0.0X01.0X03
13 * V0.0X01.0X04 fix power on sequence
35 #define DRIVER_VERSION KERNEL_VERSION(0, 0x01, 0x04)
47 #define CHIP_ID 0x00d855
48 #define OV13855_REG_CHIP_ID 0x300a
50 #define OV13855_REG_CTRL_MODE 0x0100
51 #define OV13855_MODE_SW_STANDBY 0x0
52 #define OV13855_MODE_STREAMING BIT(0)
54 #define OV13855_REG_EXPOSURE 0x3500
57 #define OV13855_VTS_MAX 0x7fff
59 #define OV13855_REG_GAIN_H 0x3508
60 #define OV13855_REG_GAIN_L 0x3509
61 #define OV13855_GAIN_H_MASK 0x1f
63 #define OV13855_GAIN_L_MASK 0xff
64 #define OV13855_GAIN_MIN 0x80
65 #define OV13855_GAIN_MAX 0x7c0
67 #define OV13855_GAIN_DEFAULT 0x80
69 #define OV13855_REG_TEST_PATTERN 0x5e00
70 #define OV13855_TEST_PATTERN_ENABLE 0x80
71 #define OV13855_TEST_PATTERN_DISABLE 0x0
73 #define OV13855_REG_VTS 0x380e
75 #define REG_NULL 0xFFFF
84 #define OV13855_CHIP_REVISION_REG 0x302A
156 {0x0103, 0x01},
157 {0x0300, 0x02},
158 {0x0301, 0x00},
159 {0x0302, 0x5a},
160 {0x0303, 0x00},
161 {0x0304, 0x00},
162 {0x0305, 0x01},
163 {0x030b, 0x06},
164 {0x030c, 0x02},
165 {0x030d, 0x88},
166 {0x0312, 0x11},
167 {0x3022, 0x01},
168 {0x3013, 0x32},
169 {0x3016, 0x72},
170 {0x301b, 0xF0},
171 {0x301f, 0xd0},
172 {0x3106, 0x15},
173 {0x3107, 0x23},
174 {0x3500, 0x00},
175 {0x3501, 0x80},
176 {0x3502, 0x00},
177 {0x3508, 0x02},
178 {0x3509, 0x00},
179 {0x350a, 0x00},
180 {0x350e, 0x00},
181 {0x3510, 0x00},
182 {0x3511, 0x02},
183 {0x3512, 0x00},
184 {0x3600, 0x2b},
185 {0x3601, 0x52},
186 {0x3602, 0x60},
187 {0x3612, 0x05},
188 {0x3613, 0xa4},
189 {0x3620, 0x80},
190 {0x3621, 0x10},
191 {0x3622, 0x30},
192 {0x3624, 0x1c},
193 {0x3640, 0x10},
194 {0x3641, 0x70},
195 {0x3661, 0x80},
196 {0x3662, 0x12},
197 {0x3664, 0x73},
198 {0x3665, 0xa7},
199 {0x366e, 0xff},
200 {0x366f, 0xf4},
201 {0x3674, 0x00},
202 {0x3679, 0x0c},
203 {0x367f, 0x01},
204 {0x3680, 0x0c},
205 {0x3681, 0x50},
206 {0x3682, 0x50},
207 {0x3683, 0xa9},
208 {0x3684, 0xa9},
209 {0x3709, 0x5f},
210 {0x3714, 0x24},
211 {0x371a, 0x3e},
212 {0x3737, 0x04},
213 {0x3738, 0xcc},
214 {0x3739, 0x12},
215 {0x373d, 0x26},
216 {0x3764, 0x20},
217 {0x3765, 0x20},
218 {0x37a1, 0x36},
219 {0x37a8, 0x3b},
220 {0x37ab, 0x31},
221 {0x37c2, 0x04},
222 {0x37c3, 0xf1},
223 {0x37c5, 0x00},
224 {0x37d8, 0x03},
225 {0x37d9, 0x0c},
226 {0x37da, 0xc2},
227 {0x37dc, 0x02},
228 {0x37e0, 0x00},
229 {0x37e1, 0x0a},
230 {0x37e2, 0x14},
231 {0x37e3, 0x04},
232 {0x37e4, 0x2a},
233 {0x37e5, 0x03},
234 {0x37e6, 0x04},
235 {0x3800, 0x00},
236 {0x3801, 0x00},
237 {0x3802, 0x00},
238 {0x3803, 0x08},
239 {0x3804, 0x10},
240 {0x3805, 0x9f},
241 {0x3806, 0x0c},
242 {0x3807, 0x57},
243 {0x3808, 0x10},
244 {0x3809, 0x80},
245 {0x380a, 0x0c},
246 {0x380b, 0x40},
247 {0x380c, 0x04},
248 {0x380d, 0x62},
249 {0x380e, 0x0c},
250 {0x380f, 0x8e},
251 {0x3811, 0x10},
252 {0x3813, 0x08},
253 {0x3814, 0x01},
254 {0x3815, 0x01},
255 {0x3816, 0x01},
256 {0x3817, 0x01},
257 {0x3820, 0xa8},
258 {0x3821, 0x00},
259 {0x3822, 0xc2},
260 {0x3823, 0x18},
261 {0x3826, 0x11},
262 {0x3827, 0x1c},
263 {0x3829, 0x03},
264 {0x3832, 0x00},
265 {0x3c80, 0x00},
266 {0x3c87, 0x01},
267 {0x3c8c, 0x19},
268 {0x3c8d, 0x1c},
269 {0x3c90, 0x00},
270 {0x3c91, 0x00},
271 {0x3c92, 0x00},
272 {0x3c93, 0x00},
273 {0x3c94, 0x40},
274 {0x3c95, 0x54},
275 {0x3c96, 0x34},
276 {0x3c97, 0x04},
277 {0x3c98, 0x00},
278 {0x3d8c, 0x73},
279 {0x3d8d, 0xc0},
280 {0x3f00, 0x0b},
281 {0x3f03, 0x00},
282 {0x4001, 0xe0},
283 {0x4008, 0x00},
284 {0x4009, 0x0f},
285 {0x4011, 0xf0},
286 {0x4050, 0x04},
287 {0x4051, 0x0b},
288 {0x4052, 0x00},
289 {0x4053, 0x80},
290 {0x4054, 0x00},
291 {0x4055, 0x80},
292 {0x4056, 0x00},
293 {0x4057, 0x80},
294 {0x4058, 0x00},
295 {0x4059, 0x80},
296 {0x405e, 0x00},
297 {0x4500, 0x07},
298 {0x4503, 0x00},
299 {0x450a, 0x04},
300 {0x4809, 0x04},
301 {0x480c, 0x12},
302 {0x481f, 0x30},
303 {0x4833, 0x10},
304 {0x4837, 0x0e},
305 {0x4902, 0x01},
306 {0x4d00, 0x03},
307 {0x4d01, 0xc9},
308 {0x4d02, 0xbc},
309 {0x4d03, 0xd7},
310 {0x4d04, 0xf0},
311 {0x4d05, 0xa2},
312 {0x5000, 0xff},
313 {0x5001, 0x07},
314 {0x5040, 0x39},
315 {0x5041, 0x10},
316 {0x5042, 0x10},
317 {0x5043, 0x84},
318 {0x5044, 0x62},
319 {0x5180, 0x00},
320 {0x5181, 0x10},
321 {0x5182, 0x02},
322 {0x5183, 0x0f},
323 {0x5200, 0x1b},
324 {0x520b, 0x07},
325 {0x520c, 0x0f},
326 {0x5300, 0x04},
327 {0x5301, 0x0C},
328 {0x5302, 0x0C},
329 {0x5303, 0x0f},
330 {0x5304, 0x00},
331 {0x5305, 0x70},
332 {0x5306, 0x00},
333 {0x5307, 0x80},
334 {0x5308, 0x00},
335 {0x5309, 0xa5},
336 {0x530a, 0x00},
337 {0x530b, 0xd3},
338 {0x530c, 0x00},
339 {0x530d, 0xf0},
340 {0x530e, 0x01},
341 {0x530f, 0x10},
342 {0x5310, 0x01},
343 {0x5311, 0x20},
344 {0x5312, 0x01},
345 {0x5313, 0x20},
346 {0x5314, 0x01},
347 {0x5315, 0x20},
348 {0x5316, 0x08},
349 {0x5317, 0x08},
350 {0x5318, 0x10},
351 {0x5319, 0x88},
352 {0x531a, 0x88},
353 {0x531b, 0xa9},
354 {0x531c, 0xaa},
355 {0x531d, 0x0a},
356 {0x5405, 0x02},
357 {0x5406, 0x67},
358 {0x5407, 0x01},
359 {0x5408, 0x4a},
360 {REG_NULL, 0x00},
370 {0x0300, 0x02},
371 {0x0301, 0x00},
372 {0x0302, 0x5a},
373 {0x0303, 0x01},
374 {0x0304, 0x00},
375 {0x0305, 0x01},
376 {0x3022, 0x01},
377 {0x3013, 0x32},
378 {0x3016, 0x72},
379 {0x301b, 0xf0},
380 {0x301f, 0xd0},
381 {0x3106, 0x15},
382 {0x3107, 0x23},
383 {0x3500, 0x00},
384 {0x3501, 0x64},
385 {0x3502, 0x00},
386 {0x3622, 0x30},
387 {0x3624, 0x1c},
388 {0x3662, 0x10},
389 {0x3709, 0x5f},
390 {0x3714, 0x28},
391 {0x3737, 0x08},
392 {0x3739, 0x20},
393 {0x37a1, 0x36},
394 {0x37a8, 0x3b},
395 {0x37ab, 0x31},
396 {0x37c2, 0x14},
397 {0x37d9, 0x0c},
398 {0x37e1, 0x0a},
399 {0x37e2, 0x14},
400 {0x37e3, 0x08},
401 {0x37e4, 0x38},
402 {0x37e5, 0x03},
403 {0x37e6, 0x08},
404 {0x3800, 0x00},
405 {0x3801, 0x00},
406 {0x3802, 0x00},
408 {0x3803, 0x08},
409 {0x3804, 0x10},
410 {0x3805, 0x9f},
411 {0x3806, 0x0c},
412 {0x3807, 0x4f},
413 {0x3808, 0x08},
414 {0x3809, 0x40},
415 {0x380a, 0x06},
416 {0x380b, 0x20},
417 {0x380c, 0x04},
418 {0x380d, 0x62},
419 {0x380e, 0x0c},
420 {0x380f, 0x89},
421 {0x3811, 0x08},
422 {0x3812, 0x00},
423 {0x3813, 0x02},
424 {0x3814, 0x03},
425 {0x3815, 0x01},
426 {0x3816, 0x03},
427 {0x3817, 0x01},
428 {0x3820, 0xab},
429 {0x3821, 0x00},
430 {0x3826, 0x04},
431 {0x3827, 0x90},
432 {0x3829, 0x07},
433 {0x3f03, 0x00},
434 {0x4009, 0x0d},
435 {0x4011, 0xf0},
436 {0x4050, 0x04},
437 {0x4051, 0x0b},
438 {0x4500, 0x07},
439 {0x4837, 0x1c},
440 {0x4902, 0x01},
441 {0x4d00, 0x03},
442 {0x4d01, 0xc9},
443 {0x4d02, 0xbc},
444 {0x4d03, 0xd7},
445 {0x4d04, 0xf0},
446 {0x4d05, 0xa2},
447 {0x5000, 0xff},
449 {0x5041, 0x10},
450 {0x5042, 0x10},
451 {0x5043, 0x84},
452 {0x5044, 0x62},
453 {0x5300, 0x04},
454 {0x5301, 0x0C},
455 {0x5302, 0x0C},
456 {0x5303, 0x0f},
457 {0x5305, 0x70},
458 {0x5307, 0x80},
459 {0x5309, 0xa5},
460 {0x530b, 0xd3},
461 {0x5319, 0x88},
462 {0x531a, 0x88},
463 {0x531b, 0xa9},
464 {0x531c, 0xaa},
465 {0x531d, 0x0a},
466 {0x5405, 0x02},
467 {0x5406, 0x67},
468 {0x5407, 0x01},
469 {0x5408, 0x4a},
471 {REG_NULL, 0x00},
480 {0x0300, 0x02},
481 {0x0301, 0x00},
482 {0x0302, 0x5a},
483 {0x0303, 0x00},
484 {0x0304, 0x00},
485 {0x0305, 0x01},
486 {0x030b, 0x06},
487 {0x030c, 0x02},
488 {0x030d, 0x88},
489 {0x0312, 0x11},
490 {0x3022, 0x01},
491 {0x3012, 0x40},
492 {0x3013, 0x72},
493 {0x3016, 0x72},
494 {0x301b, 0xF0},
495 {0x301f, 0xd0},
496 {0x3106, 0x15},
497 {0x3107, 0x23},
498 {0x3500, 0x00},
499 {0x3501, 0x80},
500 {0x3502, 0x00},
501 {0x3508, 0x02},
502 {0x3509, 0x00},
503 {0x350a, 0x00},
504 {0x350e, 0x00},
505 {0x3510, 0x00},
506 {0x3511, 0x02},
507 {0x3512, 0x00},
508 {0x3600, 0x2b},
509 {0x3601, 0x52},
510 {0x3602, 0x60},
511 {0x3612, 0x05},
512 {0x3613, 0xa4},
513 {0x3620, 0x80},
514 {0x3621, 0x10},
515 {0x3622, 0x30},
516 {0x3624, 0x1c},
517 {0x3640, 0x10},
518 {0x3641, 0x70},
519 {0x3660, 0x04},
520 {0x3661, 0x80},
521 {0x3662, 0x12},
522 {0x3664, 0x73},
523 {0x3665, 0xa7},
524 {0x366e, 0xff},
525 {0x366f, 0xf4},
526 {0x3674, 0x00},
527 {0x3679, 0x0c},
528 {0x367f, 0x01},
529 {0x3680, 0x0c},
530 {0x3681, 0x50},
531 {0x3682, 0x50},
532 {0x3683, 0xa9},
533 {0x3684, 0xa9},
534 {0x3706, 0x40},
535 {0x3709, 0x5f},
536 {0x3714, 0x24},
537 {0x371a, 0x3e},
538 {0x3737, 0x04},
539 {0x3738, 0xcc},
540 {0x3739, 0x12},
541 {0x373d, 0x26},
542 {0x3764, 0x20},
543 {0x3765, 0x20},
544 {0x37a1, 0x36},
545 {0x37a8, 0x3b},
546 {0x37ab, 0x31},
547 {0x37c2, 0x04},
548 {0x37c3, 0xf1},
549 {0x37c5, 0x00},
550 {0x37d8, 0x03},
551 {0x37d9, 0x0c},
552 {0x37da, 0xc2},
553 {0x37dc, 0x02},
554 {0x37e0, 0x00},
555 {0x37e1, 0x0a},
556 {0x37e2, 0x14},
557 {0x37e3, 0x04},
558 {0x37e4, 0x2A},
559 {0x37e5, 0x03},
560 {0x37e6, 0x04},
561 {0x3800, 0x00},
562 {0x3801, 0x00},
563 {0x3802, 0x00},
564 {0x3803, 0x08},
565 {0x3804, 0x10},
566 {0x3805, 0x9f},
567 {0x3806, 0x0c},
568 {0x3807, 0x57},
569 {0x3808, 0x10},
570 {0x3809, 0x80},
571 {0x380a, 0x0c},
572 {0x380b, 0x40},
573 {0x380c, 0x04},
574 {0x380d, 0x62},
575 {0x380e, 0x0c},
576 {0x380f, 0x8e},
577 {0x3811, 0x10},
578 {0x3813, 0x08},
579 {0x3814, 0x01},
580 {0x3815, 0x01},
581 {0x3816, 0x01},
582 {0x3817, 0x01},
583 {0x3820, 0xa8},
584 {0x3821, 0x00},
585 {0x3822, 0xd2},
586 {0x3823, 0x18},
587 {0x3826, 0x11},
588 {0x3827, 0x1c},
589 {0x3829, 0x03},
590 {0x3832, 0x00},
591 {0x3c80, 0x00},
592 {0x3c87, 0x01},
593 {0x3c8c, 0x19},
594 {0x3c8d, 0x1c},
595 {0x3c90, 0x00},
596 {0x3c91, 0x00},
597 {0x3c92, 0x00},
598 {0x3c93, 0x00},
599 {0x3c94, 0x40},
600 {0x3c95, 0x54},
601 {0x3c96, 0x34},
602 {0x3c97, 0x04},
603 {0x3c98, 0x00},
604 {0x3d8c, 0x73},
605 {0x3d8d, 0xc0},
606 {0x3f00, 0x0b},
607 {0x3f03, 0x00},
608 {0x4001, 0xe0},
609 {0x4008, 0x00},
610 {0x4009, 0x0f},
611 {0x4011, 0xf0},
612 {0x4017, 0x08},
613 {0x4050, 0x04},
614 {0x4051, 0x0b},
615 {0x4052, 0x00},
616 {0x4053, 0x80},
617 {0x4054, 0x00},
618 {0x4055, 0x80},
619 {0x4056, 0x00},
620 {0x4057, 0x80},
621 {0x4058, 0x00},
622 {0x4059, 0x80},
623 {0x405e, 0x00},
624 {0x4500, 0x07},
625 {0x4503, 0x00},
626 {0x450a, 0x04},
627 {0x4800, 0x60},
628 {0x4809, 0x04},
629 {0x480c, 0x12},
630 {0x481f, 0x30},
631 {0x4833, 0x10},
632 {0x4837, 0x0e},
633 {0x4902, 0x01},
634 {0x4d00, 0x03},
635 {0x4d01, 0xc9},
636 {0x4d02, 0xbc},
637 {0x4d03, 0xd7},
638 {0x4d04, 0xf0},
639 {0x4d05, 0xa2},
640 {0x5000, 0xff},
641 {0x5001, 0x07},
642 {0x5040, 0x39},
643 {0x5041, 0x10},
644 {0x5042, 0x10},
645 {0x5043, 0x84},
646 {0x5044, 0x62},
647 {0x5180, 0x00},
648 {0x5181, 0x10},
649 {0x5182, 0x02},
650 {0x5183, 0x0f},
651 {0x5200, 0x1b},
652 {0x520b, 0x07},
653 {0x520c, 0x0f},
654 {0x5300, 0x04},
655 {0x5301, 0x0C},
656 {0x5302, 0x0C},
657 {0x5303, 0x0f},
658 {0x5304, 0x00},
659 {0x5305, 0x70},
660 {0x5306, 0x00},
661 {0x5307, 0x80},
662 {0x5308, 0x00},
663 {0x5309, 0xa5},
664 {0x530a, 0x00},
665 {0x530b, 0xd3},
666 {0x530c, 0x00},
667 {0x530d, 0xf0},
668 {0x530e, 0x01},
669 {0x530f, 0x10},
670 {0x5310, 0x01},
671 {0x5311, 0x20},
672 {0x5312, 0x01},
673 {0x5313, 0x20},
674 {0x5314, 0x01},
675 {0x5315, 0x20},
676 {0x5316, 0x08},
677 {0x5317, 0x08},
678 {0x5318, 0x10},
679 {0x5319, 0x88},
680 {0x531a, 0x88},
681 {0x531b, 0xa9},
682 {0x531c, 0xaa},
683 {0x531d, 0x0a},
684 {0x5405, 0x02},
685 {0x5406, 0x67},
686 {0x5407, 0x01},
687 {0x5408, 0x4a},
688 {0x0100, 0x01},
689 {0x0100, 0x00},
690 {0x380c, 0x08},
691 {0x380d, 0xc4},
692 {0x0303, 0x01},
693 {0x4837, 0x1c},
694 //{0x0100, 0x01},
695 {REG_NULL, 0x00},
705 {0x0300, 0x02},
706 {0x0301, 0x00},
707 {0x0302, 0x5a},
708 {0x0303, 0x00},
709 {0x0304, 0x00},
710 {0x0305, 0x01},
711 {0x030b, 0x06},
712 {0x030c, 0x02},
713 {0x030d, 0x88},
714 {0x0312, 0x11},
715 {0x3022, 0x01},
716 {0x3012, 0x40},
717 {0x3013, 0x72},
718 {0x3016, 0x72},
719 {0x301b, 0xF0},
720 {0x301f, 0xd0},
721 {0x3106, 0x15},
722 {0x3107, 0x23},
723 {0x3500, 0x00},
724 {0x3501, 0x80},
725 {0x3502, 0x00},
726 {0x3508, 0x02},
727 {0x3509, 0x00},
728 {0x350a, 0x00},
729 {0x350e, 0x00},
730 {0x3510, 0x00},
731 {0x3511, 0x02},
732 {0x3512, 0x00},
733 {0x3600, 0x2b},
734 {0x3601, 0x52},
735 {0x3602, 0x60},
736 {0x3612, 0x05},
737 {0x3613, 0xa4},
738 {0x3620, 0x80},
739 {0x3621, 0x10},
740 {0x3622, 0x30},
741 {0x3624, 0x1c},
742 {0x3640, 0x10},
743 {0x3641, 0x70},
744 {0x3660, 0x04},
745 {0x3661, 0x80},
746 {0x3662, 0x12},
747 {0x3664, 0x73},
748 {0x3665, 0xa7},
749 {0x366e, 0xff},
750 {0x366f, 0xf4},
751 {0x3674, 0x00},
752 {0x3679, 0x0c},
753 {0x367f, 0x01},
754 {0x3680, 0x0c},
755 {0x3681, 0x50},
756 {0x3682, 0x50},
757 {0x3683, 0xa9},
758 {0x3684, 0xa9},
759 {0x3706, 0x40},
760 {0x3709, 0x5f},
761 {0x3714, 0x24},
762 {0x371a, 0x3e},
763 {0x3737, 0x04},
764 {0x3738, 0xcc},
765 {0x3739, 0x12},
766 {0x373d, 0x26},
767 {0x3764, 0x20},
768 {0x3765, 0x20},
769 {0x37a1, 0x36},
770 {0x37a8, 0x3b},
771 {0x37ab, 0x31},
772 {0x37c2, 0x04},
773 {0x37c3, 0xf1},
774 {0x37c5, 0x00},
775 {0x37d8, 0x03},
776 {0x37d9, 0x0c},
777 {0x37da, 0xc2},
778 {0x37dc, 0x02},
779 {0x37e0, 0x00},
780 {0x37e1, 0x0a},
781 {0x37e2, 0x14},
782 {0x37e3, 0x04},
783 {0x37e4, 0x2A},
784 {0x37e5, 0x03},
785 {0x37e6, 0x04},
786 {0x3800, 0x00},
787 {0x3801, 0x00},
788 {0x3802, 0x00},
789 {0x3803, 0x08},
790 {0x3804, 0x10},
791 {0x3805, 0x9f},
792 {0x3806, 0x0c},
793 {0x3807, 0x57},
794 {0x3808, 0x10},
795 {0x3809, 0x80},
796 {0x380a, 0x0c},
797 {0x380b, 0x40},
798 {0x380c, 0x04},
799 {0x380d, 0x62},
800 {0x380e, 0x0c},
801 {0x380f, 0x8e},
802 {0x3811, 0x10},
803 {0x3813, 0x08},
804 {0x3814, 0x01},
805 {0x3815, 0x01},
806 {0x3816, 0x01},
807 {0x3817, 0x01},
808 {0x3820, 0xa8},
809 {0x3821, 0x00},
810 {0x3822, 0xd2},
811 {0x3823, 0x18},
812 {0x3826, 0x11},
813 {0x3827, 0x1c},
814 {0x3829, 0x03},
815 {0x3832, 0x00},
816 {0x3c80, 0x00},
817 {0x3c87, 0x01},
818 {0x3c8c, 0x19},
819 {0x3c8d, 0x1c},
820 {0x3c90, 0x00},
821 {0x3c91, 0x00},
822 {0x3c92, 0x00},
823 {0x3c93, 0x00},
824 {0x3c94, 0x40},
825 {0x3c95, 0x54},
826 {0x3c96, 0x34},
827 {0x3c97, 0x04},
828 {0x3c98, 0x00},
829 {0x3d8c, 0x73},
830 {0x3d8d, 0xc0},
831 {0x3f00, 0x0b},
832 {0x3f03, 0x00},
833 {0x4001, 0xe0},
834 {0x4008, 0x00},
835 {0x4009, 0x0f},
836 {0x4011, 0xf0},
837 {0x4017, 0x08},
838 {0x4050, 0x04},
839 {0x4051, 0x0b},
840 {0x4052, 0x00},
841 {0x4053, 0x80},
842 {0x4054, 0x00},
843 {0x4055, 0x80},
844 {0x4056, 0x00},
845 {0x4057, 0x80},
846 {0x4058, 0x00},
847 {0x4059, 0x80},
848 {0x405e, 0x00},
849 {0x4500, 0x07},
850 {0x4503, 0x00},
851 {0x450a, 0x04},
852 {0x4800, 0x60},
853 {0x4809, 0x04},
854 {0x480c, 0x12},
855 {0x481f, 0x30},
856 {0x4833, 0x10},
857 {0x4837, 0x0e},
858 {0x4902, 0x01},
859 {0x4d00, 0x03},
860 {0x4d01, 0xc9},
861 {0x4d02, 0xbc},
862 {0x4d03, 0xd7},
863 {0x4d04, 0xf0},
864 {0x4d05, 0xa2},
865 {0x5000, 0xff},
866 {0x5001, 0x07},
867 {0x5040, 0x39},
868 {0x5041, 0x10},
869 {0x5042, 0x10},
870 {0x5043, 0x84},
871 {0x5044, 0x62},
872 {0x5180, 0x00},
873 {0x5181, 0x10},
874 {0x5182, 0x02},
875 {0x5183, 0x0f},
876 {0x5200, 0x1b},
877 {0x520b, 0x07},
878 {0x520c, 0x0f},
879 {0x5300, 0x04},
880 {0x5301, 0x0C},
881 {0x5302, 0x0C},
882 {0x5303, 0x0f},
883 {0x5304, 0x00},
884 {0x5305, 0x70},
885 {0x5306, 0x00},
886 {0x5307, 0x80},
887 {0x5308, 0x00},
888 {0x5309, 0xa5},
889 {0x530a, 0x00},
890 {0x530b, 0xd3},
891 {0x530c, 0x00},
892 {0x530d, 0xf0},
893 {0x530e, 0x01},
894 {0x530f, 0x10},
895 {0x5310, 0x01},
896 {0x5311, 0x20},
897 {0x5312, 0x01},
898 {0x5313, 0x20},
899 {0x5314, 0x01},
900 {0x5315, 0x20},
901 {0x5316, 0x08},
902 {0x5317, 0x08},
903 {0x5318, 0x10},
904 {0x5319, 0x88},
905 {0x531a, 0x88},
906 {0x531b, 0xa9},
907 {0x531c, 0xaa},
908 {0x531d, 0x0a},
909 {0x5405, 0x02},
910 {0x5406, 0x67},
911 {0x5407, 0x01},
912 {0x5408, 0x4a},
913 {0x0100, 0x01},
914 {0x0100, 0x00},
915 {0x380c, 0x04},
916 {0x380d, 0x62},
917 {0x0303, 0x00},
918 {0x4837, 0x0e},
919 //{0x0100, 0x01},
920 {REG_NULL, 0x00},
931 .exp_def = 0x0800,
932 .hts_def = 0x0462,
933 .vts_def = 0x0c8e,
936 .link_freq_idx = 0,
946 .exp_def = 0x0400,
947 .hts_def = 0x0462,
948 .vts_def = 0x0c89,
960 .exp_def = 0x0800,
961 .hts_def = 0x08c4,
962 .vts_def = 0x0c8e,
965 .link_freq_idx = 0,
992 dev_dbg(&client->dev, "write reg(0x%x val:0x%x)!\n", reg, val); in ov13855_write_reg()
997 buf[0] = reg >> 8; in ov13855_write_reg()
998 buf[1] = reg & 0xff; in ov13855_write_reg()
1011 return 0; in ov13855_write_reg()
1018 int ret = 0; in ov13855_write_array()
1020 for (i = 0; ret == 0 && regs[i].addr != REG_NULL; i++) in ov13855_write_array()
1034 __be32 data_be = 0; in ov13855_read_reg()
1043 msgs[0].addr = client->addr; in ov13855_read_reg()
1044 msgs[0].flags = 0; in ov13855_read_reg()
1045 msgs[0].len = 2; in ov13855_read_reg()
1046 msgs[0].buf = (u8 *)&reg_addr_be; in ov13855_read_reg()
1060 return 0; in ov13855_read_reg()
1075 int cur_best_fit = 0; in ov13855_find_best_fit()
1079 for (i = 0; i < ARRAY_SIZE(supported_modes); i++) { in ov13855_find_best_fit()
1097 u64 pixel_rate = 0; in ov13855_set_fmt()
1136 return 0; in ov13855_set_fmt()
1162 return 0; in ov13855_get_fmt()
1169 if (code->index != 0) in ov13855_enum_mbus_code()
1173 return 0; in ov13855_enum_mbus_code()
1191 return 0; in ov13855_enum_frame_sizes()
1217 return 0; in ov13855_g_frame_interval()
1223 memset(inf, 0, sizeof(*inf)); in ov13855_get_module_inf()
1233 long ret = 0; in ov13855_ioctl()
1234 u32 stream = 0; in ov13855_ioctl()
1270 long ret = 0; in ov13855_compat_ioctl32()
1271 u32 stream = 0; in ov13855_compat_ioctl32()
1352 int ret = 0; in ov13855_s_stream()
1367 if (ret < 0) { in ov13855_s_stream()
1395 int ret = 0; in ov13855_s_power()
1405 if (ret < 0) { in ov13855_s_power()
1449 if (ret < 0) in __ov13855_power_on()
1453 if (ret < 0) in __ov13855_power_on()
1458 if (ret < 0) { in __ov13855_power_on()
1463 gpiod_set_value_cansleep(ov13855->reset_gpio, 0); in __ov13855_power_on()
1466 if (ret < 0) { in __ov13855_power_on()
1482 return 0; in __ov13855_power_on()
1496 gpiod_set_value_cansleep(ov13855->pwdn_gpio, 0); in __ov13855_power_off()
1499 gpiod_set_value_cansleep(ov13855->reset_gpio, 0); in __ov13855_power_off()
1504 if (ret < 0) in __ov13855_power_off()
1508 gpiod_set_value_cansleep(ov13855->power_gpio, 0); in __ov13855_power_off()
1530 return 0; in ov13855_runtime_suspend()
1538 v4l2_subdev_get_try_format(sd, fh->pad, 0); in ov13855_open()
1539 const struct ov13855_mode *def_mode = &supported_modes[0]; in ov13855_open()
1551 return 0; in ov13855_open()
1567 return 0; in ov13855_enum_frame_interval()
1585 return 0; in ov13855_g_mbus_config()
1595 sel->r.left = 0; in ov13855_get_selection()
1597 sel->r.top = 0; in ov13855_get_selection()
1599 return 0; in ov13855_get_selection()
1651 int ret = 0; in ov13855_set_ctrl()
1666 return 0; in ov13855_set_ctrl()
1697 dev_warn(&client->dev, "%s Unhandled id:0x%x, val:0x%x\n", in ov13855_set_ctrl()
1718 u64 dst_pixel_rate = 0; in ov13855_initialize_controls()
1730 1, 0, link_freq_items); in ov13855_initialize_controls()
1736 0, OV13855_PIXEL_RATE, in ov13855_initialize_controls()
1768 0, 0, ov13855_test_pattern_menu); in ov13855_initialize_controls()
1779 return 0; in ov13855_initialize_controls()
1791 u32 id = 0; in ov13855_check_sensor_id()
1808 dev_info(dev, "Detected OV%06x sensor, REVISION 0x%x\n", CHIP_ID, id); in ov13855_check_sensor_id()
1810 return 0; in ov13855_check_sensor_id()
1817 for (i = 0; i < OV13855_NUM_SUPPLIES; i++) in ov13855_configure_regulators()
1837 (DRIVER_VERSION & 0xff00) >> 8, in ov13855_probe()
1838 DRIVER_VERSION & 0x00ff); in ov13855_probe()
1858 ov13855->cur_mode = &supported_modes[0]; in ov13855_probe()
1923 if (ret < 0) in ov13855_probe()
1927 memset(facing, 0, sizeof(facing)); in ov13855_probe()
1928 if (strcmp(ov13855->module_facing, "back") == 0) in ov13855_probe()
1929 facing[0] = 'b'; in ov13855_probe()
1931 facing[0] = 'f'; in ov13855_probe()
1946 return 0; in ov13855_probe()
1979 return 0; in ov13855_remove()
1991 { "ovti,ov13855", 0 },