Lines Matching +full:0 +full:x0bf8

6  * V0.0X01.0X00 init version.
37 #define DRIVER_VERSION KERNEL_VERSION(0, 0x01, 0x00)
53 #define CHIP_ID 0x0586
54 #define IMX586_REG_CHIP_ID_H 0x0016
55 #define IMX586_REG_CHIP_ID_L 0x0017
57 #define IMX586_REG_CTRL_MODE 0x0100
58 #define IMX586_MODE_SW_STANDBY 0x0
59 #define IMX586_MODE_STREAMING 0x1
61 #define IMX586_REG_EXPOSURE_H 0x0202
62 #define IMX586_REG_EXPOSURE_L 0x0203
65 #define IMX586_VTS_MAX 0x7fff
67 #define IMX586_REG_GAIN_H 0x0204
68 #define IMX586_REG_GAIN_L 0x0205
69 #define IMX586_GAIN_MIN 0x10
70 #define IMX586_GAIN_MAX 0x400
72 #define IMX586_GAIN_DEFAULT 0x80
74 #define IMX586_REG_DGAIN 0x3130
75 #define IMX586_DGAIN_MODE BIT(0)
76 #define IMX586_REG_DGAINGR_H 0x020e
77 #define IMX586_REG_DGAINGR_L 0x020f
78 #define IMX586_REG_DGAINR_H 0x0210
79 #define IMX586_REG_DGAINR_L 0x0211
80 #define IMX586_REG_DGAINB_H 0x0212
81 #define IMX586_REG_DGAINB_L 0x0213
82 #define IMX586_REG_DGAINGB_H 0x0214
83 #define IMX586_REG_DGAINGB_L 0x0215
84 #define IMX586_REG_GAIN_GLOBAL_H 0x3ffc
85 #define IMX586_REG_GAIN_GLOBAL_L 0x3ffd
87 //#define IMX586_REG_TEST_PATTERN_H 0x0600
88 #define IMX586_REG_TEST_PATTERN 0x0601
89 #define IMX586_TEST_PATTERN_ENABLE 0x1
90 #define IMX586_TEST_PATTERN_DISABLE 0x0
92 #define IMX586_REG_VTS_H 0x0340
93 #define IMX586_REG_VTS_L 0x0341
95 #define IMX586_FLIP_MIRROR_REG 0x0101
96 #define IMX586_MIRROR_BIT_MASK BIT(0)
99 #define IMX586_FETCH_EXP_H(VAL) (((VAL) >> 8) & 0xFF)
100 #define IMX586_FETCH_EXP_L(VAL) ((VAL) & 0xFF)
102 #define IMX586_FETCH_AGAIN_H(VAL) (((VAL) >> 8) & 0x03)
103 #define IMX586_FETCH_AGAIN_L(VAL) ((VAL) & 0xFF)
105 #define IMX586_FETCH_DGAIN_H(VAL) (((VAL) >> 8) & 0x0F)
106 #define IMX586_FETCH_DGAIN_L(VAL) ((VAL) & 0xFF)
108 #define IMX586_FETCH_RHS1_H(VAL) (((VAL) >> 16) & 0x0F)
109 #define IMX586_FETCH_RHS1_M(VAL) (((VAL) >> 8) & 0xFF)
110 #define IMX586_FETCH_RHS1_L(VAL) ((VAL) & 0xFF)
112 #define REG_DELAY 0xFFFE
113 #define REG_NULL 0xFFFF
212 {0x0136, 0x18},
213 {0x0137, 0x00},
215 {0x3C7E, 0x01},
216 {0x3C7F, 0x08},
219 {0x0111, 0x02},
222 {0x380C, 0x00},
223 {0x3C00, 0x10},
224 {0x3C01, 0x10},
225 {0x3C02, 0x10},
226 {0x3C03, 0x10},
227 {0x3C04, 0x10},
228 {0x3C05, 0x01},
229 {0x3C06, 0x00},
230 {0x3C07, 0x00},
231 {0x3C08, 0x03},
232 {0x3C09, 0xFF},
233 {0x3C0A, 0x01},
234 {0x3C0B, 0x00},
235 {0x3C0C, 0x00},
236 {0x3C0D, 0x03},
237 {0x3C0E, 0xFF},
238 {0x3C0F, 0x20},
239 {0x3F88, 0x00},
240 {0x3F8E, 0x00},
241 {0x5282, 0x01},
242 {0x9004, 0x14},
243 {0x9200, 0xF4},
244 {0x9201, 0xA7},
245 {0x9202, 0xF4},
246 {0x9203, 0xAA},
247 {0x9204, 0xF4},
248 {0x9205, 0xAD},
249 {0x9206, 0xF4},
250 {0x9207, 0xB0},
251 {0x9208, 0xF4},
252 {0x9209, 0xB3},
253 {0x920A, 0xB7},
254 {0x920B, 0x34},
255 {0x920C, 0xB7},
256 {0x920D, 0x36},
257 {0x920E, 0xB7},
258 {0x920F, 0x37},
259 {0x9210, 0xB7},
260 {0x9211, 0x38},
261 {0x9212, 0xB7},
262 {0x9213, 0x39},
263 {0x9214, 0xB7},
264 {0x9215, 0x3A},
265 {0x9216, 0xB7},
266 {0x9217, 0x3C},
267 {0x9218, 0xB7},
268 {0x9219, 0x3D},
269 {0x921A, 0xB7},
270 {0x921B, 0x3E},
271 {0x921C, 0xB7},
272 {0x921D, 0x3F},
273 {0x921E, 0x77},
274 {0x921F, 0x77},
275 {0x9222, 0xC4},
276 {0x9223, 0x4B},
277 {0x9224, 0xC4},
278 {0x9225, 0x4C},
279 {0x9226, 0xC4},
280 {0x9227, 0x4D},
281 {0x9810, 0x14},
282 {0x9814, 0x14},
283 {0x99B2, 0x20},
284 {0x99B3, 0x0F},
285 {0x99B4, 0x0F},
286 {0x99B5, 0x0F},
287 {0x99B6, 0x0F},
288 {0x99E4, 0x0F},
289 {0x99E5, 0x0F},
290 {0x99E6, 0x0F},
291 {0x99E7, 0x0F},
292 {0x99E8, 0x0F},
293 {0x99E9, 0x0F},
294 {0x99EA, 0x0F},
295 {0x99EB, 0x0F},
296 {0x99EC, 0x0F},
297 {0x99ED, 0x0F},
298 {0xA569, 0x06},
299 {0xA679, 0x20},
300 {0xC020, 0x01},
301 {0xC61D, 0x00},
302 {0xC625, 0x00},
303 {0xC638, 0x03},
304 {0xC63B, 0x01},
305 {0xE286, 0x31},
306 {0xE2A6, 0x32},
307 {0xE2C6, 0x33},
308 {0xBCF1, 0x00},
311 {0x9852, 0x00},
312 {0x9954, 0x0F},
313 {0xA7AD, 0x01},
314 {0xA7CB, 0x01},
315 {0xAE09, 0xFF},
316 {0xAE0A, 0xFF},
317 {0xAE12, 0x58},
318 {0xAE13, 0x58},
319 {0xAE15, 0x10},
320 {0xAE16, 0x10},
321 {0xAF05, 0x48},
322 {0xB07C, 0x02},
324 {REG_NULL, 0x00},
329 {0x0112, 0x0A},
330 {0x0113, 0x0A},
331 {0x0114, 0x03},
334 {0x0342, 0x23}, // 8976
335 {0x0343, 0x10},
338 {0x0340, 0x0B}, // 3064
339 {0x0341, 0xF8},
342 {0x0344, 0x00},
343 {0x0345, 0x00},
344 {0x0346, 0x00},
345 {0x0347, 0x00},
346 {0x0348, 0x1F},
347 {0x0349, 0x3F},
348 {0x034A, 0x17},
349 {0x034B, 0x6F},
352 {0x0220, 0x62},
353 {0x0222, 0x01},
354 {0x0900, 0x01},
355 {0x0901, 0x22},
356 {0x0902, 0x08},
357 {0x3140, 0x00},
358 {0x3246, 0x81},
359 {0x3247, 0x81},
360 {0x3F15, 0x00},
363 {0x0401, 0x00},
364 {0x0404, 0x00},
365 {0x0405, 0x10},
366 {0x0408, 0x00},
367 {0x0409, 0x00},
368 {0x040A, 0x00},
369 {0x040B, 0x00},
370 {0x040C, 0x0F},
371 {0x040D, 0xA0},
372 {0x040E, 0x0B},
373 {0x040F, 0xB8},
376 {0x034C, 0x0F},
377 {0x034D, 0xA0},
378 {0x034E, 0x0B},
379 {0x034F, 0xB8},
382 {0x0301, 0x05},
383 {0x0303, 0x04},
384 {0x0305, 0x04},
385 {0x0306, 0x01},
386 {0x0307, 0x58},
387 {0x030B, 0x02},
388 {0x030D, 0x03},
389 {0x030E, 0x01},
390 {0x030F, 0x1F},
391 {0x0310, 0x01},
394 {0x3620, 0x00},
395 {0x3621, 0x00},
396 {0x3C11, 0x04},
397 {0x3C12, 0x03},
398 {0x3C13, 0x2D},
399 {0x3F0C, 0x00},
400 {0x3F14, 0x00},
401 {0x3F80, 0x01},
402 {0x3F81, 0x90},
403 {0x3F8C, 0x00},
404 {0x3F8D, 0x14},
405 {0x3FF8, 0x01},
406 {0x3FF9, 0x2A},
407 {0x3FFE, 0x00},
408 {0x3FFF, 0x6C},
411 {0x0202, 0x0B},
412 {0x0203, 0xC4},
413 {0x0224, 0x01},
414 {0x0225, 0xF4},
415 {0x3FE0, 0x01},
416 {0x3FE1, 0xF4},
419 {0x0204, 0x00},
420 {0x0205, 0x70},
421 {0x0216, 0x00},
422 {0x0217, 0x70},
423 {0x0218, 0x01},
424 {0x0219, 0x00},
425 {0x020E, 0x01},
426 {0x020F, 0x00},
427 {0x0210, 0x01},
428 {0x0211, 0x00},
429 {0x0212, 0x01},
430 {0x0213, 0x00},
431 {0x0214, 0x01},
432 {0x0215, 0x00},
433 {0x3FE2, 0x00},
434 {0x3FE3, 0x70},
435 {0x3FE4, 0x01},
436 {0x3FE5, 0x00},
439 {0x3E20, 0x01},
440 {0x3E37, 0x01},
442 {REG_NULL, 0x00},
447 {0x0112, 0x0A},
448 {0x0113, 0x0A},
449 {0x0114, 0x03},
452 {0x0342, 0x39},
453 {0x0343, 0x70},
456 {0x0340, 0x17},
457 {0x0341, 0xAC},
460 {0x0344, 0x00},
461 {0x0345, 0x00},
462 {0x0346, 0x00},
463 {0x0347, 0x00},
464 {0x0348, 0x1F},
465 {0x0349, 0x3F},
466 {0x034A, 0x17},
467 {0x034B, 0x6F},
470 {0x0220, 0x62},
471 {0x0222, 0x01},
472 {0x0900, 0x00},
473 {0x0901, 0x11},
474 {0x0902, 0x0A},
475 {0x3140, 0x00},
476 {0x3246, 0x01},
477 {0x3247, 0x01},
478 {0x3F15, 0x00},
481 {0x0401, 0x00},
482 {0x0404, 0x00},
483 {0x0405, 0x10},
484 {0x0408, 0x00},
485 {0x0409, 0x00},
486 {0x040A, 0x00},
487 {0x040B, 0x00},
488 {0x040C, 0x1F},
489 {0x040D, 0x40},
490 {0x040E, 0x17},
491 {0x040F, 0x70},
494 {0x034C, 0x1F},
495 {0x034D, 0x40},
496 {0x034E, 0x17},
497 {0x034F, 0x70},
500 {0x0301, 0x05},
501 {0x0303, 0x04},
502 {0x0305, 0x04},
503 {0x0306, 0x00},
504 {0x0307, 0xEE},
505 {0x030B, 0x02},
506 {0x030D, 0x06},
507 {0x030E, 0x01},
508 {0x030F, 0x90},
509 {0x0310, 0x01},
512 {0x3620, 0x00},
513 {0x3621, 0x01},
514 {0x3C11, 0x08},
515 {0x3C12, 0x08},
516 {0x3C13, 0x2A},
517 {0x3F0C, 0x00},
518 {0x3F14, 0x01},
519 {0x3F80, 0x00},
520 {0x3F81, 0x00},
521 {0x3F8C, 0x00},
522 {0x3F8D, 0x00},
523 {0x3FF8, 0x00},
524 {0x3FF9, 0x00},
525 {0x3FFE, 0x03},
526 {0x3FFF, 0x84},
529 {0x0202, 0x17},
530 {0x0203, 0x7C},
531 {0x0224, 0x01},
532 {0x0225, 0xF4},
533 {0x3FE0, 0x01},
534 {0x3FE1, 0xF4},
537 {0x0204, 0x00},
538 {0x0205, 0x70},
539 {0x0216, 0x00},
540 {0x0217, 0x70},
541 {0x0218, 0x01},
542 {0x0219, 0x00},
543 {0x020E, 0x01},
544 {0x020F, 0x00},
545 {0x0210, 0x01},
546 {0x0211, 0x00},
547 {0x0212, 0x01},
548 {0x0213, 0x00},
549 {0x0214, 0x01},
550 {0x0215, 0x00},
551 {0x3FE2, 0x00},
552 {0x3FE3, 0x70},
553 {0x3FE4, 0x01},
554 {0x3FE5, 0x00},
557 {0x3E20, 0x01},
558 {0x3E37, 0x01},
560 {REG_NULL, 0x00},
565 {0x0112, 0x0A},
566 {0x0113, 0x0A},
567 {0x0114, 0x03},
570 {0x0342, 0x39},
571 {0x0343, 0x70},
574 {0x0340, 0x17},
575 {0x0341, 0xAC},
578 {0x0344, 0x00},
579 {0x0345, 0x00},
580 {0x0346, 0x00},
581 {0x0347, 0x00},
582 {0x0348, 0x1F},
583 {0x0349, 0x3F},
584 {0x034A, 0x17},
585 {0x034B, 0x6F},
588 {0x0220, 0x62},
589 {0x0222, 0x01},
590 {0x0900, 0x00},
591 {0x0901, 0x11},
592 {0x0902, 0x0A},
593 {0x3140, 0x00},
594 {0x3246, 0x01},
595 {0x3247, 0x01},
596 {0x3F15, 0x00},
599 {0x0401, 0x00},
600 {0x0404, 0x00},
601 {0x0405, 0x10},
602 {0x0408, 0x00},
603 {0x0409, 0x00},
604 {0x040A, 0x00},
605 {0x040B, 0x00},
606 {0x040C, 0x1F},
607 {0x040D, 0x40},
608 {0x040E, 0x17},
609 {0x040F, 0x70},
612 {0x034C, 0x1F},
613 {0x034D, 0x40},
614 {0x034E, 0x17},
615 {0x034F, 0x70},
618 {0x0301, 0x05},
619 {0x0303, 0x04},
620 {0x0305, 0x04},
621 {0x0306, 0x00},
622 {0x0307, 0xEE},
623 {0x030B, 0x02},
624 {0x030D, 0x06},
625 {0x030E, 0x01},
626 {0x030F, 0x90},
627 {0x0310, 0x01},
630 {0x3620, 0x01},
631 {0x3621, 0x01},
632 {0x3C11, 0x08},
633 {0x3C12, 0x08},
634 {0x3C13, 0x2A},
635 {0x3F0C, 0x00},
636 {0x3F14, 0x01},
637 {0x3F80, 0x00},
638 {0x3F81, 0x14},
639 {0x3F8C, 0x00},
640 {0x3F8D, 0x14},
641 {0x3FF8, 0x00},
642 {0x3FF9, 0x00},
643 {0x3FFE, 0x03},
644 {0x3FFF, 0x52},
647 {0x0202, 0x17},
648 {0x0203, 0x7C},
649 {0x0224, 0x01},
650 {0x0225, 0xF4},
651 {0x3FE0, 0x01},
652 {0x3FE1, 0xF4},
655 {0x0204, 0x00},
656 {0x0205, 0x70},
657 {0x0216, 0x00},
658 {0x0217, 0x70},
659 {0x0218, 0x01},
660 {0x0219, 0x00},
661 {0x020E, 0x01},
662 {0x020F, 0x00},
663 {0x0210, 0x01},
664 {0x0211, 0x00},
665 {0x0212, 0x01},
666 {0x0213, 0x00},
667 {0x0214, 0x01},
668 {0x0215, 0x00},
669 {0x3FE2, 0x00},
670 {0x3FE3, 0x70},
671 {0x3FE4, 0x01},
672 {0x3FE5, 0x00},
675 {0x3E20, 0x01},
676 {0x3E37, 0x01},
678 {REG_NULL, 0x00},
683 {0x0112, 0x0A},
684 {0x0113, 0x0A},
685 {0x0114, 0x03},
688 {0x0342, 0x39},
689 {0x0343, 0x70},
692 {0x0340, 0x17},
693 {0x0341, 0xAC},
696 {0x0344, 0x00},
697 {0x0345, 0x00},
698 {0x0346, 0x00},
699 {0x0347, 0x00},
700 {0x0348, 0x1F},
701 {0x0349, 0x3F},
702 {0x034A, 0x17},
703 {0x034B, 0x6F},
706 {0x0220, 0x62},
707 {0x0222, 0x01},
708 {0x0900, 0x00},
709 {0x0901, 0x11},
710 {0x0902, 0x0A},
711 {0x3140, 0x00},
712 {0x3246, 0x01},
713 {0x3247, 0x01},
714 {0x3F15, 0x00},
717 {0x0401, 0x00},
718 {0x0404, 0x00},
719 {0x0405, 0x10},
720 {0x0408, 0x00},
721 {0x0409, 0x00},
722 {0x040A, 0x00},
723 {0x040B, 0x00},
724 {0x040C, 0x1F},
725 {0x040D, 0x40},
726 {0x040E, 0x17},
727 {0x040F, 0x70},
730 {0x034C, 0x1F},
731 {0x034D, 0x40},
732 {0x034E, 0x17},
733 {0x034F, 0x70},
736 {0x0301, 0x05},
737 {0x0303, 0x04},
738 {0x0305, 0x04},
739 {0x0306, 0x01},
740 {0x0307, 0x68},
741 {0x030B, 0x02},
742 {0x030D, 0x06},
743 {0x030E, 0x02},
744 {0x030F, 0x71},
745 {0x0310, 0x01},
748 {0x3620, 0x01},
749 {0x3621, 0x01},
750 {0x3C11, 0x08},
751 {0x3C12, 0x08},
752 {0x3C13, 0x2A},
753 {0x3F0C, 0x00},
754 {0x3F14, 0x01},
755 {0x3F80, 0x00},
756 {0x3F81, 0x14},
757 {0x3F8C, 0x00},
758 {0x3F8D, 0x14},
759 {0x3FF8, 0x00},
760 {0x3FF9, 0x00},
761 {0x3FFE, 0x03},
762 {0x3FFF, 0x52},
765 {0x0202, 0x17},
766 {0x0203, 0x7C},
767 {0x0224, 0x01},
768 {0x0225, 0xF4},
769 {0x3FE0, 0x01},
770 {0x3FE1, 0xF4},
773 {0x0204, 0x00},
774 {0x0205, 0x70},
775 {0x0216, 0x00},
776 {0x0217, 0x70},
777 {0x0218, 0x01},
778 {0x0219, 0x00},
779 {0x020E, 0x01},
780 {0x020F, 0x00},
781 {0x0210, 0x01},
782 {0x0211, 0x00},
783 {0x0212, 0x01},
784 {0x0213, 0x00},
785 {0x0214, 0x01},
786 {0x0215, 0x00},
787 {0x3FE2, 0x00},
788 {0x3FE3, 0x70},
789 {0x3FE4, 0x01},
790 {0x3FE5, 0x00},
793 {0x3E20, 0x01},
794 {0x3E37, 0x01},
796 {REG_NULL, 0x00},
807 .exp_def = 0x0B00,
808 .hts_def = 0x2310,
809 .vts_def = 0x0BF8,
814 .mipi_freq_idx = 0,
824 .exp_def = 0x0B00,
825 .hts_def = 0x3970,
826 .vts_def = 0x17AC,
831 .mipi_freq_idx = 0,
841 .exp_def = 0x0B00,
842 .hts_def = 0x3970,
843 .vts_def = 0x17AC,
848 .mipi_freq_idx = 0,
858 .exp_def = 0x0B00,
859 .hts_def = 0x3970,
860 .vts_def = 0x17AC,
895 buf[0] = reg >> 8; in imx586_write_reg()
896 buf[1] = reg & 0xff; in imx586_write_reg()
909 return 0; in imx586_write_reg()
916 int ret = 0; in imx586_write_array()
918 for (i = 0; ret == 0 && regs[i].addr != REG_NULL; i++) in imx586_write_array()
935 __be32 data_be = 0; in imx586_read_reg()
944 msgs[0].addr = client->addr; in imx586_read_reg()
945 msgs[0].flags = 0; in imx586_read_reg()
946 msgs[0].len = 2; in imx586_read_reg()
947 msgs[0].buf = (u8 *)&reg_addr_be; in imx586_read_reg()
955 for (i = 0; i < 3; i++) { in imx586_read_reg()
965 return 0; in imx586_read_reg()
980 int cur_best_fit = 0; in imx586_find_best_fit()
984 for (i = 0; i < imx586->cfg_num; i++) { in imx586_find_best_fit()
1002 u64 pixel_rate = 0; in imx586_set_fmt()
1040 return 0; in imx586_set_fmt()
1073 fmt->reserved[0] = mode->vc[fmt->pad]; in imx586_get_fmt()
1075 fmt->reserved[0] = mode->vc[PAD0]; in imx586_get_fmt()
1079 return 0; in imx586_get_fmt()
1088 if (code->index != 0) in imx586_enum_mbus_code()
1092 return 0; in imx586_enum_mbus_code()
1104 if (fse->code != supported_modes[0].bus_fmt) in imx586_enum_frame_sizes()
1112 return 0; in imx586_enum_frame_sizes()
1138 return 0; in imx586_g_frame_interval()
1146 u32 val = 0; in imx586_g_mbus_config()
1162 return 0; in imx586_g_mbus_config()
1177 inf->awb.gb_value = 0x0; in imx586_get_otp()
1182 inf->awb.golden_gb_value = 0x0; in imx586_get_otp()
1192 for (i = 0; i < 289; i++) { in imx586_get_otp()
1215 for (i = 0; i < h; i++) { in imx586_get_otp()
1216 for (j = 0; j < w; j++) { in imx586_get_otp()
1224 for (i = 0; i < h; i++) { in imx586_get_otp()
1225 for (j = 0; j < w; j++) { in imx586_get_otp()
1237 inf->af.af_otp[0].vcm_start = otp->af_data.af_inf; in imx586_get_otp()
1238 inf->af.af_otp[0].vcm_end = otp->af_data.af_macro; in imx586_get_otp()
1239 inf->af.af_otp[0].vcm_dir = 0; in imx586_get_otp()
1249 memset(inf, 0, sizeof(*inf)); in imx586_get_module_inf()
1279 return 0; in imx586_get_channel_info()
1287 long ret = 0; in imx586_ioctl()
1289 u32 stream = 0; in imx586_ioctl()
1306 for (i = 0; i < imx586->cfg_num; i++) { in imx586_ioctl()
1332 imx586->cur_link_freq = 0; in imx586_ioctl()
1337 imx586->cur_link_freq = 0; in imx586_ioctl()
1382 u32 stream = 0; in imx586_compat_ioctl32()
1487 int ret = 0; in imx586_set_flip()
1488 u32 val = 0; in imx586_set_flip()
1548 int ret = 0; in imx586_s_stream()
1563 if (ret < 0) { in imx586_s_stream()
1591 int ret = 0; in imx586_s_power()
1601 if (ret < 0) { in imx586_s_power()
1631 if (ret < 0) { in __imx586_power_on()
1638 if (ret < 0) { in __imx586_power_on()
1644 gpiod_set_value_cansleep(imx586->reset_gpio, 0); in __imx586_power_on()
1647 if (ret < 0) { in __imx586_power_on()
1665 return 0; in __imx586_power_on()
1677 gpiod_set_value_cansleep(imx586->pwdn_gpio, 0); in __imx586_power_off()
1680 gpiod_set_value_cansleep(imx586->reset_gpio, 0); in __imx586_power_off()
1701 return 0; in imx586_runtime_suspend()
1709 v4l2_subdev_get_try_format(sd, fh->pad, 0); in imx586_open()
1710 const struct imx586_mode *def_mode = &supported_modes[0]; in imx586_open()
1722 return 0; in imx586_open()
1739 fie->reserved[0] = supported_modes[fie->index].hdr_mode; in imx586_enum_frame_interval()
1740 return 0; in imx586_enum_frame_interval()
1788 int ret = 0; in imx586_set_ctrl()
1789 u32 again = 0; in imx586_set_ctrl()
1804 return 0; in imx586_set_ctrl()
1817 dev_dbg(&client->dev, "set exposure 0x%x\n", in imx586_set_ctrl()
1826 if (ctrl->val > 0x400) in imx586_set_ctrl()
1827 ctrl->val = 0x400; in imx586_set_ctrl()
1828 if (ctrl->val < 0x10) in imx586_set_ctrl()
1829 ctrl->val = 0x10; in imx586_set_ctrl()
1839 dev_dbg(&client->dev, "set analog gain 0x%x\n", in imx586_set_ctrl()
1852 & 0xff); in imx586_set_ctrl()
1855 dev_dbg(&client->dev, "set vblank 0x%x\n", in imx586_set_ctrl()
1863 dev_dbg(&client->dev, "set hflip 0x%x\n", in imx586_set_ctrl()
1871 dev_dbg(&client->dev, "set vflip 0x%x\n", in imx586_set_ctrl()
1875 dev_dbg(&client->dev, "set testpattern 0x%x\n", in imx586_set_ctrl()
1880 dev_warn(&client->dev, "%s Unhandled id:0x%x, val:0x%x\n", in imx586_set_ctrl()
1911 ARRAY_SIZE(link_freq_items) - 1, 0, in imx586_initialize_controls()
1915 imx586->cur_link_freq = 0; in imx586_initialize_controls()
1918 imx586->cur_link_freq = 0; in imx586_initialize_controls()
1924 0, PIXEL_RATE_WITH_848M_10BIT, in imx586_initialize_controls()
1958 0, 0, imx586_test_pattern_menu); in imx586_initialize_controls()
1961 V4L2_CID_HFLIP, 0, 1, 1, 0); in imx586_initialize_controls()
1964 V4L2_CID_VFLIP, 0, 1, 1, 0); in imx586_initialize_controls()
1965 imx586->flip = 0; in imx586_initialize_controls()
1976 return 0; in imx586_initialize_controls()
1988 u16 id = 0; in imx586_check_sensor_id()
1989 u32 reg_H = 0; in imx586_check_sensor_id()
1990 u32 reg_L = 0; in imx586_check_sensor_id()
1997 id = ((reg_H << 8) & 0xff00) | (reg_L & 0xff); in imx586_check_sensor_id()
1998 if (!(reg_H == (CHIP_ID >> 8) || reg_L == (CHIP_ID & 0xff))) { in imx586_check_sensor_id()
2003 return 0; in imx586_check_sensor_id()
2010 for (i = 0; i < IMX586_NUM_SUPPLIES; i++) in imx586_configure_regulators()
2027 u32 i, hdr_mode = 0; in imx586_probe()
2035 (DRIVER_VERSION & 0xff00) >> 8, in imx586_probe()
2036 DRIVER_VERSION & 0x00ff); in imx586_probe()
2063 for (i = 0; i < imx586->cfg_num; i++) { in imx586_probe()
2071 imx586->cur_mode = &supported_modes[0]; in imx586_probe()
2090 if (ret != 0) { in imx586_probe()
2118 eeprom_ctrl_node = of_parse_phandle(node, "eeprom-ctrl", 0); in imx586_probe()
2135 core, ioctl, 0, otp_ptr); in imx586_probe()
2154 if (ret < 0) in imx586_probe()
2158 memset(facing, 0, sizeof(facing)); in imx586_probe()
2159 if (strcmp(imx586->module_facing, "back") == 0) in imx586_probe()
2160 facing[0] = 'b'; in imx586_probe()
2162 facing[0] = 'f'; in imx586_probe()
2177 return 0; in imx586_probe()
2210 return 0; in imx586_remove()
2222 { "sony,imx586", 0 },