Skip to contentSkip to conversation

Initial work on: TerraTec Cinergy S PCI [14f1:8800]

linux-dvb Julian Picht 1 participant 1 message Jul 15, 2008 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi List,

if is there anybody with a TerraTec Cinergy S PCI please try the attached patch (against current hg) to test if the vertical transponders work. Voltage switching is not implemented so horizontal transponders won't work.

With this patch applied I can tune. On some channels a signal is detected but FE_LOCK fails. I never used this satellite receiver installation before, so I don't know if it actually works. I would be REALLY happy if ANYONE could try this!

Many thanks to Manu Abraham for his mb86a16 tuner driver implementation, which actually seems to work with the cx88 driver with no problems.

ATTENTION: This patch is a hack! Don't use it if you don't know what you are doing. Don't expect it to add real support for the mentioned pci card. This driver is very experimental and in a very early state of development.

Regards,
Julian Picht

linux/drivers/media/dvb/frontends/Kconfig +7 -0
diff -r 0ebffe1cc136 linux/drivers/media/dvb/frontends/Kconfig
@@ -394,4 +394,11 @@
 	help
 	  An SEC control chip.
 
+config DVB_MB86A16
+	tristate "Fujitsu MB86A16 based"
+	depends on DVB_CORE && I2C
+	default m
+	help
+	  A DVB-S/DSS tuner module. Say Y when you want to support this frontend.
+
 endmenu
linux/drivers/media/dvb/frontends/Makefile +1 -0
diff -r 0ebffe1cc136 linux/drivers/media/dvb/frontends/Makefile
@@ -48,3 +48,4 @@
 obj-$(CONFIG_DVB_AU8522) += au8522.o
 obj-$(CONFIG_DVB_TDA10048) += tda10048.o
 obj-$(CONFIG_DVB_S5H1411) += s5h1411.o
+obj-$(CONFIG_DVB_MB86A16) += mb86a16.o
linux/drivers/media/video/cx88/Kconfig +1 -0
diff -r 0ebffe1cc136 linux/drivers/media/video/cx88/Kconfig
@@ -59,6 +59,7 @@
 	select DVB_ISL6421 if !DVB_FE_CUSTOMISE
 	select MEDIA_TUNER_SIMPLE if !DVB_FE_CUSTOMISE
 	select DVB_S5H1411 if !DVB_FE_CUSTOMISE
+	select DVB_MB86A16 if !DVB_FE_CUSTOMISE
 	---help---
 	  This adds support for DVB/ATSC cards based on the
 	  Conexant 2388x chip.
linux/drivers/media/video/cx88/cx88-cards.c +24 -0
diff -r 0ebffe1cc136 linux/drivers/media/video/cx88/cx88-cards.c
@@ -1701,6 +1701,26 @@
 		},
 		.mpeg           = CX88_MPEG_DVB,
 	},
+	/* Nothing working :(
+	 */
+	[CX88_BOARD_TERRATEC_S_PCI] = {
+		.name           = "TerraTec CINERGY S PCI",
+		.tuner_type     = UNSET,
+		.radio_type     = UNSET,
+		.tuner_addr	= ADDR_UNSET,
+		.radio_addr	= ADDR_UNSET,
+		.input          = { {
+			.type   = CX88_VMUX_TELEVISION,
+			.vmux   = 0,
+		}, {
+			.type   = CX88_VMUX_COMPOSITE1,
+			.vmux   = 1,
+		}, {
+			.type   = CX88_VMUX_SVIDEO,
+			.vmux   = 2,
+		} },
+		.mpeg           = CX88_MPEG_DVB,
+	},
 };
 
 /* ------------------------------------------------------------------ */
@@ -2050,6 +2070,10 @@
 		.subvendor = 0x17de,
 		.subdevice = 0x08c1,
 		.card      = CX88_BOARD_KWORLD_ATSC_120,
+	}, {
+		.subvendor = 0x153b,
+		.subdevice = 0x117a,
+		.card      = CX88_BOARD_TERRATEC_S_PCI,
 	},
 };
 
linux/drivers/media/video/cx88/cx88-dvb.c +16 -0
diff -r 0ebffe1cc136 linux/drivers/media/video/cx88/cx88-dvb.c
@@ -49,6 +49,7 @@
 #include "tuner-simple.h"
 #include "tda9887.h"
 #include "s5h1411.h"
+#include "mb86a16.h"
 
 MODULE_DESCRIPTION("driver for cx2388x based DVB cards");
 MODULE_AUTHOR("Chris Pascoe <[email protected]>");
@@ -487,6 +488,16 @@
 	.tuner_callback = cx88_tuner_callback,
 };
 
+int mb86_cx88_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
+{
+	return 0;
+};
+
+static struct mb86a16_config cinergy_s_pci_config = {
+	.demod_address = 0x08,
+	.set_voltage   = mb86_cx88_set_voltage,
+};
+
 static int attach_xc3028(u8 addr, struct cx8802_dev *dev)
 {
 	struct dvb_frontend *fe;
@@ -891,6 +902,11 @@
 				goto frontend_detach;
 		}
 		break;
+	case CX88_BOARD_TERRATEC_S_PCI:
+		dev->dvb.frontend = dvb_attach(mb86a16_attach,
+					       &cinergy_s_pci_config,
+					       &core->i2c_adap);
+		break;
 	default:
 		printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n",
 		       core->name);
linux/drivers/media/video/cx88/cx88.h +1 -0
diff -r 0ebffe1cc136 linux/drivers/media/video/cx88/cx88.h
@@ -222,6 +222,7 @@
 #define CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD 65
 #define CX88_BOARD_PROLINK_PV_8000GT       66
 #define CX88_BOARD_KWORLD_ATSC_120         67
+#define CX88_BOARD_TERRATEC_S_PCI          68
 
 enum cx88_itype {
 	CX88_VMUX_COMPOSITE1 = 1,

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb