aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx88/cx88-cards.c')
-rw-r--r--drivers/media/video/cx88/cx88-cards.c310
1 files changed, 253 insertions, 57 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 367624822d77..ebf02a7f81e8 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * $Id: cx88-cards.c,v 1.66 2005/03/04 09:12:23 kraxel Exp $ 2 * $Id: cx88-cards.c,v 1.90 2005/07/28 02:47:42 mkrufky Exp $
3 * 3 *
4 * device driver for Conexant 2388x based TV cards 4 * device driver for Conexant 2388x based TV cards
5 * card-specific stuff. 5 * card-specific stuff.
@@ -35,6 +35,9 @@ struct cx88_board cx88_boards[] = {
35 [CX88_BOARD_UNKNOWN] = { 35 [CX88_BOARD_UNKNOWN] = {
36 .name = "UNKNOWN/GENERIC", 36 .name = "UNKNOWN/GENERIC",
37 .tuner_type = UNSET, 37 .tuner_type = UNSET,
38 .radio_type = UNSET,
39 .tuner_addr = ADDR_UNSET,
40 .radio_addr = ADDR_UNSET,
38 .input = {{ 41 .input = {{
39 .type = CX88_VMUX_COMPOSITE1, 42 .type = CX88_VMUX_COMPOSITE1,
40 .vmux = 0, 43 .vmux = 0,
@@ -52,6 +55,9 @@ struct cx88_board cx88_boards[] = {
52 [CX88_BOARD_HAUPPAUGE] = { 55 [CX88_BOARD_HAUPPAUGE] = {
53 .name = "Hauppauge WinTV 34xxx models", 56 .name = "Hauppauge WinTV 34xxx models",
54 .tuner_type = UNSET, 57 .tuner_type = UNSET,
58 .radio_type = UNSET,
59 .tuner_addr = ADDR_UNSET,
60 .radio_addr = ADDR_UNSET,
55 .tda9887_conf = TDA9887_PRESENT, 61 .tda9887_conf = TDA9887_PRESENT,
56 .input = {{ 62 .input = {{
57 .type = CX88_VMUX_TELEVISION, 63 .type = CX88_VMUX_TELEVISION,
@@ -78,14 +84,23 @@ struct cx88_board cx88_boards[] = {
78 [CX88_BOARD_GDI] = { 84 [CX88_BOARD_GDI] = {
79 .name = "GDI Black Gold", 85 .name = "GDI Black Gold",
80 .tuner_type = UNSET, 86 .tuner_type = UNSET,
87 .radio_type = UNSET,
88 .tuner_addr = ADDR_UNSET,
89 .radio_addr = ADDR_UNSET,
81 .input = {{ 90 .input = {{
82 .type = CX88_VMUX_TELEVISION, 91 .type = CX88_VMUX_TELEVISION,
83 .vmux = 0, 92 .vmux = 0,
93 },{
94 .type = CX88_VMUX_SVIDEO,
95 .vmux = 2,
84 }}, 96 }},
85 }, 97 },
86 [CX88_BOARD_PIXELVIEW] = { 98 [CX88_BOARD_PIXELVIEW] = {
87 .name = "PixelView", 99 .name = "PixelView",
88 .tuner_type = 5, 100 .tuner_type = TUNER_PHILIPS_PAL,
101 .radio_type = UNSET,
102 .tuner_addr = ADDR_UNSET,
103 .radio_addr = ADDR_UNSET,
89 .input = {{ 104 .input = {{
90 .type = CX88_VMUX_TELEVISION, 105 .type = CX88_VMUX_TELEVISION,
91 .vmux = 0, 106 .vmux = 0,
@@ -104,7 +119,10 @@ struct cx88_board cx88_boards[] = {
104 }, 119 },
105 [CX88_BOARD_ATI_WONDER_PRO] = { 120 [CX88_BOARD_ATI_WONDER_PRO] = {
106 .name = "ATI TV Wonder Pro", 121 .name = "ATI TV Wonder Pro",
107 .tuner_type = 44, 122 .tuner_type = TUNER_PHILIPS_4IN1,
123 .radio_type = UNSET,
124 .tuner_addr = ADDR_UNSET,
125 .radio_addr = ADDR_UNSET,
108 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, 126 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER,
109 .input = {{ 127 .input = {{
110 .type = CX88_VMUX_TELEVISION, 128 .type = CX88_VMUX_TELEVISION,
@@ -122,7 +140,10 @@ struct cx88_board cx88_boards[] = {
122 }, 140 },
123 [CX88_BOARD_WINFAST2000XP_EXPERT] = { 141 [CX88_BOARD_WINFAST2000XP_EXPERT] = {
124 .name = "Leadtek Winfast 2000XP Expert", 142 .name = "Leadtek Winfast 2000XP Expert",
125 .tuner_type = 44, 143 .tuner_type = TUNER_PHILIPS_4IN1,
144 .radio_type = UNSET,
145 .tuner_addr = ADDR_UNSET,
146 .radio_addr = ADDR_UNSET,
126 .tda9887_conf = TDA9887_PRESENT, 147 .tda9887_conf = TDA9887_PRESENT,
127 .input = {{ 148 .input = {{
128 .type = CX88_VMUX_TELEVISION, 149 .type = CX88_VMUX_TELEVISION,
@@ -156,7 +177,10 @@ struct cx88_board cx88_boards[] = {
156 }, 177 },
157 [CX88_BOARD_AVERTV_303] = { 178 [CX88_BOARD_AVERTV_303] = {
158 .name = "AverTV Studio 303 (M126)", 179 .name = "AverTV Studio 303 (M126)",
159 .tuner_type = 38, 180 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
181 .radio_type = UNSET,
182 .tuner_addr = ADDR_UNSET,
183 .radio_addr = ADDR_UNSET,
160 .tda9887_conf = TDA9887_PRESENT, 184 .tda9887_conf = TDA9887_PRESENT,
161 .input = {{ 185 .input = {{
162 .type = CX88_VMUX_TELEVISION, 186 .type = CX88_VMUX_TELEVISION,
@@ -179,7 +203,10 @@ struct cx88_board cx88_boards[] = {
179 // added gpio values thanks to Michal 203 // added gpio values thanks to Michal
180 // values for PAL from DScaler 204 // values for PAL from DScaler
181 .name = "MSI TV-@nywhere Master", 205 .name = "MSI TV-@nywhere Master",
182 .tuner_type = 33, 206 .tuner_type = TUNER_MT2032,
207 .radio_type = UNSET,
208 .tuner_addr = ADDR_UNSET,
209 .radio_addr = ADDR_UNSET,
183 .tda9887_conf = TDA9887_PRESENT, 210 .tda9887_conf = TDA9887_PRESENT,
184 .input = {{ 211 .input = {{
185 .type = CX88_VMUX_TELEVISION, 212 .type = CX88_VMUX_TELEVISION,
@@ -206,7 +233,10 @@ struct cx88_board cx88_boards[] = {
206 }, 233 },
207 [CX88_BOARD_WINFAST_DV2000] = { 234 [CX88_BOARD_WINFAST_DV2000] = {
208 .name = "Leadtek Winfast DV2000", 235 .name = "Leadtek Winfast DV2000",
209 .tuner_type = 38, 236 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
237 .radio_type = UNSET,
238 .tuner_addr = ADDR_UNSET,
239 .radio_addr = ADDR_UNSET,
210 .tda9887_conf = TDA9887_PRESENT, 240 .tda9887_conf = TDA9887_PRESENT,
211 .input = {{ 241 .input = {{
212 .type = CX88_VMUX_TELEVISION, 242 .type = CX88_VMUX_TELEVISION,
@@ -239,34 +269,40 @@ struct cx88_board cx88_boards[] = {
239 .gpio3 = 0x02000000, 269 .gpio3 = 0x02000000,
240 }, 270 },
241 }, 271 },
242 [CX88_BOARD_LEADTEK_PVR2000] = { 272 [CX88_BOARD_LEADTEK_PVR2000] = {
243 // gpio values for PAL version from regspy by DScaler 273 // gpio values for PAL version from regspy by DScaler
244 .name = "Leadtek PVR 2000", 274 .name = "Leadtek PVR 2000",
245 .tuner_type = 38, 275 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
276 .radio_type = UNSET,
277 .tuner_addr = ADDR_UNSET,
278 .radio_addr = ADDR_UNSET,
246 .tda9887_conf = TDA9887_PRESENT, 279 .tda9887_conf = TDA9887_PRESENT,
247 .input = {{ 280 .input = {{
248 .type = CX88_VMUX_TELEVISION, 281 .type = CX88_VMUX_TELEVISION,
249 .vmux = 0, 282 .vmux = 0,
250 .gpio0 = 0x0000bde6, 283 .gpio0 = 0x0000bde2,
251 },{ 284 },{
252 .type = CX88_VMUX_COMPOSITE1, 285 .type = CX88_VMUX_COMPOSITE1,
253 .vmux = 1, 286 .vmux = 1,
254 .gpio0 = 0x0000bde6, 287 .gpio0 = 0x0000bde6,
255 },{ 288 },{
256 .type = CX88_VMUX_SVIDEO, 289 .type = CX88_VMUX_SVIDEO,
257 .vmux = 2, 290 .vmux = 2,
258 .gpio0 = 0x0000bde6, 291 .gpio0 = 0x0000bde6,
259 }}, 292 }},
260 .radio = { 293 .radio = {
261 .type = CX88_RADIO, 294 .type = CX88_RADIO,
262 .gpio0 = 0x0000bd62, 295 .gpio0 = 0x0000bd62,
263 }, 296 },
264 .blackbird = 1, 297 .blackbird = 1,
265 }, 298 },
266 [CX88_BOARD_IODATA_GVVCP3PCI] = { 299 [CX88_BOARD_IODATA_GVVCP3PCI] = {
267 .name = "IODATA GV-VCP3/PCI", 300 .name = "IODATA GV-VCP3/PCI",
268 .tuner_type = TUNER_ABSENT, 301 .tuner_type = TUNER_ABSENT,
269 .input = {{ 302 .radio_type = UNSET,
303 .tuner_addr = ADDR_UNSET,
304 .radio_addr = ADDR_UNSET,
305 .input = {{
270 .type = CX88_VMUX_COMPOSITE1, 306 .type = CX88_VMUX_COMPOSITE1,
271 .vmux = 0, 307 .vmux = 0,
272 },{ 308 },{
@@ -279,7 +315,10 @@ struct cx88_board cx88_boards[] = {
279 }, 315 },
280 [CX88_BOARD_PROLINK_PLAYTVPVR] = { 316 [CX88_BOARD_PROLINK_PLAYTVPVR] = {
281 .name = "Prolink PlayTV PVR", 317 .name = "Prolink PlayTV PVR",
282 .tuner_type = 43, 318 .tuner_type = TUNER_PHILIPS_FM1236_MK3,
319 .radio_type = UNSET,
320 .tuner_addr = ADDR_UNSET,
321 .radio_addr = ADDR_UNSET,
283 .tda9887_conf = TDA9887_PRESENT, 322 .tda9887_conf = TDA9887_PRESENT,
284 .input = {{ 323 .input = {{
285 .type = CX88_VMUX_TELEVISION, 324 .type = CX88_VMUX_TELEVISION,
@@ -301,8 +340,11 @@ struct cx88_board cx88_boards[] = {
301 }, 340 },
302 [CX88_BOARD_ASUS_PVR_416] = { 341 [CX88_BOARD_ASUS_PVR_416] = {
303 .name = "ASUS PVR-416", 342 .name = "ASUS PVR-416",
304 .tuner_type = 43, 343 .tuner_type = TUNER_PHILIPS_FM1236_MK3,
305 .tda9887_conf = TDA9887_PRESENT, 344 .radio_type = UNSET,
345 .tuner_addr = ADDR_UNSET,
346 .radio_addr = ADDR_UNSET,
347 .tda9887_conf = TDA9887_PRESENT,
306 .input = {{ 348 .input = {{
307 .type = CX88_VMUX_TELEVISION, 349 .type = CX88_VMUX_TELEVISION,
308 .vmux = 0, 350 .vmux = 0,
@@ -320,7 +362,10 @@ struct cx88_board cx88_boards[] = {
320 }, 362 },
321 [CX88_BOARD_MSI_TVANYWHERE] = { 363 [CX88_BOARD_MSI_TVANYWHERE] = {
322 .name = "MSI TV-@nywhere", 364 .name = "MSI TV-@nywhere",
323 .tuner_type = 33, 365 .tuner_type = TUNER_MT2032,
366 .radio_type = UNSET,
367 .tuner_addr = ADDR_UNSET,
368 .radio_addr = ADDR_UNSET,
324 .tda9887_conf = TDA9887_PRESENT, 369 .tda9887_conf = TDA9887_PRESENT,
325 .input = {{ 370 .input = {{
326 .type = CX88_VMUX_TELEVISION, 371 .type = CX88_VMUX_TELEVISION,
@@ -342,6 +387,9 @@ struct cx88_board cx88_boards[] = {
342 [CX88_BOARD_KWORLD_DVB_T] = { 387 [CX88_BOARD_KWORLD_DVB_T] = {
343 .name = "KWorld/VStream XPert DVB-T", 388 .name = "KWorld/VStream XPert DVB-T",
344 .tuner_type = TUNER_ABSENT, 389 .tuner_type = TUNER_ABSENT,
390 .radio_type = UNSET,
391 .tuner_addr = ADDR_UNSET,
392 .radio_addr = ADDR_UNSET,
345 .input = {{ 393 .input = {{
346 .type = CX88_VMUX_COMPOSITE1, 394 .type = CX88_VMUX_COMPOSITE1,
347 .vmux = 1, 395 .vmux = 1,
@@ -356,8 +404,11 @@ struct cx88_board cx88_boards[] = {
356 .dvb = 1, 404 .dvb = 1,
357 }, 405 },
358 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1] = { 406 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1] = {
359 .name = "DVICO FusionHDTV DVB-T1", 407 .name = "DViCO FusionHDTV DVB-T1",
360 .tuner_type = TUNER_ABSENT, /* No analog tuner */ 408 .tuner_type = TUNER_ABSENT, /* No analog tuner */
409 .radio_type = UNSET,
410 .tuner_addr = ADDR_UNSET,
411 .radio_addr = ADDR_UNSET,
361 .input = {{ 412 .input = {{
362 .type = CX88_VMUX_COMPOSITE1, 413 .type = CX88_VMUX_COMPOSITE1,
363 .vmux = 1, 414 .vmux = 1,
@@ -371,7 +422,10 @@ struct cx88_board cx88_boards[] = {
371 }, 422 },
372 [CX88_BOARD_KWORLD_LTV883] = { 423 [CX88_BOARD_KWORLD_LTV883] = {
373 .name = "KWorld LTV883RF", 424 .name = "KWorld LTV883RF",
374 .tuner_type = 48, 425 .tuner_type = TUNER_TNF_8831BGFF,
426 .radio_type = UNSET,
427 .tuner_addr = ADDR_UNSET,
428 .radio_addr = ADDR_UNSET,
375 .input = {{ 429 .input = {{
376 .type = CX88_VMUX_TELEVISION, 430 .type = CX88_VMUX_TELEVISION,
377 .vmux = 0, 431 .vmux = 0,
@@ -394,9 +448,12 @@ struct cx88_board cx88_boards[] = {
394 .gpio0 = 0x000007f8, 448 .gpio0 = 0x000007f8,
395 }, 449 },
396 }, 450 },
397 [CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD] = { 451 [CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q] = {
398 .name = "DViCO - FusionHDTV 3 Gold", 452 .name = "DViCO FusionHDTV 3 Gold-Q",
399 .tuner_type = TUNER_MICROTUNE_4042FI5, 453 .tuner_type = TUNER_MICROTUNE_4042FI5,
454 .radio_type = UNSET,
455 .tuner_addr = ADDR_UNSET,
456 .radio_addr = ADDR_UNSET,
400 /* 457 /*
401 GPIO[0] resets DT3302 DTV receiver 458 GPIO[0] resets DT3302 DTV receiver
402 0 - reset asserted 459 0 - reset asserted
@@ -410,6 +467,9 @@ struct cx88_board cx88_boards[] = {
410 GPIO[3] selects RF input connector on tuner module 467 GPIO[3] selects RF input connector on tuner module
411 0 - RF connector labeled CABLE 468 0 - RF connector labeled CABLE
412 1 - RF connector labeled ANT 469 1 - RF connector labeled ANT
470 GPIO[4] selects high RF for QAM256 mode
471 0 - normal RF
472 1 - high RF
413 */ 473 */
414 .input = {{ 474 .input = {{
415 .type = CX88_VMUX_TELEVISION, 475 .type = CX88_VMUX_TELEVISION,
@@ -428,25 +488,29 @@ struct cx88_board cx88_boards[] = {
428 .vmux = 2, 488 .vmux = 2,
429 .gpio0 = 0x0f00, 489 .gpio0 = 0x0f00,
430 }}, 490 }},
431#if 0 491 .dvb = 1,
432 .ts = {
433 .type = CX88_TS,
434 .gpio0 = 0x00000f01, /* Hooked to tuner reset bit */
435 }
436#endif
437 }, 492 },
438 [CX88_BOARD_HAUPPAUGE_DVB_T1] = { 493 [CX88_BOARD_HAUPPAUGE_DVB_T1] = {
439 .name = "Hauppauge Nova-T DVB-T", 494 .name = "Hauppauge Nova-T DVB-T",
440 .tuner_type = TUNER_ABSENT, 495 .tuner_type = TUNER_ABSENT,
441 .input = {{ 496 .radio_type = UNSET,
497 .tuner_addr = ADDR_UNSET,
498 .radio_addr = ADDR_UNSET,
499 .input = {{
442 .type = CX88_VMUX_DVB, 500 .type = CX88_VMUX_DVB,
443 .vmux = 0, 501 .vmux = 0,
502 },{
503 .type = CX88_VMUX_SVIDEO,
504 .vmux = 2,
444 }}, 505 }},
445 .dvb = 1, 506 .dvb = 1,
446 }, 507 },
447 [CX88_BOARD_CONEXANT_DVB_T1] = { 508 [CX88_BOARD_CONEXANT_DVB_T1] = {
448 .name = "Conexant DVB-T reference design", 509 .name = "Conexant DVB-T reference design",
449 .tuner_type = TUNER_ABSENT, 510 .tuner_type = TUNER_ABSENT,
511 .radio_type = UNSET,
512 .tuner_addr = ADDR_UNSET,
513 .radio_addr = ADDR_UNSET,
450 .input = {{ 514 .input = {{
451 .type = CX88_VMUX_DVB, 515 .type = CX88_VMUX_DVB,
452 .vmux = 0, 516 .vmux = 0,
@@ -456,6 +520,9 @@ struct cx88_board cx88_boards[] = {
456 [CX88_BOARD_PROVIDEO_PV259] = { 520 [CX88_BOARD_PROVIDEO_PV259] = {
457 .name = "Provideo PV259", 521 .name = "Provideo PV259",
458 .tuner_type = TUNER_PHILIPS_FQ1216ME, 522 .tuner_type = TUNER_PHILIPS_FQ1216ME,
523 .radio_type = UNSET,
524 .tuner_addr = ADDR_UNSET,
525 .radio_addr = ADDR_UNSET,
459 .input = {{ 526 .input = {{
460 .type = CX88_VMUX_TELEVISION, 527 .type = CX88_VMUX_TELEVISION,
461 .vmux = 0, 528 .vmux = 0,
@@ -463,8 +530,11 @@ struct cx88_board cx88_boards[] = {
463 .blackbird = 1, 530 .blackbird = 1,
464 }, 531 },
465 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS] = { 532 [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS] = {
466 .name = "DVICO FusionHDTV DVB-T Plus", 533 .name = "DViCO FusionHDTV DVB-T Plus",
467 .tuner_type = TUNER_ABSENT, /* No analog tuner */ 534 .tuner_type = TUNER_ABSENT, /* No analog tuner */
535 .radio_type = UNSET,
536 .tuner_addr = ADDR_UNSET,
537 .radio_addr = ADDR_UNSET,
468 .input = {{ 538 .input = {{
469 .type = CX88_VMUX_COMPOSITE1, 539 .type = CX88_VMUX_COMPOSITE1,
470 .vmux = 1, 540 .vmux = 1,
@@ -479,6 +549,9 @@ struct cx88_board cx88_boards[] = {
479 [CX88_BOARD_DNTV_LIVE_DVB_T] = { 549 [CX88_BOARD_DNTV_LIVE_DVB_T] = {
480 .name = "digitalnow DNTV Live! DVB-T", 550 .name = "digitalnow DNTV Live! DVB-T",
481 .tuner_type = TUNER_ABSENT, 551 .tuner_type = TUNER_ABSENT,
552 .radio_type = UNSET,
553 .tuner_addr = ADDR_UNSET,
554 .radio_addr = ADDR_UNSET,
482 .input = {{ 555 .input = {{
483 .type = CX88_VMUX_COMPOSITE1, 556 .type = CX88_VMUX_COMPOSITE1,
484 .vmux = 1, 557 .vmux = 1,
@@ -495,6 +568,9 @@ struct cx88_board cx88_boards[] = {
495 [CX88_BOARD_PCHDTV_HD3000] = { 568 [CX88_BOARD_PCHDTV_HD3000] = {
496 .name = "pcHDTV HD3000 HDTV", 569 .name = "pcHDTV HD3000 HDTV",
497 .tuner_type = TUNER_THOMSON_DTT7610, 570 .tuner_type = TUNER_THOMSON_DTT7610,
571 .radio_type = UNSET,
572 .tuner_addr = ADDR_UNSET,
573 .radio_addr = ADDR_UNSET,
498 .input = {{ 574 .input = {{
499 .type = CX88_VMUX_TELEVISION, 575 .type = CX88_VMUX_TELEVISION,
500 .vmux = 0, 576 .vmux = 0,
@@ -530,8 +606,11 @@ struct cx88_board cx88_boards[] = {
530 [CX88_BOARD_HAUPPAUGE_ROSLYN] = { 606 [CX88_BOARD_HAUPPAUGE_ROSLYN] = {
531 // entry added by Kaustubh D. Bhalerao <bhalerao.1@osu.edu> 607 // entry added by Kaustubh D. Bhalerao <bhalerao.1@osu.edu>
532 // GPIO values obtained from regspy, courtesy Sean Covel 608 // GPIO values obtained from regspy, courtesy Sean Covel
533 .name = "Hauppauge WinTV 28xxx (Roslyn) models", 609 .name = "Hauppauge WinTV 28xxx (Roslyn) models",
534 .tuner_type = UNSET, 610 .tuner_type = UNSET,
611 .radio_type = UNSET,
612 .tuner_addr = ADDR_UNSET,
613 .radio_addr = ADDR_UNSET,
535 .input = {{ 614 .input = {{
536 .type = CX88_VMUX_TELEVISION, 615 .type = CX88_VMUX_TELEVISION,
537 .vmux = 0, 616 .vmux = 0,
@@ -559,33 +638,37 @@ struct cx88_board cx88_boards[] = {
559 .blackbird = 1, 638 .blackbird = 1,
560 }, 639 },
561 [CX88_BOARD_DIGITALLOGIC_MEC] = { 640 [CX88_BOARD_DIGITALLOGIC_MEC] = {
562 /* params copied over from Leadtek PVR 2000 */
563 .name = "Digital-Logic MICROSPACE Entertainment Center (MEC)", 641 .name = "Digital-Logic MICROSPACE Entertainment Center (MEC)",
564 /* not sure yet about the tuner type */ 642 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
565 .tuner_type = 38, 643 .radio_type = UNSET,
644 .tuner_addr = ADDR_UNSET,
645 .radio_addr = ADDR_UNSET,
566 .tda9887_conf = TDA9887_PRESENT, 646 .tda9887_conf = TDA9887_PRESENT,
567 .input = {{ 647 .input = {{
568 .type = CX88_VMUX_TELEVISION, 648 .type = CX88_VMUX_TELEVISION,
569 .vmux = 0, 649 .vmux = 0,
570 .gpio0 = 0x0000bde6, 650 .gpio0 = 0x00009d80,
571 },{ 651 },{
572 .type = CX88_VMUX_COMPOSITE1, 652 .type = CX88_VMUX_COMPOSITE1,
573 .vmux = 1, 653 .vmux = 1,
574 .gpio0 = 0x0000bde6, 654 .gpio0 = 0x00009d76,
575 },{ 655 },{
576 .type = CX88_VMUX_SVIDEO, 656 .type = CX88_VMUX_SVIDEO,
577 .vmux = 2, 657 .vmux = 2,
578 .gpio0 = 0x0000bde6, 658 .gpio0 = 0x00009d76,
579 }}, 659 }},
580 .radio = { 660 .radio = {
581 .type = CX88_RADIO, 661 .type = CX88_RADIO,
582 .gpio0 = 0x0000bd62, 662 .gpio0 = 0x00009d00,
583 }, 663 },
584 .blackbird = 1, 664 .blackbird = 1,
585 }, 665 },
586 [CX88_BOARD_IODATA_GVBCTV7E] = { 666 [CX88_BOARD_IODATA_GVBCTV7E] = {
587 .name = "IODATA GV/BCTV7E", 667 .name = "IODATA GV/BCTV7E",
588 .tuner_type = TUNER_PHILIPS_FQ1286, 668 .tuner_type = TUNER_PHILIPS_FQ1286,
669 .radio_type = UNSET,
670 .tuner_addr = ADDR_UNSET,
671 .radio_addr = ADDR_UNSET,
589 .tda9887_conf = TDA9887_PRESENT, 672 .tda9887_conf = TDA9887_PRESENT,
590 .input = {{ 673 .input = {{
591 .type = CX88_VMUX_TELEVISION, 674 .type = CX88_VMUX_TELEVISION,
@@ -601,6 +684,102 @@ struct cx88_board cx88_boards[] = {
601 .gpio1 = 0x0000e07f, 684 .gpio1 = 0x0000e07f,
602 }} 685 }}
603 }, 686 },
687 [CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO] = {
688 .name = "PixelView PlayTV Ultra Pro (Stereo)",
689 /* May be also TUNER_YMEC_TVF_5533MF for NTSC/M or PAL/M */
690 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
691 .radio_type = UNSET,
692 .tuner_addr = ADDR_UNSET,
693 .radio_addr = ADDR_UNSET,
694 .input = {{
695 .type = CX88_VMUX_TELEVISION,
696 .vmux = 0,
697 .gpio0 = 0xbf61, /* internal decoder */
698 },{
699 .type = CX88_VMUX_COMPOSITE1,
700 .vmux = 1,
701 .gpio0 = 0xbf63,
702 },{
703 .type = CX88_VMUX_SVIDEO,
704 .vmux = 2,
705 .gpio0 = 0xbf63,
706 }},
707 .radio = {
708 .type = CX88_RADIO,
709 .gpio0 = 0xbf60,
710 },
711 },
712 [CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T] = {
713 .name = "DViCO FusionHDTV 3 Gold-T",
714 .tuner_type = TUNER_THOMSON_DTT7611,
715 .radio_type = UNSET,
716 .tuner_addr = ADDR_UNSET,
717 .radio_addr = ADDR_UNSET,
718 /* See DViCO FusionHDTV 3 Gold-Q for GPIO documentation. */
719 .input = {{
720 .type = CX88_VMUX_TELEVISION,
721 .vmux = 0,
722 .gpio0 = 0x0f0d,
723 },{
724 .type = CX88_VMUX_COMPOSITE1,
725 .vmux = 1,
726 .gpio0 = 0x0f00,
727 },{
728 .type = CX88_VMUX_SVIDEO,
729 .vmux = 2,
730 .gpio0 = 0x0f00,
731 }},
732 .dvb = 1,
733 },
734 [CX88_BOARD_ADSTECH_DVB_T_PCI] = {
735 .name = "ADS Tech Instant TV DVB-T PCI",
736 .tuner_type = TUNER_ABSENT,
737 .radio_type = UNSET,
738 .tuner_addr = ADDR_UNSET,
739 .radio_addr = ADDR_UNSET,
740 .input = {{
741 .type = CX88_VMUX_COMPOSITE1,
742 .vmux = 1,
743 .gpio0 = 0x0700,
744 .gpio2 = 0x0101,
745 },{
746 .type = CX88_VMUX_SVIDEO,
747 .vmux = 2,
748 .gpio0 = 0x0700,
749 .gpio2 = 0x0101,
750 }},
751 .dvb = 1,
752 },
753 [CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1] = {
754 .name = "TerraTec Cinergy 1400 DVB-T",
755 .tuner_type = TUNER_ABSENT,
756 .input = {{
757 .type = CX88_VMUX_DVB,
758 .vmux = 0,
759 }},
760 .dvb = 1,
761 },
762 [CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD] = {
763 .name = "DViCO FusionHDTV 5 Gold",
764 .tuner_type = TUNER_LG_TDVS_H062F,
765 .radio_type = UNSET,
766 .tuner_addr = ADDR_UNSET,
767 .radio_addr = ADDR_UNSET,
768 /* See DViCO FusionHDTV 3 Gold-Q for GPIO documentation. */
769 .input = {{
770 .type = CX88_VMUX_TELEVISION,
771 .vmux = 0,
772 .gpio0 = 0x0f0d,
773 },{
774 .type = CX88_VMUX_COMPOSITE1,
775 .vmux = 1,
776 .gpio0 = 0x0f00,
777 },{
778 .type = CX88_VMUX_SVIDEO,
779 .vmux = 2,
780 .gpio0 = 0x0f00,
781 }},
782 },
604}; 783};
605const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards); 784const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
606 785
@@ -671,7 +850,11 @@ struct cx88_subid cx88_subids[] = {
671 },{ 850 },{
672 .subvendor = 0x18ac, 851 .subvendor = 0x18ac,
673 .subdevice = 0xd810, 852 .subdevice = 0xd810,
674 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD, 853 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q,
854 },{
855 .subvendor = 0x18ac,
856 .subdevice = 0xd820,
857 .card = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T,
675 },{ 858 },{
676 .subvendor = 0x18AC, 859 .subvendor = 0x18AC,
677 .subdevice = 0xDB00, 860 .subdevice = 0xDB00,
@@ -716,7 +899,19 @@ struct cx88_subid cx88_subids[] = {
716 .subvendor = 0x10fc, 899 .subvendor = 0x10fc,
717 .subdevice = 0xd035, 900 .subdevice = 0xd035,
718 .card = CX88_BOARD_IODATA_GVBCTV7E, 901 .card = CX88_BOARD_IODATA_GVBCTV7E,
719 } 902 },{
903 .subvendor = 0x1421,
904 .subdevice = 0x0334,
905 .card = CX88_BOARD_ADSTECH_DVB_T_PCI,
906 },{
907 .subvendor = 0x153b,
908 .subdevice = 0x1166,
909 .card = CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1,
910 },{
911 .subvendor = 0x18ac,
912 .subdevice = 0xd500,
913 .card = CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD,
914 },
720}; 915};
721const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids); 916const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
722 917
@@ -935,4 +1130,5 @@ EXPORT_SYMBOL(cx88_card_setup);
935 * Local variables: 1130 * Local variables:
936 * c-basic-offset: 8 1131 * c-basic-offset: 8
937 * End: 1132 * End:
1133 * kate: eol "unix"; indent-width 3; remove-trailing-space on; replace-trailing-space-save on; tab-width 8; replace-tabs off; space-indent off; mixed-indent off
938 */ 1134 */