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