.. | .. |
---|
52 | 52 | #define SC530AI_LINK_FREQ_396M 198000000 // 396Mbps |
---|
53 | 53 | #define SC530AI_LINK_FREQ_792M 396000000 // 792Mbps |
---|
54 | 54 | #define SC530AI_LINK_FREQ_792M_2LANE 396000000 // 792Mbps |
---|
| 55 | +#define SC530AI_LINK_FREQ_936M_2LANE 468000000 // 936Mbps |
---|
55 | 56 | |
---|
56 | 57 | #define SC530AI_LINEAR_PIXEL_RATES (SC530AI_LINK_FREQ_396M / 10 * 2 * 4) |
---|
57 | 58 | #define SC530AI_HDR_PIXEL_RATES (SC530AI_LINK_FREQ_792M / 10 * 2 * 4) |
---|
.. | .. |
---|
520 | 521 | {0x37f9, 0x80}, |
---|
521 | 522 | {0x3018, 0x32}, |
---|
522 | 523 | {0x3019, 0x0c}, |
---|
523 | | - {0x301f, 0x18}, |
---|
| 524 | + {0x301f, 0x42}, |
---|
| 525 | + {0x320c, 0x06}, |
---|
| 526 | + {0x320d, 0x27}, |
---|
| 527 | + {0x320e, 0x07}, |
---|
| 528 | + {0x320f, 0xbc}, |
---|
524 | 529 | {0x3250, 0x40}, |
---|
525 | 530 | {0x3251, 0x98}, |
---|
526 | 531 | {0x3253, 0x0c}, |
---|
527 | 532 | {0x325f, 0x20}, |
---|
528 | 533 | {0x3301, 0x08}, |
---|
529 | 534 | {0x3304, 0x50}, |
---|
530 | | - {0x3306, 0x78}, |
---|
| 535 | + {0x3306, 0x88}, |
---|
531 | 536 | {0x3308, 0x14}, |
---|
532 | 537 | {0x3309, 0x70}, |
---|
533 | 538 | {0x330a, 0x00}, |
---|
534 | | - {0x330b, 0xd8}, |
---|
| 539 | + {0x330b, 0xf8}, |
---|
535 | 540 | {0x330d, 0x10}, |
---|
536 | 541 | {0x331e, 0x41}, |
---|
537 | 542 | {0x331f, 0x61}, |
---|
.. | .. |
---|
560 | 565 | {0x33ae, 0x30}, |
---|
561 | 566 | {0x33af, 0x50}, |
---|
562 | 567 | {0x33b1, 0x80}, |
---|
563 | | - {0x33b2, 0x80}, |
---|
564 | | - {0x33b3, 0x40}, |
---|
| 568 | + {0x33b2, 0x48}, |
---|
| 569 | + {0x33b3, 0x30}, |
---|
565 | 570 | {0x349f, 0x02}, |
---|
566 | 571 | {0x34a6, 0x48}, |
---|
567 | | - {0x34a7, 0x49}, |
---|
568 | | - {0x34a8, 0x40}, |
---|
569 | | - {0x34a9, 0x30}, |
---|
570 | | - {0x34f8, 0x4b}, |
---|
571 | | - {0x34f9, 0x30}, |
---|
| 572 | + {0x34a7, 0x4b}, |
---|
| 573 | + {0x34a8, 0x30}, |
---|
| 574 | + {0x34a9, 0x18}, |
---|
| 575 | + {0x34f8, 0x5f}, |
---|
| 576 | + {0x34f9, 0x08}, |
---|
572 | 577 | {0x3632, 0x48}, |
---|
573 | 578 | {0x3633, 0x32}, |
---|
574 | | - {0x3637, 0x2b}, |
---|
| 579 | + {0x3637, 0x29}, |
---|
575 | 580 | {0x3638, 0xc1}, |
---|
576 | 581 | {0x363b, 0x20}, |
---|
577 | 582 | {0x363d, 0x02}, |
---|
.. | .. |
---|
582 | 587 | {0x367c, 0x40}, |
---|
583 | 588 | {0x367d, 0x48}, |
---|
584 | 589 | {0x3690, 0x32}, |
---|
585 | | - {0x3691, 0x32}, |
---|
| 590 | + {0x3691, 0x43}, |
---|
586 | 591 | {0x3692, 0x33}, |
---|
587 | 592 | {0x3693, 0x40}, |
---|
588 | 593 | {0x3694, 0x4b}, |
---|
.. | .. |
---|
594 | 599 | {0x36a3, 0x4b}, |
---|
595 | 600 | {0x36a4, 0x4f}, |
---|
596 | 601 | {0x36d0, 0x01}, |
---|
| 602 | + {0x36ea, 0x0d}, |
---|
| 603 | + {0x36eb, 0x04}, |
---|
597 | 604 | {0x36ec, 0x03}, |
---|
| 605 | + {0x36ed, 0x14}, |
---|
598 | 606 | {0x370f, 0x01}, |
---|
599 | 607 | {0x3722, 0x00}, |
---|
600 | 608 | {0x3728, 0x10}, |
---|
.. | .. |
---|
603 | 611 | {0x37b2, 0x83}, |
---|
604 | 612 | {0x37b3, 0x48}, |
---|
605 | 613 | {0x37b4, 0x49}, |
---|
606 | | - {0x37fb, 0x25}, |
---|
| 614 | + {0x37fa, 0x0d}, |
---|
| 615 | + {0x37fb, 0x24}, |
---|
607 | 616 | {0x37fc, 0x01}, |
---|
| 617 | + {0x37fd, 0x14}, |
---|
608 | 618 | {0x3901, 0x00}, |
---|
609 | 619 | {0x3902, 0xc5}, |
---|
610 | 620 | {0x3904, 0x08}, |
---|
.. | .. |
---|
614 | 624 | {0x391f, 0x44}, |
---|
615 | 625 | {0x3926, 0x21}, |
---|
616 | 626 | {0x3929, 0x18}, |
---|
617 | | - {0x3933, 0x81}, |
---|
618 | | - {0x3934, 0x81}, |
---|
619 | | - {0x3937, 0x69}, |
---|
| 627 | + {0x3933, 0x82}, |
---|
| 628 | + {0x3934, 0x0a}, |
---|
| 629 | + {0x3937, 0x5f}, |
---|
620 | 630 | {0x3939, 0x00}, |
---|
621 | 631 | {0x393a, 0x00}, |
---|
622 | 632 | {0x39dc, 0x02}, |
---|
623 | | - {0x3e01, 0xcd}, |
---|
624 | | - {0x3e02, 0xa0}, |
---|
| 633 | + {0x3e01, 0xf6}, |
---|
| 634 | + {0x3e02, 0xe0}, |
---|
625 | 635 | {0x440e, 0x02}, |
---|
626 | 636 | {0x4509, 0x20}, |
---|
627 | | - {0x4800, 0x04}, |
---|
628 | | - {0x4837, 0x14}, |
---|
| 637 | + {0x4837, 0x22}, |
---|
629 | 638 | {0x5010, 0x10}, |
---|
| 639 | + {0x5780, 0x66}, |
---|
| 640 | + {0x578d, 0x40}, |
---|
630 | 641 | {0x5799, 0x06}, |
---|
631 | 642 | {0x57ad, 0x00}, |
---|
632 | 643 | {0x5ae0, 0xfe}, |
---|
.. | .. |
---|
658 | 669 | {0x5afe, 0x30}, |
---|
659 | 670 | {0x5aff, 0x28}, |
---|
660 | 671 | {0x36e9, 0x44}, |
---|
661 | | - {0x37f9, 0x34}, |
---|
662 | | -// {0x0100, 0x01}, |
---|
| 672 | + {0x37f9, 0x44}, |
---|
663 | 673 | {REG_NULL, 0x00}, |
---|
664 | 674 | }; |
---|
665 | 675 | |
---|
.. | .. |
---|
713 | 723 | }, |
---|
714 | 724 | .exp_def = 0xcda / 2, |
---|
715 | 725 | .hts_def = 0xb40, |
---|
716 | | - .vts_def = 0x0672, |
---|
| 726 | + .vts_def = 0x07bc, |
---|
717 | 727 | .bus_fmt = MEDIA_BUS_FMT_SBGGR10_1X10, |
---|
718 | 728 | .reg_list = sc530ai_10_30fps_2880x1620_2lane_regs, |
---|
719 | | - .mipi_freq_idx = 2, |
---|
| 729 | + .mipi_freq_idx = 3, |
---|
720 | 730 | .bpp = 10, |
---|
721 | 731 | .hdr_mode = NO_HDR, |
---|
722 | 732 | .vc[PAD0] = V4L2_MBUS_CSI2_CHANNEL_0, |
---|
.. | .. |
---|
727 | 737 | SC530AI_LINK_FREQ_396M, |
---|
728 | 738 | SC530AI_LINK_FREQ_792M, |
---|
729 | 739 | SC530AI_LINK_FREQ_792M_2LANE, |
---|
| 740 | + SC530AI_LINK_FREQ_936M_2LANE, |
---|
730 | 741 | }; |
---|
731 | 742 | |
---|
732 | 743 | /* Write registers up to 4 at a time */ |
---|
.. | .. |
---|
1716 | 1727 | vts & 0xff); |
---|
1717 | 1728 | if (!ret) |
---|
1718 | 1729 | sc530ai->cur_vts = vts; |
---|
1719 | | - if (sc530ai->cur_vts != sc530ai->cur_mode->vts_def) |
---|
1720 | | - sc530ai_modify_fps_info(sc530ai); |
---|
| 1730 | + sc530ai_modify_fps_info(sc530ai); |
---|
1721 | 1731 | dev_dbg(&client->dev, "set vblank 0x%x\n", ctrl->val); |
---|
1722 | 1732 | break; |
---|
1723 | 1733 | case V4L2_CID_HFLIP: |
---|