aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/pci/cx88/cx88-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/pci/cx88/cx88-cards.c')
-rw-r--r--drivers/media/pci/cx88/cx88-cards.c632
1 files changed, 316 insertions, 316 deletions
diff --git a/drivers/media/pci/cx88/cx88-cards.c b/drivers/media/pci/cx88/cx88-cards.c
index e18a7ace08b1..851754bf1291 100644
--- a/drivers/media/pci/cx88/cx88-cards.c
+++ b/drivers/media/pci/cx88/cx88-cards.c
@@ -78,19 +78,19 @@ static const struct cx88_board cx88_boards[] = {
78 .radio_type = UNSET, 78 .radio_type = UNSET,
79 .tuner_addr = ADDR_UNSET, 79 .tuner_addr = ADDR_UNSET,
80 .radio_addr = ADDR_UNSET, 80 .radio_addr = ADDR_UNSET,
81 .input = {{ 81 .input = { {
82 .type = CX88_VMUX_COMPOSITE1, 82 .type = CX88_VMUX_COMPOSITE1,
83 .vmux = 0, 83 .vmux = 0,
84 },{ 84 }, {
85 .type = CX88_VMUX_COMPOSITE2, 85 .type = CX88_VMUX_COMPOSITE2,
86 .vmux = 1, 86 .vmux = 1,
87 },{ 87 }, {
88 .type = CX88_VMUX_COMPOSITE3, 88 .type = CX88_VMUX_COMPOSITE3,
89 .vmux = 2, 89 .vmux = 2,
90 },{ 90 }, {
91 .type = CX88_VMUX_COMPOSITE4, 91 .type = CX88_VMUX_COMPOSITE4,
92 .vmux = 3, 92 .vmux = 3,
93 }}, 93 } },
94 }, 94 },
95 [CX88_BOARD_HAUPPAUGE] = { 95 [CX88_BOARD_HAUPPAUGE] = {
96 .name = "Hauppauge WinTV 34xxx models", 96 .name = "Hauppauge WinTV 34xxx models",
@@ -99,23 +99,23 @@ static const struct cx88_board cx88_boards[] = {
99 .tuner_addr = ADDR_UNSET, 99 .tuner_addr = ADDR_UNSET,
100 .radio_addr = ADDR_UNSET, 100 .radio_addr = ADDR_UNSET,
101 .tda9887_conf = TDA9887_PRESENT, 101 .tda9887_conf = TDA9887_PRESENT,
102 .input = {{ 102 .input = { {
103 .type = CX88_VMUX_TELEVISION, 103 .type = CX88_VMUX_TELEVISION,
104 .vmux = 0, 104 .vmux = 0,
105 .gpio0 = 0xff00, // internal decoder 105 .gpio0 = 0xff00, // internal decoder
106 },{ 106 }, {
107 .type = CX88_VMUX_DEBUG, 107 .type = CX88_VMUX_DEBUG,
108 .vmux = 0, 108 .vmux = 0,
109 .gpio0 = 0xff01, // mono from tuner chip 109 .gpio0 = 0xff01, // mono from tuner chip
110 },{ 110 }, {
111 .type = CX88_VMUX_COMPOSITE1, 111 .type = CX88_VMUX_COMPOSITE1,
112 .vmux = 1, 112 .vmux = 1,
113 .gpio0 = 0xff02, 113 .gpio0 = 0xff02,
114 },{ 114 }, {
115 .type = CX88_VMUX_SVIDEO, 115 .type = CX88_VMUX_SVIDEO,
116 .vmux = 2, 116 .vmux = 2,
117 .gpio0 = 0xff02, 117 .gpio0 = 0xff02,
118 }}, 118 } },
119 .radio = { 119 .radio = {
120 .type = CX88_RADIO, 120 .type = CX88_RADIO,
121 .gpio0 = 0xff01, 121 .gpio0 = 0xff01,
@@ -127,13 +127,13 @@ static const struct cx88_board cx88_boards[] = {
127 .radio_type = UNSET, 127 .radio_type = UNSET,
128 .tuner_addr = ADDR_UNSET, 128 .tuner_addr = ADDR_UNSET,
129 .radio_addr = ADDR_UNSET, 129 .radio_addr = ADDR_UNSET,
130 .input = {{ 130 .input = { {
131 .type = CX88_VMUX_TELEVISION, 131 .type = CX88_VMUX_TELEVISION,
132 .vmux = 0, 132 .vmux = 0,
133 },{ 133 }, {
134 .type = CX88_VMUX_SVIDEO, 134 .type = CX88_VMUX_SVIDEO,
135 .vmux = 2, 135 .vmux = 2,
136 }}, 136 } },
137 }, 137 },
138 [CX88_BOARD_PIXELVIEW] = { 138 [CX88_BOARD_PIXELVIEW] = {
139 .name = "PixelView", 139 .name = "PixelView",
@@ -141,17 +141,17 @@ static const struct cx88_board cx88_boards[] = {
141 .radio_type = UNSET, 141 .radio_type = UNSET,
142 .tuner_addr = ADDR_UNSET, 142 .tuner_addr = ADDR_UNSET,
143 .radio_addr = ADDR_UNSET, 143 .radio_addr = ADDR_UNSET,
144 .input = {{ 144 .input = { {
145 .type = CX88_VMUX_TELEVISION, 145 .type = CX88_VMUX_TELEVISION,
146 .vmux = 0, 146 .vmux = 0,
147 .gpio0 = 0xff00, // internal decoder 147 .gpio0 = 0xff00, // internal decoder
148 },{ 148 }, {
149 .type = CX88_VMUX_COMPOSITE1, 149 .type = CX88_VMUX_COMPOSITE1,
150 .vmux = 1, 150 .vmux = 1,
151 },{ 151 }, {
152 .type = CX88_VMUX_SVIDEO, 152 .type = CX88_VMUX_SVIDEO,
153 .vmux = 2, 153 .vmux = 2,
154 }}, 154 } },
155 .radio = { 155 .radio = {
156 .type = CX88_RADIO, 156 .type = CX88_RADIO,
157 .gpio0 = 0xff10, 157 .gpio0 = 0xff10,
@@ -164,19 +164,19 @@ static const struct cx88_board cx88_boards[] = {
164 .tuner_addr = ADDR_UNSET, 164 .tuner_addr = ADDR_UNSET,
165 .radio_addr = ADDR_UNSET, 165 .radio_addr = ADDR_UNSET,
166 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, 166 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER,
167 .input = {{ 167 .input = { {
168 .type = CX88_VMUX_TELEVISION, 168 .type = CX88_VMUX_TELEVISION,
169 .vmux = 0, 169 .vmux = 0,
170 .gpio0 = 0x03ff, 170 .gpio0 = 0x03ff,
171 },{ 171 }, {
172 .type = CX88_VMUX_COMPOSITE1, 172 .type = CX88_VMUX_COMPOSITE1,
173 .vmux = 1, 173 .vmux = 1,
174 .gpio0 = 0x03fe, 174 .gpio0 = 0x03fe,
175 },{ 175 }, {
176 .type = CX88_VMUX_SVIDEO, 176 .type = CX88_VMUX_SVIDEO,
177 .vmux = 2, 177 .vmux = 2,
178 .gpio0 = 0x03fe, 178 .gpio0 = 0x03fe,
179 }}, 179 } },
180 }, 180 },
181 [CX88_BOARD_WINFAST2000XP_EXPERT] = { 181 [CX88_BOARD_WINFAST2000XP_EXPERT] = {
182 .name = "Leadtek Winfast 2000XP Expert", 182 .name = "Leadtek Winfast 2000XP Expert",
@@ -185,28 +185,28 @@ static const struct cx88_board cx88_boards[] = {
185 .tuner_addr = ADDR_UNSET, 185 .tuner_addr = ADDR_UNSET,
186 .radio_addr = ADDR_UNSET, 186 .radio_addr = ADDR_UNSET,
187 .tda9887_conf = TDA9887_PRESENT, 187 .tda9887_conf = TDA9887_PRESENT,
188 .input = {{ 188 .input = { {
189 .type = CX88_VMUX_TELEVISION, 189 .type = CX88_VMUX_TELEVISION,
190 .vmux = 0, 190 .vmux = 0,
191 .gpio0 = 0x00F5e700, 191 .gpio0 = 0x00F5e700,
192 .gpio1 = 0x00003004, 192 .gpio1 = 0x00003004,
193 .gpio2 = 0x00F5e700, 193 .gpio2 = 0x00F5e700,
194 .gpio3 = 0x02000000, 194 .gpio3 = 0x02000000,
195 },{ 195 }, {
196 .type = CX88_VMUX_COMPOSITE1, 196 .type = CX88_VMUX_COMPOSITE1,
197 .vmux = 1, 197 .vmux = 1,
198 .gpio0 = 0x00F5c700, 198 .gpio0 = 0x00F5c700,
199 .gpio1 = 0x00003004, 199 .gpio1 = 0x00003004,
200 .gpio2 = 0x00F5c700, 200 .gpio2 = 0x00F5c700,
201 .gpio3 = 0x02000000, 201 .gpio3 = 0x02000000,
202 },{ 202 }, {
203 .type = CX88_VMUX_SVIDEO, 203 .type = CX88_VMUX_SVIDEO,
204 .vmux = 2, 204 .vmux = 2,
205 .gpio0 = 0x00F5c700, 205 .gpio0 = 0x00F5c700,
206 .gpio1 = 0x00003004, 206 .gpio1 = 0x00003004,
207 .gpio2 = 0x00F5c700, 207 .gpio2 = 0x00F5c700,
208 .gpio3 = 0x02000000, 208 .gpio3 = 0x02000000,
209 }}, 209 } },
210 .radio = { 210 .radio = {
211 .type = CX88_RADIO, 211 .type = CX88_RADIO,
212 .gpio0 = 0x00F5d700, 212 .gpio0 = 0x00F5d700,
@@ -222,19 +222,19 @@ static const struct cx88_board cx88_boards[] = {
222 .tuner_addr = ADDR_UNSET, 222 .tuner_addr = ADDR_UNSET,
223 .radio_addr = ADDR_UNSET, 223 .radio_addr = ADDR_UNSET,
224 .tda9887_conf = TDA9887_PRESENT, 224 .tda9887_conf = TDA9887_PRESENT,
225 .input = {{ 225 .input = { {
226 .type = CX88_VMUX_TELEVISION, 226 .type = CX88_VMUX_TELEVISION,
227 .vmux = 0, 227 .vmux = 0,
228 .gpio1 = 0xe09f, 228 .gpio1 = 0xe09f,
229 },{ 229 }, {
230 .type = CX88_VMUX_COMPOSITE1, 230 .type = CX88_VMUX_COMPOSITE1,
231 .vmux = 1, 231 .vmux = 1,
232 .gpio1 = 0xe05f, 232 .gpio1 = 0xe05f,
233 },{ 233 }, {
234 .type = CX88_VMUX_SVIDEO, 234 .type = CX88_VMUX_SVIDEO,
235 .vmux = 2, 235 .vmux = 2,
236 .gpio1 = 0xe05f, 236 .gpio1 = 0xe05f,
237 }}, 237 } },
238 .radio = { 238 .radio = {
239 .gpio1 = 0xe0df, 239 .gpio1 = 0xe0df,
240 .type = CX88_RADIO, 240 .type = CX88_RADIO,
@@ -249,25 +249,25 @@ static const struct cx88_board cx88_boards[] = {
249 .tuner_addr = ADDR_UNSET, 249 .tuner_addr = ADDR_UNSET,
250 .radio_addr = ADDR_UNSET, 250 .radio_addr = ADDR_UNSET,
251 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER_NTSC, 251 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER_NTSC,
252 .input = {{ 252 .input = { {
253 .type = CX88_VMUX_TELEVISION, 253 .type = CX88_VMUX_TELEVISION,
254 .vmux = 0, 254 .vmux = 0,
255 .gpio0 = 0x000040bf, 255 .gpio0 = 0x000040bf,
256 .gpio1 = 0x000080c0, 256 .gpio1 = 0x000080c0,
257 .gpio2 = 0x0000ff40, 257 .gpio2 = 0x0000ff40,
258 },{ 258 }, {
259 .type = CX88_VMUX_COMPOSITE1, 259 .type = CX88_VMUX_COMPOSITE1,
260 .vmux = 1, 260 .vmux = 1,
261 .gpio0 = 0x000040bf, 261 .gpio0 = 0x000040bf,
262 .gpio1 = 0x000080c0, 262 .gpio1 = 0x000080c0,
263 .gpio2 = 0x0000ff40, 263 .gpio2 = 0x0000ff40,
264 },{ 264 }, {
265 .type = CX88_VMUX_SVIDEO, 265 .type = CX88_VMUX_SVIDEO,
266 .vmux = 2, 266 .vmux = 2,
267 .gpio0 = 0x000040bf, 267 .gpio0 = 0x000040bf,
268 .gpio1 = 0x000080c0, 268 .gpio1 = 0x000080c0,
269 .gpio2 = 0x0000ff40, 269 .gpio2 = 0x0000ff40,
270 }}, 270 } },
271 .radio = { 271 .radio = {
272 .type = CX88_RADIO, 272 .type = CX88_RADIO,
273 .vmux = 3, 273 .vmux = 3,
@@ -283,14 +283,14 @@ static const struct cx88_board cx88_boards[] = {
283 .tuner_addr = ADDR_UNSET, 283 .tuner_addr = ADDR_UNSET,
284 .radio_addr = ADDR_UNSET, 284 .radio_addr = ADDR_UNSET,
285 .tda9887_conf = TDA9887_PRESENT, 285 .tda9887_conf = TDA9887_PRESENT,
286 .input = {{ 286 .input = { {
287 .type = CX88_VMUX_TELEVISION, 287 .type = CX88_VMUX_TELEVISION,
288 .vmux = 0, 288 .vmux = 0,
289 .gpio0 = 0x0035e700, 289 .gpio0 = 0x0035e700,
290 .gpio1 = 0x00003004, 290 .gpio1 = 0x00003004,
291 .gpio2 = 0x0035e700, 291 .gpio2 = 0x0035e700,
292 .gpio3 = 0x02000000, 292 .gpio3 = 0x02000000,
293 },{ 293 }, {
294 294
295 .type = CX88_VMUX_COMPOSITE1, 295 .type = CX88_VMUX_COMPOSITE1,
296 .vmux = 1, 296 .vmux = 1,
@@ -298,14 +298,14 @@ static const struct cx88_board cx88_boards[] = {
298 .gpio1 = 0x00003004, 298 .gpio1 = 0x00003004,
299 .gpio2 = 0x0035c700, 299 .gpio2 = 0x0035c700,
300 .gpio3 = 0x02000000, 300 .gpio3 = 0x02000000,
301 },{ 301 }, {
302 .type = CX88_VMUX_SVIDEO, 302 .type = CX88_VMUX_SVIDEO,
303 .vmux = 2, 303 .vmux = 2,
304 .gpio0 = 0x0035c700, 304 .gpio0 = 0x0035c700,
305 .gpio1 = 0x0035c700, 305 .gpio1 = 0x0035c700,
306 .gpio2 = 0x02000000, 306 .gpio2 = 0x02000000,
307 .gpio3 = 0x02000000, 307 .gpio3 = 0x02000000,
308 }}, 308 } },
309 .radio = { 309 .radio = {
310 .type = CX88_RADIO, 310 .type = CX88_RADIO,
311 .gpio0 = 0x0035d700, 311 .gpio0 = 0x0035d700,
@@ -322,22 +322,22 @@ static const struct cx88_board cx88_boards[] = {
322 .tuner_addr = ADDR_UNSET, 322 .tuner_addr = ADDR_UNSET,
323 .radio_addr = ADDR_UNSET, 323 .radio_addr = ADDR_UNSET,
324 .tda9887_conf = TDA9887_PRESENT, 324 .tda9887_conf = TDA9887_PRESENT,
325 .input = {{ 325 .input = { {
326 .type = CX88_VMUX_TELEVISION, 326 .type = CX88_VMUX_TELEVISION,
327 .vmux = 0, 327 .vmux = 0,
328 .gpio0 = 0x0000bde2, 328 .gpio0 = 0x0000bde2,
329 .audioroute = 1, 329 .audioroute = 1,
330 },{ 330 }, {
331 .type = CX88_VMUX_COMPOSITE1, 331 .type = CX88_VMUX_COMPOSITE1,
332 .vmux = 1, 332 .vmux = 1,
333 .gpio0 = 0x0000bde6, 333 .gpio0 = 0x0000bde6,
334 .audioroute = 1, 334 .audioroute = 1,
335 },{ 335 }, {
336 .type = CX88_VMUX_SVIDEO, 336 .type = CX88_VMUX_SVIDEO,
337 .vmux = 2, 337 .vmux = 2,
338 .gpio0 = 0x0000bde6, 338 .gpio0 = 0x0000bde6,
339 .audioroute = 1, 339 .audioroute = 1,
340 }}, 340 } },
341 .radio = { 341 .radio = {
342 .type = CX88_RADIO, 342 .type = CX88_RADIO,
343 .gpio0 = 0x0000bd62, 343 .gpio0 = 0x0000bd62,
@@ -351,16 +351,16 @@ static const struct cx88_board cx88_boards[] = {
351 .radio_type = UNSET, 351 .radio_type = UNSET,
352 .tuner_addr = ADDR_UNSET, 352 .tuner_addr = ADDR_UNSET,
353 .radio_addr = ADDR_UNSET, 353 .radio_addr = ADDR_UNSET,
354 .input = {{ 354 .input = { {
355 .type = CX88_VMUX_COMPOSITE1, 355 .type = CX88_VMUX_COMPOSITE1,
356 .vmux = 0, 356 .vmux = 0,
357 },{ 357 }, {
358 .type = CX88_VMUX_COMPOSITE2, 358 .type = CX88_VMUX_COMPOSITE2,
359 .vmux = 1, 359 .vmux = 1,
360 },{ 360 }, {
361 .type = CX88_VMUX_SVIDEO, 361 .type = CX88_VMUX_SVIDEO,
362 .vmux = 2, 362 .vmux = 2,
363 }}, 363 } },
364 }, 364 },
365 [CX88_BOARD_PROLINK_PLAYTVPVR] = { 365 [CX88_BOARD_PROLINK_PLAYTVPVR] = {
366 .name = "Prolink PlayTV PVR", 366 .name = "Prolink PlayTV PVR",
@@ -369,19 +369,19 @@ static const struct cx88_board cx88_boards[] = {
369 .tuner_addr = ADDR_UNSET, 369 .tuner_addr = ADDR_UNSET,
370 .radio_addr = ADDR_UNSET, 370 .radio_addr = ADDR_UNSET,
371 .tda9887_conf = TDA9887_PRESENT, 371 .tda9887_conf = TDA9887_PRESENT,
372 .input = {{ 372 .input = { {
373 .type = CX88_VMUX_TELEVISION, 373 .type = CX88_VMUX_TELEVISION,
374 .vmux = 0, 374 .vmux = 0,
375 .gpio0 = 0xbff0, 375 .gpio0 = 0xbff0,
376 },{ 376 }, {
377 .type = CX88_VMUX_COMPOSITE1, 377 .type = CX88_VMUX_COMPOSITE1,
378 .vmux = 1, 378 .vmux = 1,
379 .gpio0 = 0xbff3, 379 .gpio0 = 0xbff3,
380 },{ 380 }, {
381 .type = CX88_VMUX_SVIDEO, 381 .type = CX88_VMUX_SVIDEO,
382 .vmux = 2, 382 .vmux = 2,
383 .gpio0 = 0xbff3, 383 .gpio0 = 0xbff3,
384 }}, 384 } },
385 .radio = { 385 .radio = {
386 .type = CX88_RADIO, 386 .type = CX88_RADIO,
387 .gpio0 = 0xbff0, 387 .gpio0 = 0xbff0,
@@ -394,16 +394,16 @@ static const struct cx88_board cx88_boards[] = {
394 .tuner_addr = ADDR_UNSET, 394 .tuner_addr = ADDR_UNSET,
395 .radio_addr = ADDR_UNSET, 395 .radio_addr = ADDR_UNSET,
396 .tda9887_conf = TDA9887_PRESENT, 396 .tda9887_conf = TDA9887_PRESENT,
397 .input = {{ 397 .input = { {
398 .type = CX88_VMUX_TELEVISION, 398 .type = CX88_VMUX_TELEVISION,
399 .vmux = 0, 399 .vmux = 0,
400 .gpio0 = 0x0000fde6, 400 .gpio0 = 0x0000fde6,
401 },{ 401 }, {
402 .type = CX88_VMUX_SVIDEO, 402 .type = CX88_VMUX_SVIDEO,
403 .vmux = 2, 403 .vmux = 2,
404 .gpio0 = 0x0000fde6, // 0x0000fda6 L,R RCA audio in? 404 .gpio0 = 0x0000fde6, // 0x0000fda6 L,R RCA audio in?
405 .audioroute = 1, 405 .audioroute = 1,
406 }}, 406 } },
407 .radio = { 407 .radio = {
408 .type = CX88_RADIO, 408 .type = CX88_RADIO,
409 .gpio0 = 0x0000fde2, 409 .gpio0 = 0x0000fde2,
@@ -417,22 +417,22 @@ static const struct cx88_board cx88_boards[] = {
417 .tuner_addr = ADDR_UNSET, 417 .tuner_addr = ADDR_UNSET,
418 .radio_addr = ADDR_UNSET, 418 .radio_addr = ADDR_UNSET,
419 .tda9887_conf = TDA9887_PRESENT, 419 .tda9887_conf = TDA9887_PRESENT,
420 .input = {{ 420 .input = { {
421 .type = CX88_VMUX_TELEVISION, 421 .type = CX88_VMUX_TELEVISION,
422 .vmux = 0, 422 .vmux = 0,
423 .gpio0 = 0x00000fbf, 423 .gpio0 = 0x00000fbf,
424 .gpio2 = 0x0000fc08, 424 .gpio2 = 0x0000fc08,
425 },{ 425 }, {
426 .type = CX88_VMUX_COMPOSITE1, 426 .type = CX88_VMUX_COMPOSITE1,
427 .vmux = 1, 427 .vmux = 1,
428 .gpio0 = 0x00000fbf, 428 .gpio0 = 0x00000fbf,
429 .gpio2 = 0x0000fc68, 429 .gpio2 = 0x0000fc68,
430 },{ 430 }, {
431 .type = CX88_VMUX_SVIDEO, 431 .type = CX88_VMUX_SVIDEO,
432 .vmux = 2, 432 .vmux = 2,
433 .gpio0 = 0x00000fbf, 433 .gpio0 = 0x00000fbf,
434 .gpio2 = 0x0000fc68, 434 .gpio2 = 0x0000fc68,
435 }}, 435 } },
436 }, 436 },
437 [CX88_BOARD_KWORLD_DVB_T] = { 437 [CX88_BOARD_KWORLD_DVB_T] = {
438 .name = "KWorld/VStream XPert DVB-T", 438 .name = "KWorld/VStream XPert DVB-T",
@@ -440,17 +440,17 @@ static const struct cx88_board cx88_boards[] = {
440 .radio_type = UNSET, 440 .radio_type = UNSET,
441 .tuner_addr = ADDR_UNSET, 441 .tuner_addr = ADDR_UNSET,
442 .radio_addr = ADDR_UNSET, 442 .radio_addr = ADDR_UNSET,
443 .input = {{ 443 .input = { {
444 .type = CX88_VMUX_COMPOSITE1, 444 .type = CX88_VMUX_COMPOSITE1,
445 .vmux = 1, 445 .vmux = 1,
446 .gpio0 = 0x0700, 446 .gpio0 = 0x0700,
447 .gpio2 = 0x0101, 447 .gpio2 = 0x0101,
448 },{ 448 }, {
449 .type = CX88_VMUX_SVIDEO, 449 .type = CX88_VMUX_SVIDEO,
450 .vmux = 2, 450 .vmux = 2,
451 .gpio0 = 0x0700, 451 .gpio0 = 0x0700,
452 .gpio2 = 0x0101, 452 .gpio2 = 0x0101,
453 }}, 453 } },
454 .mpeg = CX88_MPEG_DVB, 454 .mpeg = CX88_MPEG_DVB,
455 }, 455 },
456 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1] = { 456 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1] = {
@@ -459,15 +459,15 @@ static const struct cx88_board cx88_boards[] = {
459 .radio_type = UNSET, 459 .radio_type = UNSET,
460 .tuner_addr = ADDR_UNSET, 460 .tuner_addr = ADDR_UNSET,
461 .radio_addr = ADDR_UNSET, 461 .radio_addr = ADDR_UNSET,
462 .input = {{ 462 .input = { {
463 .type = CX88_VMUX_COMPOSITE1, 463 .type = CX88_VMUX_COMPOSITE1,
464 .vmux = 1, 464 .vmux = 1,
465 .gpio0 = 0x000027df, 465 .gpio0 = 0x000027df,
466 },{ 466 }, {
467 .type = CX88_VMUX_SVIDEO, 467 .type = CX88_VMUX_SVIDEO,
468 .vmux = 2, 468 .vmux = 2,
469 .gpio0 = 0x000027df, 469 .gpio0 = 0x000027df,
470 }}, 470 } },
471 .mpeg = CX88_MPEG_DVB, 471 .mpeg = CX88_MPEG_DVB,
472 }, 472 },
473 [CX88_BOARD_KWORLD_LTV883] = { 473 [CX88_BOARD_KWORLD_LTV883] = {
@@ -476,23 +476,23 @@ static const struct cx88_board cx88_boards[] = {
476 .radio_type = UNSET, 476 .radio_type = UNSET,
477 .tuner_addr = ADDR_UNSET, 477 .tuner_addr = ADDR_UNSET,
478 .radio_addr = ADDR_UNSET, 478 .radio_addr = ADDR_UNSET,
479 .input = {{ 479 .input = { {
480 .type = CX88_VMUX_TELEVISION, 480 .type = CX88_VMUX_TELEVISION,
481 .vmux = 0, 481 .vmux = 0,
482 .gpio0 = 0x07f8, 482 .gpio0 = 0x07f8,
483 },{ 483 }, {
484 .type = CX88_VMUX_DEBUG, 484 .type = CX88_VMUX_DEBUG,
485 .vmux = 0, 485 .vmux = 0,
486 .gpio0 = 0x07f9, // mono from tuner chip 486 .gpio0 = 0x07f9, // mono from tuner chip
487 },{ 487 }, {
488 .type = CX88_VMUX_COMPOSITE1, 488 .type = CX88_VMUX_COMPOSITE1,
489 .vmux = 1, 489 .vmux = 1,
490 .gpio0 = 0x000007fa, 490 .gpio0 = 0x000007fa,
491 },{ 491 }, {
492 .type = CX88_VMUX_SVIDEO, 492 .type = CX88_VMUX_SVIDEO,
493 .vmux = 2, 493 .vmux = 2,
494 .gpio0 = 0x000007fa, 494 .gpio0 = 0x000007fa,
495 }}, 495 } },
496 .radio = { 496 .radio = {
497 .type = CX88_RADIO, 497 .type = CX88_RADIO,
498 .gpio0 = 0x000007f8, 498 .gpio0 = 0x000007f8,
@@ -521,23 +521,23 @@ static const struct cx88_board cx88_boards[] = {
521 0 - normal RF 521 0 - normal RF
522 1 - high RF 522 1 - high RF
523 */ 523 */
524 .input = {{ 524 .input = { {
525 .type = CX88_VMUX_TELEVISION, 525 .type = CX88_VMUX_TELEVISION,
526 .vmux = 0, 526 .vmux = 0,
527 .gpio0 = 0x0f0d, 527 .gpio0 = 0x0f0d,
528 },{ 528 }, {
529 .type = CX88_VMUX_CABLE, 529 .type = CX88_VMUX_CABLE,
530 .vmux = 0, 530 .vmux = 0,
531 .gpio0 = 0x0f05, 531 .gpio0 = 0x0f05,
532 },{ 532 }, {
533 .type = CX88_VMUX_COMPOSITE1, 533 .type = CX88_VMUX_COMPOSITE1,
534 .vmux = 1, 534 .vmux = 1,
535 .gpio0 = 0x0f00, 535 .gpio0 = 0x0f00,
536 },{ 536 }, {
537 .type = CX88_VMUX_SVIDEO, 537 .type = CX88_VMUX_SVIDEO,
538 .vmux = 2, 538 .vmux = 2,
539 .gpio0 = 0x0f00, 539 .gpio0 = 0x0f00,
540 }}, 540 } },
541 .mpeg = CX88_MPEG_DVB, 541 .mpeg = CX88_MPEG_DVB,
542 }, 542 },
543 [CX88_BOARD_HAUPPAUGE_DVB_T1] = { 543 [CX88_BOARD_HAUPPAUGE_DVB_T1] = {
@@ -546,10 +546,10 @@ static const struct cx88_board cx88_boards[] = {
546 .radio_type = UNSET, 546 .radio_type = UNSET,
547 .tuner_addr = ADDR_UNSET, 547 .tuner_addr = ADDR_UNSET,
548 .radio_addr = ADDR_UNSET, 548 .radio_addr = ADDR_UNSET,
549 .input = {{ 549 .input = { {
550 .type = CX88_VMUX_DVB, 550 .type = CX88_VMUX_DVB,
551 .vmux = 0, 551 .vmux = 0,
552 }}, 552 } },
553 .mpeg = CX88_MPEG_DVB, 553 .mpeg = CX88_MPEG_DVB,
554 }, 554 },
555 [CX88_BOARD_CONEXANT_DVB_T1] = { 555 [CX88_BOARD_CONEXANT_DVB_T1] = {
@@ -558,10 +558,10 @@ static const struct cx88_board cx88_boards[] = {
558 .radio_type = UNSET, 558 .radio_type = UNSET,
559 .tuner_addr = ADDR_UNSET, 559 .tuner_addr = ADDR_UNSET,
560 .radio_addr = ADDR_UNSET, 560 .radio_addr = ADDR_UNSET,
561 .input = {{ 561 .input = { {
562 .type = CX88_VMUX_DVB, 562 .type = CX88_VMUX_DVB,
563 .vmux = 0, 563 .vmux = 0,
564 }}, 564 } },
565 .mpeg = CX88_MPEG_DVB, 565 .mpeg = CX88_MPEG_DVB,
566 }, 566 },
567 [CX88_BOARD_PROVIDEO_PV259] = { 567 [CX88_BOARD_PROVIDEO_PV259] = {
@@ -570,11 +570,11 @@ static const struct cx88_board cx88_boards[] = {
570 .radio_type = UNSET, 570 .radio_type = UNSET,
571 .tuner_addr = ADDR_UNSET, 571 .tuner_addr = ADDR_UNSET,
572 .radio_addr = ADDR_UNSET, 572 .radio_addr = ADDR_UNSET,
573 .input = {{ 573 .input = { {
574 .type = CX88_VMUX_TELEVISION, 574 .type = CX88_VMUX_TELEVISION,
575 .vmux = 0, 575 .vmux = 0,
576 .audioroute = 1, 576 .audioroute = 1,
577 }}, 577 } },
578 .mpeg = CX88_MPEG_BLACKBIRD, 578 .mpeg = CX88_MPEG_BLACKBIRD,
579 }, 579 },
580 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS] = { 580 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS] = {
@@ -583,15 +583,15 @@ static const struct cx88_board cx88_boards[] = {
583 .radio_type = UNSET, 583 .radio_type = UNSET,
584 .tuner_addr = ADDR_UNSET, 584 .tuner_addr = ADDR_UNSET,
585 .radio_addr = ADDR_UNSET, 585 .radio_addr = ADDR_UNSET,
586 .input = {{ 586 .input = { {
587 .type = CX88_VMUX_COMPOSITE1, 587 .type = CX88_VMUX_COMPOSITE1,
588 .vmux = 1, 588 .vmux = 1,
589 .gpio0 = 0x000027df, 589 .gpio0 = 0x000027df,
590 },{ 590 }, {
591 .type = CX88_VMUX_SVIDEO, 591 .type = CX88_VMUX_SVIDEO,
592 .vmux = 2, 592 .vmux = 2,
593 .gpio0 = 0x000027df, 593 .gpio0 = 0x000027df,
594 }}, 594 } },
595 .mpeg = CX88_MPEG_DVB, 595 .mpeg = CX88_MPEG_DVB,
596 }, 596 },
597 [CX88_BOARD_DNTV_LIVE_DVB_T] = { 597 [CX88_BOARD_DNTV_LIVE_DVB_T] = {
@@ -600,17 +600,17 @@ static const struct cx88_board cx88_boards[] = {
600 .radio_type = UNSET, 600 .radio_type = UNSET,
601 .tuner_addr = ADDR_UNSET, 601 .tuner_addr = ADDR_UNSET,
602 .radio_addr = ADDR_UNSET, 602 .radio_addr = ADDR_UNSET,
603 .input = {{ 603 .input = { {
604 .type = CX88_VMUX_COMPOSITE1, 604 .type = CX88_VMUX_COMPOSITE1,
605 .vmux = 1, 605 .vmux = 1,
606 .gpio0 = 0x00000700, 606 .gpio0 = 0x00000700,
607 .gpio2 = 0x00000101, 607 .gpio2 = 0x00000101,
608 },{ 608 }, {
609 .type = CX88_VMUX_SVIDEO, 609 .type = CX88_VMUX_SVIDEO,
610 .vmux = 2, 610 .vmux = 2,
611 .gpio0 = 0x00000700, 611 .gpio0 = 0x00000700,
612 .gpio2 = 0x00000101, 612 .gpio2 = 0x00000101,
613 }}, 613 } },
614 .mpeg = CX88_MPEG_DVB, 614 .mpeg = CX88_MPEG_DVB,
615 }, 615 },
616 [CX88_BOARD_PCHDTV_HD3000] = { 616 [CX88_BOARD_PCHDTV_HD3000] = {
@@ -632,19 +632,19 @@ static const struct cx88_board cx88_boards[] = {
632 * 632 *
633 * GPIO[16] = Remote control input 633 * GPIO[16] = Remote control input
634 */ 634 */
635 .input = {{ 635 .input = { {
636 .type = CX88_VMUX_TELEVISION, 636 .type = CX88_VMUX_TELEVISION,
637 .vmux = 0, 637 .vmux = 0,
638 .gpio0 = 0x00008484, 638 .gpio0 = 0x00008484,
639 },{ 639 }, {
640 .type = CX88_VMUX_COMPOSITE1, 640 .type = CX88_VMUX_COMPOSITE1,
641 .vmux = 1, 641 .vmux = 1,
642 .gpio0 = 0x00008400, 642 .gpio0 = 0x00008400,
643 },{ 643 }, {
644 .type = CX88_VMUX_SVIDEO, 644 .type = CX88_VMUX_SVIDEO,
645 .vmux = 2, 645 .vmux = 2,
646 .gpio0 = 0x00008400, 646 .gpio0 = 0x00008400,
647 }}, 647 } },
648 .radio = { 648 .radio = {
649 .type = CX88_RADIO, 649 .type = CX88_RADIO,
650 .gpio0 = 0x00008404, 650 .gpio0 = 0x00008404,
@@ -659,25 +659,25 @@ static const struct cx88_board cx88_boards[] = {
659 .radio_type = UNSET, 659 .radio_type = UNSET,
660 .tuner_addr = ADDR_UNSET, 660 .tuner_addr = ADDR_UNSET,
661 .radio_addr = ADDR_UNSET, 661 .radio_addr = ADDR_UNSET,
662 .input = {{ 662 .input = { {
663 .type = CX88_VMUX_TELEVISION, 663 .type = CX88_VMUX_TELEVISION,
664 .vmux = 0, 664 .vmux = 0,
665 .gpio0 = 0xed1a, 665 .gpio0 = 0xed1a,
666 .gpio2 = 0x00ff, 666 .gpio2 = 0x00ff,
667 },{ 667 }, {
668 .type = CX88_VMUX_DEBUG, 668 .type = CX88_VMUX_DEBUG,
669 .vmux = 0, 669 .vmux = 0,
670 .gpio0 = 0xff01, 670 .gpio0 = 0xff01,
671 },{ 671 }, {
672 .type = CX88_VMUX_COMPOSITE1, 672 .type = CX88_VMUX_COMPOSITE1,
673 .vmux = 1, 673 .vmux = 1,
674 .gpio0 = 0xff02, 674 .gpio0 = 0xff02,
675 },{ 675 }, {
676 .type = CX88_VMUX_SVIDEO, 676 .type = CX88_VMUX_SVIDEO,
677 .vmux = 2, 677 .vmux = 2,
678 .gpio0 = 0xed92, 678 .gpio0 = 0xed92,
679 .gpio2 = 0x00ff, 679 .gpio2 = 0x00ff,
680 }}, 680 } },
681 .radio = { 681 .radio = {
682 .type = CX88_RADIO, 682 .type = CX88_RADIO,
683 .gpio0 = 0xed96, 683 .gpio0 = 0xed96,
@@ -692,22 +692,22 @@ static const struct cx88_board cx88_boards[] = {
692 .tuner_addr = ADDR_UNSET, 692 .tuner_addr = ADDR_UNSET,
693 .radio_addr = ADDR_UNSET, 693 .radio_addr = ADDR_UNSET,
694 .tda9887_conf = TDA9887_PRESENT, 694 .tda9887_conf = TDA9887_PRESENT,
695 .input = {{ 695 .input = { {
696 .type = CX88_VMUX_TELEVISION, 696 .type = CX88_VMUX_TELEVISION,
697 .vmux = 0, 697 .vmux = 0,
698 .gpio0 = 0x00009d80, 698 .gpio0 = 0x00009d80,
699 .audioroute = 1, 699 .audioroute = 1,
700 },{ 700 }, {
701 .type = CX88_VMUX_COMPOSITE1, 701 .type = CX88_VMUX_COMPOSITE1,
702 .vmux = 1, 702 .vmux = 1,
703 .gpio0 = 0x00009d76, 703 .gpio0 = 0x00009d76,
704 .audioroute = 1, 704 .audioroute = 1,
705 },{ 705 }, {
706 .type = CX88_VMUX_SVIDEO, 706 .type = CX88_VMUX_SVIDEO,
707 .vmux = 2, 707 .vmux = 2,
708 .gpio0 = 0x00009d76, 708 .gpio0 = 0x00009d76,
709 .audioroute = 1, 709 .audioroute = 1,
710 }}, 710 } },
711 .radio = { 711 .radio = {
712 .type = CX88_RADIO, 712 .type = CX88_RADIO,
713 .gpio0 = 0x00009d00, 713 .gpio0 = 0x00009d00,
@@ -722,19 +722,19 @@ static const struct cx88_board cx88_boards[] = {
722 .tuner_addr = ADDR_UNSET, 722 .tuner_addr = ADDR_UNSET,
723 .radio_addr = ADDR_UNSET, 723 .radio_addr = ADDR_UNSET,
724 .tda9887_conf = TDA9887_PRESENT, 724 .tda9887_conf = TDA9887_PRESENT,
725 .input = {{ 725 .input = { {
726 .type = CX88_VMUX_TELEVISION, 726 .type = CX88_VMUX_TELEVISION,
727 .vmux = 1, 727 .vmux = 1,
728 .gpio1 = 0x0000e03f, 728 .gpio1 = 0x0000e03f,
729 },{ 729 }, {
730 .type = CX88_VMUX_COMPOSITE1, 730 .type = CX88_VMUX_COMPOSITE1,
731 .vmux = 2, 731 .vmux = 2,
732 .gpio1 = 0x0000e07f, 732 .gpio1 = 0x0000e07f,
733 },{ 733 }, {
734 .type = CX88_VMUX_SVIDEO, 734 .type = CX88_VMUX_SVIDEO,
735 .vmux = 3, 735 .vmux = 3,
736 .gpio1 = 0x0000e07f, 736 .gpio1 = 0x0000e07f,
737 }} 737 } }
738 }, 738 },
739 [CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO] = { 739 [CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO] = {
740 .name = "PixelView PlayTV Ultra Pro (Stereo)", 740 .name = "PixelView PlayTV Ultra Pro (Stereo)",
@@ -745,19 +745,19 @@ static const struct cx88_board cx88_boards[] = {
745 .radio_addr = ADDR_UNSET, 745 .radio_addr = ADDR_UNSET,
746 /* Some variants use a tda9874 and so need the tvaudio module. */ 746 /* Some variants use a tda9874 and so need the tvaudio module. */
747 .audio_chip = CX88_AUDIO_TVAUDIO, 747 .audio_chip = CX88_AUDIO_TVAUDIO,
748 .input = {{ 748 .input = { {
749 .type = CX88_VMUX_TELEVISION, 749 .type = CX88_VMUX_TELEVISION,
750 .vmux = 0, 750 .vmux = 0,
751 .gpio0 = 0xbf61, /* internal decoder */ 751 .gpio0 = 0xbf61, /* internal decoder */
752 },{ 752 }, {
753 .type = CX88_VMUX_COMPOSITE1, 753 .type = CX88_VMUX_COMPOSITE1,
754 .vmux = 1, 754 .vmux = 1,
755 .gpio0 = 0xbf63, 755 .gpio0 = 0xbf63,
756 },{ 756 }, {
757 .type = CX88_VMUX_SVIDEO, 757 .type = CX88_VMUX_SVIDEO,
758 .vmux = 2, 758 .vmux = 2,
759 .gpio0 = 0xbf63, 759 .gpio0 = 0xbf63,
760 }}, 760 } },
761 .radio = { 761 .radio = {
762 .type = CX88_RADIO, 762 .type = CX88_RADIO,
763 .gpio0 = 0xbf60, 763 .gpio0 = 0xbf60,
@@ -770,19 +770,19 @@ static const struct cx88_board cx88_boards[] = {
770 .tuner_addr = ADDR_UNSET, 770 .tuner_addr = ADDR_UNSET,
771 .radio_addr = ADDR_UNSET, 771 .radio_addr = ADDR_UNSET,
772 .tda9887_conf = TDA9887_PRESENT, 772 .tda9887_conf = TDA9887_PRESENT,
773 .input = {{ 773 .input = { {
774 .type = CX88_VMUX_TELEVISION, 774 .type = CX88_VMUX_TELEVISION,
775 .vmux = 0, 775 .vmux = 0,
776 .gpio0 = 0x97ed, 776 .gpio0 = 0x97ed,
777 },{ 777 }, {
778 .type = CX88_VMUX_COMPOSITE1, 778 .type = CX88_VMUX_COMPOSITE1,
779 .vmux = 1, 779 .vmux = 1,
780 .gpio0 = 0x97e9, 780 .gpio0 = 0x97e9,
781 },{ 781 }, {
782 .type = CX88_VMUX_SVIDEO, 782 .type = CX88_VMUX_SVIDEO,
783 .vmux = 2, 783 .vmux = 2,
784 .gpio0 = 0x97e9, 784 .gpio0 = 0x97e9,
785 }}, 785 } },
786 .mpeg = CX88_MPEG_DVB, 786 .mpeg = CX88_MPEG_DVB,
787 }, 787 },
788 [CX88_BOARD_ADSTECH_DVB_T_PCI] = { 788 [CX88_BOARD_ADSTECH_DVB_T_PCI] = {
@@ -791,32 +791,32 @@ static const struct cx88_board cx88_boards[] = {
791 .radio_type = UNSET, 791 .radio_type = UNSET,
792 .tuner_addr = ADDR_UNSET, 792 .tuner_addr = ADDR_UNSET,
793 .radio_addr = ADDR_UNSET, 793 .radio_addr = ADDR_UNSET,
794 .input = {{ 794 .input = { {
795 .type = CX88_VMUX_COMPOSITE1, 795 .type = CX88_VMUX_COMPOSITE1,
796 .vmux = 1, 796 .vmux = 1,
797 .gpio0 = 0x0700, 797 .gpio0 = 0x0700,
798 .gpio2 = 0x0101, 798 .gpio2 = 0x0101,
799 },{ 799 }, {
800 .type = CX88_VMUX_SVIDEO, 800 .type = CX88_VMUX_SVIDEO,
801 .vmux = 2, 801 .vmux = 2,
802 .gpio0 = 0x0700, 802 .gpio0 = 0x0700,
803 .gpio2 = 0x0101, 803 .gpio2 = 0x0101,
804 }}, 804 } },
805 .mpeg = CX88_MPEG_DVB, 805 .mpeg = CX88_MPEG_DVB,
806 }, 806 },
807 [CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1] = { 807 [CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1] = {
808 .name = "TerraTec Cinergy 1400 DVB-T", 808 .name = "TerraTec Cinergy 1400 DVB-T",
809 .tuner_type = TUNER_ABSENT, 809 .tuner_type = TUNER_ABSENT,
810 .input = {{ 810 .input = { {
811 .type = CX88_VMUX_DVB, 811 .type = CX88_VMUX_DVB,
812 .vmux = 0, 812 .vmux = 0,
813 },{ 813 }, {
814 .type = CX88_VMUX_COMPOSITE1, 814 .type = CX88_VMUX_COMPOSITE1,
815 .vmux = 2, 815 .vmux = 2,
816 },{ 816 }, {
817 .type = CX88_VMUX_SVIDEO, 817 .type = CX88_VMUX_SVIDEO,
818 .vmux = 2, 818 .vmux = 2,
819 }}, 819 } },
820 .mpeg = CX88_MPEG_DVB, 820 .mpeg = CX88_MPEG_DVB,
821 }, 821 },
822 [CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD] = { 822 [CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD] = {
@@ -826,19 +826,19 @@ static const struct cx88_board cx88_boards[] = {
826 .tuner_addr = ADDR_UNSET, 826 .tuner_addr = ADDR_UNSET,
827 .radio_addr = ADDR_UNSET, 827 .radio_addr = ADDR_UNSET,
828 .tda9887_conf = TDA9887_PRESENT, 828 .tda9887_conf = TDA9887_PRESENT,
829 .input = {{ 829 .input = { {
830 .type = CX88_VMUX_TELEVISION, 830 .type = CX88_VMUX_TELEVISION,
831 .vmux = 0, 831 .vmux = 0,
832 .gpio0 = 0x87fd, 832 .gpio0 = 0x87fd,
833 },{ 833 }, {
834 .type = CX88_VMUX_COMPOSITE1, 834 .type = CX88_VMUX_COMPOSITE1,
835 .vmux = 1, 835 .vmux = 1,
836 .gpio0 = 0x87f9, 836 .gpio0 = 0x87f9,
837 },{ 837 }, {
838 .type = CX88_VMUX_SVIDEO, 838 .type = CX88_VMUX_SVIDEO,
839 .vmux = 2, 839 .vmux = 2,
840 .gpio0 = 0x87f9, 840 .gpio0 = 0x87f9,
841 }}, 841 } },
842 .mpeg = CX88_MPEG_DVB, 842 .mpeg = CX88_MPEG_DVB,
843 }, 843 },
844 [CX88_BOARD_AVERMEDIA_ULTRATV_MC_550] = { 844 [CX88_BOARD_AVERMEDIA_ULTRATV_MC_550] = {
@@ -848,22 +848,22 @@ static const struct cx88_board cx88_boards[] = {
848 .tuner_addr = ADDR_UNSET, 848 .tuner_addr = ADDR_UNSET,
849 .radio_addr = ADDR_UNSET, 849 .radio_addr = ADDR_UNSET,
850 .tda9887_conf = TDA9887_PRESENT, 850 .tda9887_conf = TDA9887_PRESENT,
851 .input = {{ 851 .input = { {
852 .type = CX88_VMUX_COMPOSITE1, 852 .type = CX88_VMUX_COMPOSITE1,
853 .vmux = 0, 853 .vmux = 0,
854 .gpio0 = 0x0000cd73, 854 .gpio0 = 0x0000cd73,
855 .audioroute = 1, 855 .audioroute = 1,
856 },{ 856 }, {
857 .type = CX88_VMUX_SVIDEO, 857 .type = CX88_VMUX_SVIDEO,
858 .vmux = 1, 858 .vmux = 1,
859 .gpio0 = 0x0000cd73, 859 .gpio0 = 0x0000cd73,
860 .audioroute = 1, 860 .audioroute = 1,
861 },{ 861 }, {
862 .type = CX88_VMUX_TELEVISION, 862 .type = CX88_VMUX_TELEVISION,
863 .vmux = 3, 863 .vmux = 3,
864 .gpio0 = 0x0000cdb3, 864 .gpio0 = 0x0000cdb3,
865 .audioroute = 1, 865 .audioroute = 1,
866 }}, 866 } },
867 .radio = { 867 .radio = {
868 .type = CX88_RADIO, 868 .type = CX88_RADIO,
869 .vmux = 2, 869 .vmux = 2,
@@ -876,21 +876,21 @@ static const struct cx88_board cx88_boards[] = {
876 /* Alexander Wold <awold@bigfoot.com> */ 876 /* Alexander Wold <awold@bigfoot.com> */
877 .name = "Kworld V-Stream Xpert DVD", 877 .name = "Kworld V-Stream Xpert DVD",
878 .tuner_type = UNSET, 878 .tuner_type = UNSET,
879 .input = {{ 879 .input = { {
880 .type = CX88_VMUX_COMPOSITE1, 880 .type = CX88_VMUX_COMPOSITE1,
881 .vmux = 1, 881 .vmux = 1,
882 .gpio0 = 0x03000000, 882 .gpio0 = 0x03000000,
883 .gpio1 = 0x01000000, 883 .gpio1 = 0x01000000,
884 .gpio2 = 0x02000000, 884 .gpio2 = 0x02000000,
885 .gpio3 = 0x00100000, 885 .gpio3 = 0x00100000,
886 },{ 886 }, {
887 .type = CX88_VMUX_SVIDEO, 887 .type = CX88_VMUX_SVIDEO,
888 .vmux = 2, 888 .vmux = 2,
889 .gpio0 = 0x03000000, 889 .gpio0 = 0x03000000,
890 .gpio1 = 0x01000000, 890 .gpio1 = 0x01000000,
891 .gpio2 = 0x02000000, 891 .gpio2 = 0x02000000,
892 .gpio3 = 0x00100000, 892 .gpio3 = 0x00100000,
893 }}, 893 } },
894 }, 894 },
895 [CX88_BOARD_ATI_HDTVWONDER] = { 895 [CX88_BOARD_ATI_HDTVWONDER] = {
896 .name = "ATI HDTV Wonder", 896 .name = "ATI HDTV Wonder",
@@ -898,28 +898,28 @@ static const struct cx88_board cx88_boards[] = {
898 .radio_type = UNSET, 898 .radio_type = UNSET,
899 .tuner_addr = ADDR_UNSET, 899 .tuner_addr = ADDR_UNSET,
900 .radio_addr = ADDR_UNSET, 900 .radio_addr = ADDR_UNSET,
901 .input = {{ 901 .input = { {
902 .type = CX88_VMUX_TELEVISION, 902 .type = CX88_VMUX_TELEVISION,
903 .vmux = 0, 903 .vmux = 0,
904 .gpio0 = 0x00000ff7, 904 .gpio0 = 0x00000ff7,
905 .gpio1 = 0x000000ff, 905 .gpio1 = 0x000000ff,
906 .gpio2 = 0x00000001, 906 .gpio2 = 0x00000001,
907 .gpio3 = 0x00000000, 907 .gpio3 = 0x00000000,
908 },{ 908 }, {
909 .type = CX88_VMUX_COMPOSITE1, 909 .type = CX88_VMUX_COMPOSITE1,
910 .vmux = 1, 910 .vmux = 1,
911 .gpio0 = 0x00000ffe, 911 .gpio0 = 0x00000ffe,
912 .gpio1 = 0x000000ff, 912 .gpio1 = 0x000000ff,
913 .gpio2 = 0x00000001, 913 .gpio2 = 0x00000001,
914 .gpio3 = 0x00000000, 914 .gpio3 = 0x00000000,
915 },{ 915 }, {
916 .type = CX88_VMUX_SVIDEO, 916 .type = CX88_VMUX_SVIDEO,
917 .vmux = 2, 917 .vmux = 2,
918 .gpio0 = 0x00000ffe, 918 .gpio0 = 0x00000ffe,
919 .gpio1 = 0x000000ff, 919 .gpio1 = 0x000000ff,
920 .gpio2 = 0x00000001, 920 .gpio2 = 0x00000001,
921 .gpio3 = 0x00000000, 921 .gpio3 = 0x00000000,
922 }}, 922 } },
923 .mpeg = CX88_MPEG_DVB, 923 .mpeg = CX88_MPEG_DVB,
924 }, 924 },
925 [CX88_BOARD_WINFAST_DTV1000] = { 925 [CX88_BOARD_WINFAST_DTV1000] = {
@@ -928,16 +928,16 @@ static const struct cx88_board cx88_boards[] = {
928 .radio_type = UNSET, 928 .radio_type = UNSET,
929 .tuner_addr = ADDR_UNSET, 929 .tuner_addr = ADDR_UNSET,
930 .radio_addr = ADDR_UNSET, 930 .radio_addr = ADDR_UNSET,
931 .input = {{ 931 .input = { {
932 .type = CX88_VMUX_DVB, 932 .type = CX88_VMUX_DVB,
933 .vmux = 0, 933 .vmux = 0,
934 },{ 934 }, {
935 .type = CX88_VMUX_COMPOSITE1, 935 .type = CX88_VMUX_COMPOSITE1,
936 .vmux = 1, 936 .vmux = 1,
937 },{ 937 }, {
938 .type = CX88_VMUX_SVIDEO, 938 .type = CX88_VMUX_SVIDEO,
939 .vmux = 2, 939 .vmux = 2,
940 }}, 940 } },
941 .mpeg = CX88_MPEG_DVB, 941 .mpeg = CX88_MPEG_DVB,
942 }, 942 },
943 [CX88_BOARD_AVERTV_303] = { 943 [CX88_BOARD_AVERTV_303] = {
@@ -947,28 +947,28 @@ static const struct cx88_board cx88_boards[] = {
947 .tuner_addr = ADDR_UNSET, 947 .tuner_addr = ADDR_UNSET,
948 .radio_addr = ADDR_UNSET, 948 .radio_addr = ADDR_UNSET,
949 .tda9887_conf = TDA9887_PRESENT, 949 .tda9887_conf = TDA9887_PRESENT,
950 .input = {{ 950 .input = { {
951 .type = CX88_VMUX_TELEVISION, 951 .type = CX88_VMUX_TELEVISION,
952 .vmux = 0, 952 .vmux = 0,
953 .gpio0 = 0x00ff, 953 .gpio0 = 0x00ff,
954 .gpio1 = 0xe09f, 954 .gpio1 = 0xe09f,
955 .gpio2 = 0x0010, 955 .gpio2 = 0x0010,
956 .gpio3 = 0x0000, 956 .gpio3 = 0x0000,
957 },{ 957 }, {
958 .type = CX88_VMUX_COMPOSITE1, 958 .type = CX88_VMUX_COMPOSITE1,
959 .vmux = 1, 959 .vmux = 1,
960 .gpio0 = 0x00ff, 960 .gpio0 = 0x00ff,
961 .gpio1 = 0xe05f, 961 .gpio1 = 0xe05f,
962 .gpio2 = 0x0010, 962 .gpio2 = 0x0010,
963 .gpio3 = 0x0000, 963 .gpio3 = 0x0000,
964 },{ 964 }, {
965 .type = CX88_VMUX_SVIDEO, 965 .type = CX88_VMUX_SVIDEO,
966 .vmux = 2, 966 .vmux = 2,
967 .gpio0 = 0x00ff, 967 .gpio0 = 0x00ff,
968 .gpio1 = 0xe05f, 968 .gpio1 = 0xe05f,
969 .gpio2 = 0x0010, 969 .gpio2 = 0x0010,
970 .gpio3 = 0x0000, 970 .gpio3 = 0x0000,
971 }}, 971 } },
972 }, 972 },
973 [CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1] = { 973 [CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1] = {
974 .name = "Hauppauge Nova-S-Plus DVB-S", 974 .name = "Hauppauge Nova-S-Plus DVB-S",
@@ -978,22 +978,22 @@ static const struct cx88_board cx88_boards[] = {
978 .radio_addr = ADDR_UNSET, 978 .radio_addr = ADDR_UNSET,
979 .audio_chip = CX88_AUDIO_WM8775, 979 .audio_chip = CX88_AUDIO_WM8775,
980 .i2sinputcntl = 2, 980 .i2sinputcntl = 2,
981 .input = {{ 981 .input = { {
982 .type = CX88_VMUX_DVB, 982 .type = CX88_VMUX_DVB,
983 .vmux = 0, 983 .vmux = 0,
984 /* 2: Line-In */ 984 /* 2: Line-In */
985 .audioroute = 2, 985 .audioroute = 2,
986 },{ 986 }, {
987 .type = CX88_VMUX_COMPOSITE1, 987 .type = CX88_VMUX_COMPOSITE1,
988 .vmux = 1, 988 .vmux = 1,
989 /* 2: Line-In */ 989 /* 2: Line-In */
990 .audioroute = 2, 990 .audioroute = 2,
991 },{ 991 }, {
992 .type = CX88_VMUX_SVIDEO, 992 .type = CX88_VMUX_SVIDEO,
993 .vmux = 2, 993 .vmux = 2,
994 /* 2: Line-In */ 994 /* 2: Line-In */
995 .audioroute = 2, 995 .audioroute = 2,
996 }}, 996 } },
997 .mpeg = CX88_MPEG_DVB, 997 .mpeg = CX88_MPEG_DVB,
998 }, 998 },
999 [CX88_BOARD_HAUPPAUGE_NOVASE2_S1] = { 999 [CX88_BOARD_HAUPPAUGE_NOVASE2_S1] = {
@@ -1002,10 +1002,10 @@ static const struct cx88_board cx88_boards[] = {
1002 .radio_type = UNSET, 1002 .radio_type = UNSET,
1003 .tuner_addr = ADDR_UNSET, 1003 .tuner_addr = ADDR_UNSET,
1004 .radio_addr = ADDR_UNSET, 1004 .radio_addr = ADDR_UNSET,
1005 .input = {{ 1005 .input = { {
1006 .type = CX88_VMUX_DVB, 1006 .type = CX88_VMUX_DVB,
1007 .vmux = 0, 1007 .vmux = 0,
1008 }}, 1008 } },
1009 .mpeg = CX88_MPEG_DVB, 1009 .mpeg = CX88_MPEG_DVB,
1010 }, 1010 },
1011 [CX88_BOARD_KWORLD_DVBS_100] = { 1011 [CX88_BOARD_KWORLD_DVBS_100] = {
@@ -1015,22 +1015,22 @@ static const struct cx88_board cx88_boards[] = {
1015 .tuner_addr = ADDR_UNSET, 1015 .tuner_addr = ADDR_UNSET,
1016 .radio_addr = ADDR_UNSET, 1016 .radio_addr = ADDR_UNSET,
1017 .audio_chip = CX88_AUDIO_WM8775, 1017 .audio_chip = CX88_AUDIO_WM8775,
1018 .input = {{ 1018 .input = { {
1019 .type = CX88_VMUX_DVB, 1019 .type = CX88_VMUX_DVB,
1020 .vmux = 0, 1020 .vmux = 0,
1021 /* 2: Line-In */ 1021 /* 2: Line-In */
1022 .audioroute = 2, 1022 .audioroute = 2,
1023 },{ 1023 }, {
1024 .type = CX88_VMUX_COMPOSITE1, 1024 .type = CX88_VMUX_COMPOSITE1,
1025 .vmux = 1, 1025 .vmux = 1,
1026 /* 2: Line-In */ 1026 /* 2: Line-In */
1027 .audioroute = 2, 1027 .audioroute = 2,
1028 },{ 1028 }, {
1029 .type = CX88_VMUX_SVIDEO, 1029 .type = CX88_VMUX_SVIDEO,
1030 .vmux = 2, 1030 .vmux = 2,
1031 /* 2: Line-In */ 1031 /* 2: Line-In */
1032 .audioroute = 2, 1032 .audioroute = 2,
1033 }}, 1033 } },
1034 .mpeg = CX88_MPEG_DVB, 1034 .mpeg = CX88_MPEG_DVB,
1035 }, 1035 },
1036 [CX88_BOARD_HAUPPAUGE_HVR1100] = { 1036 [CX88_BOARD_HAUPPAUGE_HVR1100] = {
@@ -1040,16 +1040,16 @@ static const struct cx88_board cx88_boards[] = {
1040 .tuner_addr = ADDR_UNSET, 1040 .tuner_addr = ADDR_UNSET,
1041 .radio_addr = ADDR_UNSET, 1041 .radio_addr = ADDR_UNSET,
1042 .tda9887_conf = TDA9887_PRESENT, 1042 .tda9887_conf = TDA9887_PRESENT,
1043 .input = {{ 1043 .input = { {
1044 .type = CX88_VMUX_TELEVISION, 1044 .type = CX88_VMUX_TELEVISION,
1045 .vmux = 0, 1045 .vmux = 0,
1046 },{ 1046 }, {
1047 .type = CX88_VMUX_COMPOSITE1, 1047 .type = CX88_VMUX_COMPOSITE1,
1048 .vmux = 1, 1048 .vmux = 1,
1049 },{ 1049 }, {
1050 .type = CX88_VMUX_SVIDEO, 1050 .type = CX88_VMUX_SVIDEO,
1051 .vmux = 2, 1051 .vmux = 2,
1052 }}, 1052 } },
1053 /* fixme: Add radio support */ 1053 /* fixme: Add radio support */
1054 .mpeg = CX88_MPEG_DVB, 1054 .mpeg = CX88_MPEG_DVB,
1055 }, 1055 },
@@ -1060,13 +1060,13 @@ static const struct cx88_board cx88_boards[] = {
1060 .tuner_addr = ADDR_UNSET, 1060 .tuner_addr = ADDR_UNSET,
1061 .radio_addr = ADDR_UNSET, 1061 .radio_addr = ADDR_UNSET,
1062 .tda9887_conf = TDA9887_PRESENT, 1062 .tda9887_conf = TDA9887_PRESENT,
1063 .input = {{ 1063 .input = { {
1064 .type = CX88_VMUX_TELEVISION, 1064 .type = CX88_VMUX_TELEVISION,
1065 .vmux = 0, 1065 .vmux = 0,
1066 },{ 1066 }, {
1067 .type = CX88_VMUX_COMPOSITE1, 1067 .type = CX88_VMUX_COMPOSITE1,
1068 .vmux = 1, 1068 .vmux = 1,
1069 }}, 1069 } },
1070 /* fixme: Add radio support */ 1070 /* fixme: Add radio support */
1071 .mpeg = CX88_MPEG_DVB, 1071 .mpeg = CX88_MPEG_DVB,
1072 }, 1072 },
@@ -1078,19 +1078,19 @@ static const struct cx88_board cx88_boards[] = {
1078 .radio_addr = ADDR_UNSET, 1078 .radio_addr = ADDR_UNSET,
1079 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE | 1079 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE |
1080 TDA9887_PORT2_ACTIVE, 1080 TDA9887_PORT2_ACTIVE,
1081 .input = {{ 1081 .input = { {
1082 .type = CX88_VMUX_TELEVISION, 1082 .type = CX88_VMUX_TELEVISION,
1083 .vmux = 0, 1083 .vmux = 0,
1084 .gpio0 = 0xf80808, 1084 .gpio0 = 0xf80808,
1085 },{ 1085 }, {
1086 .type = CX88_VMUX_COMPOSITE1, 1086 .type = CX88_VMUX_COMPOSITE1,
1087 .vmux = 1, 1087 .vmux = 1,
1088 .gpio0 = 0xf80808, 1088 .gpio0 = 0xf80808,
1089 },{ 1089 }, {
1090 .type = CX88_VMUX_SVIDEO, 1090 .type = CX88_VMUX_SVIDEO,
1091 .vmux = 2, 1091 .vmux = 2,
1092 .gpio0 = 0xf80808, 1092 .gpio0 = 0xf80808,
1093 }}, 1093 } },
1094 .radio = { 1094 .radio = {
1095 .type = CX88_RADIO, 1095 .type = CX88_RADIO,
1096 .gpio0 = 0xf80808, 1096 .gpio0 = 0xf80808,
@@ -1106,17 +1106,17 @@ static const struct cx88_board cx88_boards[] = {
1106 .radio_type = UNSET, 1106 .radio_type = UNSET,
1107 .tuner_addr = ADDR_UNSET, 1107 .tuner_addr = ADDR_UNSET,
1108 .radio_addr = ADDR_UNSET, 1108 .radio_addr = ADDR_UNSET,
1109 .input = {{ 1109 .input = { {
1110 .type = CX88_VMUX_COMPOSITE1, 1110 .type = CX88_VMUX_COMPOSITE1,
1111 .vmux = 1, 1111 .vmux = 1,
1112 .gpio0 = 0x0700, 1112 .gpio0 = 0x0700,
1113 .gpio2 = 0x0101, 1113 .gpio2 = 0x0101,
1114 },{ 1114 }, {
1115 .type = CX88_VMUX_SVIDEO, 1115 .type = CX88_VMUX_SVIDEO,
1116 .vmux = 2, 1116 .vmux = 2,
1117 .gpio0 = 0x0700, 1117 .gpio0 = 0x0700,
1118 .gpio2 = 0x0101, 1118 .gpio2 = 0x0101,
1119 }}, 1119 } },
1120 .mpeg = CX88_MPEG_DVB, 1120 .mpeg = CX88_MPEG_DVB,
1121 }, 1121 },
1122 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL] = { 1122 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL] = {
@@ -1125,15 +1125,15 @@ static const struct cx88_board cx88_boards[] = {
1125 .radio_type = UNSET, 1125 .radio_type = UNSET,
1126 .tuner_addr = ADDR_UNSET, 1126 .tuner_addr = ADDR_UNSET,
1127 .radio_addr = ADDR_UNSET, 1127 .radio_addr = ADDR_UNSET,
1128 .input = {{ 1128 .input = { {
1129 .type = CX88_VMUX_COMPOSITE1, 1129 .type = CX88_VMUX_COMPOSITE1,
1130 .vmux = 1, 1130 .vmux = 1,
1131 .gpio0 = 0x000067df, 1131 .gpio0 = 0x000067df,
1132 },{ 1132 }, {
1133 .type = CX88_VMUX_SVIDEO, 1133 .type = CX88_VMUX_SVIDEO,
1134 .vmux = 2, 1134 .vmux = 2,
1135 .gpio0 = 0x000067df, 1135 .gpio0 = 0x000067df,
1136 }}, 1136 } },
1137 .mpeg = CX88_MPEG_DVB, 1137 .mpeg = CX88_MPEG_DVB,
1138 }, 1138 },
1139 [CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT] = { 1139 [CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT] = {
@@ -1142,22 +1142,22 @@ static const struct cx88_board cx88_boards[] = {
1142 .radio_type = UNSET, 1142 .radio_type = UNSET,
1143 .tuner_addr = ADDR_UNSET, 1143 .tuner_addr = ADDR_UNSET,
1144 .radio_addr = ADDR_UNSET, 1144 .radio_addr = ADDR_UNSET,
1145 .input = {{ 1145 .input = { {
1146 .type = CX88_VMUX_TELEVISION, 1146 .type = CX88_VMUX_TELEVISION,
1147 .vmux = 0, 1147 .vmux = 0,
1148 .gpio0 = 0x3de2, 1148 .gpio0 = 0x3de2,
1149 .gpio2 = 0x00ff, 1149 .gpio2 = 0x00ff,
1150 },{ 1150 }, {
1151 .type = CX88_VMUX_COMPOSITE1, 1151 .type = CX88_VMUX_COMPOSITE1,
1152 .vmux = 1, 1152 .vmux = 1,
1153 .gpio0 = 0x3de6, 1153 .gpio0 = 0x3de6,
1154 .audioroute = 1, 1154 .audioroute = 1,
1155 },{ 1155 }, {
1156 .type = CX88_VMUX_SVIDEO, 1156 .type = CX88_VMUX_SVIDEO,
1157 .vmux = 2, 1157 .vmux = 2,
1158 .gpio0 = 0x3de6, 1158 .gpio0 = 0x3de6,
1159 .audioroute = 1, 1159 .audioroute = 1,
1160 }}, 1160 } },
1161 .radio = { 1161 .radio = {
1162 .type = CX88_RADIO, 1162 .type = CX88_RADIO,
1163 .gpio0 = 0x3de6, 1163 .gpio0 = 0x3de6,
@@ -1171,19 +1171,19 @@ static const struct cx88_board cx88_boards[] = {
1171 .radio_type = UNSET, 1171 .radio_type = UNSET,
1172 .tuner_addr = ADDR_UNSET, 1172 .tuner_addr = ADDR_UNSET,
1173 .radio_addr = ADDR_UNSET, 1173 .radio_addr = ADDR_UNSET,
1174 .input = {{ 1174 .input = { {
1175 .type = CX88_VMUX_TELEVISION, 1175 .type = CX88_VMUX_TELEVISION,
1176 .vmux = 0, 1176 .vmux = 0,
1177 .gpio0 = 0x0000a75f, 1177 .gpio0 = 0x0000a75f,
1178 },{ 1178 }, {
1179 .type = CX88_VMUX_COMPOSITE1, 1179 .type = CX88_VMUX_COMPOSITE1,
1180 .vmux = 1, 1180 .vmux = 1,
1181 .gpio0 = 0x0000a75b, 1181 .gpio0 = 0x0000a75b,
1182 },{ 1182 }, {
1183 .type = CX88_VMUX_SVIDEO, 1183 .type = CX88_VMUX_SVIDEO,
1184 .vmux = 2, 1184 .vmux = 2,
1185 .gpio0 = 0x0000a75b, 1185 .gpio0 = 0x0000a75b,
1186 }}, 1186 } },
1187 .mpeg = CX88_MPEG_DVB, 1187 .mpeg = CX88_MPEG_DVB,
1188 }, 1188 },
1189 [CX88_BOARD_PCHDTV_HD5500] = { 1189 [CX88_BOARD_PCHDTV_HD5500] = {
@@ -1193,19 +1193,19 @@ static const struct cx88_board cx88_boards[] = {
1193 .tuner_addr = ADDR_UNSET, 1193 .tuner_addr = ADDR_UNSET,
1194 .radio_addr = ADDR_UNSET, 1194 .radio_addr = ADDR_UNSET,
1195 .tda9887_conf = TDA9887_PRESENT, 1195 .tda9887_conf = TDA9887_PRESENT,
1196 .input = {{ 1196 .input = { {
1197 .type = CX88_VMUX_TELEVISION, 1197 .type = CX88_VMUX_TELEVISION,
1198 .vmux = 0, 1198 .vmux = 0,
1199 .gpio0 = 0x87fd, 1199 .gpio0 = 0x87fd,
1200 },{ 1200 }, {
1201 .type = CX88_VMUX_COMPOSITE1, 1201 .type = CX88_VMUX_COMPOSITE1,
1202 .vmux = 1, 1202 .vmux = 1,
1203 .gpio0 = 0x87f9, 1203 .gpio0 = 0x87f9,
1204 },{ 1204 }, {
1205 .type = CX88_VMUX_SVIDEO, 1205 .type = CX88_VMUX_SVIDEO,
1206 .vmux = 2, 1206 .vmux = 2,
1207 .gpio0 = 0x87f9, 1207 .gpio0 = 0x87f9,
1208 }}, 1208 } },
1209 .mpeg = CX88_MPEG_DVB, 1209 .mpeg = CX88_MPEG_DVB,
1210 }, 1210 },
1211 [CX88_BOARD_KWORLD_MCE200_DELUXE] = { 1211 [CX88_BOARD_KWORLD_MCE200_DELUXE] = {
@@ -1217,11 +1217,11 @@ static const struct cx88_board cx88_boards[] = {
1217 .tda9887_conf = TDA9887_PRESENT, 1217 .tda9887_conf = TDA9887_PRESENT,
1218 .tuner_addr = ADDR_UNSET, 1218 .tuner_addr = ADDR_UNSET,
1219 .radio_addr = ADDR_UNSET, 1219 .radio_addr = ADDR_UNSET,
1220 .input = {{ 1220 .input = { {
1221 .type = CX88_VMUX_TELEVISION, 1221 .type = CX88_VMUX_TELEVISION,
1222 .vmux = 0, 1222 .vmux = 0,
1223 .gpio0 = 0x0000BDE6 1223 .gpio0 = 0x0000BDE6
1224 }}, 1224 } },
1225 .mpeg = CX88_MPEG_BLACKBIRD, 1225 .mpeg = CX88_MPEG_BLACKBIRD,
1226 }, 1226 },
1227 [CX88_BOARD_PIXELVIEW_PLAYTV_P7000] = { 1227 [CX88_BOARD_PIXELVIEW_PLAYTV_P7000] = {
@@ -1233,11 +1233,11 @@ static const struct cx88_board cx88_boards[] = {
1233 .radio_addr = ADDR_UNSET, 1233 .radio_addr = ADDR_UNSET,
1234 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE | 1234 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE |
1235 TDA9887_PORT2_ACTIVE, 1235 TDA9887_PORT2_ACTIVE,
1236 .input = {{ 1236 .input = { {
1237 .type = CX88_VMUX_TELEVISION, 1237 .type = CX88_VMUX_TELEVISION,
1238 .vmux = 0, 1238 .vmux = 0,
1239 .gpio0 = 0x5da6, 1239 .gpio0 = 0x5da6,
1240 }}, 1240 } },
1241 .mpeg = CX88_MPEG_BLACKBIRD, 1241 .mpeg = CX88_MPEG_BLACKBIRD,
1242 }, 1242 },
1243 [CX88_BOARD_NPGTECH_REALTV_TOP10FM] = { 1243 [CX88_BOARD_NPGTECH_REALTV_TOP10FM] = {
@@ -1246,19 +1246,19 @@ static const struct cx88_board cx88_boards[] = {
1246 .radio_type = UNSET, 1246 .radio_type = UNSET,
1247 .tuner_addr = ADDR_UNSET, 1247 .tuner_addr = ADDR_UNSET,
1248 .radio_addr = ADDR_UNSET, 1248 .radio_addr = ADDR_UNSET,
1249 .input = {{ 1249 .input = { {
1250 .type = CX88_VMUX_TELEVISION, 1250 .type = CX88_VMUX_TELEVISION,
1251 .vmux = 0, 1251 .vmux = 0,
1252 .gpio0 = 0x0788, 1252 .gpio0 = 0x0788,
1253 },{ 1253 }, {
1254 .type = CX88_VMUX_COMPOSITE1, 1254 .type = CX88_VMUX_COMPOSITE1,
1255 .vmux = 1, 1255 .vmux = 1,
1256 .gpio0 = 0x078b, 1256 .gpio0 = 0x078b,
1257 },{ 1257 }, {
1258 .type = CX88_VMUX_SVIDEO, 1258 .type = CX88_VMUX_SVIDEO,
1259 .vmux = 2, 1259 .vmux = 2,
1260 .gpio0 = 0x078b, 1260 .gpio0 = 0x078b,
1261 }}, 1261 } },
1262 .radio = { 1262 .radio = {
1263 .type = CX88_RADIO, 1263 .type = CX88_RADIO,
1264 .gpio0 = 0x074a, 1264 .gpio0 = 0x074a,
@@ -1271,7 +1271,7 @@ static const struct cx88_board cx88_boards[] = {
1271 .tuner_addr = ADDR_UNSET, 1271 .tuner_addr = ADDR_UNSET,
1272 .radio_addr = ADDR_UNSET, 1272 .radio_addr = ADDR_UNSET,
1273 .tda9887_conf = TDA9887_PRESENT, 1273 .tda9887_conf = TDA9887_PRESENT,
1274 .input = {{ 1274 .input = { {
1275 .type = CX88_VMUX_TELEVISION, 1275 .type = CX88_VMUX_TELEVISION,
1276 .vmux = 0, 1276 .vmux = 0,
1277 .gpio0 = 0x00017304, 1277 .gpio0 = 0x00017304,
@@ -1299,7 +1299,7 @@ static const struct cx88_board cx88_boards[] = {
1299 .gpio1 = 0x0000b207, 1299 .gpio1 = 0x0000b207,
1300 .gpio2 = 0x0001d701, 1300 .gpio2 = 0x0001d701,
1301 .gpio3 = 0x02000000, 1301 .gpio3 = 0x02000000,
1302 }}, 1302 } },
1303 .radio = { 1303 .radio = {
1304 .type = CX88_RADIO, 1304 .type = CX88_RADIO,
1305 .gpio0 = 0x00015702, 1305 .gpio0 = 0x00015702,
@@ -1316,35 +1316,35 @@ static const struct cx88_board cx88_boards[] = {
1316 .tuner_addr = ADDR_UNSET, 1316 .tuner_addr = ADDR_UNSET,
1317 .radio_addr = ADDR_UNSET, 1317 .radio_addr = ADDR_UNSET,
1318 .tda9887_conf = TDA9887_PRESENT, 1318 .tda9887_conf = TDA9887_PRESENT,
1319 .input = {{ 1319 .input = { {
1320 .type = CX88_VMUX_TELEVISION, 1320 .type = CX88_VMUX_TELEVISION,
1321 .vmux = 0, 1321 .vmux = 0,
1322 .gpio0 = 0x00017300, 1322 .gpio0 = 0x00017300,
1323 .gpio1 = 0x00008207, 1323 .gpio1 = 0x00008207,
1324 .gpio2 = 0x00000000, 1324 .gpio2 = 0x00000000,
1325 .gpio3 = 0x02000000, 1325 .gpio3 = 0x02000000,
1326 },{ 1326 }, {
1327 .type = CX88_VMUX_TELEVISION, 1327 .type = CX88_VMUX_TELEVISION,
1328 .vmux = 0, 1328 .vmux = 0,
1329 .gpio0 = 0x00018300, 1329 .gpio0 = 0x00018300,
1330 .gpio1 = 0x0000f207, 1330 .gpio1 = 0x0000f207,
1331 .gpio2 = 0x00017304, 1331 .gpio2 = 0x00017304,
1332 .gpio3 = 0x02000000, 1332 .gpio3 = 0x02000000,
1333 },{ 1333 }, {
1334 .type = CX88_VMUX_COMPOSITE1, 1334 .type = CX88_VMUX_COMPOSITE1,
1335 .vmux = 1, 1335 .vmux = 1,
1336 .gpio0 = 0x00018301, 1336 .gpio0 = 0x00018301,
1337 .gpio1 = 0x0000f207, 1337 .gpio1 = 0x0000f207,
1338 .gpio2 = 0x00017304, 1338 .gpio2 = 0x00017304,
1339 .gpio3 = 0x02000000, 1339 .gpio3 = 0x02000000,
1340 },{ 1340 }, {
1341 .type = CX88_VMUX_SVIDEO, 1341 .type = CX88_VMUX_SVIDEO,
1342 .vmux = 2, 1342 .vmux = 2,
1343 .gpio0 = 0x00018301, 1343 .gpio0 = 0x00018301,
1344 .gpio1 = 0x0000f207, 1344 .gpio1 = 0x0000f207,
1345 .gpio2 = 0x00017304, 1345 .gpio2 = 0x00017304,
1346 .gpio3 = 0x02000000, 1346 .gpio3 = 0x02000000,
1347 }}, 1347 } },
1348 .radio = { 1348 .radio = {
1349 .type = CX88_RADIO, 1349 .type = CX88_RADIO,
1350 .gpio0 = 0x00015702, 1350 .gpio0 = 0x00015702,
@@ -1360,13 +1360,13 @@ static const struct cx88_board cx88_boards[] = {
1360 .radio_type = UNSET, 1360 .radio_type = UNSET,
1361 .tuner_addr = ADDR_UNSET, 1361 .tuner_addr = ADDR_UNSET,
1362 .radio_addr = ADDR_UNSET, 1362 .radio_addr = ADDR_UNSET,
1363 .input = {{ 1363 .input = { {
1364 .type = CX88_VMUX_DVB, 1364 .type = CX88_VMUX_DVB,
1365 .vmux = 0, 1365 .vmux = 0,
1366 },{ 1366 }, {
1367 .type = CX88_VMUX_COMPOSITE1, 1367 .type = CX88_VMUX_COMPOSITE1,
1368 .vmux = 1, 1368 .vmux = 1,
1369 }}, 1369 } },
1370 .mpeg = CX88_MPEG_DVB, 1370 .mpeg = CX88_MPEG_DVB,
1371 }, 1371 },
1372 [CX88_BOARD_HAUPPAUGE_HVR3000] = { 1372 [CX88_BOARD_HAUPPAUGE_HVR3000] = {
@@ -1377,25 +1377,25 @@ static const struct cx88_board cx88_boards[] = {
1377 .radio_addr = ADDR_UNSET, 1377 .radio_addr = ADDR_UNSET,
1378 .tda9887_conf = TDA9887_PRESENT, 1378 .tda9887_conf = TDA9887_PRESENT,
1379 .audio_chip = CX88_AUDIO_WM8775, 1379 .audio_chip = CX88_AUDIO_WM8775,
1380 .input = {{ 1380 .input = { {
1381 .type = CX88_VMUX_TELEVISION, 1381 .type = CX88_VMUX_TELEVISION,
1382 .vmux = 0, 1382 .vmux = 0,
1383 .gpio0 = 0x84bf, 1383 .gpio0 = 0x84bf,
1384 /* 1: TV Audio / FM Mono */ 1384 /* 1: TV Audio / FM Mono */
1385 .audioroute = 1, 1385 .audioroute = 1,
1386 },{ 1386 }, {
1387 .type = CX88_VMUX_COMPOSITE1, 1387 .type = CX88_VMUX_COMPOSITE1,
1388 .vmux = 1, 1388 .vmux = 1,
1389 .gpio0 = 0x84bf, 1389 .gpio0 = 0x84bf,
1390 /* 2: Line-In */ 1390 /* 2: Line-In */
1391 .audioroute = 2, 1391 .audioroute = 2,
1392 },{ 1392 }, {
1393 .type = CX88_VMUX_SVIDEO, 1393 .type = CX88_VMUX_SVIDEO,
1394 .vmux = 2, 1394 .vmux = 2,
1395 .gpio0 = 0x84bf, 1395 .gpio0 = 0x84bf,
1396 /* 2: Line-In */ 1396 /* 2: Line-In */
1397 .audioroute = 2, 1397 .audioroute = 2,
1398 }}, 1398 } },
1399 .radio = { 1399 .radio = {
1400 .type = CX88_RADIO, 1400 .type = CX88_RADIO,
1401 .gpio0 = 0x84bf, 1401 .gpio0 = 0x84bf,
@@ -1411,19 +1411,19 @@ static const struct cx88_board cx88_boards[] = {
1411 .radio_type = UNSET, 1411 .radio_type = UNSET,
1412 .tuner_addr = ADDR_UNSET, 1412 .tuner_addr = ADDR_UNSET,
1413 .radio_addr = ADDR_UNSET, 1413 .radio_addr = ADDR_UNSET,
1414 .input = {{ 1414 .input = { {
1415 .type = CX88_VMUX_TELEVISION, 1415 .type = CX88_VMUX_TELEVISION,
1416 .vmux = 0, 1416 .vmux = 0,
1417 .gpio0 = 0x0709, 1417 .gpio0 = 0x0709,
1418 },{ 1418 }, {
1419 .type = CX88_VMUX_COMPOSITE1, 1419 .type = CX88_VMUX_COMPOSITE1,
1420 .vmux = 1, 1420 .vmux = 1,
1421 .gpio0 = 0x070b, 1421 .gpio0 = 0x070b,
1422 },{ 1422 }, {
1423 .type = CX88_VMUX_SVIDEO, 1423 .type = CX88_VMUX_SVIDEO,
1424 .vmux = 2, 1424 .vmux = 2,
1425 .gpio0 = 0x070b, 1425 .gpio0 = 0x070b,
1426 }}, 1426 } },
1427 }, 1427 },
1428 [CX88_BOARD_TE_DTV_250_OEM_SWANN] = { 1428 [CX88_BOARD_TE_DTV_250_OEM_SWANN] = {
1429 .name = "Shenzhen Tungsten Ages Tech TE-DTV-250 / Swann OEM", 1429 .name = "Shenzhen Tungsten Ages Tech TE-DTV-250 / Swann OEM",
@@ -1431,28 +1431,28 @@ static const struct cx88_board cx88_boards[] = {
1431 .radio_type = UNSET, 1431 .radio_type = UNSET,
1432 .tuner_addr = ADDR_UNSET, 1432 .tuner_addr = ADDR_UNSET,
1433 .radio_addr = ADDR_UNSET, 1433 .radio_addr = ADDR_UNSET,
1434 .input = {{ 1434 .input = { {
1435 .type = CX88_VMUX_TELEVISION, 1435 .type = CX88_VMUX_TELEVISION,
1436 .vmux = 0, 1436 .vmux = 0,
1437 .gpio0 = 0x003fffff, 1437 .gpio0 = 0x003fffff,
1438 .gpio1 = 0x00e00000, 1438 .gpio1 = 0x00e00000,
1439 .gpio2 = 0x003fffff, 1439 .gpio2 = 0x003fffff,
1440 .gpio3 = 0x02000000, 1440 .gpio3 = 0x02000000,
1441 },{ 1441 }, {
1442 .type = CX88_VMUX_COMPOSITE1, 1442 .type = CX88_VMUX_COMPOSITE1,
1443 .vmux = 1, 1443 .vmux = 1,
1444 .gpio0 = 0x003fffff, 1444 .gpio0 = 0x003fffff,
1445 .gpio1 = 0x00e00000, 1445 .gpio1 = 0x00e00000,
1446 .gpio2 = 0x003fffff, 1446 .gpio2 = 0x003fffff,
1447 .gpio3 = 0x02000000, 1447 .gpio3 = 0x02000000,
1448 },{ 1448 }, {
1449 .type = CX88_VMUX_SVIDEO, 1449 .type = CX88_VMUX_SVIDEO,
1450 .vmux = 2, 1450 .vmux = 2,
1451 .gpio0 = 0x003fffff, 1451 .gpio0 = 0x003fffff,
1452 .gpio1 = 0x00e00000, 1452 .gpio1 = 0x00e00000,
1453 .gpio2 = 0x003fffff, 1453 .gpio2 = 0x003fffff,
1454 .gpio3 = 0x02000000, 1454 .gpio3 = 0x02000000,
1455 }}, 1455 } },
1456 }, 1456 },
1457 [CX88_BOARD_HAUPPAUGE_HVR1300] = { 1457 [CX88_BOARD_HAUPPAUGE_HVR1300] = {
1458 .name = "Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder", 1458 .name = "Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder",
@@ -1465,25 +1465,25 @@ static const struct cx88_board cx88_boards[] = {
1465 /* 1465 /*
1466 * gpio0 as reported by Mike Crash <mike AT mikecrash.com> 1466 * gpio0 as reported by Mike Crash <mike AT mikecrash.com>
1467 */ 1467 */
1468 .input = {{ 1468 .input = { {
1469 .type = CX88_VMUX_TELEVISION, 1469 .type = CX88_VMUX_TELEVISION,
1470 .vmux = 0, 1470 .vmux = 0,
1471 .gpio0 = 0xef88, 1471 .gpio0 = 0xef88,
1472 /* 1: TV Audio / FM Mono */ 1472 /* 1: TV Audio / FM Mono */
1473 .audioroute = 1, 1473 .audioroute = 1,
1474 },{ 1474 }, {
1475 .type = CX88_VMUX_COMPOSITE1, 1475 .type = CX88_VMUX_COMPOSITE1,
1476 .vmux = 1, 1476 .vmux = 1,
1477 .gpio0 = 0xef88, 1477 .gpio0 = 0xef88,
1478 /* 2: Line-In */ 1478 /* 2: Line-In */
1479 .audioroute = 2, 1479 .audioroute = 2,
1480 },{ 1480 }, {
1481 .type = CX88_VMUX_SVIDEO, 1481 .type = CX88_VMUX_SVIDEO,
1482 .vmux = 2, 1482 .vmux = 2,
1483 .gpio0 = 0xef88, 1483 .gpio0 = 0xef88,
1484 /* 2: Line-In */ 1484 /* 2: Line-In */
1485 .audioroute = 2, 1485 .audioroute = 2,
1486 }}, 1486 } },
1487 .mpeg = CX88_MPEG_DVB | CX88_MPEG_BLACKBIRD, 1487 .mpeg = CX88_MPEG_DVB | CX88_MPEG_BLACKBIRD,
1488 .radio = { 1488 .radio = {
1489 .type = CX88_RADIO, 1489 .type = CX88_RADIO,
@@ -1510,19 +1510,19 @@ static const struct cx88_board cx88_boards[] = {
1510 .radio_type = UNSET, 1510 .radio_type = UNSET,
1511 .tuner_addr = ADDR_UNSET, 1511 .tuner_addr = ADDR_UNSET,
1512 .radio_addr = ADDR_UNSET, 1512 .radio_addr = ADDR_UNSET,
1513 .input = {{ 1513 .input = { {
1514 .type = CX88_VMUX_DEBUG, 1514 .type = CX88_VMUX_DEBUG,
1515 .vmux = 3, 1515 .vmux = 3,
1516 .gpio0 = 0x04ff, 1516 .gpio0 = 0x04ff,
1517 },{ 1517 }, {
1518 .type = CX88_VMUX_COMPOSITE1, 1518 .type = CX88_VMUX_COMPOSITE1,
1519 .vmux = 1, 1519 .vmux = 1,
1520 .gpio0 = 0x07fa, 1520 .gpio0 = 0x07fa,
1521 },{ 1521 }, {
1522 .type = CX88_VMUX_SVIDEO, 1522 .type = CX88_VMUX_SVIDEO,
1523 .vmux = 2, 1523 .vmux = 2,
1524 .gpio0 = 0x07fa, 1524 .gpio0 = 0x07fa,
1525 }}, 1525 } },
1526 }, 1526 },
1527 [CX88_BOARD_PINNACLE_PCTV_HD_800i] = { 1527 [CX88_BOARD_PINNACLE_PCTV_HD_800i] = {
1528 .name = "Pinnacle PCTV HD 800i", 1528 .name = "Pinnacle PCTV HD 800i",
@@ -1530,24 +1530,24 @@ static const struct cx88_board cx88_boards[] = {
1530 .radio_type = UNSET, 1530 .radio_type = UNSET,
1531 .tuner_addr = ADDR_UNSET, 1531 .tuner_addr = ADDR_UNSET,
1532 .radio_addr = ADDR_UNSET, 1532 .radio_addr = ADDR_UNSET,
1533 .input = {{ 1533 .input = { {
1534 .type = CX88_VMUX_TELEVISION, 1534 .type = CX88_VMUX_TELEVISION,
1535 .vmux = 0, 1535 .vmux = 0,
1536 .gpio0 = 0x04fb, 1536 .gpio0 = 0x04fb,
1537 .gpio1 = 0x10ff, 1537 .gpio1 = 0x10ff,
1538 },{ 1538 }, {
1539 .type = CX88_VMUX_COMPOSITE1, 1539 .type = CX88_VMUX_COMPOSITE1,
1540 .vmux = 1, 1540 .vmux = 1,
1541 .gpio0 = 0x04fb, 1541 .gpio0 = 0x04fb,
1542 .gpio1 = 0x10ef, 1542 .gpio1 = 0x10ef,
1543 .audioroute = 1, 1543 .audioroute = 1,
1544 },{ 1544 }, {
1545 .type = CX88_VMUX_SVIDEO, 1545 .type = CX88_VMUX_SVIDEO,
1546 .vmux = 2, 1546 .vmux = 2,
1547 .gpio0 = 0x04fb, 1547 .gpio0 = 0x04fb,
1548 .gpio1 = 0x10ef, 1548 .gpio1 = 0x10ef,
1549 .audioroute = 1, 1549 .audioroute = 1,
1550 }}, 1550 } },
1551 .mpeg = CX88_MPEG_DVB, 1551 .mpeg = CX88_MPEG_DVB,
1552 }, 1552 },
1553 [CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO] = { 1553 [CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO] = {
@@ -1557,7 +1557,7 @@ static const struct cx88_board cx88_boards[] = {
1557 .radio_type = UNSET, 1557 .radio_type = UNSET,
1558 .tuner_addr = ADDR_UNSET, 1558 .tuner_addr = ADDR_UNSET,
1559 .radio_addr = ADDR_UNSET, 1559 .radio_addr = ADDR_UNSET,
1560 .input = {{ 1560 .input = { {
1561 .type = CX88_VMUX_TELEVISION, 1561 .type = CX88_VMUX_TELEVISION,
1562 .vmux = 0, 1562 .vmux = 0,
1563 .gpio0 = 0x000027df, /* Unconfirmed */ 1563 .gpio0 = 0x000027df, /* Unconfirmed */
@@ -1815,19 +1815,19 @@ static const struct cx88_board cx88_boards[] = {
1815 .radio_type = UNSET, 1815 .radio_type = UNSET,
1816 .tuner_addr = ADDR_UNSET, 1816 .tuner_addr = ADDR_UNSET,
1817 .radio_addr = ADDR_UNSET, 1817 .radio_addr = ADDR_UNSET,
1818 .input = {{ 1818 .input = { {
1819 .type = CX88_VMUX_TELEVISION, 1819 .type = CX88_VMUX_TELEVISION,
1820 .vmux = 0, 1820 .vmux = 0,
1821 .gpio0 = 0x10df, 1821 .gpio0 = 0x10df,
1822 },{ 1822 }, {
1823 .type = CX88_VMUX_COMPOSITE1, 1823 .type = CX88_VMUX_COMPOSITE1,
1824 .vmux = 1, 1824 .vmux = 1,
1825 .gpio0 = 0x16d9, 1825 .gpio0 = 0x16d9,
1826 },{ 1826 }, {
1827 .type = CX88_VMUX_SVIDEO, 1827 .type = CX88_VMUX_SVIDEO,
1828 .vmux = 2, 1828 .vmux = 2,
1829 .gpio0 = 0x16d9, 1829 .gpio0 = 0x16d9,
1830 }}, 1830 } },
1831 .mpeg = CX88_MPEG_DVB, 1831 .mpeg = CX88_MPEG_DVB,
1832 }, 1832 },
1833 [CX88_BOARD_PROLINK_PV_8000GT] = { 1833 [CX88_BOARD_PROLINK_PV_8000GT] = {
@@ -1967,7 +1967,7 @@ static const struct cx88_board cx88_boards[] = {
1967 * 3: Line-In Expansion 1967 * 3: Line-In Expansion
1968 * 4: FM Stereo 1968 * 4: FM Stereo
1969 */ 1969 */
1970 .input = {{ 1970 .input = { {
1971 .type = CX88_VMUX_TELEVISION, 1971 .type = CX88_VMUX_TELEVISION,
1972 .vmux = 0, 1972 .vmux = 0,
1973 .gpio0 = 0xc4bf, 1973 .gpio0 = 0xc4bf,
@@ -2001,7 +2001,7 @@ static const struct cx88_board cx88_boards[] = {
2001 .radio_type = UNSET, 2001 .radio_type = UNSET,
2002 .tuner_addr = ADDR_UNSET, 2002 .tuner_addr = ADDR_UNSET,
2003 .radio_addr = ADDR_UNSET, 2003 .radio_addr = ADDR_UNSET,
2004 .input = {{ 2004 .input = { {
2005 .type = CX88_VMUX_DVB, 2005 .type = CX88_VMUX_DVB,
2006 .vmux = 0, 2006 .vmux = 0,
2007 } }, 2007 } },
@@ -2013,7 +2013,7 @@ static const struct cx88_board cx88_boards[] = {
2013 .radio_type = UNSET, 2013 .radio_type = UNSET,
2014 .tuner_addr = ADDR_UNSET, 2014 .tuner_addr = ADDR_UNSET,
2015 .radio_addr = ADDR_UNSET, 2015 .radio_addr = ADDR_UNSET,
2016 .input = {{ 2016 .input = { {
2017 .type = CX88_VMUX_DVB, 2017 .type = CX88_VMUX_DVB,
2018 .vmux = 0, 2018 .vmux = 0,
2019 } }, 2019 } },
@@ -2025,7 +2025,7 @@ static const struct cx88_board cx88_boards[] = {
2025 .radio_type = UNSET, 2025 .radio_type = UNSET,
2026 .tuner_addr = ADDR_UNSET, 2026 .tuner_addr = ADDR_UNSET,
2027 .radio_addr = ADDR_UNSET, 2027 .radio_addr = ADDR_UNSET,
2028 .input = {{ 2028 .input = { {
2029 .type = CX88_VMUX_DVB, 2029 .type = CX88_VMUX_DVB,
2030 .vmux = 0, 2030 .vmux = 0,
2031 } }, 2031 } },
@@ -2037,7 +2037,7 @@ static const struct cx88_board cx88_boards[] = {
2037 .radio_type = UNSET, 2037 .radio_type = UNSET,
2038 .tuner_addr = ADDR_UNSET, 2038 .tuner_addr = ADDR_UNSET,
2039 .radio_addr = ADDR_UNSET, 2039 .radio_addr = ADDR_UNSET,
2040 .input = {{ 2040 .input = { {
2041 .type = CX88_VMUX_DVB, 2041 .type = CX88_VMUX_DVB,
2042 .vmux = 0, 2042 .vmux = 0,
2043 } }, 2043 } },
@@ -2049,7 +2049,7 @@ static const struct cx88_board cx88_boards[] = {
2049 .radio_type = UNSET, 2049 .radio_type = UNSET,
2050 .tuner_addr = ADDR_UNSET, 2050 .tuner_addr = ADDR_UNSET,
2051 .radio_addr = ADDR_UNSET, 2051 .radio_addr = ADDR_UNSET,
2052 .input = {{ 2052 .input = { {
2053 .type = CX88_VMUX_DVB, 2053 .type = CX88_VMUX_DVB,
2054 .vmux = 0, 2054 .vmux = 0,
2055 } }, 2055 } },
@@ -2061,7 +2061,7 @@ static const struct cx88_board cx88_boards[] = {
2061 .radio_type = UNSET, 2061 .radio_type = UNSET,
2062 .tuner_addr = ADDR_UNSET, 2062 .tuner_addr = ADDR_UNSET,
2063 .radio_addr = ADDR_UNSET, 2063 .radio_addr = ADDR_UNSET,
2064 .input = {{ 2064 .input = { {
2065 .type = CX88_VMUX_DVB, 2065 .type = CX88_VMUX_DVB,
2066 .vmux = 0, 2066 .vmux = 0,
2067 } }, 2067 } },
@@ -2073,7 +2073,7 @@ static const struct cx88_board cx88_boards[] = {
2073 .radio_type = UNSET, 2073 .radio_type = UNSET,
2074 .tuner_addr = ADDR_UNSET, 2074 .tuner_addr = ADDR_UNSET,
2075 .radio_addr = ADDR_UNSET, 2075 .radio_addr = ADDR_UNSET,
2076 .input = {{ 2076 .input = { {
2077 .type = CX88_VMUX_DVB, 2077 .type = CX88_VMUX_DVB,
2078 .vmux = 0, 2078 .vmux = 0,
2079 .gpio0 = 0x8080, 2079 .gpio0 = 0x8080,
@@ -2086,7 +2086,7 @@ static const struct cx88_board cx88_boards[] = {
2086 .radio_type = UNSET, 2086 .radio_type = UNSET,
2087 .tuner_addr = ADDR_UNSET, 2087 .tuner_addr = ADDR_UNSET,
2088 .radio_addr = ADDR_UNSET, 2088 .radio_addr = ADDR_UNSET,
2089 .input = {{ 2089 .input = { {
2090 .type = CX88_VMUX_DVB, 2090 .type = CX88_VMUX_DVB,
2091 .vmux = 0, 2091 .vmux = 0,
2092 } }, 2092 } },
@@ -2098,7 +2098,7 @@ static const struct cx88_board cx88_boards[] = {
2098 .radio_type = UNSET, 2098 .radio_type = UNSET,
2099 .tuner_addr = ADDR_UNSET, 2099 .tuner_addr = ADDR_UNSET,
2100 .radio_addr = ADDR_UNSET, 2100 .radio_addr = ADDR_UNSET,
2101 .input = {{ 2101 .input = { {
2102 .type = CX88_VMUX_DVB, 2102 .type = CX88_VMUX_DVB,
2103 .vmux = 0, 2103 .vmux = 0,
2104 } }, 2104 } },
@@ -2110,7 +2110,7 @@ static const struct cx88_board cx88_boards[] = {
2110 .radio_type = UNSET, 2110 .radio_type = UNSET,
2111 .tuner_addr = ADDR_UNSET, 2111 .tuner_addr = ADDR_UNSET,
2112 .radio_addr = ADDR_UNSET, 2112 .radio_addr = ADDR_UNSET,
2113 .input = {{ 2113 .input = { {
2114 .type = CX88_VMUX_DVB, 2114 .type = CX88_VMUX_DVB,
2115 .vmux = 0, 2115 .vmux = 0,
2116 } }, 2116 } },
@@ -2170,7 +2170,7 @@ static const struct cx88_board cx88_boards[] = {
2170 * 13: audio source (0=tuner audio,1=line in) 2170 * 13: audio source (0=tuner audio,1=line in)
2171 * 14: FM (0=on,1=off ???) 2171 * 14: FM (0=on,1=off ???)
2172 */ 2172 */
2173 .input = {{ 2173 .input = { {
2174 .type = CX88_VMUX_TELEVISION, 2174 .type = CX88_VMUX_TELEVISION,
2175 .vmux = 0, 2175 .vmux = 0,
2176 .gpio0 = 0x0400, /* pin 2 = 0 */ 2176 .gpio0 = 0x0400, /* pin 2 = 0 */
@@ -2211,7 +2211,7 @@ static const struct cx88_board cx88_boards[] = {
2211 * 13: audio source (0=tuner audio,1=line in) 2211 * 13: audio source (0=tuner audio,1=line in)
2212 * 14: FM (0=on,1=off ???) 2212 * 14: FM (0=on,1=off ???)
2213 */ 2213 */
2214 .input = {{ 2214 .input = { {
2215 .type = CX88_VMUX_TELEVISION, 2215 .type = CX88_VMUX_TELEVISION,
2216 .vmux = 0, 2216 .vmux = 0,
2217 .gpio0 = 0x0400, /* pin 2 = 0 */ 2217 .gpio0 = 0x0400, /* pin 2 = 0 */
@@ -2229,7 +2229,7 @@ static const struct cx88_board cx88_boards[] = {
2229 .gpio0 = 0x0400, /* pin 2 = 0 */ 2229 .gpio0 = 0x0400, /* pin 2 = 0 */
2230 .gpio1 = 0x6060, /* pin 13 = 1, pin 14 = 1 */ 2230 .gpio1 = 0x6060, /* pin 13 = 1, pin 14 = 1 */
2231 .gpio2 = 0x0000, 2231 .gpio2 = 0x0000,
2232 }}, 2232 } },
2233 .radio = { 2233 .radio = {
2234 .type = CX88_RADIO, 2234 .type = CX88_RADIO,
2235 .gpio0 = 0x0400, /* pin 2 = 0 */ 2235 .gpio0 = 0x0400, /* pin 2 = 0 */
@@ -2252,7 +2252,7 @@ static const struct cx88_board cx88_boards[] = {
2252 * 14: 0: FM radio 2252 * 14: 0: FM radio
2253 * 16: 0: RF input is cable 2253 * 16: 0: RF input is cable
2254 */ 2254 */
2255 .input = {{ 2255 .input = { {
2256 .type = CX88_VMUX_TELEVISION, 2256 .type = CX88_VMUX_TELEVISION,
2257 .vmux = 0, 2257 .vmux = 0,
2258 .gpio0 = 0x0403, 2258 .gpio0 = 0x0403,
@@ -2280,7 +2280,7 @@ static const struct cx88_board cx88_boards[] = {
2280 .gpio1 = 0xF0F7, 2280 .gpio1 = 0xF0F7,
2281 .gpio2 = 0x0101, 2281 .gpio2 = 0x0101,
2282 .gpio3 = 0x0000, 2282 .gpio3 = 0x0000,
2283 }}, 2283 } },
2284 .radio = { 2284 .radio = {
2285 .type = CX88_RADIO, 2285 .type = CX88_RADIO,
2286 .gpio0 = 0x0403, 2286 .gpio0 = 0x0403,
@@ -2308,7 +2308,7 @@ static const struct cx88_board cx88_boards[] = {
2308 .radio_type = UNSET, 2308 .radio_type = UNSET,
2309 .tuner_addr = ADDR_UNSET, 2309 .tuner_addr = ADDR_UNSET,
2310 .radio_addr = ADDR_UNSET, 2310 .radio_addr = ADDR_UNSET,
2311 .input = {{ 2311 .input = { {
2312 .type = CX88_VMUX_DVB, 2312 .type = CX88_VMUX_DVB,
2313 .vmux = 0, 2313 .vmux = 0,
2314 } }, 2314 } },
@@ -2324,19 +2324,19 @@ static const struct cx88_subid cx88_subids[] = {
2324 .subvendor = 0x0070, 2324 .subvendor = 0x0070,
2325 .subdevice = 0x3400, 2325 .subdevice = 0x3400,
2326 .card = CX88_BOARD_HAUPPAUGE, 2326 .card = CX88_BOARD_HAUPPAUGE,
2327 },{ 2327 }, {
2328 .subvendor = 0x0070, 2328 .subvendor = 0x0070,
2329 .subdevice = 0x3401, 2329 .subdevice = 0x3401,
2330 .card = CX88_BOARD_HAUPPAUGE, 2330 .card = CX88_BOARD_HAUPPAUGE,
2331 },{ 2331 }, {
2332 .subvendor = 0x14c7, 2332 .subvendor = 0x14c7,
2333 .subdevice = 0x0106, 2333 .subdevice = 0x0106,
2334 .card = CX88_BOARD_GDI, 2334 .card = CX88_BOARD_GDI,
2335 },{ 2335 }, {
2336 .subvendor = 0x14c7, 2336 .subvendor = 0x14c7,
2337 .subdevice = 0x0107, /* with mpeg encoder */ 2337 .subdevice = 0x0107, /* with mpeg encoder */
2338 .card = CX88_BOARD_GDI, 2338 .card = CX88_BOARD_GDI,
2339 },{ 2339 }, {
2340 .subvendor = PCI_VENDOR_ID_ATI, 2340 .subvendor = PCI_VENDOR_ID_ATI,
2341 .subdevice = 0x00f8, 2341 .subdevice = 0x00f8,
2342 .card = CX88_BOARD_ATI_WONDER_PRO, 2342 .card = CX88_BOARD_ATI_WONDER_PRO,
@@ -2348,176 +2348,176 @@ static const struct cx88_subid cx88_subids[] = {
2348 .subvendor = 0x107d, 2348 .subvendor = 0x107d,
2349 .subdevice = 0x6611, 2349 .subdevice = 0x6611,
2350 .card = CX88_BOARD_WINFAST2000XP_EXPERT, 2350 .card = CX88_BOARD_WINFAST2000XP_EXPERT,
2351 },{ 2351 }, {
2352 .subvendor = 0x107d, 2352 .subvendor = 0x107d,
2353 .subdevice = 0x6613, /* NTSC */ 2353 .subdevice = 0x6613, /* NTSC */
2354 .card = CX88_BOARD_WINFAST2000XP_EXPERT, 2354 .card = CX88_BOARD_WINFAST2000XP_EXPERT,
2355 },{ 2355 }, {
2356 .subvendor = 0x107d, 2356 .subvendor = 0x107d,
2357 .subdevice = 0x6620, 2357 .subdevice = 0x6620,
2358 .card = CX88_BOARD_WINFAST_DV2000, 2358 .card = CX88_BOARD_WINFAST_DV2000,
2359 },{ 2359 }, {
2360 .subvendor = 0x107d, 2360 .subvendor = 0x107d,
2361 .subdevice = 0x663b, 2361 .subdevice = 0x663b,
2362 .card = CX88_BOARD_LEADTEK_PVR2000, 2362 .card = CX88_BOARD_LEADTEK_PVR2000,
2363 },{ 2363 }, {
2364 .subvendor = 0x107d, 2364 .subvendor = 0x107d,
2365 .subdevice = 0x663c, 2365 .subdevice = 0x663c,
2366 .card = CX88_BOARD_LEADTEK_PVR2000, 2366 .card = CX88_BOARD_LEADTEK_PVR2000,
2367 },{ 2367 }, {
2368 .subvendor = 0x1461, 2368 .subvendor = 0x1461,
2369 .subdevice = 0x000b, 2369 .subdevice = 0x000b,
2370 .card = CX88_BOARD_AVERTV_STUDIO_303, 2370 .card = CX88_BOARD_AVERTV_STUDIO_303,
2371 },{ 2371 }, {
2372 .subvendor = 0x1462, 2372 .subvendor = 0x1462,
2373 .subdevice = 0x8606, 2373 .subdevice = 0x8606,
2374 .card = CX88_BOARD_MSI_TVANYWHERE_MASTER, 2374 .card = CX88_BOARD_MSI_TVANYWHERE_MASTER,
2375 },{ 2375 }, {
2376 .subvendor = 0x10fc, 2376 .subvendor = 0x10fc,
2377 .subdevice = 0xd003, 2377 .subdevice = 0xd003,
2378 .card = CX88_BOARD_IODATA_GVVCP3PCI, 2378 .card = CX88_BOARD_IODATA_GVVCP3PCI,
2379 },{ 2379 }, {
2380 .subvendor = 0x1043, 2380 .subvendor = 0x1043,
2381 .subdevice = 0x4823, /* with mpeg encoder */ 2381 .subdevice = 0x4823, /* with mpeg encoder */
2382 .card = CX88_BOARD_ASUS_PVR_416, 2382 .card = CX88_BOARD_ASUS_PVR_416,
2383 },{ 2383 }, {
2384 .subvendor = 0x17de, 2384 .subvendor = 0x17de,
2385 .subdevice = 0x08a6, 2385 .subdevice = 0x08a6,
2386 .card = CX88_BOARD_KWORLD_DVB_T, 2386 .card = CX88_BOARD_KWORLD_DVB_T,
2387 },{ 2387 }, {
2388 .subvendor = 0x18ac, 2388 .subvendor = 0x18ac,
2389 .subdevice = 0xd810, 2389 .subdevice = 0xd810,
2390 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q, 2390 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q,
2391 },{ 2391 }, {
2392 .subvendor = 0x18ac, 2392 .subvendor = 0x18ac,
2393 .subdevice = 0xd820, 2393 .subdevice = 0xd820,
2394 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T, 2394 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T,
2395 },{ 2395 }, {
2396 .subvendor = 0x18ac, 2396 .subvendor = 0x18ac,
2397 .subdevice = 0xdb00, 2397 .subdevice = 0xdb00,
2398 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1, 2398 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1,
2399 },{ 2399 }, {
2400 .subvendor = 0x0070, 2400 .subvendor = 0x0070,
2401 .subdevice = 0x9002, 2401 .subdevice = 0x9002,
2402 .card = CX88_BOARD_HAUPPAUGE_DVB_T1, 2402 .card = CX88_BOARD_HAUPPAUGE_DVB_T1,
2403 },{ 2403 }, {
2404 .subvendor = 0x14f1, 2404 .subvendor = 0x14f1,
2405 .subdevice = 0x0187, 2405 .subdevice = 0x0187,
2406 .card = CX88_BOARD_CONEXANT_DVB_T1, 2406 .card = CX88_BOARD_CONEXANT_DVB_T1,
2407 },{ 2407 }, {
2408 .subvendor = 0x1540, 2408 .subvendor = 0x1540,
2409 .subdevice = 0x2580, 2409 .subdevice = 0x2580,
2410 .card = CX88_BOARD_PROVIDEO_PV259, 2410 .card = CX88_BOARD_PROVIDEO_PV259,
2411 },{ 2411 }, {
2412 .subvendor = 0x18ac, 2412 .subvendor = 0x18ac,
2413 .subdevice = 0xdb10, 2413 .subdevice = 0xdb10,
2414 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS, 2414 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS,
2415 },{ 2415 }, {
2416 .subvendor = 0x1554, 2416 .subvendor = 0x1554,
2417 .subdevice = 0x4811, 2417 .subdevice = 0x4811,
2418 .card = CX88_BOARD_PIXELVIEW, 2418 .card = CX88_BOARD_PIXELVIEW,
2419 },{ 2419 }, {
2420 .subvendor = 0x7063, 2420 .subvendor = 0x7063,
2421 .subdevice = 0x3000, /* HD-3000 card */ 2421 .subdevice = 0x3000, /* HD-3000 card */
2422 .card = CX88_BOARD_PCHDTV_HD3000, 2422 .card = CX88_BOARD_PCHDTV_HD3000,
2423 },{ 2423 }, {
2424 .subvendor = 0x17de, 2424 .subvendor = 0x17de,
2425 .subdevice = 0xa8a6, 2425 .subdevice = 0xa8a6,
2426 .card = CX88_BOARD_DNTV_LIVE_DVB_T, 2426 .card = CX88_BOARD_DNTV_LIVE_DVB_T,
2427 },{ 2427 }, {
2428 .subvendor = 0x0070, 2428 .subvendor = 0x0070,
2429 .subdevice = 0x2801, 2429 .subdevice = 0x2801,
2430 .card = CX88_BOARD_HAUPPAUGE_ROSLYN, 2430 .card = CX88_BOARD_HAUPPAUGE_ROSLYN,
2431 },{ 2431 }, {
2432 .subvendor = 0x14f1, 2432 .subvendor = 0x14f1,
2433 .subdevice = 0x0342, 2433 .subdevice = 0x0342,
2434 .card = CX88_BOARD_DIGITALLOGIC_MEC, 2434 .card = CX88_BOARD_DIGITALLOGIC_MEC,
2435 },{ 2435 }, {
2436 .subvendor = 0x10fc, 2436 .subvendor = 0x10fc,
2437 .subdevice = 0xd035, 2437 .subdevice = 0xd035,
2438 .card = CX88_BOARD_IODATA_GVBCTV7E, 2438 .card = CX88_BOARD_IODATA_GVBCTV7E,
2439 },{ 2439 }, {
2440 .subvendor = 0x1421, 2440 .subvendor = 0x1421,
2441 .subdevice = 0x0334, 2441 .subdevice = 0x0334,
2442 .card = CX88_BOARD_ADSTECH_DVB_T_PCI, 2442 .card = CX88_BOARD_ADSTECH_DVB_T_PCI,
2443 },{ 2443 }, {
2444 .subvendor = 0x153b, 2444 .subvendor = 0x153b,
2445 .subdevice = 0x1166, 2445 .subdevice = 0x1166,
2446 .card = CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1, 2446 .card = CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1,
2447 },{ 2447 }, {
2448 .subvendor = 0x18ac, 2448 .subvendor = 0x18ac,
2449 .subdevice = 0xd500, 2449 .subdevice = 0xd500,
2450 .card = CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD, 2450 .card = CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD,
2451 },{ 2451 }, {
2452 .subvendor = 0x1461, 2452 .subvendor = 0x1461,
2453 .subdevice = 0x8011, 2453 .subdevice = 0x8011,
2454 .card = CX88_BOARD_AVERMEDIA_ULTRATV_MC_550, 2454 .card = CX88_BOARD_AVERMEDIA_ULTRATV_MC_550,
2455 },{ 2455 }, {
2456 .subvendor = PCI_VENDOR_ID_ATI, 2456 .subvendor = PCI_VENDOR_ID_ATI,
2457 .subdevice = 0xa101, 2457 .subdevice = 0xa101,
2458 .card = CX88_BOARD_ATI_HDTVWONDER, 2458 .card = CX88_BOARD_ATI_HDTVWONDER,
2459 },{ 2459 }, {
2460 .subvendor = 0x107d, 2460 .subvendor = 0x107d,
2461 .subdevice = 0x665f, 2461 .subdevice = 0x665f,
2462 .card = CX88_BOARD_WINFAST_DTV1000, 2462 .card = CX88_BOARD_WINFAST_DTV1000,
2463 },{ 2463 }, {
2464 .subvendor = 0x1461, 2464 .subvendor = 0x1461,
2465 .subdevice = 0x000a, 2465 .subdevice = 0x000a,
2466 .card = CX88_BOARD_AVERTV_303, 2466 .card = CX88_BOARD_AVERTV_303,
2467 },{ 2467 }, {
2468 .subvendor = 0x0070, 2468 .subvendor = 0x0070,
2469 .subdevice = 0x9200, 2469 .subdevice = 0x9200,
2470 .card = CX88_BOARD_HAUPPAUGE_NOVASE2_S1, 2470 .card = CX88_BOARD_HAUPPAUGE_NOVASE2_S1,
2471 },{ 2471 }, {
2472 .subvendor = 0x0070, 2472 .subvendor = 0x0070,
2473 .subdevice = 0x9201, 2473 .subdevice = 0x9201,
2474 .card = CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1, 2474 .card = CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1,
2475 },{ 2475 }, {
2476 .subvendor = 0x0070, 2476 .subvendor = 0x0070,
2477 .subdevice = 0x9202, 2477 .subdevice = 0x9202,
2478 .card = CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1, 2478 .card = CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1,
2479 },{ 2479 }, {
2480 .subvendor = 0x17de, 2480 .subvendor = 0x17de,
2481 .subdevice = 0x08b2, 2481 .subdevice = 0x08b2,
2482 .card = CX88_BOARD_KWORLD_DVBS_100, 2482 .card = CX88_BOARD_KWORLD_DVBS_100,
2483 },{ 2483 }, {
2484 .subvendor = 0x0070, 2484 .subvendor = 0x0070,
2485 .subdevice = 0x9400, 2485 .subdevice = 0x9400,
2486 .card = CX88_BOARD_HAUPPAUGE_HVR1100, 2486 .card = CX88_BOARD_HAUPPAUGE_HVR1100,
2487 },{ 2487 }, {
2488 .subvendor = 0x0070, 2488 .subvendor = 0x0070,
2489 .subdevice = 0x9402, 2489 .subdevice = 0x9402,
2490 .card = CX88_BOARD_HAUPPAUGE_HVR1100, 2490 .card = CX88_BOARD_HAUPPAUGE_HVR1100,
2491 },{ 2491 }, {
2492 .subvendor = 0x0070, 2492 .subvendor = 0x0070,
2493 .subdevice = 0x9800, 2493 .subdevice = 0x9800,
2494 .card = CX88_BOARD_HAUPPAUGE_HVR1100LP, 2494 .card = CX88_BOARD_HAUPPAUGE_HVR1100LP,
2495 },{ 2495 }, {
2496 .subvendor = 0x0070, 2496 .subvendor = 0x0070,
2497 .subdevice = 0x9802, 2497 .subdevice = 0x9802,
2498 .card = CX88_BOARD_HAUPPAUGE_HVR1100LP, 2498 .card = CX88_BOARD_HAUPPAUGE_HVR1100LP,
2499 },{ 2499 }, {
2500 .subvendor = 0x0070, 2500 .subvendor = 0x0070,
2501 .subdevice = 0x9001, 2501 .subdevice = 0x9001,
2502 .card = CX88_BOARD_HAUPPAUGE_DVB_T1, 2502 .card = CX88_BOARD_HAUPPAUGE_DVB_T1,
2503 },{ 2503 }, {
2504 .subvendor = 0x1822, 2504 .subvendor = 0x1822,
2505 .subdevice = 0x0025, 2505 .subdevice = 0x0025,
2506 .card = CX88_BOARD_DNTV_LIVE_DVB_T_PRO, 2506 .card = CX88_BOARD_DNTV_LIVE_DVB_T_PRO,
2507 },{ 2507 }, {
2508 .subvendor = 0x17de, 2508 .subvendor = 0x17de,
2509 .subdevice = 0x08a1, 2509 .subdevice = 0x08a1,
2510 .card = CX88_BOARD_KWORLD_DVB_T_CX22702, 2510 .card = CX88_BOARD_KWORLD_DVB_T_CX22702,
2511 },{ 2511 }, {
2512 .subvendor = 0x18ac, 2512 .subvendor = 0x18ac,
2513 .subdevice = 0xdb50, 2513 .subdevice = 0xdb50,
2514 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL, 2514 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL,
2515 },{ 2515 }, {
2516 .subvendor = 0x18ac, 2516 .subvendor = 0x18ac,
2517 .subdevice = 0xdb54, 2517 .subdevice = 0xdb54,
2518 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL, 2518 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL,
2519 /* Re-branded DViCO: DigitalNow DVB-T Dual */ 2519 /* Re-branded DViCO: DigitalNow DVB-T Dual */
2520 },{ 2520 }, {
2521 .subvendor = 0x18ac, 2521 .subvendor = 0x18ac,
2522 .subdevice = 0xdb11, 2522 .subdevice = 0xdb11,
2523 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS, 2523 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS,
@@ -2530,55 +2530,55 @@ static const struct cx88_subid cx88_subids[] = {
2530 .subvendor = 0x17de, 2530 .subvendor = 0x17de,
2531 .subdevice = 0x0840, 2531 .subdevice = 0x0840,
2532 .card = CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT, 2532 .card = CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT,
2533 },{ 2533 }, {
2534 .subvendor = 0x1421, 2534 .subvendor = 0x1421,
2535 .subdevice = 0x0305, 2535 .subdevice = 0x0305,
2536 .card = CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT, 2536 .card = CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT,
2537 },{ 2537 }, {
2538 .subvendor = 0x18ac, 2538 .subvendor = 0x18ac,
2539 .subdevice = 0xdb40, 2539 .subdevice = 0xdb40,
2540 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID, 2540 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID,
2541 },{ 2541 }, {
2542 .subvendor = 0x18ac, 2542 .subvendor = 0x18ac,
2543 .subdevice = 0xdb44, 2543 .subdevice = 0xdb44,
2544 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID, 2544 .card = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID,
2545 },{ 2545 }, {
2546 .subvendor = 0x7063, 2546 .subvendor = 0x7063,
2547 .subdevice = 0x5500, 2547 .subdevice = 0x5500,
2548 .card = CX88_BOARD_PCHDTV_HD5500, 2548 .card = CX88_BOARD_PCHDTV_HD5500,
2549 },{ 2549 }, {
2550 .subvendor = 0x17de, 2550 .subvendor = 0x17de,
2551 .subdevice = 0x0841, 2551 .subdevice = 0x0841,
2552 .card = CX88_BOARD_KWORLD_MCE200_DELUXE, 2552 .card = CX88_BOARD_KWORLD_MCE200_DELUXE,
2553 },{ 2553 }, {
2554 .subvendor = 0x1822, 2554 .subvendor = 0x1822,
2555 .subdevice = 0x0019, 2555 .subdevice = 0x0019,
2556 .card = CX88_BOARD_DNTV_LIVE_DVB_T_PRO, 2556 .card = CX88_BOARD_DNTV_LIVE_DVB_T_PRO,
2557 },{ 2557 }, {
2558 .subvendor = 0x1554, 2558 .subvendor = 0x1554,
2559 .subdevice = 0x4813, 2559 .subdevice = 0x4813,
2560 .card = CX88_BOARD_PIXELVIEW_PLAYTV_P7000, 2560 .card = CX88_BOARD_PIXELVIEW_PLAYTV_P7000,
2561 },{ 2561 }, {
2562 .subvendor = 0x14f1, 2562 .subvendor = 0x14f1,
2563 .subdevice = 0x0842, 2563 .subdevice = 0x0842,
2564 .card = CX88_BOARD_NPGTECH_REALTV_TOP10FM, 2564 .card = CX88_BOARD_NPGTECH_REALTV_TOP10FM,
2565 },{ 2565 }, {
2566 .subvendor = 0x107d, 2566 .subvendor = 0x107d,
2567 .subdevice = 0x665e, 2567 .subdevice = 0x665e,
2568 .card = CX88_BOARD_WINFAST_DTV2000H, 2568 .card = CX88_BOARD_WINFAST_DTV2000H,
2569 },{ 2569 }, {
2570 .subvendor = 0x107d, 2570 .subvendor = 0x107d,
2571 .subdevice = 0x6f2b, 2571 .subdevice = 0x6f2b,
2572 .card = CX88_BOARD_WINFAST_DTV2000H_J, 2572 .card = CX88_BOARD_WINFAST_DTV2000H_J,
2573 },{ 2573 }, {
2574 .subvendor = 0x18ac, 2574 .subvendor = 0x18ac,
2575 .subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */ 2575 .subdevice = 0xd800, /* FusionHDTV 3 Gold (original revision) */
2576 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q, 2576 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q,
2577 },{ 2577 }, {
2578 .subvendor = 0x14f1, 2578 .subvendor = 0x14f1,
2579 .subdevice = 0x0084, 2579 .subdevice = 0x0084,
2580 .card = CX88_BOARD_GENIATECH_DVBS, 2580 .card = CX88_BOARD_GENIATECH_DVBS,
2581 },{ 2581 }, {
2582 .subvendor = 0x0070, 2582 .subvendor = 0x0070,
2583 .subdevice = 0x1404, 2583 .subdevice = 0x1404,
2584 .card = CX88_BOARD_HAUPPAUGE_HVR3000, 2584 .card = CX88_BOARD_HAUPPAUGE_HVR3000,
@@ -2590,60 +2590,60 @@ static const struct cx88_subid cx88_subids[] = {
2590 .subvendor = 0x18ac, 2590 .subvendor = 0x18ac,
2591 .subdevice = 0xdccd, 2591 .subdevice = 0xdccd,
2592 .card = CX88_BOARD_SAMSUNG_SMT_7020, 2592 .card = CX88_BOARD_SAMSUNG_SMT_7020,
2593 },{ 2593 }, {
2594 .subvendor = 0x1461, 2594 .subvendor = 0x1461,
2595 .subdevice = 0xc111, /* AverMedia M150-D */ 2595 .subdevice = 0xc111, /* AverMedia M150-D */
2596 /* This board is known to work with the ASUS PVR416 config */ 2596 /* This board is known to work with the ASUS PVR416 config */
2597 .card = CX88_BOARD_ASUS_PVR_416, 2597 .card = CX88_BOARD_ASUS_PVR_416,
2598 },{ 2598 }, {
2599 .subvendor = 0xc180, 2599 .subvendor = 0xc180,
2600 .subdevice = 0xc980, 2600 .subdevice = 0xc980,
2601 .card = CX88_BOARD_TE_DTV_250_OEM_SWANN, 2601 .card = CX88_BOARD_TE_DTV_250_OEM_SWANN,
2602 },{ 2602 }, {
2603 .subvendor = 0x0070, 2603 .subvendor = 0x0070,
2604 .subdevice = 0x9600, 2604 .subdevice = 0x9600,
2605 .card = CX88_BOARD_HAUPPAUGE_HVR1300, 2605 .card = CX88_BOARD_HAUPPAUGE_HVR1300,
2606 },{ 2606 }, {
2607 .subvendor = 0x0070, 2607 .subvendor = 0x0070,
2608 .subdevice = 0x9601, 2608 .subdevice = 0x9601,
2609 .card = CX88_BOARD_HAUPPAUGE_HVR1300, 2609 .card = CX88_BOARD_HAUPPAUGE_HVR1300,
2610 },{ 2610 }, {
2611 .subvendor = 0x0070, 2611 .subvendor = 0x0070,
2612 .subdevice = 0x9602, 2612 .subdevice = 0x9602,
2613 .card = CX88_BOARD_HAUPPAUGE_HVR1300, 2613 .card = CX88_BOARD_HAUPPAUGE_HVR1300,
2614 },{ 2614 }, {
2615 .subvendor = 0x107d, 2615 .subvendor = 0x107d,
2616 .subdevice = 0x6632, 2616 .subdevice = 0x6632,
2617 .card = CX88_BOARD_LEADTEK_PVR2000, 2617 .card = CX88_BOARD_LEADTEK_PVR2000,
2618 },{ 2618 }, {
2619 .subvendor = 0x12ab, 2619 .subvendor = 0x12ab,
2620 .subdevice = 0x2300, /* Club3D Zap TV2100 */ 2620 .subdevice = 0x2300, /* Club3D Zap TV2100 */
2621 .card = CX88_BOARD_KWORLD_DVB_T_CX22702, 2621 .card = CX88_BOARD_KWORLD_DVB_T_CX22702,
2622 },{ 2622 }, {
2623 .subvendor = 0x0070, 2623 .subvendor = 0x0070,
2624 .subdevice = 0x9000, 2624 .subdevice = 0x9000,
2625 .card = CX88_BOARD_HAUPPAUGE_DVB_T1, 2625 .card = CX88_BOARD_HAUPPAUGE_DVB_T1,
2626 },{ 2626 }, {
2627 .subvendor = 0x0070, 2627 .subvendor = 0x0070,
2628 .subdevice = 0x1400, 2628 .subdevice = 0x1400,
2629 .card = CX88_BOARD_HAUPPAUGE_HVR3000, 2629 .card = CX88_BOARD_HAUPPAUGE_HVR3000,
2630 },{ 2630 }, {
2631 .subvendor = 0x0070, 2631 .subvendor = 0x0070,
2632 .subdevice = 0x1401, 2632 .subdevice = 0x1401,
2633 .card = CX88_BOARD_HAUPPAUGE_HVR3000, 2633 .card = CX88_BOARD_HAUPPAUGE_HVR3000,
2634 },{ 2634 }, {
2635 .subvendor = 0x0070, 2635 .subvendor = 0x0070,
2636 .subdevice = 0x1402, 2636 .subdevice = 0x1402,
2637 .card = CX88_BOARD_HAUPPAUGE_HVR3000, 2637 .card = CX88_BOARD_HAUPPAUGE_HVR3000,
2638 },{ 2638 }, {
2639 .subvendor = 0x1421, 2639 .subvendor = 0x1421,
2640 .subdevice = 0x0341, /* ADS Tech InstantTV DVB-S */ 2640 .subdevice = 0x0341, /* ADS Tech InstantTV DVB-S */
2641 .card = CX88_BOARD_KWORLD_DVBS_100, 2641 .card = CX88_BOARD_KWORLD_DVBS_100,
2642 },{ 2642 }, {
2643 .subvendor = 0x1421, 2643 .subvendor = 0x1421,
2644 .subdevice = 0x0390, 2644 .subdevice = 0x0390,
2645 .card = CX88_BOARD_ADSTECH_PTV_390, 2645 .card = CX88_BOARD_ADSTECH_PTV_390,
2646 },{ 2646 }, {
2647 .subvendor = 0x11bd, 2647 .subvendor = 0x11bd,
2648 .subdevice = 0x0051, 2648 .subdevice = 0x0051,
2649 .card = CX88_BOARD_PINNACLE_PCTV_HD_800i, 2649 .card = CX88_BOARD_PINNACLE_PCTV_HD_800i,