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