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: Ján Čáni <pego149@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
e73f0f0ee7
commit
387caebee0
|
@ -541,7 +541,9 @@ static int dvbsky_mygica_t230c_attach(struct dvb_usb_adapter *adap)
|
||||||
si2168_config.i2c_adapter = &i2c_adapter;
|
si2168_config.i2c_adapter = &i2c_adapter;
|
||||||
si2168_config.fe = &adap->fe[0];
|
si2168_config.fe = &adap->fe[0];
|
||||||
si2168_config.ts_mode = SI2168_TS_PARALLEL;
|
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_mode |= SI2168_TS_CLK_MANUAL;
|
||||||
si2168_config.ts_clock_inv = 1;
|
si2168_config.ts_clock_inv = 1;
|
||||||
|
|
||||||
|
@ -577,15 +579,24 @@ static int dvbsky_mygica_t230c_attach(struct dvb_usb_adapter *adap)
|
||||||
|
|
||||||
static int dvbsky_identify_state(struct dvb_usb_device *d, const char **name)
|
static int dvbsky_identify_state(struct dvb_usb_device *d, const char **name)
|
||||||
{
|
{
|
||||||
dvbsky_gpio_ctrl(d, 0x04, 1);
|
if (le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230A) {
|
||||||
msleep(20);
|
dvbsky_gpio_ctrl(d, 0x87, 0);
|
||||||
dvbsky_gpio_ctrl(d, 0x83, 0);
|
msleep(20);
|
||||||
dvbsky_gpio_ctrl(d, 0xc0, 1);
|
dvbsky_gpio_ctrl(d, 0x86, 1);
|
||||||
msleep(100);
|
dvbsky_gpio_ctrl(d, 0x80, 0);
|
||||||
dvbsky_gpio_ctrl(d, 0x83, 1);
|
msleep(100);
|
||||||
dvbsky_gpio_ctrl(d, 0xc0, 0);
|
dvbsky_gpio_ctrl(d, 0x80, 1);
|
||||||
msleep(50);
|
msleep(50);
|
||||||
|
} else {
|
||||||
|
dvbsky_gpio_ctrl(d, 0x04, 1);
|
||||||
|
msleep(20);
|
||||||
|
dvbsky_gpio_ctrl(d, 0x83, 0);
|
||||||
|
dvbsky_gpio_ctrl(d, 0xc0, 1);
|
||||||
|
msleep(100);
|
||||||
|
dvbsky_gpio_ctrl(d, 0x83, 1);
|
||||||
|
dvbsky_gpio_ctrl(d, 0xc0, 0);
|
||||||
|
msleep(50);
|
||||||
|
}
|
||||||
return WARM;
|
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,
|
{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C2,
|
||||||
&mygica_t230c_props, "MyGica Mini DVB-(T/T2/C) USB Stick T230C v2",
|
&mygica_t230c_props, "MyGica Mini DVB-(T/T2/C) USB Stick T230C v2",
|
||||||
RC_MAP_TOTAL_MEDIA_IN_HAND_02) },
|
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);
|
MODULE_DEVICE_TABLE(usb, dvbsky_id_table);
|
||||||
|
|
|
@ -394,6 +394,8 @@
|
||||||
#define USB_PID_MYGICA_T230C 0xc689
|
#define USB_PID_MYGICA_T230C 0xc689
|
||||||
#define USB_PID_MYGICA_T230C2 0xc68a
|
#define USB_PID_MYGICA_T230C2 0xc68a
|
||||||
#define USB_PID_MYGICA_T230C_LITE 0xc699
|
#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_DIVERSITY 0x0011
|
||||||
#define USB_PID_ELGATO_EYETV_DTT 0x0021
|
#define USB_PID_ELGATO_EYETV_DTT 0x0021
|
||||||
#define USB_PID_ELGATO_EYETV_DTT_2 0x003f
|
#define USB_PID_ELGATO_EYETV_DTT_2 0x003f
|
||||||
|
|
Loading…
Reference in New Issue