diff options
author | Alexander Tuschen <atuschen@web.de> | 2006-07-16 14:03:17 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 08:03:06 -0400 |
commit | 19e22576d29cadaba88f08fb958f4fcf0de9b16c (patch) | |
tree | 1ecadf1ead2323fae3462cdc1b2ec18b1ca46a87 /drivers | |
parent | 7e4720201ad44ace85a443f41d668a62a737e7d0 (diff) |
V4L/DVB (4442): [PATCH] Freecom DVB-T stick with ID 14aa:0225
Ok, here is the working patch for the Freecom DVB-T stick with USB-ID
14aa:0225.
It uses the Firmware-file, wich Erich Focht created and wich can be obtainded
from http://home.arcor.de/efocht/dvb-usb-wt220u-fc03.fw
Also the original patch is from Erich. It adds the proper USB-IDs and I only
had to change the endpoint of the MPEG-2 data-transfer to 0x86.
Signed-off-by: Alexander Tuschen <atuschen@web.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dtt200u.c | 45 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 2 |
2 files changed, 47 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/dtt200u.c b/drivers/media/dvb/dvb-usb/dtt200u.c index 70afcfd141ca..8134786f65b2 100644 --- a/drivers/media/dvb/dvb-usb/dtt200u.c +++ b/drivers/media/dvb/dvb-usb/dtt200u.c | |||
@@ -93,6 +93,7 @@ static int dtt200u_frontend_attach(struct dvb_usb_device *d) | |||
93 | } | 93 | } |
94 | 94 | ||
95 | static struct dvb_usb_properties dtt200u_properties; | 95 | static struct dvb_usb_properties dtt200u_properties; |
96 | static struct dvb_usb_properties wt220u_fc_properties; | ||
96 | static struct dvb_usb_properties wt220u_properties; | 97 | static struct dvb_usb_properties wt220u_properties; |
97 | static struct dvb_usb_properties wt220u_zl0353_properties; | 98 | static struct dvb_usb_properties wt220u_zl0353_properties; |
98 | 99 | ||
@@ -101,6 +102,7 @@ static int dtt200u_usb_probe(struct usb_interface *intf, | |||
101 | { | 102 | { |
102 | if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || | 103 | if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 || |
103 | dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || | 104 | dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0 || |
105 | dvb_usb_device_init(intf,&wt220u_fc_properties,THIS_MODULE,NULL) == 0 || | ||
104 | dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) | 106 | dvb_usb_device_init(intf,&wt220u_zl0353_properties,THIS_MODULE,NULL) == 0) |
105 | return 0; | 107 | return 0; |
106 | 108 | ||
@@ -114,6 +116,8 @@ static struct usb_device_id dtt200u_usb_table [] = { | |||
114 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) }, | 116 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_WARM) }, |
115 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) }, | 117 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_COLD) }, |
116 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) }, | 118 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_ZL0353_WARM) }, |
119 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_COLD) }, | ||
120 | { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_WT220U_FC_WARM) }, | ||
117 | { 0 }, | 121 | { 0 }, |
118 | }; | 122 | }; |
119 | MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); | 123 | MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); |
@@ -200,6 +204,47 @@ static struct dvb_usb_properties wt220u_properties = { | |||
200 | } | 204 | } |
201 | }; | 205 | }; |
202 | 206 | ||
207 | static struct dvb_usb_properties wt220u_fc_properties = { | ||
208 | .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, | ||
209 | .pid_filter_count = 15, | ||
210 | |||
211 | .usb_ctrl = CYPRESS_FX2, | ||
212 | .firmware = "dvb-usb-wt220u-fc03.fw", | ||
213 | |||
214 | .power_ctrl = dtt200u_power_ctrl, | ||
215 | .streaming_ctrl = dtt200u_streaming_ctrl, | ||
216 | .pid_filter = dtt200u_pid_filter, | ||
217 | .frontend_attach = dtt200u_frontend_attach, | ||
218 | |||
219 | .rc_interval = 300, | ||
220 | .rc_key_map = dtt200u_rc_keys, | ||
221 | .rc_key_map_size = ARRAY_SIZE(dtt200u_rc_keys), | ||
222 | .rc_query = dtt200u_rc_query, | ||
223 | |||
224 | .generic_bulk_ctrl_endpoint = 0x01, | ||
225 | |||
226 | /* parameter for the MPEG2-data transfer */ | ||
227 | .urb = { | ||
228 | .type = DVB_USB_BULK, | ||
229 | .count = 7, | ||
230 | .endpoint = 0x86, | ||
231 | .u = { | ||
232 | .bulk = { | ||
233 | .buffersize = 4096, | ||
234 | } | ||
235 | } | ||
236 | }, | ||
237 | |||
238 | .num_device_descs = 1, | ||
239 | .devices = { | ||
240 | { .name = "WideView WT-220U PenType Receiver (Typhoon/Freecom)", | ||
241 | .cold_ids = { &dtt200u_usb_table[6], NULL }, | ||
242 | .warm_ids = { &dtt200u_usb_table[7], NULL }, | ||
243 | }, | ||
244 | { NULL }, | ||
245 | } | ||
246 | }; | ||
247 | |||
203 | static struct dvb_usb_properties wt220u_zl0353_properties = { | 248 | static struct dvb_usb_properties wt220u_zl0353_properties = { |
204 | .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, | 249 | .caps = DVB_USB_HAS_PID_FILTER | DVB_USB_NEED_PID_FILTERING, |
205 | .pid_filter_count = 15, | 250 | .pid_filter_count = 15, |
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h index 95698918bc11..f10f49ad9b20 100644 --- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h +++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | |||
@@ -84,6 +84,8 @@ | |||
84 | #define USB_PID_DTT200U_WARM 0x0301 | 84 | #define USB_PID_DTT200U_WARM 0x0301 |
85 | #define USB_PID_WT220U_COLD 0x0222 | 85 | #define USB_PID_WT220U_COLD 0x0222 |
86 | #define USB_PID_WT220U_WARM 0x0221 | 86 | #define USB_PID_WT220U_WARM 0x0221 |
87 | #define USB_PID_WT220U_FC_COLD 0x0225 | ||
88 | #define USB_PID_WT220U_FC_WARM 0x0226 | ||
87 | #define USB_PID_WT220U_ZL0353_COLD 0x022a | 89 | #define USB_PID_WT220U_ZL0353_COLD 0x022a |
88 | #define USB_PID_WT220U_ZL0353_WARM 0x022b | 90 | #define USB_PID_WT220U_ZL0353_WARM 0x022b |
89 | #define USB_PID_WINTV_NOVA_T_USB2_COLD 0x9300 | 91 | #define USB_PID_WINTV_NOVA_T_USB2_COLD 0x9300 |