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

📄 saa7134-cards.c

📁 linux-2.6.15.6
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * * device driver for philips saa7134 based TV cards * card-specific stuff. * * (c) 2001-04 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 "saa7134-reg.h"#include "saa7134.h"/* commly used strings */static char name_mute[]    = "mute";static char name_radio[]   = "Radio";static char name_tv[]      = "Television";static char name_tv_mono[] = "TV (mono only)";static char name_comp1[]   = "Composite1";static char name_comp2[]   = "Composite2";static char name_comp3[]   = "Composite3";static char name_comp4[]   = "Composite4";static char name_svideo[]  = "S-Video";/* ------------------------------------------------------------------ *//* board config info                                                  */struct saa7134_board saa7134_boards[] = {	[SAA7134_BOARD_UNKNOWN] = {		.name		= "UNKNOWN/GENERIC",		.audio_clock	= 0x00187de7,		.tuner_type	= TUNER_ABSENT,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = "default",			.vmux = 0,			.amux = LINE1,		}},	},	[SAA7134_BOARD_PROTEUS_PRO] = {		/* /me */		.name		= "Proteus Pro [philips reference design]",		.audio_clock	= 0x00187de7,		.tuner_type	= TUNER_PHILIPS_PAL,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_comp1,			.vmux = 0,			.amux = LINE1,		},{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			.name = name_tv_mono,			.vmux = 1,			.amux = LINE2,			.tv   = 1,		}},		.radio = {			.name = name_radio,			.amux = LINE2,		},	},	[SAA7134_BOARD_FLYVIDEO3000] = {		/* "Marco d'Itri" <md@Linux.IT> */		.name		= "LifeView FlyVIDEO3000",		.audio_clock	= 0x00200000,		.tuner_type	= TUNER_PHILIPS_PAL,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.gpiomask       = 0xe000,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.gpio = 0x8000,			.tv   = 1,		},{			.name = name_tv_mono,			.vmux = 1,			.amux = LINE2,			.gpio = 0x0000,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 0,			.amux = LINE2,			.gpio = 0x4000,		},{			.name = name_comp2,			.vmux = 3,			.amux = LINE2,			.gpio = 0x4000,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE2,			.gpio = 0x4000,		}},		.radio = {			.name = name_radio,			.amux = LINE2,			.gpio = 0x2000,		},		.mute = {			.name = name_mute,			.amux = TV,			.gpio = 0x8000,		},	},	[SAA7134_BOARD_FLYVIDEO2000] = {		/* "TC Wan" <tcwan@cs.usm.my> */		.name           = "LifeView FlyVIDEO2000",		.audio_clock    = 0x00200000,		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.gpiomask       = 0xe000,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = LINE2,			.gpio = 0x0000,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 0,			.amux = LINE2,			.gpio = 0x4000,		},{			.name = name_comp2,			.vmux = 3,			.amux = LINE2,			.gpio = 0x4000,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE2,			.gpio = 0x4000,		}},		.radio = {			.name = name_radio,			.amux = LINE2,			.gpio = 0x2000,		},		.mute = {			.name = name_mute,			.amux = LINE2,			.gpio = 0x8000,		},	},	[SAA7134_BOARD_FLYTVPLATINUM_MINI] = {		/* "Arnaud Quette" <aquette@free.fr> */		.name           = "LifeView FlyTV Platinum Mini",		.audio_clock    = 0x00200000,		.tuner_type     = TUNER_PHILIPS_TDA8290,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			.name = name_comp1,     /* Composite signal on S-Video input */			.vmux = 0,			.amux = LINE2,		},{			.name = name_comp2,	/* Composite input */			.vmux = 3,			.amux = LINE2,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE2,		}},	},	[SAA7134_BOARD_FLYTVPLATINUM_FM] = {		/* LifeView FlyTV Platinum FM (LR214WF) */		/* "Peter Missel <peter.missel@onlinehome.de> */		.name           = "LifeView FlyTV Platinum FM",		.audio_clock    = 0x00200000,		.tuner_type     = TUNER_PHILIPS_TDA8290,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.gpiomask       = 0x1E000,	/* Set GP16 and unused 15,14,13 to Output */		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.gpio = 0x10000,	/* GP16=1 selects TV input */			.tv   = 1,		},{/*			.name = name_tv_mono,			.vmux = 1,			.amux = LINE2,			.gpio = 0x0000,			.tv   = 1,		},{*/			.name = name_comp1,	/* Composite signal on S-Video input */			.vmux = 0,			.amux = LINE2,/*			.gpio = 0x4000,         */		},{			.name = name_comp2,	/* Composite input */			.vmux = 3,			.amux = LINE2,/*			.gpio = 0x4000,         */		},{			.name = name_svideo,	/* S-Video signal on S-Video input */			.vmux = 8,			.amux = LINE2,/*			.gpio = 0x4000,         */		}},		.radio = {			.name = name_radio,			.amux = TV,			.gpio = 0x00000,	/* GP16=0 selects FM radio antenna */		},		.mute = {			.name = name_mute,			.amux = TV,			.gpio = 0x10000,		},	},	[SAA7134_BOARD_EMPRESS] = {		/* "Gert Vervoort" <gert.vervoort@philips.com> */		.name		= "EMPRESS",		.audio_clock	= 0x00187de7,		.tuner_type	= TUNER_PHILIPS_PAL,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_comp1,			.vmux = 0,			.amux = LINE1,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		},{			.name = name_tv,			.vmux = 1,			.amux = LINE2,			.tv   = 1,		}},		.radio = {			.name = name_radio,			.amux = LINE2,		},		.mpeg      = SAA7134_MPEG_EMPRESS,		.video_out = CCIR656,	},	[SAA7134_BOARD_MONSTERTV] = {		/* "K.Ohta" <alpha292@bremen.or.jp> */		.name           = "SKNet Monster TV",		.audio_clock    = 0x00187de7,		.tuner_type     = TUNER_PHILIPS_NTSC_M,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 0,			.amux = LINE1,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		}},		.radio = {			.name = name_radio,			.amux = LINE2,		},	},	[SAA7134_BOARD_MD9717] = {		.name		= "Tevion MD 9717",		.audio_clock	= 0x00200000,		.tuner_type	= TUNER_PHILIPS_PAL,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			/* workaround for problems with normal TV sound */			.name = name_tv_mono,			.vmux = 1,			.amux = LINE2,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 2,			.amux = LINE1,		},{			.name = name_comp2,			.vmux = 3,			.amux = LINE1,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		}},		.radio = {			.name = name_radio,			.amux = LINE2,		},	},	[SAA7134_BOARD_TVSTATION_RDS] = {		/* Typhoon TV Tuner RDS: Art.Nr. 50694 */		.name		= "KNC One TV-Station RDS / Typhoon TV Tuner RDS",		.audio_clock	= 0x00200000,		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.tda9887_conf   = TDA9887_PRESENT,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			.name = name_tv_mono,			.vmux = 1,			.amux   = LINE2,			.tv   = 1,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		},{			.name = name_comp1,			.vmux = 3,			.amux = LINE1,		},{			.name = "CVid over SVid",			.vmux = 0,			.amux = LINE1,		}},		.radio = {			.name = name_radio,			.amux = LINE2,		},	},	[SAA7134_BOARD_TVSTATION_DVR] = {		.name		= "KNC One TV-Station DVR",		.audio_clock	= 0x00200000,		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.tda9887_conf	= TDA9887_PRESENT,		.gpiomask	= 0x820000,		.inputs		= {{			.name = name_tv,			.vmux = 1,			.amux = LINE2,			.tv   = 1,			.gpio = 0x20000,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,			.gpio = 0x20000,		},{			.name = name_comp1,			.vmux = 3,			.amux = LINE1,			.gpio = 0x20000,		}},		.radio		= {			.name = name_radio,			.amux = LINE2,			.gpio = 0x20000,		},		.mpeg           = SAA7134_MPEG_EMPRESS,		.video_out	= CCIR656,	},	[SAA7134_BOARD_CINERGY400] = {		.name           = "Terratec Cinergy 400 TV",		.audio_clock    = 0x00200000,		.tuner_type     = TUNER_PHILIPS_PAL,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 4,			.amux = LINE1,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		},{			.name = name_comp2, /* CVideo over SVideo Connector */			.vmux = 0,			.amux = LINE1,		}}	},	[SAA7134_BOARD_MD5044] = {		.name           = "Medion 5044",		.audio_clock    = 0x00187de7, /* was: 0x00200000, */		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.tda9887_conf   = TDA9887_PRESENT,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			/* workaround for problems with normal TV sound */			.name = name_tv_mono,			.vmux = 1,			.amux = LINE2,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 0,			.amux = LINE2,		},{			.name = name_comp2,			.vmux = 3,			.amux = LINE2,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE2,		}},		.radio = {			.name = name_radio,			.amux = LINE2,		},	},	[SAA7134_BOARD_KWORLD] = {		.name           = "Kworld/KuroutoShikou SAA7130-TVPCI",		.audio_clock    = 0x00187de7,		.tuner_type     = TUNER_PHILIPS_NTSC_M,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.inputs         = {{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		},{			.name = name_comp1,			.vmux = 3,			.amux = LINE1,		},{			.name = name_tv,			.vmux = 1,			.amux = LINE2,			.tv   = 1,		}},	},	[SAA7134_BOARD_CINERGY600] = {		.name           = "Terratec Cinergy 600 TV",		.audio_clock    = 0x00200000,		.tuner_type     = TUNER_PHILIPS_PAL,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.tda9887_conf   = TDA9887_PRESENT,		.inputs         = {{			.name = name_tv,			.vmux = 1,			.amux = TV,			.tv   = 1,		},{			.name = name_comp1,			.vmux = 4,			.amux = LINE1,		},{			.name = name_svideo,			.vmux = 8,			.amux = LINE1,		},{			.name = name_comp2, /* CVideo over SVideo Connector */			.vmux = 0,			.amux = LINE1,		}},		.radio = {			.name = name_radio,			.amux = LINE2,	},	},	[SAA7134_BOARD_MD7134] = {		.name           = "Medion 7134",		.audio_clock    = 0x00187de7,		.tuner_type     = TUNER_PHILIPS_FMD1216ME_MK3,		.radio_type     = UNSET,		.tuner_addr	= ADDR_UNSET,		.radio_addr	= ADDR_UNSET,		.tda9887_conf   = TDA9887_PRESENT,		.mpeg           = SAA7134_MPEG_DVB,		.inputs = {{			.name   = name_tv,			.vmux   = 1,			.amux   = TV,			.tv     = 1,		},{			.name   = name_comp1,			.vmux   = 0,			.amux   = LINE1,		},{			.name   = name_svideo,			.vmux   = 8,			.amux   = LINE1,		}},		.radio = {			.name   = name_radio,			.amux   = LINE2,		},	},	[SAA7134_BOARD_TYPHOON_90031] = {		/* aka Typhoon "TV+Radio", Art.Nr 90031 */		/* Tom Zoerner <tomzo at users sourceforge net> */		.name           = "Typhoon TV+Radio 90031",		.audio_clock    = 0x00200000,		.tuner_type     = TUNER_PHILIPS_PAL,		.radio_type     = UNSET,

⌨️ 快捷键说明

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