linux/drivers/media/video/usbvision/usbvision-cards.c

1104 lines
31 KiB
C

/*
* usbvision-cards.c
* usbvision cards definition file
*
* Copyright (c) 1999-2005 Joerg Heckenbach <joerg@heckenbach-aw.de>
*
* This module is part of usbvision driver project.
* Updates to driver completed by Dwaine P. Garden
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/list.h>
#include <media/v4l2-dev.h>
#include <media/tuner.h>
#include "usbvision.h"
#include "usbvision-cards.h"
/* Supported Devices: A table for usbvision.c*/
struct usbvision_device_data_st usbvision_device_data[] = {
[XANBOO] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 4,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Xanboo",
},
[BELKIN_VIDEOBUS_II] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Belkin USB VideoBus II Adapter",
},
[BELKIN_VIDEOBUS] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Belkin Components USB VideoBus",
},
[BELKIN_USB_VIDEOBUS_II] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Belkin USB VideoBus II",
},
[ECHOFX_INTERVIEW_LITE] = {
.Interface = 0,
.Codec = CODEC_SAA7111,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = -1,
.Y_Offset = -1,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "echoFX InterView Lite",
},
[USBGEAR_USBG_V1] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "USBGear USBG-V1 resp. HAMA USB",
},
[D_LINK_V100] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 4,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "D-Link V100",
},
[X10_USB_CAMERA] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "X10 USB Camera",
},
[HPG_WINTV_LIVE_PAL_BG] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = -1,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Live (PAL B/G)",
},
[HPG_WINTV_LIVE_PRO_NTSC_MN] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Live Pro (NTSC M/N)",
},
[ZORAN_PMD_NOGATECH] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 2,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Zoran Co. PMD (Nogatech) AV-grabber Manhattan",
},
[NOGATECH_USB_TV_NTSC_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = 20,
.ModelString = "Nogatech USB-TV (NTSC) FM",
},
[PNY_USB_TV_NTSC_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = 20,
.ModelString = "PNY USB-TV (NTSC) FM",
},
[PV_PLAYTV_USB_PRO_PAL_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "PixelView PlayTv-USB PRO (PAL) FM",
},
[ZT_721] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "ZTV ZT-721 2.4GHz USB A/V Receiver",
},
[HPG_WINTV_NTSC_MN] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = 20,
.ModelString = "Hauppauge WinTV USB (NTSC M/N)",
},
[HPG_WINTV_PAL_BG] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (PAL B/G)",
},
[HPG_WINTV_PAL_I] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (PAL I)",
},
[HPG_WINTV_PAL_SECAM_L] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_SECAM,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_SECAM,
.X_Offset = 0x80,
.Y_Offset = 0x16,
.ModelString = "Hauppauge WinTV USB (PAL/SECAM L)",
},
[HPG_WINTV_PAL_D_K] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (PAL D/K)",
},
[HPG_WINTV_NTSC_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (NTSC FM)",
},
[HPG_WINTV_PAL_BG_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (PAL B/G FM)",
},
[HPG_WINTV_PAL_I_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (PAL I FM)",
},
[HPG_WINTV_PAL_D_K_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTV USB (PAL D/K FM)",
},
[HPG_WINTV_PRO_NTSC_MN] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_MICROTUNE_4049FM5,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (NTSC M/N)",
},
[HPG_WINTV_PRO_NTSC_MN_V2] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_MICROTUNE_4049FM5,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (NTSC M/N) V2",
},
[HPG_WINTV_PRO_PAL] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_FM1216ME_MK3,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L)",
},
[HPG_WINTV_PRO_NTSC_MN_V3] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (NTSC M/N) V3",
},
[HPG_WINTV_PRO_PAL_BG] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL B/G)",
},
[HPG_WINTV_PRO_PAL_I] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL I)",
},
[HPG_WINTV_PRO_PAL_SECAM_L] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_SECAM,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_SECAM,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM L)",
},
[HPG_WINTV_PRO_PAL_D_K] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL D/K)",
},
[HPG_WINTV_PRO_PAL_SECAM] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_SECAM,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_SECAM,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L)",
},
[HPG_WINTV_PRO_PAL_SECAM_V2] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_SECAM,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_SECAM,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2",
},
[HPG_WINTV_PRO_PAL_BG_V2] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_ALPS_TSBE1_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL B/G) V2",
},
[HPG_WINTV_PRO_PAL_BG_D_K] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_ALPS_TSBE1_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL B/G,D/K)",
},
[HPG_WINTV_PRO_PAL_I_D_K] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_LG_PAL_NEW_TAPC,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL I,D/K)",
},
[HPG_WINTV_PRO_NTSC_MN_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (NTSC M/N FM)",
},
[HPG_WINTV_PRO_PAL_BG_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL B/G FM)",
},
[HPG_WINTV_PRO_PAL_I_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL I FM)",
},
[HPG_WINTV_PRO_PAL_D_K_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL D/K FM)",
},
[HPG_WINTV_PRO_TEMIC_PAL_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_MICROTUNE_4049FM5,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM)",
},
[HPG_WINTV_PRO_TEMIC_PAL_BG_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_MICROTUNE_4049FM5,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (Temic PAL B/G FM)",
},
[HPG_WINTV_PRO_PAL_FM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_FM1216ME_MK3,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM)",
},
[HPG_WINTV_PRO_NTSC_MN_FM_V2] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Hauppauge WinTV USB Pro (NTSC M/N FM) V2",
},
[CAMTEL_TVB330] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = 5,
.Y_Offset = 5,
.ModelString = "Camtel Technology USB TV Genie Pro FM Model TVB330",
},
[DIGITAL_VIDEO_CREATOR_I] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Digital Video Creator I",
},
[GLOBAL_VILLAGE_GV_007_NTSC] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 82,
.Y_Offset = 20,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Global Village GV-007 (NTSC)",
},
[DAZZLE_DVC_50_REV_1_NTSC] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Dazzle Fusion Model DVC-50 Rev 1 (NTSC)",
},
[DAZZLE_DVC_80_REV_1_PAL] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Dazzle Fusion Model DVC-80 Rev 1 (PAL)",
},
[DAZZLE_DVC_90_REV_1_SECAM] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_SECAM,
.AudioChannels = 0,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Dazzle Fusion Model DVC-90 Rev 1 (SECAM)",
},
[ESKAPE_LABS_MYTV2GO] = {
.Interface = 0,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_FM1216ME_MK3,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Eskape Labs MyTV2Go",
},
[PINNA_PCTV_USB_PAL] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 0,
.Tuner = 1,
.TunerType = TUNER_TEMIC_4066FY5_PAL_I,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Pinnacle Studio PCTV USB (PAL)",
},
[PINNA_PCTV_USB_SECAM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_SECAM,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_SECAM,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Pinnacle Studio PCTV USB (SECAM)",
},
[PINNA_PCTV_USB_PAL_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = 128,
.Y_Offset = 23,
.ModelString = "Pinnacle Studio PCTV USB (PAL) FM",
},
[MIRO_PCTV_USB] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_PAL,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Miro PCTV USB",
},
[PINNA_PCTV_USB_NTSC_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Pinnacle Studio PCTV USB (NTSC) FM",
},
[PINNA_PCTV_USB_NTSC_FM_V3] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Pinnacle Studio PCTV USB (NTSC) FM V3",
},
[PINNA_PCTV_USB_PAL_FM_V2] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_TEMIC_4009FR5_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Pinnacle Studio PCTV USB (PAL) FM V2",
},
[PINNA_PCTV_USB_NTSC_FM_V2] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_TEMIC_4039FR5_NTSC,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Pinnacle Studio PCTV USB (NTSC) FM V2",
},
[PINNA_PCTV_USB_PAL_FM_V3] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_TEMIC_4009FR5_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Pinnacle Studio PCTV USB (PAL) FM V3",
},
[PINNA_LINX_VD_IN_CAB_NTSC] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Pinnacle Studio Linx Video input cable (NTSC)",
},
[PINNA_LINX_VD_IN_CAB_PAL] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 2,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 0,
.TunerType = 0,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Pinnacle Studio Linx Video input cable (PAL)",
},
[PINNA_PCTV_BUNGEE_PAL_FM] = {
.Interface = -1,
.Codec = CODEC_SAA7113,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_PAL,
.AudioChannels = 1,
.Radio = 1,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_TEMIC_4009FR5_PAL,
.X_Offset = 0,
.Y_Offset = 3,
.Dvi_yuv_override = 1,
.Dvi_yuv = 7,
.ModelString = "Pinnacle PCTV Bungee USB (PAL) FM",
},
[HPG_WINTV] = {
.Interface = -1,
.Codec = CODEC_SAA7111,
.VideoChannels = 3,
.VideoNorm = V4L2_STD_NTSC,
.AudioChannels = 1,
.Radio = 0,
.vbi = 1,
.Tuner = 1,
.TunerType = TUNER_PHILIPS_NTSC_M,
.X_Offset = -1,
.Y_Offset = -1,
.ModelString = "Hauppauge WinTv-USB",
},
};
const int usbvision_device_data_size=ARRAY_SIZE(usbvision_device_data);
/* Supported Devices */
struct usb_device_id usbvision_table [] = {
{ USB_DEVICE(0x0a6f, 0x0400), .driver_info=XANBOO },
{ USB_DEVICE(0x050d, 0x0106), .driver_info=BELKIN_VIDEOBUS_II },
{ USB_DEVICE(0x050d, 0x0207), .driver_info=BELKIN_VIDEOBUS },
{ USB_DEVICE(0x050d, 0x0208), .driver_info=BELKIN_USB_VIDEOBUS_II },
{ USB_DEVICE(0x0571, 0x0002), .driver_info=ECHOFX_INTERVIEW_LITE },
{ USB_DEVICE(0x0573, 0x0003), .driver_info=USBGEAR_USBG_V1 },
{ USB_DEVICE(0x0573, 0x0400), .driver_info=D_LINK_V100 },
{ USB_DEVICE(0x0573, 0x2000), .driver_info=X10_USB_CAMERA },
{ USB_DEVICE(0x0573, 0x2d00), .driver_info=HPG_WINTV_LIVE_PAL_BG },
{ USB_DEVICE(0x0573, 0x2d01), .driver_info=HPG_WINTV_LIVE_PRO_NTSC_MN },
{ USB_DEVICE(0x0573, 0x2101), .driver_info=ZORAN_PMD_NOGATECH },
{ USB_DEVICE(0x0573, 0x4100), .driver_info=NOGATECH_USB_TV_NTSC_FM },
{ USB_DEVICE(0x0573, 0x4110), .driver_info=PNY_USB_TV_NTSC_FM },
{ USB_DEVICE(0x0573, 0x4450), .driver_info=PV_PLAYTV_USB_PRO_PAL_FM },
{ USB_DEVICE(0x0573, 0x4550), .driver_info=ZT_721 },
{ USB_DEVICE(0x0573, 0x4d00), .driver_info=HPG_WINTV_NTSC_MN },
{ USB_DEVICE(0x0573, 0x4d01), .driver_info=HPG_WINTV_PAL_BG },
{ USB_DEVICE(0x0573, 0x4d02), .driver_info=HPG_WINTV_PAL_I },
{ USB_DEVICE(0x0573, 0x4d03), .driver_info=HPG_WINTV_PAL_SECAM_L },
{ USB_DEVICE(0x0573, 0x4d04), .driver_info=HPG_WINTV_PAL_D_K },
{ USB_DEVICE(0x0573, 0x4d10), .driver_info=HPG_WINTV_NTSC_FM },
{ USB_DEVICE(0x0573, 0x4d11), .driver_info=HPG_WINTV_PAL_BG_FM },
{ USB_DEVICE(0x0573, 0x4d12), .driver_info=HPG_WINTV_PAL_I_FM },
{ USB_DEVICE(0x0573, 0x4d14), .driver_info=HPG_WINTV_PAL_D_K_FM },
{ USB_DEVICE(0x0573, 0x4d2a), .driver_info=HPG_WINTV_PRO_NTSC_MN },
{ USB_DEVICE(0x0573, 0x4d2b), .driver_info=HPG_WINTV_PRO_NTSC_MN_V2 },
{ USB_DEVICE(0x0573, 0x4d2c), .driver_info=HPG_WINTV_PRO_PAL },
{ USB_DEVICE(0x0573, 0x4d20), .driver_info = HPG_WINTV_PRO_NTSC_MN_V3 },
{ USB_DEVICE(0x0573, 0x4d21), .driver_info=HPG_WINTV_PRO_PAL_BG },
{ USB_DEVICE(0x0573, 0x4d22), .driver_info=HPG_WINTV_PRO_PAL_I },
{ USB_DEVICE(0x0573, 0x4d23), .driver_info=HPG_WINTV_PRO_PAL_SECAM_L },
{ USB_DEVICE(0x0573, 0x4d24), .driver_info=HPG_WINTV_PRO_PAL_D_K },
{ USB_DEVICE(0x0573, 0x4d25), .driver_info=HPG_WINTV_PRO_PAL_SECAM },
{ USB_DEVICE(0x0573, 0x4d26), .driver_info=HPG_WINTV_PRO_PAL_SECAM_V2 },
{ USB_DEVICE(0x0573, 0x4d27), .driver_info=HPG_WINTV_PRO_PAL_BG_V2 },
{ USB_DEVICE(0x0573, 0x4d28), .driver_info=HPG_WINTV_PRO_PAL_BG_D_K },
{ USB_DEVICE(0x0573, 0x4d29), .driver_info=HPG_WINTV_PRO_PAL_I_D_K },
{ USB_DEVICE(0x0573, 0x4d30), .driver_info=HPG_WINTV_PRO_NTSC_MN_FM },
{ USB_DEVICE(0x0573, 0x4d31), .driver_info=HPG_WINTV_PRO_PAL_BG_FM },
{ USB_DEVICE(0x0573, 0x4d32), .driver_info=HPG_WINTV_PRO_PAL_I_FM },
{ USB_DEVICE(0x0573, 0x4d34), .driver_info=HPG_WINTV_PRO_PAL_D_K_FM },
{ USB_DEVICE(0x0573, 0x4d35), .driver_info=HPG_WINTV_PRO_TEMIC_PAL_FM },
{ USB_DEVICE(0x0573, 0x4d36), .driver_info=HPG_WINTV_PRO_TEMIC_PAL_BG_FM },
{ USB_DEVICE(0x0573, 0x4d37), .driver_info=HPG_WINTV_PRO_PAL_FM },
{ USB_DEVICE(0x0573, 0x4d38), .driver_info=HPG_WINTV_PRO_NTSC_MN_FM_V2 },
{ USB_DEVICE(0x0768, 0x0006), .driver_info=CAMTEL_TVB330 },
{ USB_DEVICE(0x07d0, 0x0001), .driver_info=DIGITAL_VIDEO_CREATOR_I },
{ USB_DEVICE(0x07d0, 0x0002), .driver_info=GLOBAL_VILLAGE_GV_007_NTSC },
{ USB_DEVICE(0x07d0, 0x0003), .driver_info=DAZZLE_DVC_50_REV_1_NTSC },
{ USB_DEVICE(0x07d0, 0x0004), .driver_info=DAZZLE_DVC_80_REV_1_PAL },
{ USB_DEVICE(0x07d0, 0x0005), .driver_info=DAZZLE_DVC_90_REV_1_SECAM },
{ USB_DEVICE(0x07f8, 0x9104), .driver_info=ESKAPE_LABS_MYTV2GO },
{ USB_DEVICE(0x2304, 0x010d), .driver_info=PINNA_PCTV_USB_PAL },
{ USB_DEVICE(0x2304, 0x0109), .driver_info=PINNA_PCTV_USB_SECAM },
{ USB_DEVICE(0x2304, 0x0110), .driver_info=PINNA_PCTV_USB_PAL_FM },
{ USB_DEVICE(0x2304, 0x0111), .driver_info=MIRO_PCTV_USB },
{ USB_DEVICE(0x2304, 0x0112), .driver_info=PINNA_PCTV_USB_NTSC_FM },
{ USB_DEVICE(0x2304, 0x0113),
.driver_info = PINNA_PCTV_USB_NTSC_FM_V3 },
{ USB_DEVICE(0x2304, 0x0210), .driver_info=PINNA_PCTV_USB_PAL_FM_V2 },
{ USB_DEVICE(0x2304, 0x0212), .driver_info=PINNA_PCTV_USB_NTSC_FM_V2 },
{ USB_DEVICE(0x2304, 0x0214), .driver_info=PINNA_PCTV_USB_PAL_FM_V3 },
{ USB_DEVICE(0x2304, 0x0300), .driver_info=PINNA_LINX_VD_IN_CAB_NTSC },
{ USB_DEVICE(0x2304, 0x0301), .driver_info=PINNA_LINX_VD_IN_CAB_PAL },
{ USB_DEVICE(0x2304, 0x0419), .driver_info=PINNA_PCTV_BUNGEE_PAL_FM },
{ USB_DEVICE(0x2400, 0x4200), .driver_info=HPG_WINTV },
{ }, /* terminate list */
};
MODULE_DEVICE_TABLE (usb, usbvision_table);