aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@brturbo.com.br>2005-11-09 00:37:24 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 10:56:17 -0500
commit596d92d5128d308b5a79f21c3e72c87f5fc7e58b (patch)
tree3957529296b0765e7979f205a9dd0bce7de1eb7a /drivers/media/video/em28xx/em28xx-cards.c
parent2b5200a7b19a53969db68c97d379339592ca6a4f (diff)
[PATCH] v4l: 767: included support for em2800
- Included support for em2800. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c125
1 files changed, 113 insertions, 12 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 7333bbad8871..91c70ebd0ea4 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -1,5 +1,5 @@
1/* 1/*
2 em2820-cards.c - driver for Empia EM2820/2840 USB video capture devices 2 em2820-cards.c - driver for Empia EM2800/EM2820/2840 USB video capture devices
3 3
4 Copyright (C) 2005 Markus Rechberger <mrechberger@gmail.com> 4 Copyright (C) 2005 Markus Rechberger <mrechberger@gmail.com>
5 Ludovico Cavedon <cavedon@sssup.it> 5 Ludovico Cavedon <cavedon@sssup.it>
@@ -35,14 +35,43 @@
35 35
36#include "em2820.h" 36#include "em2820.h"
37 37
38enum em2820_board_entry {
39 EM2820_BOARD_TERRATEC_CINERGY_250,
40 EM2820_BOARD_PINNACLE_USB_2,
41 EM2820_BOARD_HAUPPAUGE_WINTV_USB_2,
42 EM2820_BOARD_MSI_VOX_USB_2
43};
44
45struct em2820_board em2820_boards[] = { 38struct em2820_board em2820_boards[] = {
39 [EM2800_BOARD_UNKNOWN] = {
40 .name = "Unknown EM2800 video grabber",
41 .is_em2800 = 1,
42 .vchannels = 2,
43 .norm = VIDEO_MODE_PAL,
44 .tda9887_conf = TDA9887_PRESENT,
45 .has_tuner = 1,
46 .decoder = EM2820_SAA7113,
47 .input = {{
48 .type = EM2820_VMUX_COMPOSITE1,
49 .vmux = 0,
50 .amux = 1,
51 },{
52 .type = EM2820_VMUX_SVIDEO,
53 .vmux = 9,
54 .amux = 1,
55 }},
56 },
57 [EM2820_BOARD_UNKNOWN] = {
58 .name = "Unknown EM2820/2840 video grabber",
59 .is_em2800 = 0,
60 .vchannels = 2,
61 .norm = VIDEO_MODE_PAL,
62 .tda9887_conf = TDA9887_PRESENT,
63 .has_tuner = 1,
64 .decoder = EM2820_SAA7113,
65 .input = {{
66 .type = EM2820_VMUX_COMPOSITE1,
67 .vmux = 0,
68 .amux = 1,
69 },{
70 .type = EM2820_VMUX_SVIDEO,
71 .vmux = 9,
72 .amux = 1,
73 }},
74 },
46 [EM2820_BOARD_TERRATEC_CINERGY_250] = { 75 [EM2820_BOARD_TERRATEC_CINERGY_250] = {
47 .name = "Terratec Cinergy 250 USB", 76 .name = "Terratec Cinergy 250 USB",
48 .vchannels = 3, 77 .vchannels = 3,
@@ -129,17 +158,88 @@ struct em2820_board em2820_boards[] = {
129 .amux = 1, 158 .amux = 1,
130 }}, 159 }},
131 }, 160 },
132 { } /* Terminating entry */ 161 [EM2800_BOARD_TERRATEC_CINERGY_200] = {
162 .name = "Terratec Cinergy 200 USB",
163 .chip_id = 0x4,
164 .is_em2800 = 1,
165 .vchannels = 3,
166 .norm = VIDEO_MODE_PAL,
167 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
168 .tda9887_conf = TDA9887_PRESENT,
169 .has_tuner = 1,
170 .decoder = EM2820_SAA7113,
171 .input = {{
172 .type = EM2820_VMUX_TELEVISION,
173 .vmux = 2,
174 .amux = 0,
175 },{
176 .type = EM2820_VMUX_COMPOSITE1,
177 .vmux = 0,
178 .amux = 1,
179 },{
180 .type = EM2820_VMUX_SVIDEO,
181 .vmux = 9,
182 .amux = 1,
183 }},
184 },
185 [EM2800_BOARD_LEADTEK_WINFAST_USBII] = {
186 .name = "Leadtek Winfast USB II",
187 .chip_id = 0x2,
188 .is_em2800 = 1,
189 .vchannels = 3,
190 .norm = VIDEO_MODE_PAL,
191 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
192 .tda9887_conf = TDA9887_PRESENT,
193 .has_tuner = 1,
194 .decoder = EM2820_SAA7113,
195 .input = {{
196 .type = EM2820_VMUX_TELEVISION,
197 .vmux = 2,
198 .amux = 0,
199 },{
200 .type = EM2820_VMUX_COMPOSITE1,
201 .vmux = 0,
202 .amux = 1,
203 },{
204 .type = EM2820_VMUX_SVIDEO,
205 .vmux = 9,
206 .amux = 1,
207 }},
208 },
209 [EM2800_BOARD_KWORLD_USB2800] = {
210 .name = "Kworld USB2800",
211 .chip_id = 0x7,
212 .is_em2800 = 1,
213 .vchannels = 3,
214 .norm = VIDEO_MODE_PAL,
215 .tuner_type = TUNER_PHILIPS_ATSC,
216 .tda9887_conf = TDA9887_PRESENT,
217 .has_tuner = 1,
218 .decoder = EM2820_SAA7113,
219 .input = {{
220 .type = EM2820_VMUX_TELEVISION,
221 .vmux = 2,
222 .amux = 0,
223 },{
224 .type = EM2820_VMUX_COMPOSITE1,
225 .vmux = 0,
226 .amux = 1,
227 },{
228 .type = EM2820_VMUX_SVIDEO,
229 .vmux = 9,
230 .amux = 1,
231 }},
232 },
133}; 233};
234const unsigned int em2820_bcount = ARRAY_SIZE(em2820_boards);
134 235
135/* table of devices that work with this driver */ 236/* table of devices that work with this driver */
136struct usb_device_id em2820_id_table [] = { 237struct usb_device_id em2820_id_table [] = {
137 /* Terratec Cinerhy 200 USB: em2800 nor supported, at the moment */ 238 { USB_DEVICE(0xeb1a, 0x2800), .driver_info = EM2800_BOARD_UNKNOWN },
138 /* { USB_DEVICE(0xeb1a, 0x2800), .driver_info = EM2800_BOARD_TERRATEC_CINERGY_200 }, */ 239 { USB_DEVICE(0xeb1a, 0x2820), .driver_info = EM2820_BOARD_UNKNOWN },
139 { USB_DEVICE(0x0ccd, 0x0036), .driver_info = EM2820_BOARD_TERRATEC_CINERGY_250 }, 240 { USB_DEVICE(0x0ccd, 0x0036), .driver_info = EM2820_BOARD_TERRATEC_CINERGY_250 },
140 { USB_DEVICE(0x2304, 0x0208), .driver_info = EM2820_BOARD_PINNACLE_USB_2 }, 241 { USB_DEVICE(0x2304, 0x0208), .driver_info = EM2820_BOARD_PINNACLE_USB_2 },
141 { USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 }, 242 { USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 },
142 { USB_DEVICE(0xeb1a, 0x2820), .driver_info = EM2820_BOARD_MSI_VOX_USB_2 },
143 { }, 243 { },
144}; 244};
145 245
@@ -163,6 +263,7 @@ void em2820_card_setup(struct em2820 *dev)
163} 263}
164 264
165EXPORT_SYMBOL(em2820_boards); 265EXPORT_SYMBOL(em2820_boards);
266EXPORT_SYMBOL(em2820_bcount);
166EXPORT_SYMBOL(em2820_id_table); 267EXPORT_SYMBOL(em2820_id_table);
167 268
168MODULE_DEVICE_TABLE (usb, em2820_id_table); 269MODULE_DEVICE_TABLE (usb, em2820_id_table);