V4L/DVB (5785): Revisited: 3dfx Voodoo TV 200 (US)
Fix support for 3dfx Voodoo TV 200 variant Signed-off-by: Wade Berrier <wberrier@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
096bb77aba
commit
434b25263a
@@ -178,8 +178,8 @@ static struct CARD {
|
|||||||
/* this seems to happen as well ... */
|
/* this seems to happen as well ... */
|
||||||
{ 0xff1211bd, BTTV_BOARD_PINNACLE, "Pinnacle PCTV" },
|
{ 0xff1211bd, BTTV_BOARD_PINNACLE, "Pinnacle PCTV" },
|
||||||
|
|
||||||
{ 0x3000121a, BTTV_BOARD_VOODOOTV_FM, "3Dfx VoodooTV FM/ VoodooTV 200" },
|
{ 0x3000121a, BTTV_BOARD_VOODOOTV_200, "3Dfx VoodooTV 200" },
|
||||||
{ 0x263710b4, BTTV_BOARD_VOODOOTV_FM, "3Dfx VoodooTV FM/ VoodooTV 200" },
|
{ 0x263710b4, BTTV_BOARD_VOODOOTV_FM, "3Dfx VoodooTV FM" },
|
||||||
{ 0x3060121a, BTTV_BOARD_STB2, "3Dfx VoodooTV 100/ STB OEM" },
|
{ 0x3060121a, BTTV_BOARD_STB2, "3Dfx VoodooTV 100/ STB OEM" },
|
||||||
|
|
||||||
{ 0x3000144f, BTTV_BOARD_MAGICTVIEW063, "(Askey Magic/others) TView99 CPH06x" },
|
{ 0x3000144f, BTTV_BOARD_MAGICTVIEW063, "(Askey Magic/others) TView99 CPH06x" },
|
||||||
@@ -1517,7 +1517,29 @@ struct tvcard bttv_tvcards[] = {
|
|||||||
|
|
||||||
/* ---- card 0x44 ---------------------------------- */
|
/* ---- card 0x44 ---------------------------------- */
|
||||||
[BTTV_BOARD_VOODOOTV_FM] = {
|
[BTTV_BOARD_VOODOOTV_FM] = {
|
||||||
.name = "3Dfx VoodooTV FM (Euro), VoodooTV 200 (USA)",
|
.name = "3Dfx VoodooTV FM (Euro)",
|
||||||
|
/* try "insmod msp3400 simple=0" if you have
|
||||||
|
* sound problems with this card. */
|
||||||
|
.video_inputs = 4,
|
||||||
|
.audio_inputs = 1,
|
||||||
|
.tuner = 0,
|
||||||
|
.svhs = -1,
|
||||||
|
.gpiomask = 0x4f8a00,
|
||||||
|
/* 0x100000: 1=MSP enabled (0=disable again)
|
||||||
|
* 0x010000: Connected to "S0" on tda9880 (0=Pal/BG, 1=NTSC) */
|
||||||
|
.gpiomux = {0x947fff, 0x987fff,0x947fff,0x947fff },
|
||||||
|
.gpiomute = 0x947fff,
|
||||||
|
/* tvtuner, radio, external,internal, mute, stereo
|
||||||
|
* tuner, Composit, SVid, Composit-on-Svid-adapter */
|
||||||
|
.muxsel = { 2, 3 ,0 ,1 },
|
||||||
|
.tuner_type = TUNER_MT2032,
|
||||||
|
.tuner_addr = ADDR_UNSET,
|
||||||
|
.radio_addr = ADDR_UNSET,
|
||||||
|
.pll = PLL_28,
|
||||||
|
.has_radio = 1,
|
||||||
|
},
|
||||||
|
[BTTV_BOARD_VOODOOTV_200] = {
|
||||||
|
.name = "VoodooTV 200 (USA)",
|
||||||
/* try "insmod msp3400 simple=0" if you have
|
/* try "insmod msp3400 simple=0" if you have
|
||||||
* sound problems with this card. */
|
* sound problems with this card. */
|
||||||
.video_inputs = 4,
|
.video_inputs = 4,
|
||||||
@@ -3302,6 +3324,7 @@ void __devinit bttv_init_card1(struct bttv *btv)
|
|||||||
case BTTV_BOARD_HAUPPAUGE878:
|
case BTTV_BOARD_HAUPPAUGE878:
|
||||||
boot_msp34xx(btv,5);
|
boot_msp34xx(btv,5);
|
||||||
break;
|
break;
|
||||||
|
case BTTV_BOARD_VOODOOTV_200:
|
||||||
case BTTV_BOARD_VOODOOTV_FM:
|
case BTTV_BOARD_VOODOOTV_FM:
|
||||||
boot_msp34xx(btv,20);
|
boot_msp34xx(btv,20);
|
||||||
break;
|
break;
|
||||||
@@ -3865,11 +3888,15 @@ void bttv_tda9880_setnorm(struct bttv *btv, int norm)
|
|||||||
if(norm==VIDEO_MODE_NTSC) {
|
if(norm==VIDEO_MODE_NTSC) {
|
||||||
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomux[TVAUDIO_INPUT_TUNER]=0x957fff;
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomux[TVAUDIO_INPUT_TUNER]=0x957fff;
|
||||||
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomute=0x957fff;
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomute=0x957fff;
|
||||||
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomux[TVAUDIO_INPUT_TUNER]=0x957fff;
|
||||||
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomute=0x957fff;
|
||||||
dprintk("bttv_tda9880_setnorm to NTSC\n");
|
dprintk("bttv_tda9880_setnorm to NTSC\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomux[TVAUDIO_INPUT_TUNER]=0x947fff;
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomux[TVAUDIO_INPUT_TUNER]=0x947fff;
|
||||||
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomute=0x947fff;
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_FM].gpiomute=0x947fff;
|
||||||
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomux[TVAUDIO_INPUT_TUNER]=0x947fff;
|
||||||
|
bttv_tvcards[BTTV_BOARD_VOODOOTV_200].gpiomute=0x947fff;
|
||||||
dprintk("bttv_tda9880_setnorm to PAL\n");
|
dprintk("bttv_tda9880_setnorm to PAL\n");
|
||||||
}
|
}
|
||||||
/* set GPIO according */
|
/* set GPIO according */
|
||||||
|
@@ -1218,7 +1218,14 @@ audio_mux(struct bttv *btv, int input, int mute)
|
|||||||
break;
|
break;
|
||||||
case TVAUDIO_INPUT_TUNER:
|
case TVAUDIO_INPUT_TUNER:
|
||||||
default:
|
default:
|
||||||
route.input = MSP_INPUT_DEFAULT;
|
/* This is the only card that uses TUNER2, and afaik,
|
||||||
|
is the only difference between the VOODOOTV_FM
|
||||||
|
and VOODOOTV_200 */
|
||||||
|
if (btv->c.type == BTTV_BOARD_VOODOOTV_200)
|
||||||
|
route.input = MSP_INPUT(MSP_IN_SCART1, MSP_IN_TUNER2, \
|
||||||
|
MSP_DSP_IN_TUNER, MSP_DSP_IN_TUNER);
|
||||||
|
else
|
||||||
|
route.input = MSP_INPUT_DEFAULT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
route.output = MSP_OUTPUT_DEFAULT;
|
route.output = MSP_OUTPUT_DEFAULT;
|
||||||
@@ -1253,7 +1260,7 @@ i2c_vidiocschan(struct bttv *btv)
|
|||||||
v4l2_std_id std = bttv_tvnorms[btv->tvnorm].v4l2_id;
|
v4l2_std_id std = bttv_tvnorms[btv->tvnorm].v4l2_id;
|
||||||
|
|
||||||
bttv_call_i2c_clients(btv, VIDIOC_S_STD, &std);
|
bttv_call_i2c_clients(btv, VIDIOC_S_STD, &std);
|
||||||
if (btv->c.type == BTTV_BOARD_VOODOOTV_FM)
|
if (btv->c.type == BTTV_BOARD_VOODOOTV_FM || btv->c.type == BTTV_BOARD_VOODOOTV_200)
|
||||||
bttv_tda9880_setnorm(btv,btv->tvnorm);
|
bttv_tda9880_setnorm(btv,btv->tvnorm);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1323,6 +1330,7 @@ set_tvnorm(struct bttv *btv, unsigned int norm)
|
|||||||
|
|
||||||
switch (btv->c.type) {
|
switch (btv->c.type) {
|
||||||
case BTTV_BOARD_VOODOOTV_FM:
|
case BTTV_BOARD_VOODOOTV_FM:
|
||||||
|
case BTTV_BOARD_VOODOOTV_200:
|
||||||
bttv_tda9880_setnorm(btv,norm);
|
bttv_tda9880_setnorm(btv,norm);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -170,6 +170,7 @@
|
|||||||
#define BTTV_BOARD_MACHTV_MAGICTV 0x90
|
#define BTTV_BOARD_MACHTV_MAGICTV 0x90
|
||||||
#define BTTV_BOARD_SSAI_SECURITY 0x91
|
#define BTTV_BOARD_SSAI_SECURITY 0x91
|
||||||
#define BTTV_BOARD_SSAI_ULTRASOUND 0x92
|
#define BTTV_BOARD_SSAI_ULTRASOUND 0x92
|
||||||
|
#define BTTV_BOARD_VOODOOTV_200 0x93
|
||||||
|
|
||||||
/* more card-specific defines */
|
/* more card-specific defines */
|
||||||
#define PT2254_L_CHANNEL 0x10
|
#define PT2254_L_CHANNEL 0x10
|
||||||
|
Reference in New Issue
Block a user