Commit c0e0d313 authored by Tomasz Maciej Nowak's avatar Tomasz Maciej Nowak Committed by Mauro Carvalho Chehab
Browse files

media: dvb: add support for TerraTec TC2 Stick (193534)



Seems to be a clone of Logilink VG0022A. Supports DVB-C, DVB-T and
DVB-T2. Only terrestrial reception was tested on Polish and Czech
multiplexes.

Signed-off-by: default avatarTomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent a04930b7
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -1621,9 +1621,10 @@ static int it930x_tuner_attach(struct dvb_usb_adapter *adap)
	si2157_config.fe = adap->fe[0];

	/*
	 * HACK: The Logilink VG0022A has a bug: when the si2157
	 * firmware that came with the device is replaced by a new
	 * one, the I2C transfers to the tuner will return just 0xff.
	 * HACK: The Logilink VG0022A and TerraTec TC2 Stick have
	 * a bug: when the si2157 firmware that came with the device
	 * is replaced by a new one, the I2C transfers to the tuner
	 * will return just 0xff.
	 *
	 * Probably, the vendor firmware has some patch specifically
	 * designed for this device. So, we can't replace by the
@@ -1633,8 +1634,10 @@ static int it930x_tuner_attach(struct dvb_usb_adapter *adap)
	 * while we don't have that, the next best solution is to just
	 * keep the original firmware at the device.
	 */
	if (le16_to_cpu(d->udev->descriptor.idVendor) == USB_VID_DEXATEK &&
	    le16_to_cpu(d->udev->descriptor.idProduct) == 0x0100)
	if ((le16_to_cpu(d->udev->descriptor.idVendor) == USB_VID_DEXATEK &&
	     le16_to_cpu(d->udev->descriptor.idProduct) == 0x0100) ||
	    (le16_to_cpu(d->udev->descriptor.idVendor) == USB_VID_TERRATEC &&
	     le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_TERRATEC_CINERGY_TC2_STICK))
		si2157_config.dont_load_firmware = true;

	si2157_config.if_port = it930x_addresses_table[state->it930x_addresses].tuner_if_port;
@@ -2150,6 +2153,8 @@ static const struct usb_device_id af9035_id_table[] = {
		&it930x_props, "AVerMedia TD310 DVB-T2", NULL) },
	{ DVB_USB_DEVICE(USB_VID_DEXATEK, 0x0100,
		&it930x_props, "Logilink VG0022A", NULL) },
	{ DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_TC2_STICK,
		&it930x_props, "TerraTec Cinergy TC2 Stick", NULL) },
	{ }
};
MODULE_DEVICE_TABLE(usb, af9035_id_table);
+1 −0
Original line number Diff line number Diff line
@@ -180,6 +180,7 @@
#define USB_PID_TERRATEC_CINERGY_T_STICK_RC		0x0097
#define USB_PID_TERRATEC_CINERGY_T_STICK_DUAL_RC	0x0099
#define USB_PID_TERRATEC_CINERGY_T_STICK_BLACK_REV1	0x00a9
#define USB_PID_TERRATEC_CINERGY_TC2_STICK		0x10b2
#define USB_PID_TWINHAN_VP7041_COLD			0x3201
#define USB_PID_TWINHAN_VP7041_WARM			0x3202
#define USB_PID_TWINHAN_VP7020_COLD			0x3203