All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] [PATCH] Pinnacle pctv310c DVB support
@ 2008-08-27 19:51 stef
  0 siblings, 0 replies; only message in thread
From: stef @ 2008-08-27 19:51 UTC (permalink / raw)
  To: linux-dvb

	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 <stef.dev@free.fr>


diff -baur v4l-dvb/linux/drivers/media/video/cx88/cx88-cards.c v4l-dvb-stef/linux/drivers/media/video/cx88/cx88-cards.c
--- v4l-dvb/linux/drivers/media/video/cx88/cx88-cards.c	2008-08-17 19:09:04.000000000 +0200
+++ v4l-dvb-stef/linux/drivers/media/video/cx88/cx88-cards.c	2008-08-27 21:06:57.000000000 +0200
@@ -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;
diff -baur v4l-dvb/linux/drivers/media/video/cx88/cx88-dvb.c v4l-dvb-stef/linux/drivers/media/video/cx88/cx88-dvb.c
--- v4l-dvb/linux/drivers/media/video/cx88/cx88-dvb.c	2008-08-17 19:09:04.000000000 +0200
+++ v4l-dvb-stef/linux/drivers/media/video/cx88/cx88-dvb.c	2008-08-27 21:03:52.000000000 +0200
@@ -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
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-08-27 19:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-27 19:51 [linux-dvb] [PATCH] Pinnacle pctv310c DVB support stef

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.