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

Commit ee73042c authored by Oleg Roitburd's avatar Oleg Roitburd Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (9020): Added support for TBS 8920 DVB-S/S2 card



Added support for TBS 8920 DVB-S/S2 card. The card
based on cx24116 demodulator.

Signed-off-by: default avatarOleg Roitburd <oroitburd@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 4cd7fb87
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -1733,6 +1733,18 @@ static const struct cx88_board cx88_boards[] = {
		} },
		.mpeg           = CX88_MPEG_DVB,
	},
	[CX88_BOARD_TBS_8920] = {
		.name           = "TBS 8920 DVB-S/S2",
		.tuner_type     = TUNER_ABSENT,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.input          = {{
			.type   = CX88_VMUX_DVB,
			.vmux   = 1,
		} },
		.mpeg           = CX88_MPEG_DVB,
	},
};

/* ------------------------------------------------------------------ */
@@ -2110,6 +2122,10 @@ static const struct cx88_subid cx88_subids[] = {
		.subvendor = 0xA044,
		.subdevice = 0x2011,
		.card      = CX88_BOARD_OMICOM_SS4_PCI,
	}, {
		.subvendor = 0x8920,
		.subdevice = 0x8888,
		.card      = CX88_BOARD_TBS_8920,
	},
};

@@ -2695,6 +2711,12 @@ static void cx88_card_setup(struct cx88_core *core)
		cx_write(MO_SRST_IO, 1);
		msleep(100);
		break;
	case  CX88_BOARD_TBS_8920:
		cx_write(MO_SRST_IO, 0);
		msleep(100);
		cx_write(MO_SRST_IO, 1);
		msleep(100);
		break;
	} /*end switch() */


+9 −0
Original line number Diff line number Diff line
@@ -967,6 +967,15 @@ static int dvb_register(struct cx8802_dev *dev)
			dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage;
		}
		break;
	case CX88_BOARD_TBS_8920:
		dev->dvb.frontend = dvb_attach(cx24116_attach,
					       &hauppauge_hvr4000_config,
					       &core->i2c_adap);
		if (dev->dvb.frontend != NULL) {
			core->prev_set_voltage = dev->dvb.frontend->ops.set_voltage;
			dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage;
		}
		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
@@ -225,6 +225,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_HAUPPAUGE_HVR4000LITE   69
#define CX88_BOARD_TEVII_S460              70
#define CX88_BOARD_OMICOM_SS4_PCI          71
#define CX88_BOARD_TBS_8920                72

enum cx88_itype {
	CX88_VMUX_COMPOSITE1 = 1,