aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/bt8xx/bttv-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/bt8xx/bttv-cards.c')
-rw-r--r--drivers/media/video/bt8xx/bttv-cards.c37
1 files changed, 18 insertions, 19 deletions
diff --git a/drivers/media/video/bt8xx/bttv-cards.c b/drivers/media/video/bt8xx/bttv-cards.c
index 2df0ce2afe98..5c558e48e423 100644
--- a/drivers/media/video/bt8xx/bttv-cards.c
+++ b/drivers/media/video/bt8xx/bttv-cards.c
@@ -4084,27 +4084,26 @@ static void __devinit avermedia_eeprom(struct bttv *btv)
4084 btv->has_remote ? "yes" : "no"); 4084 btv->has_remote ? "yes" : "no");
4085} 4085}
4086 4086
4087/* used on Voodoo TV/FM (Voodoo 200), S0 wired to 0x10000 */ 4087/*
4088void bttv_tda9880_setnorm(struct bttv *btv, unsigned int norm) 4088 * For Voodoo TV/FM and Voodoo 200. These cards' tuners use a TDA9880
4089 * analog demod, which is not I2C controlled like the newer and more common
4090 * TDA9887 series. Instead is has two tri-state input pins, S0 and S1,
4091 * that control the IF for the video and audio. Apparently, bttv GPIO
4092 * 0x10000 is connected to S0. S0 low selects a 38.9 MHz VIF for B/G/D/K/I
4093 * (i.e., PAL) while high selects 45.75 MHz for M/N (i.e., NTSC).
4094 */
4095u32 bttv_tda9880_setnorm(struct bttv *btv, u32 gpiobits)
4089{ 4096{
4090 /* fix up our card entry */ 4097
4091 if(norm==V4L2_STD_NTSC) { 4098 if (btv->audio == TVAUDIO_INPUT_TUNER) {
4092 bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomux[TVAUDIO_INPUT_TUNER]=0x957fff; 4099 if (bttv_tvnorms[btv->tvnorm].v4l2_id & V4L2_STD_MN)
4093 bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomute=0x957fff; 4100 gpiobits |= 0x10000;
4094 bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomux[TVAUDIO_INPUT_TUNER]=0x957fff; 4101 else
4095 bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomute=0x957fff; 4102 gpiobits &= ~0x10000;
4096 dprintk("bttv_tda9880_setnorm to NTSC\n");
4097 }
4098 else {
4099 bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomux[TVAUDIO_INPUT_TUNER]=0x947fff;
4100 bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomute=0x947fff;
4101 bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomux[TVAUDIO_INPUT_TUNER]=0x947fff;
4102 bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomute=0x947fff;
4103 dprintk("bttv_tda9880_setnorm to PAL\n");
4104 } 4103 }
4105 /* set GPIO according */ 4104
4106 gpio_bits(bttv_tvcards[btv->c.type].gpiomask, 4105 gpio_bits(bttv_tvcards[btv->c.type].gpiomask, gpiobits);
4107 bttv_tvcards[btv->c.type].gpiomux[btv->audio]); 4106 return gpiobits;
4108} 4107}
4109 4108
4110 4109