V4L/DVB (3655): Support for a new revision of the WT220U-stick
There seems to be a new version of the USB DVB-T stick from WideView with a new demod-revision inside and thus a new firwmare. This patch enables support for that. Thanks to Mikel Martin for early testing. Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
f896260566
commit
d46e645195
|
@ -94,12 +94,14 @@ static int dtt200u_frontend_attach(struct dvb_usb_device *d)
|
||||||
|
|
||||||
static struct dvb_usb_properties dtt200u_properties;
|
static struct dvb_usb_properties dtt200u_properties;
|
||||||
static struct dvb_usb_properties wt220u_properties;
|
static struct dvb_usb_properties wt220u_properties;
|
||||||
|
static struct dvb_usb_properties wt220u_zl0353_properties;
|
||||||
|
|
||||||
static int dtt200u_usb_probe(struct usb_interface *intf,
|
static int dtt200u_usb_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
const struct usb_device_id *id)
|
||||||
{
|
{
|
||||||
if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 ||
|
if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 ||
|
||||||
dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0)
|
dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 ||
|
||||||
|
dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
@ -110,6 +112,8 @@ static struct usb_device_id dtt200u_usb_table [] = {
|
||||||
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_DTT200U_WARM) },
|
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_DTT200U_WARM) },
|
||||||
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_COLD) },
|
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_COLD) },
|
||||||
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) },
|
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) },
|
||||||
|
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) },
|
||||||
|
{ USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) },
|
||||||
{ 0 },
|
{ 0 },
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(usb, dtt200u_usb_table);
|
MODULE_DEVICE_TABLE(usb, dtt200u_usb_table);
|
||||||
|
@ -196,6 +200,47 @@ static struct dvb_usb_properties wt220u_properties = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct dvb_usb_properties wt220u_zl0353_properties = {
|
||||||
|
.caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING,
|
||||||
|
.pid_filter_count = 15,
|
||||||
|
|
||||||
|
.usb_ctrl = CYPRESS_FX2,
|
||||||
|
.firmware = "dvb-usb-wt220u-zl0353-01.fw",
|
||||||
|
|
||||||
|
.power_ctrl = dtt200u_power_ctrl,
|
||||||
|
.streaming_ctrl = dtt200u_streaming_ctrl,
|
||||||
|
.pid_filter = dtt200u_pid_filter,
|
||||||
|
.frontend_attach = dtt200u_frontend_attach,
|
||||||
|
|
||||||
|
.rc_interval = 300,
|
||||||
|
.rc_key_map = dtt200u_rc_keys,
|
||||||
|
.rc_key_map_size = ARRAY_SIZE(dtt200u_rc_keys),
|
||||||
|
.rc_query = dtt200u_rc_query,
|
||||||
|
|
||||||
|
.generic_bulk_ctrl_endpoint = 0x01,
|
||||||
|
|
||||||
|
/* parameter for the MPEG2-data transfer */
|
||||||
|
.urb = {
|
||||||
|
.type = DVB_USB_BULK,
|
||||||
|
.count = 7,
|
||||||
|
.endpoint = 0x02,
|
||||||
|
.u = {
|
||||||
|
.bulk = {
|
||||||
|
.buffersize = 4096,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
.num_device_descs = 1,
|
||||||
|
.devices = {
|
||||||
|
{ .name = "WideView WT-220U PenType Receiver (based on ZL353)",
|
||||||
|
.cold_ids = { &dtt200u_usb_table[4], NULL },
|
||||||
|
.warm_ids = { &dtt200u_usb_table[5], NULL },
|
||||||
|
},
|
||||||
|
{ NULL },
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/* usb specific object needed to register this driver with the usb subsystem */
|
/* usb specific object needed to register this driver with the usb subsystem */
|
||||||
static struct usb_driver dtt200u_usb_driver = {
|
static struct usb_driver dtt200u_usb_driver = {
|
||||||
.name = "dvb_usb_dtt200u",
|
.name = "dvb_usb_dtt200u",
|
||||||
|
|
|
@ -83,6 +83,8 @@
|
||||||
#define USB_PID_DTT200U_WARM 0x0301
|
#define USB_PID_DTT200U_WARM 0x0301
|
||||||
#define USB_PID_WT220U_COLD 0x0222
|
#define USB_PID_WT220U_COLD 0x0222
|
||||||
#define USB_PID_WT220U_WARM 0x0221
|
#define USB_PID_WT220U_WARM 0x0221
|
||||||
|
#define USB_PID_WT220U_ZL0353_COLD 0x022a
|
||||||
|
#define USB_PID_WT220U_ZL0353_WARM 0x022b
|
||||||
#define USB_PID_WINTV_NOVA_T_USB2_COLD 0x9300
|
#define USB_PID_WINTV_NOVA_T_USB2_COLD 0x9300
|
||||||
#define USB_PID_WINTV_NOVA_T_USB2_WARM 0x9301
|
#define USB_PID_WINTV_NOVA_T_USB2_WARM 0x9301
|
||||||
#define USB_PID_NEBULA_DIGITV 0x0201
|
#define USB_PID_NEBULA_DIGITV 0x0201
|
||||||
|
|
Loading…
Reference in New Issue