diff options
author | Rasmus Rohde <rohde@duff.dk> | 2007-07-21 14:37:35 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:02:59 -0400 |
commit | d3c35acf2455fe354bdd00085511bef6bd6d52f1 (patch) | |
tree | bb8c5d7317a5f0e4533f2d819b220bd5b719082a /drivers/media | |
parent | 60e3cac47a442fae74d3429f706350229623bcce (diff) |
V4L/DVB (5897): dtt200u: add support for the Miglia TVMini USB DVB-T adapter
add code for autodetection and firmware download to the Miglia TVMini USB
DVB-T adapter. After firmware download, the device re-registers using
the WT220U_ZL0353_WARM usb id.
Signed-off-by: Rasmus Rohde <rohde@duff.dk>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dtt200u.c | 28 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 1 |
2 files changed, 26 insertions, 3 deletions
diff --git a/drivers/media/dvb/dvb-usb/dtt200u.c b/drivers/media/dvb/dvb-usb/dtt200u.c index 7dbe14321019..d86cf9bee91c 100644 --- a/drivers/media/dvb/dvb-usb/dtt200u.c +++ b/drivers/media/dvb/dvb-usb/dtt200u.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* DVB USB library compliant Linux driver for the WideView/ Yakumo/ Hama/ | 1 | /* DVB USB library compliant Linux driver for the WideView/ Yakumo/ Hama/ |
2 | * Typhoon/ Yuan DVB-T USB2.0 receiver. | 2 | * Typhoon/ Yuan/ Miglia DVB-T USB2.0 receiver. |
3 | * | 3 | * |
4 | * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@desy.de) | 4 | * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@desy.de) |
5 | * | 5 | * |
@@ -96,6 +96,7 @@ static struct dvb_usb_device_properties dtt200u_properties; | |||
96 | static struct dvb_usb_device_properties wt220u_fc_properties; | 96 | static struct dvb_usb_device_properties wt220u_fc_properties; |
97 | static struct dvb_usb_device_properties wt220u_properties; | 97 | static struct dvb_usb_device_properties wt220u_properties; |
98 | static struct dvb_usb_device_properties wt220u_zl0353_properties; | 98 | static struct dvb_usb_device_properties wt220u_zl0353_properties; |
99 | static struct dvb_usb_device_properties wt220u_miglia_properties; | ||
99 | 100 | ||
100 | static int dtt200u_usb_probe(struct usb_interface *intf, | 101 | static int dtt200u_usb_probe(struct usb_interface *intf, |
101 | const struct usb_device_id *id) | 102 | const struct usb_device_id *id) |
@@ -103,7 +104,8 @@ static int dtt200u_usb_probe(struct usb_interface *intf, | |||
103 | if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || | 104 | if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || |
104 | dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || | 105 | dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || |
105 | dvb_usb_device_init(intf,&wt220u_fc_properties,THIS_MODULE,NULL) == 0 || | 106 | dvb_usb_device_init(intf,&wt220u_fc_properties,THIS_MODULE,NULL) == 0 || |
106 | dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) | 107 | dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0 || |
108 | dvb_usb_device_init(intf,&wt220u_miglia_properties,THIS_MODULE,NULL) == 0) | ||
107 | return 0; | 109 | return 0; |
108 | 110 | ||
109 | return -ENODEV; | 111 | return -ENODEV; |
@@ -119,6 +121,7 @@ static struct usb_device_id dtt200u_usb_table [] = { | |||
119 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_COLD) }, | 121 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_COLD) }, |
120 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_WARM) }, | 122 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_WARM) }, |
121 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZAP250_COLD) }, | 123 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZAP250_COLD) }, |
124 | { USB_DEVICE(USB_VID_MIGLIA, USB_PID_WT220U_ZAP250_COLD) }, | ||
122 | { 0 }, | 125 | { 0 }, |
123 | }; | 126 | }; |
124 | MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); | 127 | MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); |
@@ -303,6 +306,25 @@ static struct dvb_usb_device_properties wt220u_zl0353_properties = { | |||
303 | } | 306 | } |
304 | }; | 307 | }; |
305 | 308 | ||
309 | static struct dvb_usb_device_properties wt220u_miglia_properties = { | ||
310 | .usb_ctrl = CYPRESS_FX2, | ||
311 | .firmware = "dvb-usb-wt220u-miglia-01.fw", | ||
312 | |||
313 | .num_adapters = 1, | ||
314 | .generic_bulk_ctrl_endpoint = 0x01, | ||
315 | |||
316 | .num_device_descs = 1, | ||
317 | .devices = { | ||
318 | { .name = "WideView WT-220U PenType Receiver (Miglia)", | ||
319 | .cold_ids = { &dtt200u_usb_table[9], NULL }, | ||
320 | /* This device turns into WT220U_ZL0353_WARM when fw | ||
321 | has been uploaded */ | ||
322 | .warm_ids = { NULL }, | ||
323 | }, | ||
324 | { NULL }, | ||
325 | } | ||
326 | }; | ||
327 | |||
306 | /* usb specific object needed to register this driver with the usb subsystem */ | 328 | /* usb specific object needed to register this driver with the usb subsystem */ |
307 | static struct usb_driver dtt200u_usb_driver = { | 329 | static struct usb_driver dtt200u_usb_driver = { |
308 | .name = "dvb_usb_dtt200u", | 330 | .name = "dvb_usb_dtt200u", |
@@ -333,6 +355,6 @@ module_init(dtt200u_usb_module_init); | |||
333 | module_exit(dtt200u_usb_module_exit); | 355 | module_exit(dtt200u_usb_module_exit); |
334 | 356 | ||
335 | MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@desy.de>"); | 357 | MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@desy.de>"); |
336 | MODULE_DESCRIPTION("Driver for the WideView/Yakumo/Hama/Typhoon/Club3D DVB-T USB2.0 devices"); | 358 | MODULE_DESCRIPTION("Driver for the WideView/Yakumo/Hama/Typhoon/Club3D/Miglia DVB-T USB2.0 devices"); |
337 | MODULE_VERSION("1.0"); | 359 | MODULE_VERSION("1.0"); |
338 | MODULE_LICENSE("GPL"); | 360 | MODULE_LICENSE("GPL"); |
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h index 4dfab02a8a0d..78ea3b566ffc 100644 --- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h +++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | |||
@@ -34,6 +34,7 @@ | |||
34 | #define USB_VID_LEADTEK 0x0413 | 34 | #define USB_VID_LEADTEK 0x0413 |
35 | #define USB_VID_LITEON 0x04ca | 35 | #define USB_VID_LITEON 0x04ca |
36 | #define USB_VID_MEDION 0x1660 | 36 | #define USB_VID_MEDION 0x1660 |
37 | #define USB_VID_MIGLIA 0x18f3 | ||
37 | #define USB_VID_MSI 0x0db0 | 38 | #define USB_VID_MSI 0x0db0 |
38 | #define USB_VID_OPERA1 0x695c | 39 | #define USB_VID_OPERA1 0x695c |
39 | #define USB_VID_PINNACLE 0x2304 | 40 | #define USB_VID_PINNACLE 0x2304 |