usbvision-cards.c revision f8a389db502f7b287903b209f925df5570ff5478
1/* 2 * usbvision-cards.c 3 * usbvision cards definition file 4 * 5 * Copyright (c) 1999-2005 Joerg Heckenbach <joerg@heckenbach-aw.de> 6 * 7 * This module is part of usbvision driver project. 8 * Updates to driver completed by Dwaine P. Garden 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23 */ 24 25 26#include <linux/list.h> 27#include <linux/i2c.h> 28#include <media/v4l2-dev.h> 29#include <media/tuner.h> 30#include "usbvision.h" 31#include "usbvision-cards.h" 32 33/* Supported Devices: A table for usbvision.c*/ 34struct usbvision_device_data_st usbvision_device_data[] = { 35 [DUMMY_DEVICE] = { 36 .Interface = -1, 37 .Codec = CODEC_SAA7111, 38 .VideoChannels = 3, 39 .VideoNorm = V4L2_STD_NTSC, 40 .AudioChannels = 1, 41 .Radio = 1, 42 .vbi = 1, 43 .Tuner = 1, 44 .TunerType = TUNER_PHILIPS_NTSC_M, 45 .X_Offset = -1, 46 .Y_Offset = -1, 47 .ModelString = "Custom Dummy USBVision Device", 48 }, 49 [XANBOO] = { 50 .Interface = -1, 51 .Codec = CODEC_SAA7113, 52 .VideoChannels = 4, 53 .VideoNorm = V4L2_STD_NTSC, 54 .AudioChannels = 1, 55 .Radio = 0, 56 .vbi = 1, 57 .Tuner = 0, 58 .TunerType = 0, 59 .X_Offset = -1, 60 .Y_Offset = -1, 61 .ModelString = "Xanboo", 62 }, 63 [BELKIN_VIDEOBUS_II] = { 64 .Interface = -1, 65 .Codec = CODEC_SAA7113, 66 .VideoChannels = 2, 67 .VideoNorm = V4L2_STD_PAL, 68 .AudioChannels = 1, 69 .Radio = 0, 70 .vbi = 1, 71 .Tuner = 0, 72 .TunerType = 0, 73 .X_Offset = 0, 74 .Y_Offset = 3, 75 .Dvi_yuv_override = 1, 76 .Dvi_yuv = 7, 77 .ModelString = "Belkin USB VideoBus II Adapter", 78 }, 79 [BELKIN_VIDEOBUS] = { 80 .Interface = -1, 81 .Codec = CODEC_SAA7111, 82 .VideoChannels = 2, 83 .VideoNorm = V4L2_STD_NTSC, 84 .AudioChannels = 1, 85 .Radio = 0, 86 .vbi = 1, 87 .Tuner = 0, 88 .TunerType = 0, 89 .X_Offset = -1, 90 .Y_Offset = -1, 91 .ModelString = "Belkin Components USB VideoBus", 92 }, 93 [BELKIN_USB_VIDEOBUS_II] = { 94 .Interface = -1, 95 .Codec = CODEC_SAA7113, 96 .VideoChannels = 2, 97 .VideoNorm = V4L2_STD_PAL, 98 .AudioChannels = 1, 99 .Radio = 0, 100 .vbi = 1, 101 .Tuner = 0, 102 .TunerType = 0, 103 .X_Offset = 0, 104 .Y_Offset = 3, 105 .Dvi_yuv_override = 1, 106 .Dvi_yuv = 7, 107 .ModelString = "Belkin USB VideoBus II", 108 }, 109 [ECHOFX_INTERVIEW_LITE] = { 110 .Interface = 0, 111 .Codec = CODEC_SAA7111, 112 .VideoChannels = 2, 113 .VideoNorm = V4L2_STD_PAL, 114 .AudioChannels = 0, 115 .Radio = 0, 116 .vbi = 1, 117 .Tuner = 0, 118 .TunerType = 0, 119 .X_Offset = -1, 120 .Y_Offset = -1, 121 .Dvi_yuv_override = 1, 122 .Dvi_yuv = 7, 123 .ModelString = "echoFX InterView Lite", 124 }, 125 [USBGEAR_USBG_V1] = { 126 .Interface = -1, 127 .Codec = CODEC_SAA7111, 128 .VideoChannels = 2, 129 .VideoNorm = V4L2_STD_NTSC, 130 .AudioChannels = 1, 131 .Radio = 0, 132 .vbi = 1, 133 .Tuner = 0, 134 .TunerType = 0, 135 .X_Offset = -1, 136 .Y_Offset = -1, 137 .ModelString = "USBGear USBG-V1 resp. HAMA USB", 138 }, 139 [D_LINK_V100] = { 140 .Interface = -1, 141 .Codec = CODEC_SAA7113, 142 .VideoChannels = 4, 143 .VideoNorm = V4L2_STD_NTSC, 144 .AudioChannels = 0, 145 .Radio = 0, 146 .vbi = 1, 147 .Tuner = 0, 148 .TunerType = 0, 149 .X_Offset = 0, 150 .Y_Offset = 3, 151 .Dvi_yuv_override = 1, 152 .Dvi_yuv = 7, 153 .ModelString = "D-Link V100", 154 }, 155 [X10_USB_CAMERA] = { 156 .Interface = -1, 157 .Codec = CODEC_SAA7111, 158 .VideoChannels = 2, 159 .VideoNorm = V4L2_STD_NTSC, 160 .AudioChannels = 1, 161 .Radio = 0, 162 .vbi = 1, 163 .Tuner = 0, 164 .TunerType = 0, 165 .X_Offset = -1, 166 .Y_Offset = -1, 167 .ModelString = "X10 USB Camera", 168 }, 169 [HPG_WINTV_LIVE_PAL_BG] = { 170 .Interface = -1, 171 .Codec = CODEC_SAA7111, 172 .VideoChannels = 2, 173 .VideoNorm = V4L2_STD_PAL, 174 .AudioChannels = 1, 175 .Radio = 0, 176 .vbi = 1, 177 .Tuner = 0, 178 .TunerType = 0, 179 .X_Offset = -1, 180 .Y_Offset = 3, 181 .Dvi_yuv_override = 1, 182 .Dvi_yuv = 7, 183 .ModelString = "Hauppauge WinTV USB Live (PAL B/G)", 184 }, 185 [HPG_WINTV_LIVE_PRO_NTSC_MN] = { 186 .Interface = -1, 187 .Codec = CODEC_SAA7113, 188 .VideoChannels = 2, 189 .VideoNorm = V4L2_STD_NTSC, 190 .AudioChannels = 0, 191 .Radio = 0, 192 .vbi = 1, 193 .Tuner = 0, 194 .TunerType = 0, 195 .X_Offset = 0, 196 .Y_Offset = 3, 197 .Dvi_yuv_override = 1, 198 .Dvi_yuv = 7, 199 .ModelString = "Hauppauge WinTV USB Live Pro (NTSC M/N)", 200 }, 201 [ZORAN_PMD_NOGATECH] = { 202 .Interface = -1, 203 .Codec = CODEC_SAA7113, 204 .VideoChannels = 2, 205 .VideoNorm = V4L2_STD_PAL, 206 .AudioChannels = 2, 207 .Radio = 0, 208 .vbi = 1, 209 .Tuner = 0, 210 .TunerType = 0, 211 .X_Offset = 0, 212 .Y_Offset = 3, 213 .Dvi_yuv_override = 1, 214 .Dvi_yuv = 7, 215 .ModelString = "Zoran Co. PMD (Nogatech) AV-grabber Manhattan", 216 }, 217 [NOGATECH_USB_TV_NTSC_FM] = { 218 .Interface = -1, 219 .Codec = CODEC_SAA7111, 220 .VideoChannels = 3, 221 .VideoNorm = V4L2_STD_NTSC, 222 .AudioChannels = 1, 223 .Radio = 1, 224 .vbi = 1, 225 .Tuner = 1, 226 .TunerType = TUNER_PHILIPS_NTSC_M, 227 .X_Offset = -1, 228 .Y_Offset = 20, 229 .ModelString = "Nogatech USB-TV (NTSC) FM", 230 }, 231 [PNY_USB_TV_NTSC_FM] = { 232 .Interface = -1, 233 .Codec = CODEC_SAA7111, 234 .VideoChannels = 3, 235 .VideoNorm = V4L2_STD_NTSC, 236 .AudioChannels = 1, 237 .Radio = 1, 238 .vbi = 1, 239 .Tuner = 1, 240 .TunerType = TUNER_PHILIPS_NTSC_M, 241 .X_Offset = -1, 242 .Y_Offset = 20, 243 .ModelString = "PNY USB-TV (NTSC) FM", 244 }, 245 [PV_PLAYTV_USB_PRO_PAL_FM] = { 246 .Interface = 0, 247 .Codec = CODEC_SAA7113, 248 .VideoChannels = 3, 249 .VideoNorm = V4L2_STD_PAL, 250 .AudioChannels = 1, 251 .Radio = 1, 252 .vbi = 1, 253 .Tuner = 1, 254 .TunerType = TUNER_PHILIPS_PAL, 255 .X_Offset = 0, 256 .Y_Offset = 3, 257 .Dvi_yuv_override = 1, 258 .Dvi_yuv = 7, 259 .ModelString = "PixelView PlayTv-USB PRO (PAL) FM", 260 }, 261 [ZT_721] = { 262 .Interface = 0, 263 .Codec = CODEC_SAA7113, 264 .VideoChannels = 3, 265 .VideoNorm = V4L2_STD_PAL, 266 .AudioChannels = 1, 267 .Radio = 1, 268 .vbi = 1, 269 .Tuner = 1, 270 .TunerType = TUNER_PHILIPS_PAL, 271 .X_Offset = 0, 272 .Y_Offset = 3, 273 .Dvi_yuv_override = 1, 274 .Dvi_yuv = 7, 275 .ModelString = "ZTV ZT-721 2.4GHz USB A/V Receiver", 276 }, 277 [HPG_WINTV_NTSC_MN] = { 278 .Interface = -1, 279 .Codec = CODEC_SAA7111, 280 .VideoChannels = 3, 281 .VideoNorm = V4L2_STD_NTSC, 282 .AudioChannels = 1, 283 .Radio = 0, 284 .vbi = 1, 285 .Tuner = 1, 286 .TunerType = TUNER_PHILIPS_NTSC_M, 287 .X_Offset = -1, 288 .Y_Offset = 20, 289 .ModelString = "Hauppauge WinTV USB (NTSC M/N)", 290 }, 291 [HPG_WINTV_PAL_BG] = { 292 .Interface = -1, 293 .Codec = CODEC_SAA7111, 294 .VideoChannels = 3, 295 .VideoNorm = V4L2_STD_PAL, 296 .AudioChannels = 1, 297 .Radio = 0, 298 .vbi = 1, 299 .Tuner = 1, 300 .TunerType = TUNER_PHILIPS_PAL, 301 .X_Offset = -1, 302 .Y_Offset = -1, 303 .ModelString = "Hauppauge WinTV USB (PAL B/G)", 304 }, 305 [HPG_WINTV_PAL_I] = { 306 .Interface = -1, 307 .Codec = CODEC_SAA7111, 308 .VideoChannels = 3, 309 .VideoNorm = V4L2_STD_PAL, 310 .AudioChannels = 1, 311 .Radio = 0, 312 .vbi = 1, 313 .Tuner = 1, 314 .TunerType = TUNER_PHILIPS_PAL, 315 .X_Offset = -1, 316 .Y_Offset = -1, 317 .ModelString = "Hauppauge WinTV USB (PAL I)", 318 }, 319 [HPG_WINTV_PAL_SECAM_L] = { 320 .Interface = -1, 321 .Codec = CODEC_SAA7111, 322 .VideoChannels = 3, 323 .VideoNorm = V4L2_STD_SECAM, 324 .AudioChannels = 1, 325 .Radio = 0, 326 .vbi = 1, 327 .Tuner = 1, 328 .TunerType = TUNER_PHILIPS_SECAM, 329 .X_Offset = -1, 330 .Y_Offset = -1, 331 .ModelString = "Hauppauge WinTV USB (PAL/SECAM L)", 332 }, 333 [HPG_WINTV_PAL_D_K] = { 334 .Interface = -1, 335 .Codec = CODEC_SAA7111, 336 .VideoChannels = 3, 337 .VideoNorm = V4L2_STD_PAL, 338 .AudioChannels = 1, 339 .Radio = 0, 340 .vbi = 1, 341 .Tuner = 1, 342 .TunerType = TUNER_PHILIPS_PAL, 343 .X_Offset = -1, 344 .Y_Offset = -1, 345 .ModelString = "Hauppauge WinTV USB (PAL D/K)", 346 }, 347 [HPG_WINTV_NTSC_FM] = { 348 .Interface = -1, 349 .Codec = CODEC_SAA7111, 350 .VideoChannels = 3, 351 .VideoNorm = V4L2_STD_NTSC, 352 .AudioChannels = 1, 353 .Radio = 1, 354 .vbi = 1, 355 .Tuner = 1, 356 .TunerType = TUNER_PHILIPS_NTSC_M, 357 .X_Offset = -1, 358 .Y_Offset = -1, 359 .ModelString = "Hauppauge WinTV USB (NTSC FM)", 360 }, 361 [HPG_WINTV_PAL_BG_FM] = { 362 .Interface = -1, 363 .Codec = CODEC_SAA7111, 364 .VideoChannels = 3, 365 .VideoNorm = V4L2_STD_PAL, 366 .AudioChannels = 1, 367 .Radio = 1, 368 .vbi = 1, 369 .Tuner = 1, 370 .TunerType = TUNER_PHILIPS_PAL, 371 .X_Offset = -1, 372 .Y_Offset = -1, 373 .ModelString = "Hauppauge WinTV USB (PAL B/G FM)", 374 }, 375 [HPG_WINTV_PAL_I_FM] = { 376 .Interface = -1, 377 .Codec = CODEC_SAA7111, 378 .VideoChannels = 3, 379 .VideoNorm = V4L2_STD_PAL, 380 .AudioChannels = 1, 381 .Radio = 1, 382 .vbi = 1, 383 .Tuner = 1, 384 .TunerType = TUNER_PHILIPS_PAL, 385 .X_Offset = -1, 386 .Y_Offset = -1, 387 .ModelString = "Hauppauge WinTV USB (PAL I FM)", 388 }, 389 [HPG_WINTV_PAL_D_K_FM] = { 390 .Interface = -1, 391 .Codec = CODEC_SAA7111, 392 .VideoChannels = 3, 393 .VideoNorm = V4L2_STD_PAL, 394 .AudioChannels = 1, 395 .Radio = 1, 396 .vbi = 1, 397 .Tuner = 1, 398 .TunerType = TUNER_PHILIPS_PAL, 399 .X_Offset = -1, 400 .Y_Offset = -1, 401 .ModelString = "Hauppauge WinTV USB (PAL D/K FM)", 402 }, 403 [HPG_WINTV_PRO_NTSC_MN] = { 404 .Interface = 0, 405 .Codec = CODEC_SAA7113, 406 .VideoChannels = 3, 407 .VideoNorm = V4L2_STD_NTSC, 408 .AudioChannels = 1, 409 .Radio = 1, 410 .vbi = 1, 411 .Tuner = 1, 412 .TunerType = TUNER_MICROTUNE_4049FM5, 413 .X_Offset = 0, 414 .Y_Offset = 3, 415 .Dvi_yuv_override = 1, 416 .Dvi_yuv = 7, 417 .ModelString = "Hauppauge WinTV USB Pro (NTSC M/N)", 418 }, 419 [HPG_WINTV_PRO_NTSC_MN_V2] = { 420 .Interface = 0, 421 .Codec = CODEC_SAA7113, 422 .VideoChannels = 3, 423 .VideoNorm = V4L2_STD_NTSC, 424 .AudioChannels = 1, 425 .Radio = 1, 426 .vbi = 1, 427 .Tuner = 1, 428 .TunerType = TUNER_MICROTUNE_4049FM5, 429 .X_Offset = 0, 430 .Y_Offset = 3, 431 .Dvi_yuv_override = 1, 432 .Dvi_yuv = 7, 433 .ModelString = "Hauppauge WinTV USB Pro (NTSC M/N) V2", 434 }, 435 [HPG_WINTV_PRO_PAL] = { 436 .Interface = 0, 437 .Codec = CODEC_SAA7113, 438 .VideoChannels = 3, 439 .VideoNorm = V4L2_STD_PAL, 440 .AudioChannels = 1, 441 .Radio = 0, 442 .vbi = 1, 443 .Tuner = 1, 444 .TunerType = TUNER_PHILIPS_FM1216ME_MK3, 445 .X_Offset = 0, 446 .Y_Offset = 3, 447 .Dvi_yuv_override = 1, 448 .Dvi_yuv = 7, 449 .ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L)", 450 }, 451 [HPG_WINTV_PRO_NTSC_MN_V3] = { 452 .Interface = 0, 453 .Codec = CODEC_SAA7113, 454 .VideoChannels = 3, 455 .VideoNorm = V4L2_STD_NTSC, 456 .AudioChannels = 1, 457 .Radio = 1, 458 .vbi = 1, 459 .Tuner = 1, 460 .TunerType = TUNER_PHILIPS_NTSC_M, 461 .X_Offset = 0, 462 .Y_Offset = 3, 463 .Dvi_yuv_override = 1, 464 .Dvi_yuv = 7, 465 .ModelString = "Hauppauge WinTV USB Pro (NTSC M/N) V3", 466 }, 467 [HPG_WINTV_PRO_PAL_BG] = { 468 .Interface = 0, 469 .Codec = CODEC_SAA7113, 470 .VideoChannels = 3, 471 .VideoNorm = V4L2_STD_PAL, 472 .AudioChannels = 1, 473 .Radio = 0, 474 .vbi = 1, 475 .Tuner = 1, 476 .TunerType = TUNER_PHILIPS_PAL, 477 .X_Offset = 0, 478 .Y_Offset = 3, 479 .Dvi_yuv_override = 1, 480 .Dvi_yuv = 7, 481 .ModelString = "Hauppauge WinTV USB Pro (PAL B/G)", 482 }, 483 [HPG_WINTV_PRO_PAL_I] = { 484 .Interface = 0, 485 .Codec = CODEC_SAA7113, 486 .VideoChannels = 3, 487 .VideoNorm = V4L2_STD_PAL, 488 .AudioChannels = 1, 489 .Radio = 0, 490 .vbi = 1, 491 .Tuner = 1, 492 .TunerType = TUNER_PHILIPS_PAL, 493 .X_Offset = 0, 494 .Y_Offset = 3, 495 .Dvi_yuv_override = 1, 496 .Dvi_yuv = 7, 497 .ModelString = "Hauppauge WinTV USB Pro (PAL I)", 498 }, 499 [HPG_WINTV_PRO_PAL_SECAM_L] = { 500 .Interface = -1, 501 .Codec = CODEC_SAA7113, 502 .VideoChannels = 3, 503 .VideoNorm = V4L2_STD_SECAM, 504 .AudioChannels = 1, 505 .Radio = 0, 506 .vbi = 1, 507 .Tuner = 1, 508 .TunerType = TUNER_PHILIPS_SECAM, 509 .X_Offset = 0, 510 .Y_Offset = 3, 511 .Dvi_yuv_override = 1, 512 .Dvi_yuv = 7, 513 .ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM L)", 514 }, 515 [HPG_WINTV_PRO_PAL_D_K] = { 516 .Interface = -1, 517 .Codec = CODEC_SAA7113, 518 .VideoChannels = 3, 519 .VideoNorm = V4L2_STD_PAL, 520 .AudioChannels = 1, 521 .Radio = 0, 522 .vbi = 1, 523 .Tuner = 1, 524 .TunerType = TUNER_PHILIPS_PAL, 525 .X_Offset = 0, 526 .Y_Offset = 3, 527 .Dvi_yuv_override = 1, 528 .Dvi_yuv = 7, 529 .ModelString = "Hauppauge WinTV USB Pro (PAL D/K)", 530 }, 531 [HPG_WINTV_PRO_PAL_SECAM] = { 532 .Interface = -1, 533 .Codec = CODEC_SAA7113, 534 .VideoChannels = 3, 535 .VideoNorm = V4L2_STD_SECAM, 536 .AudioChannels = 1, 537 .Radio = 0, 538 .vbi = 1, 539 .Tuner = 1, 540 .TunerType = TUNER_PHILIPS_SECAM, 541 .X_Offset = 0, 542 .Y_Offset = 3, 543 .Dvi_yuv_override = 1, 544 .Dvi_yuv = 7, 545 .ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L)", 546 }, 547 [HPG_WINTV_PRO_PAL_SECAM_V2] = { 548 .Interface = -1, 549 .Codec = CODEC_SAA7113, 550 .VideoChannels = 3, 551 .VideoNorm = V4L2_STD_SECAM, 552 .AudioChannels = 1, 553 .Radio = 0, 554 .vbi = 1, 555 .Tuner = 1, 556 .TunerType = TUNER_PHILIPS_SECAM, 557 .X_Offset = 0, 558 .Y_Offset = 3, 559 .Dvi_yuv_override = 1, 560 .Dvi_yuv = 7, 561 .ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2", 562 }, 563 [HPG_WINTV_PRO_PAL_BG_V2] = { 564 .Interface = -1, 565 .Codec = CODEC_SAA7113, 566 .VideoChannels = 3, 567 .VideoNorm = V4L2_STD_PAL, 568 .AudioChannels = 1, 569 .Radio = 0, 570 .vbi = 1, 571 .Tuner = 1, 572 .TunerType = TUNER_ALPS_TSBE1_PAL, 573 .X_Offset = 0, 574 .Y_Offset = 3, 575 .Dvi_yuv_override = 1, 576 .Dvi_yuv = 7, 577 .ModelString = "Hauppauge WinTV USB Pro (PAL B/G) V2", 578 }, 579 [HPG_WINTV_PRO_PAL_BG_D_K] = { 580 .Interface = -1, 581 .Codec = CODEC_SAA7113, 582 .VideoChannels = 3, 583 .VideoNorm = V4L2_STD_PAL, 584 .AudioChannels = 1, 585 .Radio = 0, 586 .vbi = 1, 587 .Tuner = 1, 588 .TunerType = TUNER_ALPS_TSBE1_PAL, 589 .X_Offset = 0, 590 .Y_Offset = 3, 591 .Dvi_yuv_override = 1, 592 .Dvi_yuv = 7, 593 .ModelString = "Hauppauge WinTV USB Pro (PAL B/G,D/K)", 594 }, 595 [HPG_WINTV_PRO_PAL_I_D_K] = { 596 .Interface = -1, 597 .Codec = CODEC_SAA7113, 598 .VideoChannels = 3, 599 .VideoNorm = V4L2_STD_PAL, 600 .AudioChannels = 1, 601 .Radio = 0, 602 .vbi = 1, 603 .Tuner = 1, 604 .TunerType = TUNER_PHILIPS_PAL, 605 .X_Offset = 0, 606 .Y_Offset = 3, 607 .Dvi_yuv_override = 1, 608 .Dvi_yuv = 7, 609 .ModelString = "Hauppauge WinTV USB Pro (PAL I,D/K)", 610 }, 611 [HPG_WINTV_PRO_NTSC_MN_FM] = { 612 .Interface = -1, 613 .Codec = CODEC_SAA7113, 614 .VideoChannels = 3, 615 .VideoNorm = V4L2_STD_NTSC, 616 .AudioChannels = 1, 617 .Radio = 1, 618 .vbi = 1, 619 .Tuner = 1, 620 .TunerType = TUNER_PHILIPS_NTSC_M, 621 .X_Offset = 0, 622 .Y_Offset = 3, 623 .Dvi_yuv_override = 1, 624 .Dvi_yuv = 7, 625 .ModelString = "Hauppauge WinTV USB Pro (NTSC M/N FM)", 626 }, 627 [HPG_WINTV_PRO_PAL_BG_FM] = { 628 .Interface = 0, 629 .Codec = CODEC_SAA7113, 630 .VideoChannels = 3, 631 .VideoNorm = V4L2_STD_PAL, 632 .AudioChannels = 1, 633 .Radio = 1, 634 .vbi = 1, 635 .Tuner = 1, 636 .TunerType = TUNER_PHILIPS_PAL, 637 .X_Offset = 0, 638 .Y_Offset = 3, 639 .Dvi_yuv_override = 1, 640 .Dvi_yuv = 7, 641 .ModelString = "Hauppauge WinTV USB Pro (PAL B/G FM)", 642 }, 643 [HPG_WINTV_PRO_PAL_I_FM] = { 644 .Interface = 0, 645 .Codec = CODEC_SAA7113, 646 .VideoChannels = 3, 647 .VideoNorm = V4L2_STD_PAL, 648 .AudioChannels = 1, 649 .Radio = 1, 650 .vbi = 1, 651 .Tuner = 1, 652 .TunerType = TUNER_PHILIPS_PAL, 653 .X_Offset = 0, 654 .Y_Offset = 3, 655 .Dvi_yuv_override = 1, 656 .Dvi_yuv = 7, 657 .ModelString = "Hauppauge WinTV USB Pro (PAL I FM)", 658 }, 659 [HPG_WINTV_PRO_PAL_D_K_FM] = { 660 .Interface = 0, 661 .Codec = CODEC_SAA7113, 662 .VideoChannels = 3, 663 .VideoNorm = V4L2_STD_PAL, 664 .AudioChannels = 1, 665 .Radio = 1, 666 .vbi = 1, 667 .Tuner = 1, 668 .TunerType = TUNER_PHILIPS_PAL, 669 .X_Offset = 0, 670 .Y_Offset = 3, 671 .Dvi_yuv_override = 1, 672 .Dvi_yuv = 7, 673 .ModelString = "Hauppauge WinTV USB Pro (PAL D/K FM)", 674 }, 675 [HPG_WINTV_PRO_TEMIC_PAL_FM] = { 676 .Interface = 0, 677 .Codec = CODEC_SAA7113, 678 .VideoChannels = 3, 679 .VideoNorm = V4L2_STD_PAL, 680 .AudioChannels = 1, 681 .Radio = 1, 682 .vbi = 1, 683 .Tuner = 1, 684 .TunerType = TUNER_MICROTUNE_4049FM5, 685 .X_Offset = 0, 686 .Y_Offset = 3, 687 .Dvi_yuv_override = 1, 688 .Dvi_yuv = 7, 689 .ModelString = "Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM)", 690 }, 691 [HPG_WINTV_PRO_TEMIC_PAL_BG_FM] = { 692 .Interface = 0, 693 .Codec = CODEC_SAA7113, 694 .VideoChannels = 3, 695 .VideoNorm = V4L2_STD_PAL, 696 .AudioChannels = 1, 697 .Radio = 1, 698 .vbi = 1, 699 .Tuner = 1, 700 .TunerType = TUNER_MICROTUNE_4049FM5, 701 .X_Offset = 0, 702 .Y_Offset = 3, 703 .Dvi_yuv_override = 1, 704 .Dvi_yuv = 7, 705 .ModelString = "Hauppauge WinTV USB Pro (Temic PAL B/G FM)", 706 }, 707 [HPG_WINTV_PRO_PAL_FM] = { 708 .Interface = 0, 709 .Codec = CODEC_SAA7113, 710 .VideoChannels = 3, 711 .VideoNorm = V4L2_STD_PAL, 712 .AudioChannels = 1, 713 .Radio = 1, 714 .vbi = 1, 715 .Tuner = 1, 716 .TunerType = TUNER_PHILIPS_FM1216ME_MK3, 717 .X_Offset = 0, 718 .Y_Offset = 3, 719 .Dvi_yuv_override = 1, 720 .Dvi_yuv = 7, 721 .ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM)", 722 }, 723 [HPG_WINTV_PRO_NTSC_MN_FM_V2] = { 724 .Interface = 0, 725 .Codec = CODEC_SAA7113, 726 .VideoChannels = 3, 727 .VideoNorm = V4L2_STD_NTSC, 728 .AudioChannels = 1, 729 .Radio = 1, 730 .vbi = 1, 731 .Tuner = 1, 732 .TunerType = TUNER_PHILIPS_NTSC_M, 733 .X_Offset = 0, 734 .Y_Offset = 3, 735 .Dvi_yuv_override = 1, 736 .Dvi_yuv = 7, 737 .ModelString = "Hauppauge WinTV USB Pro (NTSC M/N FM) V2", 738 }, 739 [CAMTEL_TVB330] = { 740 .Interface = -1, 741 .Codec = CODEC_SAA7113, 742 .VideoChannels = 3, 743 .VideoNorm = V4L2_STD_NTSC, 744 .AudioChannels = 1, 745 .Radio = 1, 746 .vbi = 1, 747 .Tuner = 1, 748 .TunerType = TUNER_PHILIPS_NTSC_M, 749 .X_Offset = 5, 750 .Y_Offset = 5, 751 .ModelString = "Camtel Technology USB TV Genie Pro FM Model TVB330", 752 }, 753 [DIGITAL_VIDEO_CREATOR_I] = { 754 .Interface = -1, 755 .Codec = CODEC_SAA7113, 756 .VideoChannels = 2, 757 .VideoNorm = V4L2_STD_PAL, 758 .AudioChannels = 0, 759 .Radio = 0, 760 .vbi = 1, 761 .Tuner = 0, 762 .TunerType = 0, 763 .X_Offset = 0, 764 .Y_Offset = 3, 765 .Dvi_yuv_override = 1, 766 .Dvi_yuv = 7, 767 .ModelString = "Digital Video Creator I", 768 }, 769 [GLOBAL_VILLAGE_GV_007_NTSC] = { 770 .Interface = -1, 771 .Codec = CODEC_SAA7111, 772 .VideoChannels = 2, 773 .VideoNorm = V4L2_STD_NTSC, 774 .AudioChannels = 0, 775 .Radio = 0, 776 .vbi = 1, 777 .Tuner = 0, 778 .TunerType = 0, 779 .X_Offset = 82, 780 .Y_Offset = 20, 781 .Dvi_yuv_override = 1, 782 .Dvi_yuv = 7, 783 .ModelString = "Global Village GV-007 (NTSC)", 784 }, 785 [DAZZLE_DVC_50_REV_1_NTSC] = { 786 .Interface = 0, 787 .Codec = CODEC_SAA7113, 788 .VideoChannels = 2, 789 .VideoNorm = V4L2_STD_NTSC, 790 .AudioChannels = 0, 791 .Radio = 0, 792 .vbi = 1, 793 .Tuner = 0, 794 .TunerType = 0, 795 .X_Offset = 0, 796 .Y_Offset = 3, 797 .Dvi_yuv_override = 1, 798 .Dvi_yuv = 7, 799 .ModelString = "Dazzle Fusion Model DVC-50 Rev 1 (NTSC)", 800 }, 801 [DAZZLE_DVC_80_REV_1_PAL] = { 802 .Interface = 0, 803 .Codec = CODEC_SAA7113, 804 .VideoChannels = 2, 805 .VideoNorm = V4L2_STD_PAL, 806 .AudioChannels = 0, 807 .Radio = 0, 808 .vbi = 1, 809 .Tuner = 0, 810 .TunerType = 0, 811 .X_Offset = 0, 812 .Y_Offset = 3, 813 .Dvi_yuv_override = 1, 814 .Dvi_yuv = 7, 815 .ModelString = "Dazzle Fusion Model DVC-80 Rev 1 (PAL)", 816 }, 817 [DAZZLE_DVC_90_REV_1_SECAM] = { 818 .Interface = 0, 819 .Codec = CODEC_SAA7113, 820 .VideoChannels = 2, 821 .VideoNorm = V4L2_STD_SECAM, 822 .AudioChannels = 0, 823 .Radio = 0, 824 .vbi = 1, 825 .Tuner = 0, 826 .TunerType = 0, 827 .X_Offset = 0, 828 .Y_Offset = 3, 829 .Dvi_yuv_override = 1, 830 .Dvi_yuv = 7, 831 .ModelString = "Dazzle Fusion Model DVC-90 Rev 1 (SECAM)", 832 }, 833 [ESKAPE_LABS_MYTV2GO] = { 834 .Interface = 0, 835 .Codec = CODEC_SAA7113, 836 .VideoChannels = 2, 837 .VideoNorm = V4L2_STD_PAL, 838 .AudioChannels = 1, 839 .Radio = 1, 840 .vbi = 1, 841 .Tuner = 1, 842 .TunerType = TUNER_PHILIPS_FM1216ME_MK3, 843 .X_Offset = 0, 844 .Y_Offset = 3, 845 .Dvi_yuv_override = 1, 846 .Dvi_yuv = 7, 847 .ModelString = "Eskape Labs MyTV2Go", 848 }, 849 [PINNA_PCTV_USB_PAL] = { 850 .Interface = -1, 851 .Codec = CODEC_SAA7111, 852 .VideoChannels = 3, 853 .VideoNorm = V4L2_STD_PAL, 854 .AudioChannels = 1, 855 .Radio = 0, 856 .vbi = 0, 857 .Tuner = 1, 858 .TunerType = TUNER_TEMIC_4066FY5_PAL_I, 859 .X_Offset = -1, 860 .Y_Offset = -1, 861 .ModelString = "Pinnacle Studio PCTV USB (PAL)", 862 }, 863 [PINNA_PCTV_USB_SECAM] = { 864 .Interface = -1, 865 .Codec = CODEC_SAA7111, 866 .VideoChannels = 3, 867 .VideoNorm = V4L2_STD_SECAM, 868 .AudioChannels = 1, 869 .Radio = 0, 870 .vbi = 1, 871 .Tuner = 1, 872 .TunerType = TUNER_PHILIPS_SECAM, 873 .X_Offset = -1, 874 .Y_Offset = -1, 875 .ModelString = "Pinnacle Studio PCTV USB (SECAM)", 876 }, 877 [PINNA_PCTV_USB_PAL_FM] = { 878 .Interface = -1, 879 .Codec = CODEC_SAA7111, 880 .VideoChannels = 3, 881 .VideoNorm = V4L2_STD_PAL, 882 .AudioChannels = 1, 883 .Radio = 1, 884 .vbi = 1, 885 .Tuner = 1, 886 .TunerType = TUNER_PHILIPS_PAL, 887 .X_Offset = 128, 888 .Y_Offset = 23, 889 .ModelString = "Pinnacle Studio PCTV USB (PAL) FM", 890 }, 891 [MIRO_PCTV_USB] = { 892 .Interface = -1, 893 .Codec = CODEC_SAA7111, 894 .VideoChannels = 3, 895 .VideoNorm = V4L2_STD_PAL, 896 .AudioChannels = 1, 897 .Radio = 0, 898 .vbi = 1, 899 .Tuner = 1, 900 .TunerType = TUNER_PHILIPS_PAL, 901 .X_Offset = -1, 902 .Y_Offset = -1, 903 .ModelString = "Miro PCTV USB", 904 }, 905 [PINNA_PCTV_USB_NTSC_FM] = { 906 .Interface = -1, 907 .Codec = CODEC_SAA7111, 908 .VideoChannels = 3, 909 .VideoNorm = V4L2_STD_NTSC, 910 .AudioChannels = 1, 911 .Radio = 1, 912 .vbi = 1, 913 .Tuner = 1, 914 .TunerType = TUNER_PHILIPS_NTSC_M, 915 .X_Offset = -1, 916 .Y_Offset = -1, 917 .ModelString = "Pinnacle Studio PCTV USB (NTSC) FM", 918 }, 919 [PINNA_PCTV_USB_PAL_FM_V2] = { 920 .Interface = -1, 921 .Codec = CODEC_SAA7113, 922 .VideoChannels = 3, 923 .VideoNorm = V4L2_STD_PAL, 924 .AudioChannels = 1, 925 .Radio = 1, 926 .vbi = 1, 927 .Tuner = 1, 928 .TunerType = TUNER_TEMIC_4009FR5_PAL, 929 .X_Offset = 0, 930 .Y_Offset = 3, 931 .Dvi_yuv_override = 1, 932 .Dvi_yuv = 7, 933 .ModelString = "Pinnacle Studio PCTV USB (PAL) FM V2", 934 }, 935 [PINNA_PCTV_USB_NTSC_FM_V2] = { 936 .Interface = -1, 937 .Codec = CODEC_SAA7111, 938 .VideoChannels = 3, 939 .VideoNorm = V4L2_STD_NTSC, 940 .AudioChannels = 1, 941 .Radio = 1, 942 .vbi = 1, 943 .Tuner = 1, 944 .TunerType = TUNER_TEMIC_4039FR5_NTSC, 945 .X_Offset = 0, 946 .Y_Offset = 3, 947 .Dvi_yuv_override = 1, 948 .Dvi_yuv = 7, 949 .ModelString = "Pinnacle Studio PCTV USB (NTSC) FM V2", 950 }, 951 [PINNA_PCTV_USB_PAL_FM_V3] = { 952 .Interface = -1, 953 .Codec = CODEC_SAA7113, 954 .VideoChannels = 3, 955 .VideoNorm = V4L2_STD_PAL, 956 .AudioChannels = 1, 957 .Radio = 1, 958 .vbi = 1, 959 .Tuner = 1, 960 .TunerType = TUNER_TEMIC_4009FR5_PAL, 961 .X_Offset = 0, 962 .Y_Offset = 3, 963 .Dvi_yuv_override = 1, 964 .Dvi_yuv = 7, 965 .ModelString = "Pinnacle Studio PCTV USB (PAL) FM V3", 966 }, 967 [PINNA_LINX_VD_IN_CAB_NTSC] = { 968 .Interface = -1, 969 .Codec = CODEC_SAA7113, 970 .VideoChannels = 2, 971 .VideoNorm = V4L2_STD_NTSC, 972 .AudioChannels = 1, 973 .Radio = 0, 974 .vbi = 1, 975 .Tuner = 0, 976 .TunerType = 0, 977 .X_Offset = 0, 978 .Y_Offset = 3, 979 .Dvi_yuv_override = 1, 980 .Dvi_yuv = 7, 981 .ModelString = "Pinnacle Studio Linx Video input cable (NTSC)", 982 }, 983 [PINNA_LINX_VD_IN_CAB_PAL] = { 984 .Interface = -1, 985 .Codec = CODEC_SAA7113, 986 .VideoChannels = 2, 987 .VideoNorm = V4L2_STD_PAL, 988 .AudioChannels = 1, 989 .Radio = 0, 990 .vbi = 1, 991 .Tuner = 0, 992 .TunerType = 0, 993 .X_Offset = 0, 994 .Y_Offset = 3, 995 .Dvi_yuv_override = 1, 996 .Dvi_yuv = 7, 997 .ModelString = "Pinnacle Studio Linx Video input cable (PAL)", 998 }, 999 [PINNA_PCTV_BUNGEE_PAL_FM] = { 1000 .Interface = -1, 1001 .Codec = CODEC_SAA7113, 1002 .VideoChannels = 3, 1003 .VideoNorm = V4L2_STD_PAL, 1004 .AudioChannels = 1, 1005 .Radio = 1, 1006 .vbi = 1, 1007 .Tuner = 1, 1008 .TunerType = TUNER_TEMIC_4009FR5_PAL, 1009 .X_Offset = 0, 1010 .Y_Offset = 3, 1011 .Dvi_yuv_override = 1, 1012 .Dvi_yuv = 7, 1013 .ModelString = "Pinnacle PCTV Bungee USB (PAL) FM", 1014 }, 1015 [HPG_WINTV] = { 1016 .Interface = -1, 1017 .Codec = CODEC_SAA7111, 1018 .VideoChannels = 3, 1019 .VideoNorm = V4L2_STD_NTSC, 1020 .AudioChannels = 1, 1021 .Radio = 0, 1022 .vbi = 1, 1023 .Tuner = 1, 1024 .TunerType = TUNER_PHILIPS_NTSC_M, 1025 .X_Offset = -1, 1026 .Y_Offset = -1, 1027 .ModelString = "Hauppauge WinTv-USB", 1028 }, 1029}; 1030const int usbvision_device_data_size=ARRAY_SIZE(usbvision_device_data); 1031 1032/* Supported Devices */ 1033 1034struct usb_device_id usbvision_table [] = { 1035 { USB_DEVICE(0xfff0, 0xfff0), .driver_info=DUMMY_DEVICE }, 1036 { USB_DEVICE(0x0a6f, 0x0400), .driver_info=XANBOO }, 1037 { USB_DEVICE(0x050d, 0x0106), .driver_info=BELKIN_VIDEOBUS_II }, 1038 { USB_DEVICE(0x050d, 0x0207), .driver_info=BELKIN_VIDEOBUS }, 1039 { USB_DEVICE(0x050d, 0x0208), .driver_info=BELKIN_USB_VIDEOBUS_II }, 1040 { USB_DEVICE(0x0571, 0x0002), .driver_info=ECHOFX_INTERVIEW_LITE }, 1041 { USB_DEVICE(0x0573, 0x0003), .driver_info=USBGEAR_USBG_V1 }, 1042 { USB_DEVICE(0x0573, 0x0400), .driver_info=D_LINK_V100 }, 1043 { USB_DEVICE(0x0573, 0x2000), .driver_info=X10_USB_CAMERA }, 1044 { USB_DEVICE(0x0573, 0x2d00), .driver_info=HPG_WINTV_LIVE_PAL_BG }, 1045 { USB_DEVICE(0x0573, 0x2d01), .driver_info=HPG_WINTV_LIVE_PRO_NTSC_MN }, 1046 { USB_DEVICE(0x0573, 0x2101), .driver_info=ZORAN_PMD_NOGATECH }, 1047 { USB_DEVICE(0x0573, 0x4100), .driver_info=NOGATECH_USB_TV_NTSC_FM }, 1048 { USB_DEVICE(0x0573, 0x4110), .driver_info=PNY_USB_TV_NTSC_FM }, 1049 { USB_DEVICE(0x0573, 0x4450), .driver_info=PV_PLAYTV_USB_PRO_PAL_FM }, 1050 { USB_DEVICE(0x0573, 0x4550), .driver_info=ZT_721 }, 1051 { USB_DEVICE(0x0573, 0x4d00), .driver_info=HPG_WINTV_NTSC_MN }, 1052 { USB_DEVICE(0x0573, 0x4d01), .driver_info=HPG_WINTV_PAL_BG }, 1053 { USB_DEVICE(0x0573, 0x4d02), .driver_info=HPG_WINTV_PAL_I }, 1054 { USB_DEVICE(0x0573, 0x4d03), .driver_info=HPG_WINTV_PAL_SECAM_L }, 1055 { USB_DEVICE(0x0573, 0x4d04), .driver_info=HPG_WINTV_PAL_D_K }, 1056 { USB_DEVICE(0x0573, 0x4d10), .driver_info=HPG_WINTV_NTSC_FM }, 1057 { USB_DEVICE(0x0573, 0x4d11), .driver_info=HPG_WINTV_PAL_BG_FM }, 1058 { USB_DEVICE(0x0573, 0x4d12), .driver_info=HPG_WINTV_PAL_I_FM }, 1059 { USB_DEVICE(0x0573, 0x4d14), .driver_info=HPG_WINTV_PAL_D_K_FM }, 1060 { USB_DEVICE(0x0573, 0x4d2a), .driver_info=HPG_WINTV_PRO_NTSC_MN }, 1061 { USB_DEVICE(0x0573, 0x4d2b), .driver_info=HPG_WINTV_PRO_NTSC_MN_V2 }, 1062 { USB_DEVICE(0x0573, 0x4d2c), .driver_info=HPG_WINTV_PRO_PAL }, 1063 { USB_DEVICE(0x0573, 0x4d20), .driver_info=HPG_WINTV_PRO_NTSC_MN_V3 }, 1064 { USB_DEVICE(0x0573, 0x4d21), .driver_info=HPG_WINTV_PRO_PAL_BG }, 1065 { USB_DEVICE(0x0573, 0x4d22), .driver_info=HPG_WINTV_PRO_PAL_I }, 1066 { USB_DEVICE(0x0573, 0x4d23), .driver_info=HPG_WINTV_PRO_PAL_SECAM_L }, 1067 { USB_DEVICE(0x0573, 0x4d24), .driver_info=HPG_WINTV_PRO_PAL_D_K }, 1068 { USB_DEVICE(0x0573, 0x4d25), .driver_info=HPG_WINTV_PRO_PAL_SECAM }, 1069 { USB_DEVICE(0x0573, 0x4d26), .driver_info=HPG_WINTV_PRO_PAL_SECAM_V2 }, 1070 { USB_DEVICE(0x0573, 0x4d27), .driver_info=HPG_WINTV_PRO_PAL_BG_V2 }, 1071 { USB_DEVICE(0x0573, 0x4d28), .driver_info=HPG_WINTV_PRO_PAL_BG_D_K }, 1072 { USB_DEVICE(0x0573, 0x4d29), .driver_info=HPG_WINTV_PRO_PAL_I_D_K }, 1073 { USB_DEVICE(0x0573, 0x4d30), .driver_info=HPG_WINTV_PRO_NTSC_MN_FM }, 1074 { USB_DEVICE(0x0573, 0x4d31), .driver_info=HPG_WINTV_PRO_PAL_BG_FM }, 1075 { USB_DEVICE(0x0573, 0x4d32), .driver_info=HPG_WINTV_PRO_PAL_I_FM }, 1076 { USB_DEVICE(0x0573, 0x4d34), .driver_info=HPG_WINTV_PRO_PAL_D_K_FM }, 1077 { USB_DEVICE(0x0573, 0x4d35), .driver_info=HPG_WINTV_PRO_TEMIC_PAL_FM }, 1078 { USB_DEVICE(0x0573, 0x4d36), .driver_info=HPG_WINTV_PRO_TEMIC_PAL_BG_FM }, 1079 { USB_DEVICE(0x0573, 0x4d37), .driver_info=HPG_WINTV_PRO_PAL_FM }, 1080 { USB_DEVICE(0x0573, 0x4d38), .driver_info=HPG_WINTV_PRO_NTSC_MN_FM_V2 }, 1081 { USB_DEVICE(0x0768, 0x0006), .driver_info=CAMTEL_TVB330 }, 1082 { USB_DEVICE(0x07d0, 0x0001), .driver_info=DIGITAL_VIDEO_CREATOR_I }, 1083 { USB_DEVICE(0x07d0, 0x0002), .driver_info=GLOBAL_VILLAGE_GV_007_NTSC }, 1084 { USB_DEVICE(0x07d0, 0x0003), .driver_info=DAZZLE_DVC_50_REV_1_NTSC }, 1085 { USB_DEVICE(0x07d0, 0x0004), .driver_info=DAZZLE_DVC_80_REV_1_PAL }, 1086 { USB_DEVICE(0x07d0, 0x0005), .driver_info=DAZZLE_DVC_90_REV_1_SECAM }, 1087 { USB_DEVICE(0x07f8, 0x9104), .driver_info=ESKAPE_LABS_MYTV2GO }, 1088 { USB_DEVICE(0x2304, 0x010d), .driver_info=PINNA_PCTV_USB_PAL }, 1089 { USB_DEVICE(0x2304, 0x0109), .driver_info=PINNA_PCTV_USB_SECAM }, 1090 { USB_DEVICE(0x2304, 0x0110), .driver_info=PINNA_PCTV_USB_PAL_FM }, 1091 { USB_DEVICE(0x2304, 0x0111), .driver_info=MIRO_PCTV_USB }, 1092 { USB_DEVICE(0x2304, 0x0112), .driver_info=PINNA_PCTV_USB_NTSC_FM }, 1093 { USB_DEVICE(0x2304, 0x0210), .driver_info=PINNA_PCTV_USB_PAL_FM_V2 }, 1094 { USB_DEVICE(0x2304, 0x0212), .driver_info=PINNA_PCTV_USB_NTSC_FM_V2 }, 1095 { USB_DEVICE(0x2304, 0x0214), .driver_info=PINNA_PCTV_USB_PAL_FM_V3 }, 1096 { USB_DEVICE(0x2304, 0x0300), .driver_info=PINNA_LINX_VD_IN_CAB_NTSC }, 1097 { USB_DEVICE(0x2304, 0x0301), .driver_info=PINNA_LINX_VD_IN_CAB_PAL }, 1098 { USB_DEVICE(0x2304, 0x0419), .driver_info=PINNA_PCTV_BUNGEE_PAL_FM }, 1099 { USB_DEVICE(0x2400, 0x4200), .driver_info=HPG_WINTV }, 1100}; 1101 1102MODULE_DEVICE_TABLE (usb, usbvision_table); 1103