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

📄 cx88-cards.c

📁 h内核
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * $Id: cx88-cards.c,v 1.47 2004/11/03 09:04:50 kraxel Exp $ * * device driver for Conexant 2388x based TV cards * card-specific stuff. * * (c) 2003 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs] * *  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/init.h>#include <linux/module.h>#include <linux/pci.h>#include <linux/delay.h>#if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE)# define WITH_DVB 1#endif#include "cx88.h"#ifdef WITH_DVB#include "cx22702.h"#endif/* ------------------------------------------------------------------ *//* board config info                                                  */struct cx88_board cx88_boards[] = {	[CX88_BOARD_UNKNOWN] = {		.name		= "UNKNOWN/GENERIC",		.tuner_type     = UNSET,		.input          = {{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 0,		},{			.type   = CX88_VMUX_COMPOSITE2,			.vmux   = 1,		},{			.type   = CX88_VMUX_COMPOSITE3,			.vmux   = 2,		},{			.type   = CX88_VMUX_COMPOSITE4,			.vmux   = 3,		}},	},	[CX88_BOARD_HAUPPAUGE] = {		.name		= "Hauppauge WinTV 34xxx models",		.tuner_type     = UNSET,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0  = 0xff00,  // internal decoder		},{			.type   = CX88_VMUX_DEBUG,			.vmux   = 0,			.gpio0  = 0xff01,  // mono from tuner chip		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,			.gpio0  = 0xff02,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio0  = 0xff02,		}},		.radio = {			.type   = CX88_RADIO,			.gpio0  = 0xff01,		},	},	[CX88_BOARD_GDI] = {		.name		= "GDI Black Gold",		.tuner_type     = UNSET,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,		}},	},	[CX88_BOARD_PIXELVIEW] = {		.name           = "PixelView",		.tuner_type     = UNSET,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0  = 0xff00,  // internal decoder		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,		}},		.radio = {			 .type  = CX88_RADIO,			 .gpio0 = 0xff10,		 },	},	[CX88_BOARD_ATI_WONDER_PRO] = {		.name           = "ATI TV Wonder Pro",		.tuner_type     = 44,		.tda9887_conf   = TDA9887_PRESENT | TDA9887_INTERCARRIER,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,                        .gpio0  = 0x03ff,		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,                        .gpio0  = 0x03fe,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,                        .gpio0  = 0x03fe,		}},	},        [CX88_BOARD_WINFAST2000XP] = {                .name           = "Leadtek Winfast 2000XP Expert",                .tuner_type     = 44,		.tda9887_conf   = TDA9887_PRESENT,                .input          = {{                        .type   = CX88_VMUX_TELEVISION,                        .vmux   = 0,			.gpio0	= 0x00F5e700,			.gpio1  = 0x00003004,			.gpio2  = 0x00F5e700,			.gpio3  = 0x02000000,		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,			.gpio0	= 0x00F5c700,			.gpio1  = 0x00003004,			.gpio2  = 0x00F5c700,			.gpio3  = 0x02000000,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio0	= 0x00F5c700,			.gpio1  = 0x00003004,			.gpio2  = 0x00F5c700,			.gpio3  = 0x02000000,                }},                .radio = {                        .type   = CX88_RADIO,			.gpio0	= 0x00F5d700,			.gpio1  = 0x00003004,			.gpio2  = 0x00F5d700,			.gpio3  = 0x02000000,                },        },	[CX88_BOARD_AVERTV_303] = {		.name           = "AverTV Studio 303 (M126)",		.tuner_type     = 38,		.tda9887_conf   = TDA9887_PRESENT,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio1  = 0x309f,		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,			.gpio1  = 0x305f,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio1  = 0x305f,		}},		.radio = {			.type   = CX88_RADIO,		},	},	[CX88_BOARD_MSI_TVANYWHERE_MASTER] = {		// added gpio values thanks to Michal		// values for PAL from DScaler		.name           = "MSI TV-@nywhere Master",		.tuner_type     = 33,		.tda9887_conf	= TDA9887_PRESENT,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0  = 0x000040bf,			.gpio1  = 0x000080c0,			.gpio2  = 0x0000ff40,		},{                        .type   = CX88_VMUX_COMPOSITE1,                        .vmux   = 1,			.gpio0  = 0x000040bf,			.gpio1  = 0x000080c0,			.gpio2  = 0x0000ff40,		},{                        .type   = CX88_VMUX_SVIDEO,                        .vmux   = 2,			.gpio0  = 0x000040bf,			.gpio1  = 0x000080c0,			.gpio2  = 0x0000ff40,                }},                .radio = {			 .type   = CX88_RADIO,                },	},	[CX88_BOARD_WINFAST_DV2000] = {                .name           = "Leadtek Winfast DV2000",                .tuner_type     = 38,		.tda9887_conf   = TDA9887_PRESENT,                .input          = {{                        .type   = CX88_VMUX_TELEVISION,                        .vmux   = 0,                }},                .radio = {                        .type   = CX88_RADIO,                },        },        [CX88_BOARD_LEADTEK_PVR2000] = {                .name           = "Leadtek PVR 2000",                .tuner_type     = 38,                .input          = {{                        .type   = CX88_VMUX_TELEVISION,                        .vmux   = 0,                },{                        .type   = CX88_VMUX_COMPOSITE1,                        .vmux   = 1,                },{                        .type   = CX88_VMUX_SVIDEO,                        .vmux   = 2,                }},                .radio = {                        .type   = CX88_RADIO,                },		.blackbird = 1,        },	[CX88_BOARD_IODATA_GVVCP3PCI] = { 		.name		= "IODATA GV-VCP3/PCI",		.tuner_type     = TUNER_ABSENT, 		.input          = {{ 			.type   = CX88_VMUX_COMPOSITE1, 			.vmux   = 0, 		},{ 			.type   = CX88_VMUX_COMPOSITE2, 			.vmux   = 1, 		},{ 			.type   = CX88_VMUX_SVIDEO, 			.vmux   = 2, 		}}, 	},	[CX88_BOARD_PROLINK_PLAYTVPVR] = {                .name           = "Prolink PlayTV PVR",                .tuner_type     = 43,		.tda9887_conf	= TDA9887_PRESENT,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0  = 0xff00,		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,			.gpio0  = 0xff03,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio0  = 0xff03,		}},		.radio = {			.type   = CX88_RADIO,			.gpio0  = 0xff00,		},	},	[CX88_BOARD_ASUS_PVR_416] = {		.name		= "ASUS PVR-416",		.tuner_type     = 43,                .tda9887_conf   = TDA9887_PRESENT,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0  = 0x0000fde6, 		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio0  = 0x0000fde6, // 0x0000fda6 L,R RCA audio in?		}},                .radio = {                        .type   = CX88_RADIO,			.gpio0  = 0x0000fde2,                },		.blackbird = 1,	},	[CX88_BOARD_MSI_TVANYWHERE] = {		.name           = "MSI TV-@nywhere",		.tuner_type     = 33,		.tda9887_conf   = TDA9887_PRESENT,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0  = 0x00000fbf,			.gpio2  = 0x0000fc08,		},{  			.type   = CX88_VMUX_COMPOSITE1,  			.vmux   = 1,			.gpio0  = 0x00000fbf,			.gpio2  = 0x0000fc68,		},{  			.type   = CX88_VMUX_SVIDEO,  			.vmux   = 2,			.gpio0  = 0x00000fbf,			.gpio2  = 0x0000fc68,  		}},	},        [CX88_BOARD_KWORLD_DVB_T] = {                .name           = "KWorld/VStream XPert DVB-T",		.tuner_type     = TUNER_ABSENT,                .input          = {{                        .type   = CX88_VMUX_DVB,                        .vmux   = 0,                },{                        .type   = CX88_VMUX_COMPOSITE1,                        .vmux   = 1,                },{                        .type   = CX88_VMUX_SVIDEO,                        .vmux   = 2,                }},		.dvb            = 1,	},	[CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1] = {		.name           = "DVICO FusionHDTV DVB-T1",		.tuner_type     = TUNER_ABSENT, /* No analog tuner */		.input          = {{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,			.gpio0  = 0x000027df,		 },{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio0  = 0x000027df,		}},		.dvb            = 1,	},	[CX88_BOARD_KWORLD_LTV883] = {		.name           = "KWorld LTV883RF",                .tuner_type     = 48,                .input          = {{                        .type   = CX88_VMUX_TELEVISION,                        .vmux   = 0,                        .gpio0  = 0x07f8,		},{			.type   = CX88_VMUX_DEBUG,			.vmux   = 0,			.gpio0  = 0x07f9,  // mono from tuner chip                },{                        .type   = CX88_VMUX_COMPOSITE1,                        .vmux   = 1,                        .gpio0  = 0x000007fa,                },{                        .type   = CX88_VMUX_SVIDEO,                        .vmux   = 2,                        .gpio0  = 0x000007fa,                }},                .radio = {                        .type   = CX88_RADIO,                        .gpio0  = 0x000007f8,                },	},	[CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD] = {		.name		= "DViCO - FusionHDTV 3 Gold",		.tuner_type     = TUNER_MICROTUNE_4042FI5,		/*		   GPIO[0] resets DT3302 DTV receiver		    0 - reset asserted		    1 - normal operation		   GPIO[1] mutes analog audio output connector		    0 - enable selected source		    1 - mute		   GPIO[2] selects source for analog audio output connector		    0 - analog audio input connector on tab		    1 - analog DAC output from CX23881 chip		   GPIO[3] selects RF input connector on tuner module		    0 - RF connector labeled CABLE		    1 - RF connector labeled ANT		*/		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,			.gpio0	= 0x0f0d,		},{			.type   = CX88_VMUX_CABLE,			.vmux   = 0,			.gpio0	= 0x0f05,		},{			.type   = CX88_VMUX_COMPOSITE1,			.vmux   = 1,			.gpio0	= 0x0f00,		},{			.type   = CX88_VMUX_SVIDEO,			.vmux   = 2,			.gpio0	= 0x0f00,		}},#if 0		.ts             = {			 .type   = CX88_TS,			 .gpio0  = 0x00000f01,   /* Hooked to tuner reset bit */		 }#endif	},        [CX88_BOARD_HAUPPAUGE_DVB_T1] = {                .name           = "Hauppauge Nova-T DVB-T",		.tuner_type     = TUNER_ABSENT,                .input          = {{                        .type   = CX88_VMUX_DVB,                        .vmux   = 0,                }},		.dvb            = 1,	},        [CX88_BOARD_CONEXANT_DVB_T1] = {		.name           = "Conexant DVB-T reference design",		.tuner_type     = TUNER_ABSENT,                .input          = {{                        .type   = CX88_VMUX_DVB,                        .vmux   = 0,                }},		.dvb            = 1,	},	[CX88_BOARD_PROVIDEO_PV259] = {		.name		= "Provideo PV259",		.tuner_type     = TUNER_PHILIPS_FQ1216ME,		.input          = {{			.type   = CX88_VMUX_TELEVISION,			.vmux   = 0,		}},		.blackbird = 1,	},

⌨️ 快捷键说明

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