⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ivtv-cards.c

📁 linux内核源码
💻 C
📖 第 1 页 / 共 3 页
字号:
		{ IVTV_CARD_INPUT_COMPOSITE1, 1, CX25840_COMPOSITE1 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  CX25840_AUDIO5       },		{ IVTV_CARD_INPUT_LINE_IN1,   CX25840_AUDIO_SERIAL },	},	.tuners = {		{ .std = V4L2_STD_625_50, .tuner = TUNER_PHILIPS_FQ1216ME },		{ .std = V4L2_STD_ALL, .tuner = TUNER_PHILIPS_FQ1286 },	},	.pci_list = ivtv_pci_pg600,};/* ------------------------------------------------------------------------- *//* Adaptec VideOh! AVC-2410 card */static const struct ivtv_card_pci_info ivtv_pci_avc2410[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_ADAPTEC, 0x0093 },	{ 0, 0, 0 }};static const struct ivtv_card ivtv_card_avc2410 = {	.type = IVTV_CARD_AVC2410,	.name = "Adaptec VideOh! AVC-2410",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA7115,	.hw_audio = IVTV_HW_MSP34XX,	.hw_audio_ctrl = IVTV_HW_MSP34XX,	.hw_muxer = IVTV_HW_CS53L32A,	.hw_all = IVTV_HW_MSP34XX | IVTV_HW_CS53L32A |		  IVTV_HW_SAA7115 | IVTV_HW_TUNER,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_COMPOSITE4 },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO0    },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_COMPOSITE3 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,		  MSP_TUNER, CS53L32A_IN0 },		{ IVTV_CARD_INPUT_LINE_IN1,		  MSP_SCART1, CS53L32A_IN2 },	},	/* This card has no eeprom and in fact the Windows driver relies	   on the country/region setting of the user to decide which tuner	   is available. */	.tuners = {		/* This tuner has been verified for the AVC2410 */		{ .std = V4L2_STD_625_50, .tuner = TUNER_PHILIPS_FM1216ME_MK3 },		/* This is a good guess, but I'm not totally sure this is		   the correct tuner for NTSC. */		{ .std = V4L2_STD_ALL, .tuner = TUNER_PHILIPS_FM1236_MK3 },	},	.pci_list = ivtv_pci_avc2410,};/* ------------------------------------------------------------------------- *//* Adaptec VideOh! AVC-2010 card */static const struct ivtv_card_pci_info ivtv_pci_avc2010[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_ADAPTEC, 0x0092 },	{ 0, 0, 0 }};static const struct ivtv_card ivtv_card_avc2010 = {	.type = IVTV_CARD_AVC2010,	.name = "Adaptec VideOh! AVC-2010",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA7115,	.hw_audio = IVTV_HW_CS53L32A,	.hw_audio_ctrl = IVTV_HW_CS53L32A,	.hw_all = IVTV_HW_CS53L32A | IVTV_HW_SAA7115,	.video_inputs = {		{ IVTV_CARD_INPUT_SVIDEO1,    0, IVTV_SAA71XX_SVIDEO0    },		{ IVTV_CARD_INPUT_COMPOSITE1, 0, IVTV_SAA71XX_COMPOSITE3 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_LINE_IN1,   CS53L32A_IN2 },	},	/* Does not have a tuner */	.pci_list = ivtv_pci_avc2010,};/* ------------------------------------------------------------------------- *//* Nagase Transgear 5000TV card */static const struct ivtv_card_pci_info ivtv_pci_tg5000tv[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_AVERMEDIA, 0xbfff },	{ 0, 0, 0 }};static const struct ivtv_card ivtv_card_tg5000tv = {	.type = IVTV_CARD_TG5000TV,	.name = "Nagase Transgear 5000TV",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA7114 | IVTV_HW_UPD64031A | IVTV_HW_UPD6408X |	IVTV_HW_GPIO,	.hw_audio = IVTV_HW_GPIO,	.hw_audio_ctrl = IVTV_HW_GPIO,	.hw_all = IVTV_HW_GPIO | IVTV_HW_SAA7114 | IVTV_HW_TUNER |		  IVTV_HW_UPD64031A | IVTV_HW_UPD6408X,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_SVIDEO0 },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO2 },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_SVIDEO2 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  IVTV_GPIO_TUNER   },		{ IVTV_CARD_INPUT_LINE_IN1,   IVTV_GPIO_LINE_IN },	},	.gr_config = UPD64031A_VERTICAL_EXTERNAL,	.gpio_init = { .direction = 0xe080, .initial_value = 0x8000 },	.gpio_audio_input  = { .mask = 0x8080, .tuner  = 0x8000, .linein = 0x0080 },	.gpio_audio_mute   = { .mask = 0x6000, .mute   = 0x6000 },	.gpio_audio_mode   = { .mask = 0x4300, .mono   = 0x4000, .stereo = 0x0200,			      .lang1 = 0x0300, .lang2  = 0x0000, .both   = 0x0200 },	.gpio_video_input  = { .mask = 0x0030, .tuner  = 0x0000,			  .composite = 0x0010, .svideo = 0x0020 },	.tuners = {		{ .std = V4L2_STD_525_60, .tuner = TUNER_PHILIPS_FQ1286 },	},	.pci_list = ivtv_pci_tg5000tv,};/* ------------------------------------------------------------------------- *//* AOpen VA2000MAX-SNT6 card */static const struct ivtv_card_pci_info ivtv_pci_va2000[] = {	{ PCI_DEVICE_ID_IVTV16, 0, 0xff5f },	{ 0, 0, 0 }};static const struct ivtv_card ivtv_card_va2000 = {	.type = IVTV_CARD_VA2000MAX_SNT6,	.name = "AOpen VA2000MAX-SNT6",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA7115 | IVTV_HW_UPD6408X,	.hw_audio = IVTV_HW_MSP34XX,	.hw_audio_ctrl = IVTV_HW_MSP34XX,	.hw_all = IVTV_HW_MSP34XX | IVTV_HW_SAA7115 |		  IVTV_HW_UPD6408X | IVTV_HW_TUNER,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER, 0, IVTV_SAA71XX_SVIDEO0 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER, MSP_TUNER },	},	.tuners = {		{ .std = V4L2_STD_525_60, .tuner = TUNER_PHILIPS_FQ1286 },	},	.pci_list = ivtv_pci_va2000,};/* ------------------------------------------------------------------------- *//* Yuan MPG600GR/Kuroutoshikou CX23416GYC-STVLP cards */static const struct ivtv_card_pci_info ivtv_pci_cx23416gyc[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_YUAN1, 0x0600 },	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_YUAN4, 0x0600 },	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_MELCO, 0x0523 },	{ 0, 0, 0 }};static const struct ivtv_card ivtv_card_cx23416gyc = {	.type = IVTV_CARD_CX23416GYC,	.name = "Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA717X | IVTV_HW_GPIO |		IVTV_HW_UPD64031A | IVTV_HW_UPD6408X,	.hw_audio = IVTV_HW_SAA717X,	.hw_audio_ctrl = IVTV_HW_SAA717X,	.hw_all = IVTV_HW_GPIO | IVTV_HW_SAA717X | IVTV_HW_TUNER |		  IVTV_HW_UPD64031A | IVTV_HW_UPD6408X,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_SVIDEO3 |						 IVTV_SAA717X_TUNER_FLAG },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO0 },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_SVIDEO3 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  IVTV_SAA717X_IN2 },		{ IVTV_CARD_INPUT_LINE_IN1,   IVTV_SAA717X_IN0 },	},	.gr_config = UPD64031A_VERTICAL_EXTERNAL,	.gpio_init = { .direction = 0xf880, .initial_value = 0x8800 },	.gpio_video_input  = { .mask = 0x0020, .tuner  = 0x0000,			       .composite = 0x0020, .svideo = 0x0020 },	.gpio_audio_freq   = { .mask = 0xc000, .f32000 = 0x0000,			     .f44100 = 0x4000, .f48000 = 0x8000 },	.tuners = {		{ .std = V4L2_STD_625_50, .tuner = TUNER_PHILIPS_FM1216ME_MK3 },		{ .std = V4L2_STD_ALL, .tuner = TUNER_PHILIPS_FM1236_MK3 },	},	.pci_list = ivtv_pci_cx23416gyc,};static const struct ivtv_card ivtv_card_cx23416gyc_nogr = {	.type = IVTV_CARD_CX23416GYC_NOGR,	.name = "Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP (no GR)",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA717X | IVTV_HW_GPIO | IVTV_HW_UPD6408X,	.hw_audio = IVTV_HW_SAA717X,	.hw_audio_ctrl = IVTV_HW_SAA717X,	.hw_all = IVTV_HW_GPIO | IVTV_HW_SAA717X | IVTV_HW_TUNER |		  IVTV_HW_UPD6408X,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_COMPOSITE4 |						 IVTV_SAA717X_TUNER_FLAG },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO0    },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_COMPOSITE0 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  IVTV_SAA717X_IN2 },		{ IVTV_CARD_INPUT_LINE_IN1,   IVTV_SAA717X_IN0 },	},	.gpio_init = { .direction = 0xf880, .initial_value = 0x8800 },	.gpio_video_input  = { .mask = 0x0020, .tuner  = 0x0000,			       .composite = 0x0020, .svideo = 0x0020 },	.gpio_audio_freq   = { .mask = 0xc000, .f32000 = 0x0000,			     .f44100 = 0x4000, .f48000 = 0x8000 },	.tuners = {		{ .std = V4L2_STD_625_50, .tuner = TUNER_PHILIPS_FM1216ME_MK3 },		{ .std = V4L2_STD_ALL, .tuner = TUNER_PHILIPS_FM1236_MK3 },	},};static const struct ivtv_card ivtv_card_cx23416gyc_nogrycs = {	.type = IVTV_CARD_CX23416GYC_NOGRYCS,	.name = "Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP (no GR/YCS)",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA717X | IVTV_HW_GPIO,	.hw_audio = IVTV_HW_SAA717X,	.hw_audio_ctrl = IVTV_HW_SAA717X,	.hw_all = IVTV_HW_GPIO | IVTV_HW_SAA717X | IVTV_HW_TUNER,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_COMPOSITE4 |						 IVTV_SAA717X_TUNER_FLAG },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO0    },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_COMPOSITE0 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  IVTV_SAA717X_IN2 },		{ IVTV_CARD_INPUT_LINE_IN1,   IVTV_SAA717X_IN0 },	},	.gpio_init = { .direction = 0xf880, .initial_value = 0x8800 },	.gpio_video_input  = { .mask = 0x0020, .tuner  = 0x0000,			       .composite = 0x0020, .svideo = 0x0020 },	.gpio_audio_freq   = { .mask = 0xc000, .f32000 = 0x0000,			     .f44100 = 0x4000, .f48000 = 0x8000 },	.tuners = {		{ .std = V4L2_STD_625_50, .tuner = TUNER_PHILIPS_FM1216ME_MK3 },		{ .std = V4L2_STD_ALL, .tuner = TUNER_PHILIPS_FM1236_MK3 },	},};/* ------------------------------------------------------------------------- *//* I/O Data GV-MVP/RX & GV-MVP/RX2W (dual tuner) cards */static const struct ivtv_card_pci_info ivtv_pci_gv_mvprx[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_IODATA, 0xd01e },	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_IODATA, 0xd038 }, /* 2W unit #1 */	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_IODATA, 0xd039 }, /* 2W unit #2 */	{ 0, 0, 0 }};static const struct ivtv_card ivtv_card_gv_mvprx = {	.type = IVTV_CARD_GV_MVPRX,	.name = "I/O Data GV-MVP/RX, GV-MVP/RX2W (dual tuner)",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA7115 | IVTV_HW_UPD64031A | IVTV_HW_UPD6408X,	.hw_audio = IVTV_HW_GPIO,	.hw_audio_ctrl = IVTV_HW_WM8739,	.hw_all = IVTV_HW_GPIO | IVTV_HW_SAA7115 | IVTV_HW_VP27SMPX |		  IVTV_HW_TUNER | IVTV_HW_WM8739 |		  IVTV_HW_UPD64031A | IVTV_HW_UPD6408X,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_SVIDEO0    },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO1    },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_SVIDEO2    },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  IVTV_GPIO_TUNER   },		{ IVTV_CARD_INPUT_LINE_IN1,   IVTV_GPIO_LINE_IN },	},	.gpio_init = { .direction = 0xc301, .initial_value = 0x0200 },	.gpio_audio_input  = { .mask = 0xffff, .tuner  = 0x0200, .linein = 0x0300 },	.tuners = {		/* This card has the Panasonic VP27 tuner */		{ .std = V4L2_STD_525_60, .tuner = TUNER_PANASONIC_VP27 },	},	.pci_list = ivtv_pci_gv_mvprx,};/* ------------------------------------------------------------------------- *//* I/O Data GV-MVP/RX2E card */static const struct ivtv_card_pci_info ivtv_pci_gv_mvprx2e[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_IODATA, 0xd025 },	{0, 0, 0}};static const struct ivtv_card ivtv_card_gv_mvprx2e = {	.type = IVTV_CARD_GV_MVPRX2E,	.name = "I/O Data GV-MVP/RX2E",	.v4l2_capabilities = IVTV_CAP_ENCODER,	.hw_video = IVTV_HW_SAA7115,	.hw_audio = IVTV_HW_GPIO,	.hw_audio_ctrl = IVTV_HW_WM8739,	.hw_all = IVTV_HW_GPIO | IVTV_HW_SAA7115 | IVTV_HW_TUNER |		  IVTV_HW_VP27SMPX | IVTV_HW_WM8739,	.video_inputs = {		{ IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_COMPOSITE4 },		{ IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO0    },		{ IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_COMPOSITE3 },	},	.audio_inputs = {		{ IVTV_CARD_INPUT_AUD_TUNER,  IVTV_GPIO_TUNER   },		{ IVTV_CARD_INPUT_LINE_IN1,   IVTV_GPIO_LINE_IN },	},	.gpio_init = { .direction = 0xc301, .initial_value = 0x0200 },	.gpio_audio_input  = { .mask = 0xffff, .tuner  = 0x0200, .linein = 0x0300 },	.tuners = {		/* This card has the Panasonic VP27 tuner */		{ .std = V4L2_STD_525_60, .tuner = TUNER_PANASONIC_VP27 },	},	.pci_list = ivtv_pci_gv_mvprx2e,};/* ------------------------------------------------------------------------- *//* GotVIEW PCI DVD card */static const struct ivtv_card_pci_info ivtv_pci_gotview_pci_dvd[] = {	{ PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_YUAN1, 0x0600 },	{ 0, 0, 0 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -