Commit 387caebe authored by Ján Čáni's avatar Ján Čáni Committed by Mauro Carvalho Chehab
Browse files

media: dvbsky: add support for MyGica T230C2_LITE and T230A

Add Geniatech MyGica T230C2_LITE and T230A as many people
are asking support for these devices on forums.

Link: https://lore.kernel.org/linux-media/YMuptIYFLdwSmw//@kali



Signed-off-by: default avatarJán Čáni <pego149@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent e73f0f0e
Loading
Loading
Loading
Loading
+27 −10
Original line number Diff line number Diff line
@@ -541,7 +541,9 @@ static int dvbsky_mygica_t230c_attach(struct dvb_usb_adapter *adap)
	si2168_config.i2c_adapter = &i2c_adapter;
	si2168_config.fe = &adap->fe[0];
	si2168_config.ts_mode = SI2168_TS_PARALLEL;
	if (le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230C2)
	if (le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230C2 ||
	    le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230C2_LITE ||
	    le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230A)
		si2168_config.ts_mode |= SI2168_TS_CLK_MANUAL;
	si2168_config.ts_clock_inv = 1;

@@ -577,6 +579,15 @@ static int dvbsky_mygica_t230c_attach(struct dvb_usb_adapter *adap)

static int dvbsky_identify_state(struct dvb_usb_device *d, const char **name)
{
	if (le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230A) {
		dvbsky_gpio_ctrl(d, 0x87, 0);
		msleep(20);
		dvbsky_gpio_ctrl(d, 0x86, 1);
		dvbsky_gpio_ctrl(d, 0x80, 0);
		msleep(100);
		dvbsky_gpio_ctrl(d, 0x80, 1);
		msleep(50);
	} else {
		dvbsky_gpio_ctrl(d, 0x04, 1);
		msleep(20);
		dvbsky_gpio_ctrl(d, 0x83, 0);
@@ -585,7 +596,7 @@ static int dvbsky_identify_state(struct dvb_usb_device *d, const char **name)
		dvbsky_gpio_ctrl(d, 0x83, 1);
		dvbsky_gpio_ctrl(d, 0xc0, 0);
		msleep(50);

	}
	return WARM;
}

@@ -789,6 +800,12 @@ static const struct usb_device_id dvbsky_id_table[] = {
	{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C2,
		&mygica_t230c_props, "MyGica Mini DVB-(T/T2/C) USB Stick T230C v2",
		RC_MAP_TOTAL_MEDIA_IN_HAND_02) },
	{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C2_LITE,
		 &mygica_t230c_props, "MyGica Mini DVB-(T/T2/C) USB Stick T230C v2  Lite",
		 NULL) },
	{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230A,
		 &mygica_t230c_props, "MyGica Mini DVB-(T/T2/C) USB Stick T230A",
		 NULL) },
	{ }
};
MODULE_DEVICE_TABLE(usb, dvbsky_id_table);
+2 −0
Original line number Diff line number Diff line
@@ -394,6 +394,8 @@
#define USB_PID_MYGICA_T230C				0xc689
#define USB_PID_MYGICA_T230C2				0xc68a
#define USB_PID_MYGICA_T230C_LITE			0xc699
#define USB_PID_MYGICA_T230C2_LITE			0xc69a
#define USB_PID_MYGICA_T230A				0x689a
#define USB_PID_ELGATO_EYETV_DIVERSITY			0x0011
#define USB_PID_ELGATO_EYETV_DTT			0x0021
#define USB_PID_ELGATO_EYETV_DTT_2			0x003f