aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2010-01-08 05:06:06 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 13:10:31 -0500
commit1cb6d7b15641e584243c186ba7e6e59d03065c98 (patch)
tree2da178c468ecf1fc2e2bd551043b2d433e35b32e
parent47c833923746decdef557d22e720ba14c81f375c (diff)
V4L/DVB (13918): gspca - zc3xx: Rename the USB sequences.
The new names tell the image resolution: 'Scale' is the smaller image. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/gspca/zc3xx.c204
1 files changed, 95 insertions, 109 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index 345f81698a6e..386854a4ff99 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -419,7 +419,7 @@ static const struct usb_action adcm2700_NoFliker[] = {
419 {0xaa, 0xfe, 0x0010}, /* 00,fe,10,aa */ 419 {0xaa, 0xfe, 0x0010}, /* 00,fe,10,aa */
420 {} 420 {}
421}; 421};
422static const struct usb_action cs2102_Initial[] = { /* 320x240 */ 422static const struct usb_action cs2102_InitialScale[] = { /* 320x240 */
423 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 423 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
424 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, 424 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
425 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT}, 425 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT},
@@ -471,7 +471,7 @@ static const struct usb_action cs2102_Initial[] = { /* 320x240 */
471 {} 471 {}
472}; 472};
473 473
474static const struct usb_action cs2102_InitialScale[] = { /* 640x480 */ 474static const struct usb_action cs2102_Initial[] = { /* 640x480 */
475 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 475 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
476 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 476 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
477 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT}, 477 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT},
@@ -522,7 +522,7 @@ static const struct usb_action cs2102_InitialScale[] = { /* 640x480 */
522 {0xa0, 0x00, 0x01ad}, 522 {0xa0, 0x00, 0x01ad},
523 {} 523 {}
524}; 524};
525static const struct usb_action cs2102_50HZ[] = { 525static const struct usb_action cs2102_50HZScale[] = {
526 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, 526 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
527 {0xaa, 0x23, 0x0001}, 527 {0xaa, 0x23, 0x0001},
528 {0xaa, 0x24, 0x005f}, 528 {0xaa, 0x24, 0x005f},
@@ -544,7 +544,7 @@ static const struct usb_action cs2102_50HZ[] = {
544 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, 544 {0xa0, 0xff, ZC3XX_R020_HSYNC_3},
545 {} 545 {}
546}; 546};
547static const struct usb_action cs2102_50HZScale[] = { 547static const struct usb_action cs2102_50HZ[] = {
548 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, 548 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
549 {0xaa, 0x23, 0x0000}, 549 {0xaa, 0x23, 0x0000},
550 {0xaa, 0x24, 0x00af}, 550 {0xaa, 0x24, 0x00af},
@@ -566,7 +566,7 @@ static const struct usb_action cs2102_50HZScale[] = {
566 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, 566 {0xa0, 0xff, ZC3XX_R020_HSYNC_3},
567 {} 567 {}
568}; 568};
569static const struct usb_action cs2102_60HZ[] = { 569static const struct usb_action cs2102_60HZScale[] = {
570 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, 570 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
571 {0xaa, 0x23, 0x0001}, 571 {0xaa, 0x23, 0x0001},
572 {0xaa, 0x24, 0x0055}, 572 {0xaa, 0x24, 0x0055},
@@ -588,7 +588,7 @@ static const struct usb_action cs2102_60HZ[] = {
588 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, 588 {0xa0, 0xff, ZC3XX_R020_HSYNC_3},
589 {} 589 {}
590}; 590};
591static const struct usb_action cs2102_60HZScale[] = { 591static const struct usb_action cs2102_60HZ[] = {
592 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, 592 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
593 {0xaa, 0x23, 0x0000}, 593 {0xaa, 0x23, 0x0000},
594 {0xaa, 0x24, 0x00aa}, 594 {0xaa, 0x24, 0x00aa},
@@ -610,7 +610,7 @@ static const struct usb_action cs2102_60HZScale[] = {
610 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, 610 {0xa0, 0xff, ZC3XX_R020_HSYNC_3},
611 {} 611 {}
612}; 612};
613static const struct usb_action cs2102_NoFliker[] = { 613static const struct usb_action cs2102_NoFlikerScale[] = {
614 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, 614 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
615 {0xaa, 0x23, 0x0001}, 615 {0xaa, 0x23, 0x0001},
616 {0xaa, 0x24, 0x005f}, 616 {0xaa, 0x24, 0x005f},
@@ -632,7 +632,7 @@ static const struct usb_action cs2102_NoFliker[] = {
632 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, 632 {0xa0, 0xff, ZC3XX_R020_HSYNC_3},
633 {} 633 {}
634}; 634};
635static const struct usb_action cs2102_NoFlikerScale[] = { 635static const struct usb_action cs2102_NoFliker[] = {
636 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, 636 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS},
637 {0xaa, 0x23, 0x0000}, 637 {0xaa, 0x23, 0x0000},
638 {0xaa, 0x24, 0x00af}, 638 {0xaa, 0x24, 0x00af},
@@ -656,7 +656,7 @@ static const struct usb_action cs2102_NoFlikerScale[] = {
656}; 656};
657 657
658/* CS2102_KOCOM */ 658/* CS2102_KOCOM */
659static const struct usb_action cs2102K_Initial[] = { 659static const struct usb_action cs2102K_InitialScale[] = {
660 {0xa0, 0x11, ZC3XX_R002_CLOCKSELECT}, 660 {0xa0, 0x11, ZC3XX_R002_CLOCKSELECT},
661 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 661 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
662 {0xa0, 0x08, ZC3XX_R010_CMOSSENSORSELECT}, 662 {0xa0, 0x08, ZC3XX_R010_CMOSSENSORSELECT},
@@ -915,7 +915,7 @@ static const struct usb_action cs2102K_Initial[] = {
915 {} 915 {}
916}; 916};
917 917
918static const struct usb_action cs2102K_InitialScale[] = { 918static const struct usb_action cs2102K_Initial[] = {
919 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 919 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
920 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 920 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
921 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 921 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
@@ -1493,7 +1493,7 @@ static const struct usb_action gc0305_NoFliker[] = {
1493 {} 1493 {}
1494}; 1494};
1495 1495
1496static const struct usb_action hdcs2020xb_Initial[] = { 1496static const struct usb_action hdcs2020b_InitialScale[] = {
1497 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 1497 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1498 {0xa0, 0x11, ZC3XX_R002_CLOCKSELECT}, 1498 {0xa0, 0x11, ZC3XX_R002_CLOCKSELECT},
1499 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* qtable 0x05 */ 1499 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* qtable 0x05 */
@@ -1625,7 +1625,7 @@ static const struct usb_action hdcs2020xb_Initial[] = {
1625 {0xa0, 0x40, ZC3XX_R118_BGAIN}, 1625 {0xa0, 0x40, ZC3XX_R118_BGAIN},
1626 {} 1626 {}
1627}; 1627};
1628static const struct usb_action hdcs2020xb_InitialScale[] = { 1628static const struct usb_action hdcs2020b_Initial[] = {
1629 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 1629 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1630 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 1630 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
1631 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 1631 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
@@ -1817,7 +1817,7 @@ static const struct usb_action hdcs2020b_NoFliker[] = {
1817 {} 1817 {}
1818}; 1818};
1819 1819
1820static const struct usb_action hv7131bxx_Initial[] = { /* 320x240 */ 1820static const struct usb_action hv7131b_InitialScale[] = { /* 320x240 */
1821 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 1821 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1822 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, 1822 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
1823 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT}, 1823 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT},
@@ -1864,7 +1864,7 @@ static const struct usb_action hv7131bxx_Initial[] = { /* 320x240 */
1864 {} 1864 {}
1865}; 1865};
1866 1866
1867static const struct usb_action hv7131bxx_InitialScale[] = { /* 640x480*/ 1867static const struct usb_action hv7131b_Initial[] = { /* 640x480*/
1868 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 1868 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
1869 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 1869 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
1870 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT}, 1870 {0xa0, 0x00, ZC3XX_R010_CMOSSENSORSELECT},
@@ -2061,7 +2061,7 @@ static const struct usb_action hv7131b_NoFlikerScale[] = { /* 320x240 */
2061 {} 2061 {}
2062}; 2062};
2063 2063
2064static const struct usb_action hv7131cxx_Initial[] = { 2064static const struct usb_action hv7131r_InitialScale[] = {
2065 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 2065 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
2066 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, 2066 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
2067 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, 2067 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT},
@@ -2155,7 +2155,7 @@ static const struct usb_action hv7131cxx_Initial[] = {
2155 {} 2155 {}
2156}; 2156};
2157 2157
2158static const struct usb_action hv7131cxx_InitialScale[] = { 2158static const struct usb_action hv7131r_Initial[] = {
2159 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 2159 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
2160 2160
2161 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, /* diff */ 2161 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, /* diff */
@@ -2257,7 +2257,7 @@ static const struct usb_action hv7131cxx_InitialScale[] = {
2257 {} 2257 {}
2258}; 2258};
2259 2259
2260static const struct usb_action icm105axx_Initial[] = { 2260static const struct usb_action icm105a_InitialScale[] = {
2261 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 2261 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
2262 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, 2262 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
2263 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 2263 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
@@ -2434,7 +2434,7 @@ static const struct usb_action icm105axx_Initial[] = {
2434 {} 2434 {}
2435}; 2435};
2436 2436
2437static const struct usb_action icm105axx_InitialScale[] = { 2437static const struct usb_action icm105a_Initial[] = {
2438 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 2438 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
2439 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 2439 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
2440 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 2440 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
@@ -2613,7 +2613,7 @@ static const struct usb_action icm105axx_InitialScale[] = {
2613 {0xa0, 0x40, ZC3XX_R118_BGAIN}, 2613 {0xa0, 0x40, ZC3XX_R118_BGAIN},
2614 {} 2614 {}
2615}; 2615};
2616static const struct usb_action icm105a_50HZ[] = { 2616static const struct usb_action icm105a_50HZScale[] = {
2617 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */ 2617 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */
2618 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 2618 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
2619 {0xaa, 0x0c, 0x0020}, /* 00,0c,20,aa */ 2619 {0xaa, 0x0c, 0x0020}, /* 00,0c,20,aa */
@@ -2644,7 +2644,7 @@ static const struct usb_action icm105a_50HZ[] = {
2644 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, /* 00,20,ff,cc */ 2644 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, /* 00,20,ff,cc */
2645 {} 2645 {}
2646}; 2646};
2647static const struct usb_action icm105a_50HZScale[] = { 2647static const struct usb_action icm105a_50HZ[] = {
2648 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */ 2648 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */
2649 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 2649 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
2650 {0xaa, 0x0c, 0x008c}, /* 00,0c,8c,aa */ 2650 {0xaa, 0x0c, 0x008c}, /* 00,0c,8c,aa */
@@ -2677,7 +2677,7 @@ static const struct usb_action icm105a_50HZScale[] = {
2677 {0xa0, 0xc0, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,c0,cc */ 2677 {0xa0, 0xc0, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,c0,cc */
2678 {} 2678 {}
2679}; 2679};
2680static const struct usb_action icm105a_60HZ[] = { 2680static const struct usb_action icm105a_60HZScale[] = {
2681 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */ 2681 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */
2682 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 2682 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
2683 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */ 2683 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
@@ -2708,7 +2708,7 @@ static const struct usb_action icm105a_60HZ[] = {
2708 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, /* 00,20,ff,cc */ 2708 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, /* 00,20,ff,cc */
2709 {} 2709 {}
2710}; 2710};
2711static const struct usb_action icm105a_60HZScale[] = { 2711static const struct usb_action icm105a_60HZ[] = {
2712 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */ 2712 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */
2713 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 2713 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
2714 {0xaa, 0x0c, 0x0008}, /* 00,0c,08,aa */ 2714 {0xaa, 0x0c, 0x0008}, /* 00,0c,08,aa */
@@ -2741,7 +2741,7 @@ static const struct usb_action icm105a_60HZScale[] = {
2741 {0xa0, 0xc0, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,c0,cc */ 2741 {0xa0, 0xc0, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,c0,cc */
2742 {} 2742 {}
2743}; 2743};
2744static const struct usb_action icm105a_NoFliker[] = { 2744static const struct usb_action icm105a_NoFlikerScale[] = {
2745 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */ 2745 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */
2746 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 2746 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
2747 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */ 2747 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
@@ -2772,7 +2772,7 @@ static const struct usb_action icm105a_NoFliker[] = {
2772 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, /* 00,20,ff,cc */ 2772 {0xa0, 0xff, ZC3XX_R020_HSYNC_3}, /* 00,20,ff,cc */
2773 {} 2773 {}
2774}; 2774};
2775static const struct usb_action icm105a_NoFlikerScale[] = { 2775static const struct usb_action icm105a_NoFliker[] = {
2776 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */ 2776 {0xa0, 0x00, ZC3XX_R019_AUTOADJUSTFPS}, /* 00,19,00,cc */
2777 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 2777 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
2778 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */ 2778 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
@@ -2806,7 +2806,7 @@ static const struct usb_action icm105a_NoFlikerScale[] = {
2806 {} 2806 {}
2807}; 2807};
2808 2808
2809static const struct usb_action MC501CB_InitialScale[] = { 2809static const struct usb_action mc501cb_Initial[] = {
2810 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */ 2810 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */
2811 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, /* 00,02,00,cc */ 2811 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, /* 00,02,00,cc */
2812 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */ 2812 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */
@@ -2926,7 +2926,7 @@ static const struct usb_action MC501CB_InitialScale[] = {
2926 {} 2926 {}
2927}; 2927};
2928 2928
2929static const struct usb_action MC501CB_Initial[] = { /* 320x240 */ 2929static const struct usb_action mc501cb_InitialScale[] = { /* 320x240 */
2930 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */ 2930 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */
2931 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, /* 00,02,10,cc */ 2931 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, /* 00,02,10,cc */
2932 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */ 2932 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */
@@ -3045,7 +3045,7 @@ static const struct usb_action MC501CB_Initial[] = { /* 320x240 */
3045 {} 3045 {}
3046}; 3046};
3047 3047
3048static const struct usb_action MC501CB_50HZ[] = { 3048static const struct usb_action mc501cb_50HZScale[] = {
3049 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3049 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3050 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3050 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3051 {0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */ 3051 {0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */
@@ -3062,7 +3062,7 @@ static const struct usb_action MC501CB_50HZ[] = {
3062 {} 3062 {}
3063}; 3063};
3064 3064
3065static const struct usb_action MC501CB_50HZScale[] = { 3065static const struct usb_action mc501cb_50HZ[] = {
3066 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3066 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3067 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3067 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3068 {0xaa, 0x36, 0x003a}, /* 00,36,3A,aa */ 3068 {0xaa, 0x36, 0x003a}, /* 00,36,3A,aa */
@@ -3079,7 +3079,7 @@ static const struct usb_action MC501CB_50HZScale[] = {
3079 {} 3079 {}
3080}; 3080};
3081 3081
3082static const struct usb_action MC501CB_60HZ[] = { 3082static const struct usb_action mc501cb_60HZScale[] = {
3083 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3083 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3084 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3084 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3085 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */ 3085 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
@@ -3096,7 +3096,7 @@ static const struct usb_action MC501CB_60HZ[] = {
3096 {} 3096 {}
3097}; 3097};
3098 3098
3099static const struct usb_action MC501CB_60HZScale[] = { 3099static const struct usb_action mc501cb_60HZ[] = {
3100 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3100 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3101 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3101 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3102 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */ 3102 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
@@ -3113,7 +3113,7 @@ static const struct usb_action MC501CB_60HZScale[] = {
3113 {} 3113 {}
3114}; 3114};
3115 3115
3116static const struct usb_action MC501CB_NoFliker[] = { 3116static const struct usb_action mc501cb_NoFlikerScale[] = {
3117 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3117 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3118 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3118 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3119 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */ 3119 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
@@ -3130,7 +3130,7 @@ static const struct usb_action MC501CB_NoFliker[] = {
3130 {} 3130 {}
3131}; 3131};
3132 3132
3133static const struct usb_action MC501CB_NoFlikerScale[] = { 3133static const struct usb_action mc501cb_NoFliker[] = {
3134 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3134 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3135 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3135 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3136 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */ 3136 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
@@ -3142,8 +3142,8 @@ static const struct usb_action MC501CB_NoFlikerScale[] = {
3142 {} 3142 {}
3143}; 3143};
3144 3144
3145/* from zs211.inf - HKR,%OV7620%,Initial - 640x480 */ 3145/* from zs211.inf */
3146static const struct usb_action OV7620_mode0[] = { 3146static const struct usb_action ov7620_Initial[] = { /* 640x480 */
3147 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */ 3147 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */
3148 {0xa0, 0x40, ZC3XX_R002_CLOCKSELECT}, /* 00,02,40,cc */ 3148 {0xa0, 0x40, ZC3XX_R002_CLOCKSELECT}, /* 00,02,40,cc */
3149 {0xa0, 0x00, ZC3XX_R008_CLOCKSETTING}, /* 00,08,00,cc */ 3149 {0xa0, 0x00, ZC3XX_R008_CLOCKSETTING}, /* 00,08,00,cc */
@@ -3212,9 +3212,7 @@ static const struct usb_action OV7620_mode0[] = {
3212 {0xa0, 0x50, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,50,cc */ 3212 {0xa0, 0x50, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,50,cc */
3213 {} 3213 {}
3214}; 3214};
3215 3215static const struct usb_action ov7620_InitialScale[] = { /* 320x240 */
3216/* from zs211.inf - HKR,%OV7620%,InitialScale - 320x240 */
3217static const struct usb_action OV7620_mode1[] = {
3218 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */ 3216 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */
3219 {0xa0, 0x50, ZC3XX_R002_CLOCKSELECT}, /* 00,02,50,cc */ 3217 {0xa0, 0x50, ZC3XX_R002_CLOCKSELECT}, /* 00,02,50,cc */
3220 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* 00,08,00,cc */ 3218 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, /* 00,08,00,cc */
@@ -3285,9 +3283,7 @@ static const struct usb_action OV7620_mode1[] = {
3285 {0xa0, 0x50, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,50,cc */ 3283 {0xa0, 0x50, ZC3XX_R1A8_DIGITALGAIN}, /* 01,a8,50,cc */
3286 {} 3284 {}
3287}; 3285};
3288 3286static const struct usb_action ov7620_50HZ[] = {
3289/* from zs211.inf - HKR,%OV7620%\AE,50HZ */
3290static const struct usb_action OV7620_50HZ[] = {
3291 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ 3287 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */
3292 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */ 3288 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */
3293 {0xaa, 0x2b, 0x0096}, /* 00,2b,96,aa */ 3289 {0xaa, 0x2b, 0x0096}, /* 00,2b,96,aa */
@@ -3305,9 +3301,7 @@ static const struct usb_action OV7620_50HZ[] = {
3305 if mode0 (640x480) */ 3301 if mode0 (640x480) */
3306 {} 3302 {}
3307}; 3303};
3308 3304static const struct usb_action ov7620_60HZ[] = {
3309/* from zs211.inf - HKR,%OV7620%\AE,60HZ */
3310static const struct usb_action OV7620_60HZ[] = {
3311 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ 3305 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */
3312 /* (bug in zs211.inf) */ 3306 /* (bug in zs211.inf) */
3313 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */ 3307 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */
@@ -3329,9 +3323,7 @@ static const struct usb_action OV7620_60HZ[] = {
3329 {0xa1, 0x01, 0x0037}, */ 3323 {0xa1, 0x01, 0x0037}, */
3330 {} 3324 {}
3331}; 3325};
3332 3326static const struct usb_action ov7620_NoFliker[] = {
3333/* from zs211.inf - HKR,%OV7620%\AE,NoFliker */
3334static const struct usb_action OV7620_NoFliker[] = {
3335 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ 3327 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */
3336 /* (bug in zs211.inf) */ 3328 /* (bug in zs211.inf) */
3337 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */ 3329 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */
@@ -3352,7 +3344,7 @@ static const struct usb_action OV7620_NoFliker[] = {
3352 {} 3344 {}
3353}; 3345};
3354 3346
3355static const struct usb_action ov7630c_Initial[] = { 3347static const struct usb_action ov7630c_InitialScale[] = {
3356 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 3348 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
3357 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, 3349 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},
3358 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 3350 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
@@ -3509,7 +3501,7 @@ static const struct usb_action ov7630c_Initial[] = {
3509 {} 3501 {}
3510}; 3502};
3511 3503
3512static const struct usb_action ov7630c_InitialScale[] = { 3504static const struct usb_action ov7630c_Initial[] = {
3513 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 3505 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
3514 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT}, 3506 {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
3515 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 3507 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
@@ -3680,7 +3672,7 @@ static const struct usb_action pas106b_Initial_com[] = {
3680 {} 3672 {}
3681}; 3673};
3682 3674
3683static const struct usb_action pas106b_Initial[] = { /* 176x144 */ 3675static const struct usb_action pas106b_InitialScale[] = { /* 176x144 */
3684/* JPEG control */ 3676/* JPEG control */
3685 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 3677 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
3686/* Sream and Sensor specific */ 3678/* Sream and Sensor specific */
@@ -3798,7 +3790,7 @@ static const struct usb_action pas106b_Initial[] = { /* 176x144 */
3798 {} 3790 {}
3799}; 3791};
3800 3792
3801static const struct usb_action pas106b_InitialScale[] = { /* 352x288 */ 3793static const struct usb_action pas106b_Initial[] = { /* 352x288 */
3802/* JPEG control */ 3794/* JPEG control */
3803 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING}, 3795 {0xa0, 0x03, ZC3XX_R008_CLOCKSETTING},
3804/* Sream and Sensor specific */ 3796/* Sream and Sensor specific */
@@ -4713,8 +4705,8 @@ static const struct usb_action pb0330_NoFlikerScale[] = {
4713 {} 4705 {}
4714}; 4706};
4715 4707
4716/* from oem9.inf - HKR,%PO2030%,Initial - 640x480 - (close to CS2102) */ 4708/* from oem9.inf */
4717static const struct usb_action PO2030_mode0[] = { 4709static const struct usb_action po2030_Initial[] = { /* 640x480 */
4718 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */ 4710 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */
4719 {0xa0, 0x04, ZC3XX_R002_CLOCKSELECT}, /* 00,02,04,cc */ 4711 {0xa0, 0x04, ZC3XX_R002_CLOCKSELECT}, /* 00,02,04,cc */
4720 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */ 4712 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */
@@ -4790,8 +4782,8 @@ static const struct usb_action PO2030_mode0[] = {
4790 {} 4782 {}
4791}; 4783};
4792 4784
4793/* from oem9.inf - HKR,%PO2030%,InitialScale - 320x240 */ 4785/* from oem9.inf */
4794static const struct usb_action PO2030_mode1[] = { 4786static const struct usb_action po2030_InitialScale[] = { /* 320x240 */
4795 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */ 4787 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc */
4796 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, /* 00,02,10,cc */ 4788 {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT}, /* 00,02,10,cc */
4797 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */ 4789 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc */
@@ -4867,7 +4859,7 @@ static const struct usb_action PO2030_mode1[] = {
4867 {} 4859 {}
4868}; 4860};
4869 4861
4870static const struct usb_action PO2030_50HZ[] = { 4862static const struct usb_action po2030_50HZ[] = {
4871 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */ 4863 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
4872 {0xaa, 0x1a, 0x0001}, /* 00,1a,01,aa */ 4864 {0xaa, 0x1a, 0x0001}, /* 00,1a,01,aa */
4873 {0xaa, 0x1b, 0x000a}, /* 00,1b,0a,aa */ 4865 {0xaa, 0x1b, 0x000a}, /* 00,1b,0a,aa */
@@ -4889,7 +4881,7 @@ static const struct usb_action PO2030_50HZ[] = {
4889 {} 4881 {}
4890}; 4882};
4891 4883
4892static const struct usb_action PO2030_60HZ[] = { 4884static const struct usb_action po2030_60HZ[] = {
4893 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */ 4885 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
4894 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */ 4886 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */
4895 {0xaa, 0x1b, 0x00de}, /* 00,1b,de,aa */ 4887 {0xaa, 0x1b, 0x00de}, /* 00,1b,de,aa */
@@ -4912,7 +4904,7 @@ static const struct usb_action PO2030_60HZ[] = {
4912 {} 4904 {}
4913}; 4905};
4914 4906
4915static const struct usb_action PO2030_NoFliker[] = { 4907static const struct usb_action po2030_NoFliker[] = {
4916 {0xa0, 0x02, ZC3XX_R180_AUTOCORRECTENABLE}, /* 01,80,02,cc */ 4908 {0xa0, 0x02, ZC3XX_R180_AUTOCORRECTENABLE}, /* 01,80,02,cc */
4917 {0xaa, 0x8d, 0x000d}, /* 00,8d,0d,aa */ 4909 {0xaa, 0x8d, 0x000d}, /* 00,8d,0d,aa */
4918 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */ 4910 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */
@@ -4924,7 +4916,7 @@ static const struct usb_action PO2030_NoFliker[] = {
4924}; 4916};
4925 4917
4926/* TEST */ 4918/* TEST */
4927static const struct usb_action tas5130CK_Initial[] = { 4919static const struct usb_action tas5130cK_InitialScale[] = {
4928 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 4920 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
4929 {0xa0, 0x01, 0x003b}, 4921 {0xa0, 0x01, 0x003b},
4930 {0xa0, 0x0e, 0x003a}, 4922 {0xa0, 0x0e, 0x003a},
@@ -5127,7 +5119,7 @@ static const struct usb_action tas5130CK_Initial[] = {
5127 {} 5119 {}
5128}; 5120};
5129 5121
5130static const struct usb_action tas5130CK_InitialScale[] = { 5122static const struct usb_action tas5130cK_Initial[] = {
5131 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, 5123 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL},
5132 {0xa0, 0x01, 0x003b}, 5124 {0xa0, 0x01, 0x003b},
5133 {0xa0, 0x0e, 0x003a}, 5125 {0xa0, 0x0e, 0x003a},
@@ -5560,7 +5552,7 @@ static const struct usb_action tas5130cxx_NoFlikerScale[] = {
5560 {} 5552 {}
5561}; 5553};
5562 5554
5563static const struct usb_action tas5130c_vf0250_Initial[] = { 5555static const struct usb_action tas5130c_vf0250_InitialScale[] = {
5564 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */ 5556 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */
5565 {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */ 5557 {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */
5566 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */ 5558 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */
@@ -5627,7 +5619,7 @@ static const struct usb_action tas5130c_vf0250_Initial[] = {
5627 {} 5619 {}
5628}; 5620};
5629 5621
5630static const struct usb_action tas5130c_vf0250_InitialScale[] = { 5622static const struct usb_action tas5130c_vf0250_Initial[] = {
5631 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */ 5623 {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */
5632 {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */ 5624 {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */
5633 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */ 5625 {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */
@@ -5692,8 +5684,7 @@ static const struct usb_action tas5130c_vf0250_InitialScale[] = {
5692 {0xa0, 0x65, ZC3XX_R118_BGAIN}, /* 01,18,65,cc */ 5684 {0xa0, 0x65, ZC3XX_R118_BGAIN}, /* 01,18,65,cc */
5693 {} 5685 {}
5694}; 5686};
5695/* "50HZ" light frequency banding filter */ 5687static const struct usb_action tas5130c_vf0250_50HZScale[] = {
5696static const struct usb_action tas5130c_vf0250_50HZ[] = {
5697 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 5688 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
5698 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ 5689 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */
5699 {0xaa, 0x84, 0x00aa}, /* 00,84,aa,aa */ 5690 {0xaa, 0x84, 0x00aa}, /* 00,84,aa,aa */
@@ -5717,8 +5708,7 @@ static const struct usb_action tas5130c_vf0250_50HZ[] = {
5717 {} 5708 {}
5718}; 5709};
5719 5710
5720/* "50HZScale" light frequency banding filter */ 5711static const struct usb_action tas5130c_vf0250_50HZ[] = {
5721static const struct usb_action tas5130c_vf0250_50HZScale[] = {
5722 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 5712 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
5723 {0xaa, 0x83, 0x0003}, /* 00,83,03,aa */ 5713 {0xaa, 0x83, 0x0003}, /* 00,83,03,aa */
5724 {0xaa, 0x84, 0x0054}, /* 00,84,54,aa */ 5714 {0xaa, 0x84, 0x0054}, /* 00,84,54,aa */
@@ -5742,8 +5732,7 @@ static const struct usb_action tas5130c_vf0250_50HZScale[] = {
5742 {} 5732 {}
5743}; 5733};
5744 5734
5745/* "60HZ" light frequency banding filter */ 5735static const struct usb_action tas5130c_vf0250_60HZScale[] = {
5746static const struct usb_action tas5130c_vf0250_60HZ[] = {
5747 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 5736 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
5748 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ 5737 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */
5749 {0xaa, 0x84, 0x0062}, /* 00,84,62,aa */ 5738 {0xaa, 0x84, 0x0062}, /* 00,84,62,aa */
@@ -5767,8 +5756,7 @@ static const struct usb_action tas5130c_vf0250_60HZ[] = {
5767 {} 5756 {}
5768}; 5757};
5769 5758
5770/* "60HZScale" light frequency banding ilter */ 5759static const struct usb_action tas5130c_vf0250_60HZ[] = {
5771static const struct usb_action tas5130c_vf0250_60HZScale[] = {
5772 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 5760 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
5773 {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */ 5761 {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */
5774 {0xaa, 0x84, 0x00c4}, /* 00,84,c4,aa */ 5762 {0xaa, 0x84, 0x00c4}, /* 00,84,c4,aa */
@@ -5792,8 +5780,7 @@ static const struct usb_action tas5130c_vf0250_60HZScale[] = {
5792 {} 5780 {}
5793}; 5781};
5794 5782
5795/* "NoFliker" light frequency banding flter */ 5783static const struct usb_action tas5130c_vf0250_NoFlikerScale[] = {
5796static const struct usb_action tas5130c_vf0250_NoFliker[] = {
5797 {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */ 5784 {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */
5798 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 5785 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
5799 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ 5786 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */
@@ -5815,8 +5802,7 @@ static const struct usb_action tas5130c_vf0250_NoFliker[] = {
5815 {} 5802 {}
5816}; 5803};
5817 5804
5818/* "NoFlikerScale" light frequency banding filter */ 5805static const struct usb_action tas5130c_vf0250_NoFliker[] = {
5819static const struct usb_action tas5130c_vf0250_NoFlikerScale[] = {
5820 {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */ 5806 {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */
5821 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 5807 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
5822 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ 5808 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */
@@ -6170,9 +6156,9 @@ static int setlightfreq(struct gspca_dev *gspca_dev)
6170 hdcs2020b_50HZ, hdcs2020b_50HZ, 6156 hdcs2020b_50HZ, hdcs2020b_50HZ,
6171 hdcs2020b_60HZ, hdcs2020b_60HZ}, 6157 hdcs2020b_60HZ, hdcs2020b_60HZ},
6172/* SENSOR_HV7131B 5 */ 6158/* SENSOR_HV7131B 5 */
6173 {hv7131b_NoFlikerScale, hv7131b_NoFliker, 6159 {hv7131b_NoFliker, hv7131b_NoFlikerScale,
6174 hv7131b_50HZScale, hv7131b_50HZ, 6160 hv7131b_50HZ, hv7131b_50HZScale,
6175 hv7131b_60HZScale, hv7131b_60HZ}, 6161 hv7131b_60HZ, hv7131b_60HZScale},
6176/* SENSOR_HV7131C 6 */ 6162/* SENSOR_HV7131C 6 */
6177 {NULL, NULL, 6163 {NULL, NULL,
6178 NULL, NULL, 6164 NULL, NULL,
@@ -6182,17 +6168,17 @@ static int setlightfreq(struct gspca_dev *gspca_dev)
6182 icm105a_50HZ, icm105a_50HZScale, 6168 icm105a_50HZ, icm105a_50HZScale,
6183 icm105a_60HZ, icm105a_60HZScale}, 6169 icm105a_60HZ, icm105a_60HZScale},
6184/* SENSOR_MC501CB 8 */ 6170/* SENSOR_MC501CB 8 */
6185 {MC501CB_NoFliker, MC501CB_NoFlikerScale, 6171 {mc501cb_NoFliker, mc501cb_NoFlikerScale,
6186 MC501CB_50HZ, MC501CB_50HZScale, 6172 mc501cb_50HZ, mc501cb_50HZScale,
6187 MC501CB_60HZ, MC501CB_60HZScale}, 6173 mc501cb_60HZ, mc501cb_60HZScale},
6188/* SENSOR_MI0360SOC 9 */ 6174/* SENSOR_MI0360SOC 9 */
6189 {mi360soc_AENoFlikerScale, mi360soc_AENoFliker, 6175 {mi360soc_AENoFliker, mi360soc_AENoFlikerScale,
6190 mi360soc_AE50HZScale, mi360soc_AE50HZ, 6176 mi360soc_AE50HZ, mi360soc_AE50HZScale,
6191 mi360soc_AE60HZScale, mi360soc_AE60HZ}, 6177 mi360soc_AE60HZ, mi360soc_AE60HZScale},
6192/* SENSOR_OV7620 10 */ 6178/* SENSOR_OV7620 10 */
6193 {OV7620_NoFliker, OV7620_NoFliker, 6179 {ov7620_NoFliker, ov7620_NoFliker,
6194 OV7620_50HZ, OV7620_50HZ, 6180 ov7620_50HZ, ov7620_50HZ,
6195 OV7620_60HZ, OV7620_60HZ}, 6181 ov7620_60HZ, ov7620_60HZ},
6196/* SENSOR_OV7630C 11 */ 6182/* SENSOR_OV7630C 11 */
6197 {NULL, NULL, 6183 {NULL, NULL,
6198 NULL, NULL, 6184 NULL, NULL,
@@ -6210,17 +6196,17 @@ static int setlightfreq(struct gspca_dev *gspca_dev)
6210 pb0330_50HZScale, pb0330_50HZ, 6196 pb0330_50HZScale, pb0330_50HZ,
6211 pb0330_60HZScale, pb0330_60HZ}, 6197 pb0330_60HZScale, pb0330_60HZ},
6212/* SENSOR_PO2030 15 */ 6198/* SENSOR_PO2030 15 */
6213 {PO2030_NoFliker, PO2030_NoFliker, 6199 {po2030_NoFliker, po2030_NoFliker,
6214 PO2030_50HZ, PO2030_50HZ, 6200 po2030_50HZ, po2030_50HZ,
6215 PO2030_60HZ, PO2030_60HZ}, 6201 po2030_60HZ, po2030_60HZ},
6216/* SENSOR_TAS5130CK 16 */ 6202/* SENSOR_TAS5130CK 16 */
6217 {tas5130cxx_NoFlikerScale, tas5130cxx_NoFliker, 6203 {tas5130cxx_NoFliker, tas5130cxx_NoFlikerScale,
6218 tas5130cxx_50HZScale, tas5130cxx_50HZ, 6204 tas5130cxx_50HZ, tas5130cxx_50HZScale,
6219 tas5130cxx_60HZScale, tas5130cxx_60HZ}, 6205 tas5130cxx_60HZ, tas5130cxx_60HZScale},
6220/* SENSOR_TAS5130CXX 17 */ 6206/* SENSOR_TAS5130CXX 17 */
6221 {tas5130cxx_NoFlikerScale, tas5130cxx_NoFliker, 6207 {tas5130cxx_NoFliker, tas5130cxx_NoFlikerScale,
6222 tas5130cxx_50HZScale, tas5130cxx_50HZ, 6208 tas5130cxx_50HZ, tas5130cxx_50HZScale,
6223 tas5130cxx_60HZScale, tas5130cxx_60HZ}, 6209 tas5130cxx_60HZ, tas5130cxx_60HZScale},
6224/* SENSOR_TAS5130C_VF0250 18 */ 6210/* SENSOR_TAS5130C_VF0250 18 */
6225 {tas5130c_vf0250_NoFliker, tas5130c_vf0250_NoFlikerScale, 6211 {tas5130c_vf0250_NoFliker, tas5130c_vf0250_NoFlikerScale,
6226 tas5130c_vf0250_50HZ, tas5130c_vf0250_50HZScale, 6212 tas5130c_vf0250_50HZ, tas5130c_vf0250_50HZScale,
@@ -6229,8 +6215,8 @@ static int setlightfreq(struct gspca_dev *gspca_dev)
6229 6215
6230 i = sd->lightfreq * 2; 6216 i = sd->lightfreq * 2;
6231 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv; 6217 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
6232 if (!mode) 6218 if (mode)
6233 i++; /* 640x480 */ 6219 i++; /* 320x240 */
6234 zc3_freq = freq_tb[sd->sensor][i]; 6220 zc3_freq = freq_tb[sd->sensor][i];
6235 if (zc3_freq != NULL) { 6221 if (zc3_freq != NULL) {
6236 usb_exchange(gspca_dev, zc3_freq); 6222 usb_exchange(gspca_dev, zc3_freq);
@@ -6803,24 +6789,24 @@ static int sd_start(struct gspca_dev *gspca_dev)
6803 int mode; 6789 int mode;
6804 static const struct usb_action *init_tb[SENSOR_MAX][2] = { 6790 static const struct usb_action *init_tb[SENSOR_MAX][2] = {
6805 {adcm2700_Initial, adcm2700_InitialScale}, /* 0 */ 6791 {adcm2700_Initial, adcm2700_InitialScale}, /* 0 */
6806 {cs2102_InitialScale, cs2102_Initial}, /* 1 */ 6792 {cs2102_Initial, cs2102_InitialScale}, /* 1 */
6807 {cs2102K_InitialScale, cs2102K_Initial}, /* 2 */ 6793 {cs2102K_Initial, cs2102K_InitialScale}, /* 2 */
6808 {gc0305_Initial, gc0305_InitialScale}, /* 3 */ 6794 {gc0305_Initial, gc0305_InitialScale}, /* 3 */
6809 {hdcs2020xb_InitialScale, hdcs2020xb_Initial}, /* 4 */ 6795 {hdcs2020b_Initial, hdcs2020b_InitialScale}, /* 4 */
6810 {hv7131bxx_InitialScale, hv7131bxx_Initial}, /* 5 */ 6796 {hv7131b_Initial, hv7131b_InitialScale}, /* 5 */
6811 {hv7131cxx_InitialScale, hv7131cxx_Initial}, /* 6 */ 6797 {hv7131r_Initial, hv7131r_InitialScale}, /* 6 */
6812 {icm105axx_InitialScale, icm105axx_Initial}, /* 7 */ 6798 {icm105a_Initial, icm105a_InitialScale}, /* 7 */
6813 {MC501CB_InitialScale, MC501CB_Initial}, /* 8 */ 6799 {mc501cb_Initial, mc501cb_InitialScale}, /* 8 */
6814 {mi0360soc_Initial, mi0360soc_InitialScale}, /* 9 */ 6800 {mi0360soc_Initial, mi0360soc_InitialScale}, /* 9 */
6815 {OV7620_mode0, OV7620_mode1}, /* 10 */ 6801 {ov7620_Initial, ov7620_InitialScale}, /* 10 */
6816 {ov7630c_InitialScale, ov7630c_Initial}, /* 11 */ 6802 {ov7630c_Initial, ov7630c_InitialScale}, /* 11 */
6817 {pas106b_InitialScale, pas106b_Initial}, /* 12 */ 6803 {pas106b_Initial, pas106b_InitialScale}, /* 12 */
6818 {pas202b_Initial, pas202b_InitialScale}, /* 13 */ 6804 {pas202b_Initial, pas202b_InitialScale}, /* 13 */
6819 {pb0330_Initial, pb0330_InitialScale}, /* 14 */ 6805 {pb0330_Initial, pb0330_InitialScale}, /* 14 */
6820 {PO2030_mode0, PO2030_mode1}, /* 15 */ 6806 {po2030_Initial, po2030_InitialScale}, /* 15 */
6821 {tas5130CK_InitialScale, tas5130CK_Initial}, /* 16 */ 6807 {tas5130cK_Initial, tas5130cK_InitialScale}, /* 16 */
6822 {tas5130cxx_Initial, tas5130cxx_InitialScale}, /* 17 */ 6808 {tas5130cxx_Initial, tas5130cxx_InitialScale}, /* 17 */
6823 {tas5130c_vf0250_InitialScale, tas5130c_vf0250_Initial}, 6809 {tas5130c_vf0250_Initial, tas5130c_vf0250_InitialScale},
6824 /* 18 */ 6810 /* 18 */
6825 }; 6811 };
6826 6812