Lines Matching +full:3 +full:c

4     bttv-cards.c
9 Copyright (C) 1996,97,98 Ralph Metzler (rjkm@thp.uni-koeln.de)
11 (c) 1999-2001 Gerd Knorr <kraxel@goldbach.in-berlin.de>
126 "\t\t 3 = tvaudio");
175 { 0x3000121a, BTTV_BOARD_VOODOOTV_200, "3Dfx VoodooTV 200" },
176 { 0x263710b4, BTTV_BOARD_VOODOOTV_FM, "3Dfx VoodooTV FM" },
177 { 0x3060121a, BTTV_BOARD_STB2, "3Dfx VoodooTV 100/ STB OEM" },
221 { 0x1462aa02, BTTV_BOARD_PV150, "Provideo PV150A-3" },
226 { 0x1466aa06, BTTV_BOARD_PV150, "Provideo PV150B-3" },
292 { 0x01071805, BTTV_BOARD_PICOLO_TETRA_CHIP, "Picolo Tetra Chip #3" },
301 * { 0xa0fca04f, BTTV_BOARD_MAGICTVIEW063, "Guillemot Maxi TV Video 3" }, */
331 { 0x15401832, BTTV_BOARD_PV183, "Provideo PV183-3" },
351 .muxsel = MUXSEL(2, 3, 1, 0),
361 .muxsel = MUXSEL(2, 3, 1, 1),
373 .muxsel = MUXSEL(2, 3, 1, 1),
374 .gpiomux = { 0, 1, 2, 3 },
381 .video_inputs = 3,
385 .muxsel = MUXSEL(2, 3, 1, 1),
386 .gpiomux = { 4, 0, 2, 3 },
402 .muxsel = MUXSEL(2, 3, 1, 1),
412 .gpiomask = 3,
413 .muxsel = MUXSEL(2, 3, 1, 0),
415 .gpiomute = 3,
421 .video_inputs = 3,
423 .svhs = 3,
424 .muxsel = MUXSEL(2, 3, 1, 1),
437 .svhs = 3,
439 .muxsel = MUXSEL(2, 3, 1, 0, 0),
452 .muxsel = MUXSEL(2, 3, 1, 1),
461 .video_inputs = 3,
464 .gpiomask = 3,
465 .muxsel = MUXSEL(2, 3, 1, 1),
466 .gpiomux = { 1, 1, 2, 3 },
478 .gpiomux = { 0, 1, 2, 3 },
486 .video_inputs = 3,
490 .muxsel = MUXSEL(2, 3, 1, 1),
500 .video_inputs = 3,
504 .muxsel = MUXSEL(2, 3, 1, 1),
511 .video_inputs = 3,
515 .muxsel = MUXSEL(2, 3, 1, 1),
526 .video_inputs = 3,
530 .muxsel = MUXSEL(2, 3, 1, 1),
531 .gpiomux = { 0, 2, 1, 3 }, /* old: {0, 1, 2, 3, 4} */
539 .video_inputs = 3,
543 .muxsel = MUXSEL(2, 3, 1, 1),
553 .video_inputs = 3,
557 .muxsel = MUXSEL(2, 3, 1, 1),
567 .video_inputs = 3,
571 .muxsel = MUXSEL(2, 3, 1, 1, 0),
581 .video_inputs = 3,
585 .muxsel = MUXSEL(2, 3, 1, 1),
596 .muxsel = MUXSEL(2, 3, 1, 1),
606 .video_inputs = 3,
607 /* .audio_inputs= 3, */
609 .muxsel = MUXSEL(2, 3, 1, 1),
619 .muxsel = MUXSEL(2, 3, 1, 1),
628 .video_inputs = 3,
632 .muxsel = MUXSEL(2, 3, 1, 1),
641 .video_inputs = 3,
646 .muxsel = MUXSEL(2, 3, 0), /* input 2 is digital */
658 .video_inputs = 3,
662 .muxsel = MUXSEL(2, 3, 1, 1),
673 .video_inputs = 3,
677 .muxsel = MUXSEL(2, 3, 1, 1),
688 .svhs = 3,
691 .gpiomux = { 0, 1, 2, 3 },
702 .muxsel = MUXSEL(2, 3, 1, 1),
713 .video_inputs = 3,
717 .muxsel = MUXSEL(2, 3, 1, 1),
732 gpio07: Pin 7 n.c.
762 .muxsel = MUXSEL(2, 3, 1, 0, 0),
775 .muxsel = MUXSEL(2, 3, 1, 1),
786 .svhs = 3,
788 .muxsel = MUXSEL(2, 3, 1, 1),
802 .muxsel = MUXSEL(2, 3, 1, 1),
809 .video_inputs = 3,
813 .muxsel = MUXSEL(2, 3, 1, 1),
826 .muxsel = MUXSEL(2, 3, 1, 1, 0),
838 0x3000: n.c.
852 /* .audio_inputs= 3, */
855 .muxsel = MUXSEL(2, 3, 1, 1),
867 /* .audio_inputs= 3, */
870 .muxsel = MUXSEL(2, 3, 1, 1),
880 .video_inputs = 3,
884 .muxsel = MUXSEL(2, 3, 1, 1),
898 .muxsel = MUXSEL(2, 3, 1, 0),
908 .video_inputs = 3,
912 .muxsel = MUXSEL(2, 3, 1, 1),
922 .name = "STB TV PCI FM, Gateway P/N 6000704 (bt878), 3Dfx VoodooTV 100",
923 .video_inputs = 3,
927 .muxsel = MUXSEL(2, 3, 1, 1),
928 .gpiomux = { 4, 0, 2, 3 },
938 .video_inputs = 3,
942 .muxsel = MUXSEL(2, 3, 1, 1),
952 .video_inputs = 3,
956 .muxsel = MUXSEL(2, 3, 1, 1),
965 .video_inputs = 3,
969 .muxsel = MUXSEL(2, 3, 1, 1),
983 .gpiomask = 3,
984 .muxsel = MUXSEL(2, 3, 1, 1),
986 .gpiomute = 3,
996 .svhs = 3,
998 .muxsel = MUXSEL(2, 3, 1, 0, 0),
1007 .video_inputs = 3,
1011 .muxsel = MUXSEL(2, 3, 1, 1),
1021 .video_inputs = 3,
1025 .muxsel = MUXSEL(2, 3, 1, 1),
1038 .video_inputs = 3,
1042 .muxsel = MUXSEL(2, 3, 1, 1),
1051 .video_inputs = 3,
1055 .muxsel = MUXSEL(2, 3, 0, 0),
1067 .svhs = 3,
1070 .muxsel = MUXSEL(2, 3, 1, 1, 0), /* in 4 is digital */
1079 /* GPIO wiring: (different from Rev.4C !)
1096 .gpiomux = { 0, 1, 2, 3 },
1109 .svhs = 3,
1111 .muxsel = MUXSEL(2, 3, 1, 1),
1119 3= not connected
1121 0,2,3= from MSP34xx
1132 /* .audio_inputs= 3, */
1135 .muxsel = MUXSEL(2, 3, 1, 1),
1154 .muxsel = MUXSEL(2, 3, 1, 1),
1173 .muxsel = MUXSEL(2, 3, 1, 0),
1186 /* .audio_inputs= 3, */
1189 .muxsel = MUXSEL(2, 3, 1, 1),
1205 .muxsel = MUXSEL(3, 1),
1215 .video_inputs = 3,
1219 .muxsel = MUXSEL(2, 3, 1, 1),
1233 .muxsel = MUXSEL(2, 3, 1, 0),
1250 .muxsel = MUXSEL(2, 3, 1, 1),
1276 .video_inputs = 3,
1280 .muxsel = MUXSEL(2, 3, 1, 0),
1290 .video_inputs = 3,
1294 .muxsel = MUXSEL(2, 3, 1, 0),
1310 .muxsel = MUXSEL(2, 3, 0, 1),
1320 .video_inputs = 3,
1321 /* .audio_inputs= 3, */
1324 .muxsel = MUXSEL(2, 3, 0, 1),
1338 .video_inputs = 3,
1342 .muxsel = MUXSEL(2, 3, 1, 1),
1353 .video_inputs = 3,
1357 .muxsel = MUXSEL(2, 3, 0, 0),
1368 .name = "3Dfx VoodooTV FM (Euro)",
1381 .muxsel = MUXSEL(2, 3, 0, 1),
1401 .muxsel = MUXSEL(2, 3, 0, 1),
1420 .name = "Prolink Pixelview PV-BT878P+ (Rev.4C,8E)",
1421 .video_inputs = 3,
1425 .muxsel = MUXSEL(2, 3, 1, 1),
1446 .muxsel = MUXSEL(2, 3, 1, 1),
1461 .muxsel = MUXSEL(2, 3, 1, 1),
1487 .muxsel = MUXSEL(2, 3, 1, 0, 0),
1500 .muxsel = MUXSEL(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
1508 .video_inputs = 3,
1525 .video_inputs = 3,
1529 .muxsel = MUXSEL(2, 3, 1, 1),
1530 .gpiomux = { 0, 1, 2, 3 },
1542 .muxsel = MUXSEL(2, 3, 1, 0),
1552 /* .audio_inputs= 3, */
1556 .muxsel = MUXSEL(2, 3, 1, 1),
1561 * gpiomux =1: lower volume, 2+3: mute
1575 GPIO3-7: n.c.
1576 GPIO8-13: IRDC357 data0-5 (data6 n.c. ?) [chip not present on my card]
1578 GPIO16-21: n.c.
1587 .muxsel = MUXSEL(2, 3, 1, 0),
1609 .video_inputs = 3,
1613 .muxsel = MUXSEL(2, 3, 1, 0),
1624 .name = "Osprey 100/150 (878)", /* 0x1(2|3)-45C6-C1 */
1627 .svhs = 3,
1628 .muxsel = MUXSEL(3, 2, 0, 1),
1637 .video_inputs = 3,
1640 .muxsel = MUXSEL(2, 3, 1),
1654 .muxsel = MUXSEL(3, 1),
1716 .muxsel = MUXSEL(2, 3),
1728 .muxsel = MUXSEL(2, 3),
1752 .muxsel = MUXSEL(2, 3),
1782 .muxsel = MUXSEL(3, 1),
1791 .svhs = 3,
1794 .muxsel = MUXSEL(2, 3, 1, 1),
1812 .video_inputs = 3,
1816 .muxsel = MUXSEL(2, 3, 1, 1),
1817 .gpiomux = { 0, 1, 2, 3},
1825 .video_inputs = 3,
1843 .muxsel = MUXSEL(2, 3),
1858 .muxsel = MUXSEL(2, 3, 1, 0),
1876 .muxsel = MUXSEL(2, 3, 1, 1),
1897 .muxsel = MUXSEL(2, 3, 1, 1),
1942 .muxsel = MUXSEL(2,2,2,2, 3,3,3,3, 1,1,1,1, 0,0,0,0),
1954 .muxsel = MUXSEL(2, 3, 1, 0),
1972 .muxsel = MUXSEL(2, 3, 1, 0),
1984 .svhs = 3,
1986 .muxsel = MUXSEL(2, 3, 1, 0),
1996 .svhs = 3,
1998 .muxsel = MUXSEL(2, 3, 1, 1),
2013 .muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 0),
2027 .muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 1),
2042 .muxsel = MUXSEL(2, 3, 1, 0),
2067 .muxsel = MUXSEL(2, 3, 1, 0),
2083 .video_inputs = 3,
2087 .muxsel = MUXSEL(3, 1, 1, 3),
2096 .video_inputs = 3,
2099 .gpiomask = 3,
2100 .muxsel = MUXSEL(2, 3, 1, 1),
2123 .video_inputs = 3,
2126 .muxsel = MUXSEL(2, 3, 0, 0),
2140 .muxsel = MUXSEL(2, 3, 1, 0),
2149 .video_inputs = 3,
2155 .muxsel = MUXSEL(2, 3, 1),
2165 .video_inputs = 3,
2169 .muxsel = MUXSEL(2, 3, 1, 1),
2171 .gpiomute = 3,
2203 .video_inputs = 3,
2220 .muxsel = MUXSEL(3, 3),
2231 …ula card data - added remote and new card number - BTTV_BOARD_AVDVBT_761, see also ir-kbd-gpio.c */
2235 .muxsel = MUXSEL(3, 1, 2, 0), /* Comp0, S-Video, ?, ? */
2252 .muxsel = MUXSEL(2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3),
2284 .muxsel = MUXSEL(2, 3, 1, 1),
2290 .has_remote = 1, /* miniremote works, see ir-kbd-gpio.c */
2296 /* Chris Pascoe <c.pascoe@itee.uq.edu.au> */
2309 .video_inputs = 3,
2313 .muxsel = MUXSEL(2, 3, 1, 0),
2323 /* Rick C <cryptdragoon@gmail.com> */
2328 .muxsel = MUXSEL(2, 3, 1, 0),
2355 * other 3 chips should use card type 0x85, whose description
2377 .muxsel = MUXSEL(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
2387 * is the 2nd one detected. The other 3 chips should use this card
2398 .muxsel = MUXSEL(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
2412 .muxsel = MUXSEL(2, 3, 1, 0),
2423 .video_inputs = 3,
2426 .muxsel = MUXSEL(2, 3, 1),
2438 .video_inputs = 3,
2442 .muxsel = MUXSEL(2, 3, 1, 1),
2453 .video_inputs = 3,
2457 .muxsel = MUXSEL(2, 3, 1, 1),
2459 .gpiomute = 3,
2471 .svhs = 3,
2474 .muxsel = MUXSEL(2, 3, 1, 1, 0), /* in 4 is digital */
2488 .video_inputs = 3,
2492 .muxsel = MUXSEL(2, 3, 1, 1),
2508 one (or 3?) internal stereo balanced (XLR) audio connection
2520 .muxsel = MUXSEL(2, 3, 0, 1), /* 3,0,1 are guesses */
2533 .video_inputs = 3,
2537 .muxsel = MUXSEL(2, 3, 1, 1),
2547 .video_inputs = 3,
2551 .muxsel = MUXSEL(2, 3, 1, 1),
2567 .muxsel = MUXSEL(0, 1, 3, 2), /* Composite 0-3 */
2582 .video_inputs = 3,
2586 .muxsel = MUXSEL(2, 3, 1, 1),
2587 .gpiomux = { 0, 1, 2, 3 },
2600 .muxsel = MUXSEL(0, 1, 2, 3),
2609 .muxsel = MUXSEL(2, 0, 1, 3),
2618 .video_inputs = 3,
2621 .muxsel = MUXSEL(2, 3, 1),
2631 .video_inputs = 3,
2635 .muxsel = MUXSEL(2, 3, 1, 1),
2661 .name = "Kozumi KTV-01C",
2662 .video_inputs = 3,
2666 .muxsel = MUXSEL(2, 3, 1, 1),
2668 .gpiomute = 3, /* CONTVFMi */
2679 .video_inputs = 3,
2689 .muxsel = MUXSEL(2, 3, 3),
2705 .muxsel = MUXSEL(0, 2, 3, 1),
2716 .svhs = 3,
2718 .muxsel = MUXSEL(2, 3, 1),
2729 .svhs = 3,
2731 .muxsel = MUXSEL(3, 2, 1),
2770 * The 3 other BT878A chips are "slave" chips of the GV-800(S)
2794 .muxsel = MUXSEL(2, 3),
2816 .muxsel = MUXSEL(2, 3, 1, 0),
2834 .muxsel = MUXSEL(2, 3, 1, 0),
2843 .muxsel = MUXSEL(2, 3, 1, 0),
2851 .video_inputs = 3,
2855 .muxsel = MUXSEL(2, 3, 1, 1),
2857 .gpiomute = 3,
2874 .muxsel = MUXSEL(2, 3),
2897 btv->cardid = btv->c.pci->subsystem_device << 16; in bttv_idcard()
2898 btv->cardid |= btv->c.pci->subsystem_vendor; in bttv_idcard()
2909 btv->c.nr, cards[type].name, cards[type].cardnr, in bttv_idcard()
2912 btv->c.type = cards[type].cardnr; in bttv_idcard()
2916 btv->c.nr, btv->cardid & 0xffff, in bttv_idcard()
2923 if (card[btv->c.nr] < bttv_num_tvcards) in bttv_idcard()
2924 btv->c.type=card[btv->c.nr]; in bttv_idcard()
2928 btv->c.nr, bttv_tvcards[btv->c.type].name, btv->c.type, in bttv_idcard()
2929 card[btv->c.nr] < bttv_num_tvcards in bttv_idcard()
2939 bttv_tvcards[btv->c.type].gpiomux[i] = audiomux[i]; in bttv_idcard()
2945 bttv_tvcards[btv->c.type].gpiomux[i] = audioall; in bttv_idcard()
2948 bttv_tvcards[btv->c.type].gpiomask = (UNSET != gpiomask) ? gpiomask : gpiobits; in bttv_idcard()
2950 btv->c.nr, bttv_tvcards[btv->c.type].gpiomask); in bttv_idcard()
2953 i ? "," : "", bttv_tvcards[btv->c.type].gpiomux[i]); in bttv_idcard()
2975 btv->c.type = type; in identify_by_eeprom()
2977 btv->c.nr, bttv_tvcards[btv->c.type].name, btv->c.type); in identify_by_eeprom()
2995 * GPIO14-12: n.c. in flyvideo_gpio()
2998 * lowest 3 bytes are remote control codes (no handshake needed) in flyvideo_gpio()
3018 tuner_type = 3; /* Philips SECAM(+PAL) FQ1216ME or FI1216MF */ in flyvideo_gpio()
3021 pr_info("%d: FlyVideo_gpio: unknown tuner type\n", btv->c.nr); in flyvideo_gpio()
3039 btv->c.nr, has_radio ? "yes" : "no", in flyvideo_gpio()
3042 btv->c.nr, is_lr90 ? "yes" : "no", in flyvideo_gpio()
3058 static int miro_tunermap[] = { 0,6,2,3, 4,5,6,0, 3,0,4,5, 5,2,16,1,
3059 14,2,17,1, 4,1,4,3, 1,2,16,1, 4,4,4,4 };
3088 if (btv->c.type == BTTV_BOARD_MIRO) in miro_pinnacle_gpio()
3089 btv->c.type = BTTV_BOARD_MIROPRO; in miro_pinnacle_gpio()
3090 if (btv->c.type == BTTV_BOARD_PINNACLE) in miro_pinnacle_gpio()
3091 btv->c.type = BTTV_BOARD_PINNACLEPRO; in miro_pinnacle_gpio()
3094 btv->c.nr, id+1, btv->tuner_type, in miro_pinnacle_gpio()
3112 case 3: in miro_pinnacle_gpio()
3138 btv->c.type = BTTV_BOARD_PINNACLEPRO; in miro_pinnacle_gpio()
3140 btv->c.nr, id, info, btv->has_radio ? "yes" : "no"); in miro_pinnacle_gpio()
3168 gpio_bits(3, input & 3); in eagle_muxsel()
3190 GPIObit | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
3218 gpio_inout( 3<<9, 3<<9 ); in sigmaSLC_muxsel()
3219 gpio_bits( 3<<9, inmux<<9 ); in sigmaSLC_muxsel()
3252 highbit = (input & 0x8) >> 3 ; in td3116_muxsel()
3274 * 3. There is a typo in the Conexant doc -- it is not at in bttv_reset_audio()
3282 pr_debug("%d: BT878A ARESET\n", btv->c.nr); in bttv_reset_audio()
3291 switch (btv->c.type) { in bttv_init_card1()
3319 if (!bttv_tvcards[btv->c.type].has_dvb) in bttv_init_card1()
3328 if (BTTV_BOARD_UNKNOWN == btv->c.type) { in bttv_init_card2()
3333 switch (btv->c.type) { in bttv_init_card2()
3377 btv->tea_gpio.clk = 3; in bttv_init_card2()
3389 btv->c.nr); in bttv_init_card2()
3394 /* Fix up entry for 3DFX VoodooTV 100, in bttv_init_card2()
3439 if (PLL_28 == bttv_tvcards[btv->c.type].pll) { in bttv_init_card2()
3443 if (PLL_35 == bttv_tvcards[btv->c.type].pll) { in bttv_init_card2()
3447 if (PLL_14 == bttv_tvcards[btv->c.type].pll) { in bttv_init_card2()
3452 switch (pll[btv->c.nr]) { in bttv_init_card2()
3470 case 3: /* 14 MHz */ in bttv_init_card2()
3481 if (UNSET != bttv_tvcards[btv->c.type].tuner_type) in bttv_init_card2()
3483 btv->tuner_type = bttv_tvcards[btv->c.type].tuner_type; in bttv_init_card2()
3484 if (UNSET != tuner[btv->c.nr]) in bttv_init_card2()
3485 btv->tuner_type = tuner[btv->c.nr]; in bttv_init_card2()
3488 pr_info("%d: tuner absent\n", btv->c.nr); in bttv_init_card2()
3490 pr_warn("%d: tuner type unset\n", btv->c.nr); in bttv_init_card2()
3492 pr_info("%d: tuner type=%d\n", btv->c.nr, btv->tuner_type); in bttv_init_card2()
3495 pr_warn("%d: the autoload option is obsolete\n", btv->c.nr); in bttv_init_card2()
3497 btv->c.nr); in bttv_init_card2()
3503 btv->dig = bttv_tvcards[btv->c.type].has_dig_in ? in bttv_init_card2()
3504 bttv_tvcards[btv->c.type].video_inputs - 1 : UNSET; in bttv_init_card2()
3505 btv->svhs = bttv_tvcards[btv->c.type].svhs == NO_SVHS ? in bttv_init_card2()
3506 UNSET : bttv_tvcards[btv->c.type].svhs; in bttv_init_card2()
3507 if (svhs[btv->c.nr] != UNSET) in bttv_init_card2()
3508 btv->svhs = svhs[btv->c.nr]; in bttv_init_card2()
3509 if (remote[btv->c.nr] != UNSET) in bttv_init_card2()
3510 btv->has_remote = remote[btv->c.nr]; in bttv_init_card2()
3512 if (bttv_tvcards[btv->c.type].has_radio) in bttv_init_card2()
3514 if (bttv_tvcards[btv->c.type].has_remote) in bttv_init_card2()
3516 if (!bttv_tvcards[btv->c.type].no_gpioirq) in bttv_init_card2()
3518 if (bttv_tvcards[btv->c.type].volume_gpio) in bttv_init_card2()
3519 btv->volume_gpio = bttv_tvcards[btv->c.type].volume_gpio; in bttv_init_card2()
3520 if (bttv_tvcards[btv->c.type].audio_mode_gpio) in bttv_init_card2()
3521 btv->audio_mode_gpio = bttv_tvcards[btv->c.type].audio_mode_gpio; in bttv_init_card2()
3526 if (btv->has_saa6588 || saa6588[btv->c.nr]) { in bttv_init_card2()
3535 sd = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3536 &btv->c.i2c_adap, "saa6588", 0, addrs); in bttv_init_card2()
3545 switch (audiodev[btv->c.nr]) { in bttv_init_card2()
3560 btv->sd_msp34xx = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3561 &btv->c.i2c_adap, "msp3400", 0, addrs); in bttv_init_card2()
3574 if (v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3575 &btv->c.i2c_adap, "tda7432", 0, addrs)) in bttv_init_card2()
3580 case 3: { in bttv_init_card2()
3582 btv->sd_tvaudio = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3583 &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); in bttv_init_card2()
3590 pr_warn("%d: unknown audiodev value!\n", btv->c.nr); in bttv_init_card2()
3600 if (!bttv_tvcards[btv->c.type].no_msp34xx) { in bttv_init_card2()
3601 btv->sd_msp34xx = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3602 &btv->c.i2c_adap, "msp3400", in bttv_init_card2()
3604 } else if (bttv_tvcards[btv->c.type].msp34xx_alt) { in bttv_init_card2()
3605 btv->sd_msp34xx = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3606 &btv->c.i2c_adap, "msp3400", in bttv_init_card2()
3615 btv->sd_tvaudio = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3616 &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); in bttv_init_card2()
3620 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3621 &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); in bttv_init_card2()
3625 if (!bttv_tvcards[btv->c.type].no_tda7432) { in bttv_init_card2()
3631 btv->sd_tda7432 = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3632 &btv->c.i2c_adap, "tda7432", 0, addrs); in bttv_init_card2()
3640 pr_warn("%d: audio absent, no audio device found!\n", btv->c.nr); in bttv_init_card2()
3649 if (ADDR_UNSET != bttv_tvcards[btv->c.type].tuner_addr) in bttv_init_tuner()
3650 addr = bttv_tvcards[btv->c.type].tuner_addr; in bttv_init_tuner()
3657 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_tuner()
3658 &btv->c.i2c_adap, "tuner", in bttv_init_tuner()
3660 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_tuner()
3661 &btv->c.i2c_adap, "tuner", in bttv_init_tuner()
3663 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_tuner()
3664 &btv->c.i2c_adap, "tuner", in bttv_init_tuner()
3694 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3698 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3702 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3705 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3718 btv->c.nr, tv.model); in hauppauge_eeprom()
3726 btv->c.nr, in hauppauge_eeprom()
3727 bttv_tvcards[btv->c.type].name, in hauppauge_eeprom()
3729 btv->c.type = BTTV_BOARD_HAUPPAUGE_IMPACTVCB; in hauppauge_eeprom()
3812 pr_info("%d: detected TEA575x radio\n", btv->c.nr); in tea575x_init()
3831 btv->tea_gpio.clk = 3; in terratec_active_radio_upgrade()
3839 pr_info("%d: Terratec Active Radio Upgrade found\n", btv->c.nr); in terratec_active_radio_upgrade()
3904 rc = request_firmware(&fw_entry, "hcwamc.rbf", &btv->c.pci->dev); in pvr_boot()
3906 pr_warn("%d: no altera firmware [via hotplug]\n", btv->c.nr); in pvr_boot()
3911 btv->c.nr, (rc < 0) ? "failed" : "ok"); in pvr_boot()
3926 if (btv->c.type == BTTV_BOARD_UNKNOWN) { in osprey_eeprom()
4010 btv->c.nr, type); in osprey_eeprom()
4017 btv->c.nr, cardid, in osprey_eeprom()
4020 if (cardid<0 || btv->c.type == cardid) in osprey_eeprom()
4024 if (card[btv->c.nr] < bttv_num_tvcards) { in osprey_eeprom()
4026 btv->c.nr); in osprey_eeprom()
4029 btv->c.nr, btv->c.type, cardid); in osprey_eeprom()
4030 btv->c.type = cardid; in osprey_eeprom()
4035 /* AVermedia specific stuff, from bktr_card.c */
4057 tuner_tv_fm = (eeprom_data[0x41] & 0x18) >> 3; in avermedia_eeprom()
4073 btv->c.nr, eeprom_data[0x41], eeprom_data[0x42]); in avermedia_eeprom()
4102 gpio_bits(bttv_tvcards[btv->c.type].gpiomask, gpiobits); in bttv_tda9880_setnorm()
4128 btv->c.nr, pin); in boot_msp34xx()
4148 udelay(3); in init_PXC200()
4222 * 3) write to GPIO_DATA
4240 btv->c.nr); in init_RTV24()
4254 btv->c.nr, dataRead); in init_RTV24()
4267 btv->c.nr, dataRead); in init_RTV24()
4272 pr_info("%d: Adlink RTV-24 initialisation complete\n", btv->c.nr); in init_RTV24()
4303 if ((PCI_SLOT(btv->c.pci->devfn) & ~3) != 0xC) { in init_PCI8604PW()
4308 if (PCI_SLOT(btv->c.pci->devfn) != 0xD) in init_PCI8604PW()
4374 * GPIO[0:3] - AX[0:3] (xpoint) - P1[0:3] (microcontroller)
4429 * GPIO[0:3] - Video output monitor select (only available from one 878A)
4461 * is {3, 0, 2, 1}, i.e. the first controller to be detected is logical
4462 * unit 3, the second (which is the master) is logical unit 0, etc.
4470 * (gpio bits 0-3, representing the camera, ranging from 0-15), and a
4471 * Y-address (gpio bits 4-6, representing the controller, ranging from 0-3).
4483 udata = (data << 7) | ((yaddr&3) << 4) | (xaddr&0xf); in kodicom4400r_write()
4501 static unsigned char map[4] = {3, 0, 2, 1}; in kodicom4400r_muxsel()
4503 mctlr = master[btv->c.nr]; in kodicom4400r_muxsel()
4507 yaddr = (btv->c.nr - mctlr->c.nr + 1) & 3; /* the '&' is for safety */ in kodicom4400r_muxsel()
4524 * 0 through 3
4543 if ((btv->c.nr<1) || (btv->c.nr>BTTV_MAX-3)) in kodicom4400r_init()
4545 master[btv->c.nr-1] = btv; in kodicom4400r_init()
4546 master[btv->c.nr] = btv; in kodicom4400r_init()
4547 master[btv->c.nr+1] = btv; in kodicom4400r_init()
4548 master[btv->c.nr+2] = btv; in kodicom4400r_init()
4582 btwrite (0x08<<16,BT848_GPIO_DATA);/*GPIO[19] [==> 4053 B+C] set to 1 */ in picolo_tetra_init()
4588 dprintk("%d : picolo_tetra_muxsel => input = %d\n", btv->c.nr, input); in picolo_tetra_muxsel()
4611 * TDA8540_ALT3 IN0-3 = Channel 13 - 16 (0x03)
4612 * TDA8540_ALT4 IN0-3 = Channel 1 - 4 (0x03)
4613 * TDA8540_ALT5 IN0-3 = Channel 5 - 8 (0x03)
4614 * TDA8540_ALT6 IN0-3 = Channel 9 - 12 (0x03)
4634 btv->c.nr, input, matrix, key); in ivc120_muxsel()
4638 ((matrix == 3) ? (key | key << 2) : 0x00), 1); in ivc120_muxsel()
4648 ((matrix == 3) ? 0x03 : 0x00), 1); /* 13 - 16 */ in ivc120_muxsel()
4691 btv->c.nr, rc); in PXC200_muxsel()
4699 btv->c.nr, rc); in PXC200_muxsel()
4706 /* mux = bttv_tvcards[btv->type].muxsel[input] & 3; */ in PXC200_muxsel()
4724 bitmask = (bitmask & ~0x300) | ((mux & 3) << 8); in PXC200_muxsel()
4739 pr_debug("%d: setting input channel to:%d\n", btv->c.nr, (int)mux); in PXC200_muxsel()
4759 * (gpio bits 0-3, representing the camera, ranging from 0-15), and a
4760 * Y-address (gpio bits 4-6, representing the controller, ranging from 0-3).
4780 const u32 ADDRESS = ((xaddr&0xf) | (yaddr&3)<<4); in gv800s_write()
4796 * of the "master" card. A pointer to this card is stored in master[btv->c.nr].
4801 * every controller to input 0, then to input 1, 2, 3, repeat. This means that
4818 mctlr = master[btv->c.nr]; in gv800s_muxsel()
4823 yaddr = (btv->c.nr - mctlr->c.nr) & 3; in gv800s_muxsel()
4853 if (btv->c.nr > BTTV_MAX-4) in gv800s_init()
4859 master[btv->c.nr] = btv; in gv800s_init()
4860 master[btv->c.nr+1] = btv; in gv800s_init()
4861 master[btv->c.nr+2] = btv; in gv800s_init()
4862 master[btv->c.nr+3] = btv; in gv800s_init()
4909 btv->c.nr); in bttv_handle_chipset()
4911 pr_info("%d: enabling VSFX\n", btv->c.nr); in bttv_handle_chipset()
4914 btv->c.nr, latency); in bttv_handle_chipset()
4923 pci_read_config_byte(btv->c.pci, BT878_DEVCTRL, &command); in bttv_handle_chipset()
4928 pci_write_config_byte(btv->c.pci, BT878_DEVCTRL, command); in bttv_handle_chipset()
4931 pci_write_config_byte(btv->c.pci, PCI_LATENCY_TIMER, latency); in bttv_handle_chipset()