Pinnacle pctv310c DVB support
PATCH 1/1 Pinnacle pctv310c DVB support
Hello,
I finally managed to get DVB working on my Pinnacle PCTV Hybrid Pro card. I have it currently working, watching TV with kaffeine.
The only drawback is that enabling DVB breaks analog TV, which is certainly an issue in tunex-xc2028.c which doesn't reload a proper firmware when changing from DVB to analog.
Regards,
Stef
Signed-off-by Stéphane Voltz <[email protected]>
linux/drivers/media/video/cx88/cx88-cards.c +15 -3
@@ -1479,15 +1479,26 @@ .name = "Pinnacle Hybrid PCTV", .tuner_type = TUNER_XC2028, .tuner_addr = 0x61, + .radio_type = TUNER_XC2028, + .radio_addr = 0x61, .input = { { .type = CX88_VMUX_TELEVISION, .vmux = 0, + .gpio0 = 0x004ff, + .gpio1 = 0x010ff, + .gpio2 = 0x00001, }, { .type = CX88_VMUX_COMPOSITE1, .vmux = 1, + .gpio0 = 0x004fb, + .gpio1 = 0x010ef, + .audioroute = 1, }, { .type = CX88_VMUX_SVIDEO, .vmux = 2, + .gpio0 = 0x004fb, + .gpio1 = 0x010ef, + .audioroute = 1, } }, .radio = { .type = CX88_RADIO,
@@ -1495,10 +1506,7 @@ .gpio1 = 0x010ff, .gpio2 = 0x0ff, }, -#if 0 -/* needs some more GPIO work */ .mpeg = CX88_MPEG_DVB, -#endif }, [CX88_BOARD_WINFAST_TV2000_XP_GLOBAL] = { .name = "Winfast TV2000 XP Global",
@@ -2483,6 +2491,10 @@* This board uses non-MTS firmware */ break ; +case CX88_BOARD_PINNACLE_HYBRID_PCTV : + ctl->demod =XC3028_FE_ZARLINK456 ; + ctl->mts =1 ; +break ;default : ctl->demod =XC3028_FE_OREN538 ; ctl->mts =1 ;
linux/drivers/media/video/cx88/cx88-dvb.c +10 -1
@@ -460,6 +460,12 @@ .tuner_callback = cx88_tuner_callback, }; +static struct zl10353_config cx88_pinnacle_hybrid_pctv = { + .demod_address = (0x1e >>1 ), + .no_tuner =1 , + .if2 =45600 , +}; +static struct zl10353_config cx88_geniatech_x8000_mt = { .demod_address = (0x1e >>1 ), .no_tuner =1 ,
@@ -855,10 +861,13 @@break ;case CX88_BOARD_PINNACLE_HYBRID_PCTV : dev->dvb.frontend =dvb_attach (zl10353_attach, - &cx88_geniatech_x8000_mt, + &cx88_pinnacle_hybrid_pctv, &core->i2c_adap); +if (dev->dvb.frontend) { + dev->dvb.frontend->ops.i2c_gate_ctrl =NULL ;if (attach_xc3028 (0x61 , dev) <0 ) goto frontend_detach; + }break ;case CX88_BOARD_GENIATECH_X8000_MT : dev->ts_gen_cntrl =0x00 ;
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb