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");
174 { 0x3000121a, BTTV_BOARD_VOODOOTV_200, "3Dfx VoodooTV 200" },
175 { 0x263710b4, BTTV_BOARD_VOODOOTV_FM, "3Dfx VoodooTV FM" },
176 { 0x3060121a, BTTV_BOARD_STB2, "3Dfx VoodooTV 100/ STB OEM" },
220 { 0x1462aa02, BTTV_BOARD_PV150, "Provideo PV150A-3" },
225 { 0x1466aa06, BTTV_BOARD_PV150, "Provideo PV150B-3" },
291 { 0x01071805, BTTV_BOARD_PICOLO_TETRA_CHIP, "Picolo Tetra Chip #3" },
300 * { 0xa0fca04f, BTTV_BOARD_MAGICTVIEW063, "Guillemot Maxi TV Video 3" }, */
330 { 0x15401832, BTTV_BOARD_PV183, "Provideo PV183-3" },
350 .muxsel = MUXSEL(2, 3, 1, 0),
360 .muxsel = MUXSEL(2, 3, 1, 1),
372 .muxsel = MUXSEL(2, 3, 1, 1),
373 .gpiomux = { 0, 1, 2, 3 },
380 .video_inputs = 3,
384 .muxsel = MUXSEL(2, 3, 1, 1),
385 .gpiomux = { 4, 0, 2, 3 },
401 .muxsel = MUXSEL(2, 3, 1, 1),
411 .gpiomask = 3,
412 .muxsel = MUXSEL(2, 3, 1, 0),
414 .gpiomute = 3,
420 .video_inputs = 3,
422 .svhs = 3,
423 .muxsel = MUXSEL(2, 3, 1, 1),
436 .svhs = 3,
438 .muxsel = MUXSEL(2, 3, 1, 0, 0),
451 .muxsel = MUXSEL(2, 3, 1, 1),
460 .video_inputs = 3,
463 .gpiomask = 3,
464 .muxsel = MUXSEL(2, 3, 1, 1),
465 .gpiomux = { 1, 1, 2, 3 },
477 .gpiomux = { 0, 1, 2, 3 },
485 .video_inputs = 3,
489 .muxsel = MUXSEL(2, 3, 1, 1),
499 .video_inputs = 3,
503 .muxsel = MUXSEL(2, 3, 1, 1),
510 .video_inputs = 3,
514 .muxsel = MUXSEL(2, 3, 1, 1),
525 .video_inputs = 3,
529 .muxsel = MUXSEL(2, 3, 1, 1),
530 .gpiomux = { 0, 2, 1, 3 }, /* old: {0, 1, 2, 3, 4} */
538 .video_inputs = 3,
542 .muxsel = MUXSEL(2, 3, 1, 1),
552 .video_inputs = 3,
556 .muxsel = MUXSEL(2, 3, 1, 1),
566 .video_inputs = 3,
570 .muxsel = MUXSEL(2, 3, 1, 1, 0),
580 .video_inputs = 3,
584 .muxsel = MUXSEL(2, 3, 1, 1),
595 .muxsel = MUXSEL(2, 3, 1, 1),
605 .video_inputs = 3,
606 /* .audio_inputs= 3, */
608 .muxsel = MUXSEL(2, 3, 1, 1),
618 .muxsel = MUXSEL(2, 3, 1, 1),
627 .video_inputs = 3,
631 .muxsel = MUXSEL(2, 3, 1, 1),
640 .video_inputs = 3,
645 .muxsel = MUXSEL(2, 3, 0), /* input 2 is digital */
657 .video_inputs = 3,
661 .muxsel = MUXSEL(2, 3, 1, 1),
672 .video_inputs = 3,
676 .muxsel = MUXSEL(2, 3, 1, 1),
687 .svhs = 3,
690 .gpiomux = { 0, 1, 2, 3 },
701 .muxsel = MUXSEL(2, 3, 1, 1),
712 .video_inputs = 3,
716 .muxsel = MUXSEL(2, 3, 1, 1),
731 gpio07: Pin 7 n.c.
761 .muxsel = MUXSEL(2, 3, 1, 0, 0),
774 .muxsel = MUXSEL(2, 3, 1, 1),
785 .svhs = 3,
787 .muxsel = MUXSEL(2, 3, 1, 1),
801 .muxsel = MUXSEL(2, 3, 1, 1),
808 .video_inputs = 3,
812 .muxsel = MUXSEL(2, 3, 1, 1),
825 .muxsel = MUXSEL(2, 3, 1, 1, 0),
837 0x3000: n.c.
851 /* .audio_inputs= 3, */
854 .muxsel = MUXSEL(2, 3, 1, 1),
866 /* .audio_inputs= 3, */
869 .muxsel = MUXSEL(2, 3, 1, 1),
879 .video_inputs = 3,
883 .muxsel = MUXSEL(2, 3, 1, 1),
897 .muxsel = MUXSEL(2, 3, 1, 0),
907 .video_inputs = 3,
911 .muxsel = MUXSEL(2, 3, 1, 1),
921 .name = "STB TV PCI FM, Gateway P/N 6000704 (bt878), 3Dfx VoodooTV 100",
922 .video_inputs = 3,
926 .muxsel = MUXSEL(2, 3, 1, 1),
927 .gpiomux = { 4, 0, 2, 3 },
937 .video_inputs = 3,
941 .muxsel = MUXSEL(2, 3, 1, 1),
951 .video_inputs = 3,
955 .muxsel = MUXSEL(2, 3, 1, 1),
964 .video_inputs = 3,
968 .muxsel = MUXSEL(2, 3, 1, 1),
982 .gpiomask = 3,
983 .muxsel = MUXSEL(2, 3, 1, 1),
985 .gpiomute = 3,
995 .svhs = 3,
997 .muxsel = MUXSEL(2, 3, 1, 0, 0),
1006 .video_inputs = 3,
1010 .muxsel = MUXSEL(2, 3, 1, 1),
1020 .video_inputs = 3,
1024 .muxsel = MUXSEL(2, 3, 1, 1),
1037 .video_inputs = 3,
1041 .muxsel = MUXSEL(2, 3, 1, 1),
1050 .video_inputs = 3,
1054 .muxsel = MUXSEL(2, 3, 0, 0),
1066 .svhs = 3,
1069 .muxsel = MUXSEL(2, 3, 1, 1, 0), /* in 4 is digital */
1078 /* GPIO wiring: (different from Rev.4C !)
1095 .gpiomux = { 0, 1, 2, 3 },
1108 .svhs = 3,
1110 .muxsel = MUXSEL(2, 3, 1, 1),
1118 3= not connected
1120 0,2,3= from MSP34xx
1131 /* .audio_inputs= 3, */
1134 .muxsel = MUXSEL(2, 3, 1, 1),
1153 .muxsel = MUXSEL(2, 3, 1, 1),
1172 .muxsel = MUXSEL(2, 3, 1, 0),
1185 /* .audio_inputs= 3, */
1188 .muxsel = MUXSEL(2, 3, 1, 1),
1204 .muxsel = MUXSEL(3, 1),
1214 .video_inputs = 3,
1218 .muxsel = MUXSEL(2, 3, 1, 1),
1232 .muxsel = MUXSEL(2, 3, 1, 0),
1249 .muxsel = MUXSEL(2, 3, 1, 1),
1275 .video_inputs = 3,
1279 .muxsel = MUXSEL(2, 3, 1, 0),
1289 .video_inputs = 3,
1293 .muxsel = MUXSEL(2, 3, 1, 0),
1309 .muxsel = MUXSEL(2, 3, 0, 1),
1319 .video_inputs = 3,
1320 /* .audio_inputs= 3, */
1323 .muxsel = MUXSEL(2, 3, 0, 1),
1337 .video_inputs = 3,
1341 .muxsel = MUXSEL(2, 3, 1, 1),
1352 .video_inputs = 3,
1356 .muxsel = MUXSEL(2, 3, 0, 0),
1367 .name = "3Dfx VoodooTV FM (Euro)",
1380 .muxsel = MUXSEL(2, 3, 0, 1),
1400 .muxsel = MUXSEL(2, 3, 0, 1),
1419 .name = "Prolink Pixelview PV-BT878P+ (Rev.4C,8E)",
1420 .video_inputs = 3,
1424 .muxsel = MUXSEL(2, 3, 1, 1),
1445 .muxsel = MUXSEL(2, 3, 1, 1),
1460 .muxsel = MUXSEL(2, 3, 1, 1),
1486 .muxsel = MUXSEL(2, 3, 1, 0, 0),
1499 .muxsel = MUXSEL(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
1507 .video_inputs = 3,
1524 .video_inputs = 3,
1528 .muxsel = MUXSEL(2, 3, 1, 1),
1529 .gpiomux = { 0, 1, 2, 3 },
1541 .muxsel = MUXSEL(2, 3, 1, 0),
1551 /* .audio_inputs= 3, */
1555 .muxsel = MUXSEL(2, 3, 1, 1),
1560 * gpiomux =1: lower volume, 2+3: mute
1574 GPIO3-7: n.c.
1575 GPIO8-13: IRDC357 data0-5 (data6 n.c. ?) [chip not present on my card]
1577 GPIO16-21: n.c.
1586 .muxsel = MUXSEL(2, 3, 1, 0),
1608 .video_inputs = 3,
1612 .muxsel = MUXSEL(2, 3, 1, 0),
1623 .name = "Osprey 100/150 (878)", /* 0x1(2|3)-45C6-C1 */
1626 .svhs = 3,
1627 .muxsel = MUXSEL(3, 2, 0, 1),
1636 .video_inputs = 3,
1639 .muxsel = MUXSEL(2, 3, 1),
1653 .muxsel = MUXSEL(3, 1),
1715 .muxsel = MUXSEL(2, 3),
1727 .muxsel = MUXSEL(2, 3),
1751 .muxsel = MUXSEL(2, 3),
1781 .muxsel = MUXSEL(3, 1),
1790 .svhs = 3,
1793 .muxsel = MUXSEL(2, 3, 1, 1),
1811 .video_inputs = 3,
1815 .muxsel = MUXSEL(2, 3, 1, 1),
1816 .gpiomux = { 0, 1, 2, 3},
1824 .video_inputs = 3,
1842 .muxsel = MUXSEL(2, 3),
1857 .muxsel = MUXSEL(2, 3, 1, 0),
1875 .muxsel = MUXSEL(2, 3, 1, 1),
1896 .muxsel = MUXSEL(2, 3, 1, 1),
1941 .muxsel = MUXSEL(2,2,2,2, 3,3,3,3, 1,1,1,1, 0,0,0,0),
1953 .muxsel = MUXSEL(2, 3, 1, 0),
1971 .muxsel = MUXSEL(2, 3, 1, 0),
1983 .svhs = 3,
1985 .muxsel = MUXSEL(2, 3, 1, 0),
1995 .svhs = 3,
1997 .muxsel = MUXSEL(2, 3, 1, 1),
2012 .muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 0),
2026 .muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 1),
2041 .muxsel = MUXSEL(2, 3, 1, 0),
2066 .muxsel = MUXSEL(2, 3, 1, 0),
2082 .video_inputs = 3,
2086 .muxsel = MUXSEL(3, 1, 1, 3),
2095 .video_inputs = 3,
2098 .gpiomask = 3,
2099 .muxsel = MUXSEL(2, 3, 1, 1),
2122 .video_inputs = 3,
2125 .muxsel = MUXSEL(2, 3, 0, 0),
2139 .muxsel = MUXSEL(2, 3, 1, 0),
2148 .video_inputs = 3,
2154 .muxsel = MUXSEL(2, 3, 1),
2164 .video_inputs = 3,
2168 .muxsel = MUXSEL(2, 3, 1, 1),
2170 .gpiomute = 3,
2202 .video_inputs = 3,
2219 .muxsel = MUXSEL(3, 3),
2230 …ula card data - added remote and new card number - BTTV_BOARD_AVDVBT_761, see also ir-kbd-gpio.c */
2234 .muxsel = MUXSEL(3, 1, 2, 0), /* Comp0, S-Video, ?, ? */
2251 .muxsel = MUXSEL(2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3),
2283 .muxsel = MUXSEL(2, 3, 1, 1),
2289 .has_remote = 1, /* miniremote works, see ir-kbd-gpio.c */
2295 /* Chris Pascoe <c.pascoe@itee.uq.edu.au> */
2308 .video_inputs = 3,
2312 .muxsel = MUXSEL(2, 3, 1, 0),
2322 /* Rick C <cryptdragoon@gmail.com> */
2327 .muxsel = MUXSEL(2, 3, 1, 0),
2354 * other 3 chips should use card type 0x85, whose description
2376 .muxsel = MUXSEL(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
2386 * is the 2nd one detected. The other 3 chips should use this card
2397 .muxsel = MUXSEL(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
2411 .muxsel = MUXSEL(2, 3, 1, 0),
2422 .video_inputs = 3,
2425 .muxsel = MUXSEL(2, 3, 1),
2437 .video_inputs = 3,
2441 .muxsel = MUXSEL(2, 3, 1, 1),
2452 .video_inputs = 3,
2456 .muxsel = MUXSEL(2, 3, 1, 1),
2458 .gpiomute = 3,
2470 .svhs = 3,
2473 .muxsel = MUXSEL(2, 3, 1, 1, 0), /* in 4 is digital */
2487 .video_inputs = 3,
2491 .muxsel = MUXSEL(2, 3, 1, 1),
2507 one (or 3?) internal stereo balanced (XLR) audio connection
2519 .muxsel = MUXSEL(2, 3, 0, 1), /* 3,0,1 are guesses */
2532 .video_inputs = 3,
2536 .muxsel = MUXSEL(2, 3, 1, 1),
2546 .video_inputs = 3,
2550 .muxsel = MUXSEL(2, 3, 1, 1),
2566 .muxsel = MUXSEL(0, 1, 3, 2), /* Composite 0-3 */
2581 .video_inputs = 3,
2585 .muxsel = MUXSEL(2, 3, 1, 1),
2586 .gpiomux = { 0, 1, 2, 3 },
2599 .muxsel = MUXSEL(0, 1, 2, 3),
2608 .muxsel = MUXSEL(2, 0, 1, 3),
2617 .video_inputs = 3,
2620 .muxsel = MUXSEL(2, 3, 1),
2630 .video_inputs = 3,
2634 .muxsel = MUXSEL(2, 3, 1, 1),
2660 .name = "Kozumi KTV-01C",
2661 .video_inputs = 3,
2665 .muxsel = MUXSEL(2, 3, 1, 1),
2667 .gpiomute = 3, /* CONTVFMi */
2678 .video_inputs = 3,
2688 .muxsel = MUXSEL(2, 3, 3),
2704 .muxsel = MUXSEL(0, 2, 3, 1),
2715 .svhs = 3,
2717 .muxsel = MUXSEL(2, 3, 1),
2728 .svhs = 3,
2730 .muxsel = MUXSEL(3, 2, 1),
2769 * The 3 other BT878A chips are "slave" chips of the GV-800(S)
2793 .muxsel = MUXSEL(2, 3),
2815 .muxsel = MUXSEL(2, 3, 1, 0),
2833 .muxsel = MUXSEL(2, 3, 1, 0),
2842 .muxsel = MUXSEL(2, 3, 1, 0),
2850 .video_inputs = 3,
2854 .muxsel = MUXSEL(2, 3, 1, 1),
2856 .gpiomute = 3,
2873 .muxsel = MUXSEL(2, 3),
2896 btv->cardid = btv->c.pci->subsystem_device << 16; in bttv_idcard()
2897 btv->cardid |= btv->c.pci->subsystem_vendor; in bttv_idcard()
2908 btv->c.nr, cards[type].name, cards[type].cardnr, in bttv_idcard()
2911 btv->c.type = cards[type].cardnr; in bttv_idcard()
2915 btv->c.nr, btv->cardid & 0xffff, in bttv_idcard()
2922 if (card[btv->c.nr] < bttv_num_tvcards) in bttv_idcard()
2923 btv->c.type=card[btv->c.nr]; in bttv_idcard()
2927 btv->c.nr, bttv_tvcards[btv->c.type].name, btv->c.type, in bttv_idcard()
2928 card[btv->c.nr] < bttv_num_tvcards in bttv_idcard()
2938 bttv_tvcards[btv->c.type].gpiomux[i] = audiomux[i]; in bttv_idcard()
2944 bttv_tvcards[btv->c.type].gpiomux[i] = audioall; in bttv_idcard()
2947 bttv_tvcards[btv->c.type].gpiomask = (UNSET != gpiomask) ? gpiomask : gpiobits; in bttv_idcard()
2949 btv->c.nr, bttv_tvcards[btv->c.type].gpiomask); in bttv_idcard()
2952 i ? "," : "", bttv_tvcards[btv->c.type].gpiomux[i]); in bttv_idcard()
2974 btv->c.type = type; in identify_by_eeprom()
2976 btv->c.nr, bttv_tvcards[btv->c.type].name, btv->c.type); in identify_by_eeprom()
2994 * GPIO14-12: n.c. in flyvideo_gpio()
2997 * lowest 3 bytes are remote control codes (no handshake needed) in flyvideo_gpio()
3017 tuner_type = 3; /* Philips SECAM(+PAL) FQ1216ME or FI1216MF */ in flyvideo_gpio()
3020 pr_info("%d: FlyVideo_gpio: unknown tuner type\n", btv->c.nr); in flyvideo_gpio()
3038 btv->c.nr, has_radio ? "yes" : "no", in flyvideo_gpio()
3041 btv->c.nr, is_lr90 ? "yes" : "no", in flyvideo_gpio()
3057 static int miro_tunermap[] = { 0,6,2,3, 4,5,6,0, 3,0,4,5, 5,2,16,1,
3058 14,2,17,1, 4,1,4,3, 1,2,16,1, 4,4,4,4 };
3087 if (btv->c.type == BTTV_BOARD_MIRO) in miro_pinnacle_gpio()
3088 btv->c.type = BTTV_BOARD_MIROPRO; in miro_pinnacle_gpio()
3089 if (btv->c.type == BTTV_BOARD_PINNACLE) in miro_pinnacle_gpio()
3090 btv->c.type = BTTV_BOARD_PINNACLEPRO; in miro_pinnacle_gpio()
3093 btv->c.nr, id+1, btv->tuner_type, in miro_pinnacle_gpio()
3111 case 3: in miro_pinnacle_gpio()
3137 btv->c.type = BTTV_BOARD_PINNACLEPRO; in miro_pinnacle_gpio()
3139 btv->c.nr, id, info, btv->has_radio ? "yes" : "no"); in miro_pinnacle_gpio()
3167 gpio_bits(3, input & 3); in eagle_muxsel()
3189 GPIObit | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
3217 gpio_inout( 3<<9, 3<<9 ); in sigmaSLC_muxsel()
3218 gpio_bits( 3<<9, inmux<<9 ); in sigmaSLC_muxsel()
3251 highbit = (input & 0x8) >> 3 ; in td3116_muxsel()
3273 * 3. There is a typo in the Conexant doc -- it is not at in bttv_reset_audio()
3281 pr_debug("%d: BT878A ARESET\n", btv->c.nr); in bttv_reset_audio()
3290 switch (btv->c.type) { in bttv_init_card1()
3318 if (!bttv_tvcards[btv->c.type].has_dvb) in bttv_init_card1()
3327 if (BTTV_BOARD_UNKNOWN == btv->c.type) { in bttv_init_card2()
3332 switch (btv->c.type) { in bttv_init_card2()
3376 btv->tea_gpio.clk = 3; in bttv_init_card2()
3388 btv->c.nr); in bttv_init_card2()
3393 /* Fix up entry for 3DFX VoodooTV 100, in bttv_init_card2()
3438 if (PLL_28 == bttv_tvcards[btv->c.type].pll) { in bttv_init_card2()
3442 if (PLL_35 == bttv_tvcards[btv->c.type].pll) { in bttv_init_card2()
3446 if (PLL_14 == bttv_tvcards[btv->c.type].pll) { in bttv_init_card2()
3451 switch (pll[btv->c.nr]) { in bttv_init_card2()
3469 case 3: /* 14 MHz */ in bttv_init_card2()
3480 if (UNSET != bttv_tvcards[btv->c.type].tuner_type) in bttv_init_card2()
3482 btv->tuner_type = bttv_tvcards[btv->c.type].tuner_type; in bttv_init_card2()
3483 if (UNSET != tuner[btv->c.nr]) in bttv_init_card2()
3484 btv->tuner_type = tuner[btv->c.nr]; in bttv_init_card2()
3487 pr_info("%d: tuner absent\n", btv->c.nr); in bttv_init_card2()
3489 pr_warn("%d: tuner type unset\n", btv->c.nr); in bttv_init_card2()
3491 pr_info("%d: tuner type=%d\n", btv->c.nr, btv->tuner_type); in bttv_init_card2()
3494 pr_warn("%d: the autoload option is obsolete\n", btv->c.nr); in bttv_init_card2()
3496 btv->c.nr); in bttv_init_card2()
3502 btv->dig = bttv_tvcards[btv->c.type].has_dig_in ? in bttv_init_card2()
3503 bttv_tvcards[btv->c.type].video_inputs - 1 : UNSET; in bttv_init_card2()
3504 btv->svhs = bttv_tvcards[btv->c.type].svhs == NO_SVHS ? in bttv_init_card2()
3505 UNSET : bttv_tvcards[btv->c.type].svhs; in bttv_init_card2()
3506 if (svhs[btv->c.nr] != UNSET) in bttv_init_card2()
3507 btv->svhs = svhs[btv->c.nr]; in bttv_init_card2()
3508 if (remote[btv->c.nr] != UNSET) in bttv_init_card2()
3509 btv->has_remote = remote[btv->c.nr]; in bttv_init_card2()
3511 if (bttv_tvcards[btv->c.type].has_radio) in bttv_init_card2()
3513 if (bttv_tvcards[btv->c.type].has_remote) in bttv_init_card2()
3515 if (!bttv_tvcards[btv->c.type].no_gpioirq) in bttv_init_card2()
3517 if (bttv_tvcards[btv->c.type].volume_gpio) in bttv_init_card2()
3518 btv->volume_gpio = bttv_tvcards[btv->c.type].volume_gpio; in bttv_init_card2()
3519 if (bttv_tvcards[btv->c.type].audio_mode_gpio) in bttv_init_card2()
3520 btv->audio_mode_gpio = bttv_tvcards[btv->c.type].audio_mode_gpio; in bttv_init_card2()
3525 if (btv->has_saa6588 || saa6588[btv->c.nr]) { in bttv_init_card2()
3534 sd = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3535 &btv->c.i2c_adap, "saa6588", 0, addrs); in bttv_init_card2()
3544 switch (audiodev[btv->c.nr]) { in bttv_init_card2()
3559 btv->sd_msp34xx = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3560 &btv->c.i2c_adap, "msp3400", 0, addrs); in bttv_init_card2()
3573 if (v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3574 &btv->c.i2c_adap, "tda7432", 0, addrs)) in bttv_init_card2()
3579 case 3: { in bttv_init_card2()
3581 btv->sd_tvaudio = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3582 &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); in bttv_init_card2()
3589 pr_warn("%d: unknown audiodev value!\n", btv->c.nr); in bttv_init_card2()
3599 if (!bttv_tvcards[btv->c.type].no_msp34xx) { in bttv_init_card2()
3600 btv->sd_msp34xx = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3601 &btv->c.i2c_adap, "msp3400", in bttv_init_card2()
3603 } else if (bttv_tvcards[btv->c.type].msp34xx_alt) { in bttv_init_card2()
3604 btv->sd_msp34xx = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3605 &btv->c.i2c_adap, "msp3400", in bttv_init_card2()
3614 btv->sd_tvaudio = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3615 &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); in bttv_init_card2()
3619 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3620 &btv->c.i2c_adap, "tvaudio", 0, tvaudio_addrs()); in bttv_init_card2()
3624 if (!bttv_tvcards[btv->c.type].no_tda7432) { in bttv_init_card2()
3630 btv->sd_tda7432 = v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_card2()
3631 &btv->c.i2c_adap, "tda7432", 0, addrs); in bttv_init_card2()
3639 pr_warn("%d: audio absent, no audio device found!\n", btv->c.nr); in bttv_init_card2()
3648 if (ADDR_UNSET != bttv_tvcards[btv->c.type].tuner_addr) in bttv_init_tuner()
3649 addr = bttv_tvcards[btv->c.type].tuner_addr; in bttv_init_tuner()
3656 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_tuner()
3657 &btv->c.i2c_adap, "tuner", in bttv_init_tuner()
3659 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_tuner()
3660 &btv->c.i2c_adap, "tuner", in bttv_init_tuner()
3662 v4l2_i2c_new_subdev(&btv->c.v4l2_dev, in bttv_init_tuner()
3663 &btv->c.i2c_adap, "tuner", in bttv_init_tuner()
3693 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3697 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3701 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3704 btv->c.nr, &eeprom_data[0x1e]); in modtec_eeprom()
3717 btv->c.nr, tv.model); in hauppauge_eeprom()
3725 btv->c.nr, in hauppauge_eeprom()
3726 bttv_tvcards[btv->c.type].name, in hauppauge_eeprom()
3728 btv->c.type = BTTV_BOARD_HAUPPAUGE_IMPACTVCB; in hauppauge_eeprom()
3811 pr_info("%d: detected TEA575x radio\n", btv->c.nr); in tea575x_init()
3830 btv->tea_gpio.clk = 3; in terratec_active_radio_upgrade()
3838 pr_info("%d: Terratec Active Radio Upgrade found\n", btv->c.nr); in terratec_active_radio_upgrade()
3903 rc = request_firmware(&fw_entry, "hcwamc.rbf", &btv->c.pci->dev); in pvr_boot()
3905 pr_warn("%d: no altera firmware [via hotplug]\n", btv->c.nr); in pvr_boot()
3910 btv->c.nr, (rc < 0) ? "failed" : "ok"); in pvr_boot()
3925 if (btv->c.type == BTTV_BOARD_UNKNOWN) { in osprey_eeprom()
4009 btv->c.nr, type); in osprey_eeprom()
4016 btv->c.nr, cardid, in osprey_eeprom()
4019 if (cardid<0 || btv->c.type == cardid) in osprey_eeprom()
4023 if (card[btv->c.nr] < bttv_num_tvcards) { in osprey_eeprom()
4025 btv->c.nr); in osprey_eeprom()
4028 btv->c.nr, btv->c.type, cardid); in osprey_eeprom()
4029 btv->c.type = cardid; in osprey_eeprom()
4034 /* AVermedia specific stuff, from bktr_card.c */
4056 tuner_tv_fm = (eeprom_data[0x41] & 0x18) >> 3; in avermedia_eeprom()
4072 btv->c.nr, eeprom_data[0x41], eeprom_data[0x42]); in avermedia_eeprom()
4101 gpio_bits(bttv_tvcards[btv->c.type].gpiomask, gpiobits); in bttv_tda9880_setnorm()
4127 btv->c.nr, pin); in boot_msp34xx()
4147 udelay(3); in init_PXC200()
4221 * 3) write to GPIO_DATA
4239 btv->c.nr); in init_RTV24()
4253 btv->c.nr, dataRead); in init_RTV24()
4266 btv->c.nr, dataRead); in init_RTV24()
4271 pr_info("%d: Adlink RTV-24 initialisation complete\n", btv->c.nr); in init_RTV24()
4302 if ((PCI_SLOT(btv->c.pci->devfn) & ~3) != 0xC) { in init_PCI8604PW()
4307 if (PCI_SLOT(btv->c.pci->devfn) != 0xD) in init_PCI8604PW()
4373 * GPIO[0:3] - AX[0:3] (xpoint) - P1[0:3] (microcontroller)
4428 * GPIO[0:3] - Video output monitor select (only available from one 878A)
4460 * is {3, 0, 2, 1}, i.e. the first controller to be detected is logical
4461 * unit 3, the second (which is the master) is logical unit 0, etc.
4469 * (gpio bits 0-3, representing the camera, ranging from 0-15), and a
4470 * Y-address (gpio bits 4-6, representing the controller, ranging from 0-3).
4482 udata = (data << 7) | ((yaddr&3) << 4) | (xaddr&0xf); in kodicom4400r_write()
4500 static unsigned char map[4] = {3, 0, 2, 1}; in kodicom4400r_muxsel()
4502 mctlr = master[btv->c.nr]; in kodicom4400r_muxsel()
4506 yaddr = (btv->c.nr - mctlr->c.nr + 1) & 3; /* the '&' is for safety */ in kodicom4400r_muxsel()
4523 * 0 through 3
4542 if ((btv->c.nr<1) || (btv->c.nr>BTTV_MAX-3)) in kodicom4400r_init()
4544 master[btv->c.nr-1] = btv; in kodicom4400r_init()
4545 master[btv->c.nr] = btv; in kodicom4400r_init()
4546 master[btv->c.nr+1] = btv; in kodicom4400r_init()
4547 master[btv->c.nr+2] = btv; in kodicom4400r_init()
4581 btwrite (0x08<<16,BT848_GPIO_DATA);/*GPIO[19] [==> 4053 B+C] set to 1 */ in picolo_tetra_init()
4587 dprintk("%d : picolo_tetra_muxsel => input = %d\n", btv->c.nr, input); in picolo_tetra_muxsel()
4610 * TDA8540_ALT3 IN0-3 = Channel 13 - 16 (0x03)
4611 * TDA8540_ALT4 IN0-3 = Channel 1 - 4 (0x03)
4612 * TDA8540_ALT5 IN0-3 = Channel 5 - 8 (0x03)
4613 * TDA8540_ALT6 IN0-3 = Channel 9 - 12 (0x03)
4633 btv->c.nr, input, matrix, key); in ivc120_muxsel()
4637 ((matrix == 3) ? (key | key << 2) : 0x00), 1); in ivc120_muxsel()
4647 ((matrix == 3) ? 0x03 : 0x00), 1); /* 13 - 16 */ in ivc120_muxsel()
4690 btv->c.nr, rc); in PXC200_muxsel()
4698 btv->c.nr, rc); in PXC200_muxsel()
4705 /* mux = bttv_tvcards[btv->type].muxsel[input] & 3; */ in PXC200_muxsel()
4723 bitmask = (bitmask & ~0x300) | ((mux & 3) << 8); in PXC200_muxsel()
4738 pr_debug("%d: setting input channel to:%d\n", btv->c.nr, (int)mux); in PXC200_muxsel()
4758 * (gpio bits 0-3, representing the camera, ranging from 0-15), and a
4759 * Y-address (gpio bits 4-6, representing the controller, ranging from 0-3).
4779 const u32 ADDRESS = ((xaddr&0xf) | (yaddr&3)<<4); in gv800s_write()
4795 * of the "master" card. A pointer to this card is stored in master[btv->c.nr].
4800 * every controller to input 0, then to input 1, 2, 3, repeat. This means that
4817 mctlr = master[btv->c.nr]; in gv800s_muxsel()
4822 yaddr = (btv->c.nr - mctlr->c.nr) & 3; in gv800s_muxsel()
4852 if (btv->c.nr > BTTV_MAX-4) in gv800s_init()
4858 master[btv->c.nr] = btv; in gv800s_init()
4859 master[btv->c.nr+1] = btv; in gv800s_init()
4860 master[btv->c.nr+2] = btv; in gv800s_init()
4861 master[btv->c.nr+3] = btv; in gv800s_init()
4908 btv->c.nr); in bttv_handle_chipset()
4910 pr_info("%d: enabling VSFX\n", btv->c.nr); in bttv_handle_chipset()
4913 btv->c.nr, latency); in bttv_handle_chipset()
4922 pci_read_config_byte(btv->c.pci, BT878_DEVCTRL, &command); in bttv_handle_chipset()
4927 pci_write_config_byte(btv->c.pci, BT878_DEVCTRL, command); in bttv_handle_chipset()
4930 pci_write_config_byte(btv->c.pci, PCI_LATENCY_TIMER, latency); in bttv_handle_chipset()