aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Tuschen <atuschen@web.de>2006-07-16 14:03:17 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-09-26 08:03:06 -0400
commit19e22576d29cadaba88f08fb958f4fcf0de9b16c (patch)
tree1ecadf1ead2323fae3462cdc1b2ec18b1ca46a87 /drivers
parent7e4720201ad44ace85a443f41d668a62a737e7d0 (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.c45
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-ids.h2
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
95static struct dvb_usb_properties dtt200u_properties; 95static struct dvb_usb_properties dtt200u_properties;
96static struct dvb_usb_properties wt220u_fc_properties;
96static struct dvb_usb_properties wt220u_properties; 97static struct dvb_usb_properties wt220u_properties;
97static struct dvb_usb_properties wt220u_zl0353_properties; 98static 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};
119MODULE_DEVICE_TABLE(usb, dtt200u_usb_table); 123MODULE_DEVICE_TABLE(usb, dtt200u_usb_table);
@@ -200,6 +204,47 @@ static struct dvb_usb_properties wt220u_properties = {
200 } 204 }
201}; 205};
202 206
207static 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
203static struct dvb_usb_properties wt220u_zl0353_properties = { 248static 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