Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70101a27 authored by Stephan Wienczny's avatar Stephan Wienczny Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (10949): Add support for Terratec Cinergy HT PCI MKII



This patch adds support for Terratec Cinergy HT PCI MKII with card id 79.
Its more or less a copy of Pinnacle Hybrid PCTV.
Thanks to k1ngf1sher on forum.ubuntuusers.de for the idea to copy that card.

Signed-off-by: default avatarStephan Wienczny <stephan@wienczny.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent a27e4fd3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -77,3 +77,4 @@
 76 -> SATTRADE ST4200 DVB-S/S2                            [b200:4200]
 77 -> TBS 8910 DVB-S                                      [8910:8888]
 78 -> Prof 6200 DVB-S                                     [b022:3022]
 79 -> Terratec Cinergy HT PCI MKII                        [153b:1177]
+38 −0
Original line number Diff line number Diff line
@@ -1934,6 +1934,39 @@ static const struct cx88_board cx88_boards[] = {
		} },
		.mpeg           = CX88_MPEG_DVB,
	},
	[CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII] = {
		.name           = "Terratec Cinergy HT PCI MKII",
		.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,
			.gpio0  = 0x004ff,
			.gpio1  = 0x010ff,
			.gpio2  = 0x0ff,
		},
		.mpeg           = CX88_MPEG_DVB,
	},
};

/* ------------------------------------------------------------------ */
@@ -2343,6 +2376,10 @@ static const struct cx88_subid cx88_subids[] = {
		.subvendor = 0xb200,
		.subdevice = 0x4200,
		.card      = CX88_BOARD_SATTRADE_ST4200,
	}, {
		.subvendor = 0x153b,
		.subdevice = 0x1177,
		.card      = CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII,
	},
};

@@ -2819,6 +2856,7 @@ void cx88_setup_xc3028(struct cx88_core *core, struct xc2028_ctrl *ctl)
		 */
		break;
	case CX88_BOARD_PINNACLE_HYBRID_PCTV:
	case CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII:
		ctl->demod = XC3028_FE_ZARLINK456;
		ctl->mts = 1;
		break;
+16 −0
Original line number Diff line number Diff line
@@ -241,6 +241,12 @@ static struct mt352_config dvico_fusionhdtv_dual = {
	.demod_init    = dvico_dual_demod_init,
};

static struct zl10353_config cx88_terratec_cinergy_ht_pci_mkii_config = {
	.demod_address = (0x1e >> 1),
	.no_tuner      = 1,
	.if2           = 45600,
};

#if defined(CONFIG_VIDEO_CX88_VP3054) || (defined(CONFIG_VIDEO_CX88_VP3054_MODULE) && defined(MODULE))
static int dntv_live_dvbt_pro_demod_init(struct dvb_frontend* fe)
{
@@ -1131,6 +1137,16 @@ static int dvb_register(struct cx8802_dev *dev)
		if (fe0->dvb.frontend != NULL)
			fe0->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage;
		break;
	case CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII:
		fe0->dvb.frontend = dvb_attach(zl10353_attach,
					       &cx88_terratec_cinergy_ht_pci_mkii_config,
					       &core->i2c_adap);
		if (fe0->dvb.frontend) {
			fe0->dvb.frontend->ops.i2c_gate_ctrl = NULL;
			if (attach_xc3028(0x61, dev) < 0)
				goto frontend_detach;
		}
		break;
	default:
		printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n",
		       core->name);
+1 −0
Original line number Diff line number Diff line
@@ -231,6 +231,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_SATTRADE_ST4200         76
#define CX88_BOARD_TBS_8910                77
#define CX88_BOARD_PROF_6200               78
#define CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII 79

enum cx88_itype {
	CX88_VMUX_COMPOSITE1 = 1,