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

📄 saa7134-cards.c

📁 h内核
💻 C
📖 第 1 页 / 共 4 页
字号:
                        .vmux = 3,                        .amux = LINE1,                },{                        .name = name_svideo,                        .vmux = 4,                        .amux = LINE1,		}},	},};const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);/* ------------------------------------------------------------------ *//* PCI ids + subsystem IDs                                            */struct pci_device_id saa7134_pci_tbl[] = {	{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = PCI_VENDOR_ID_PHILIPS,		.subdevice    = 0x2001,		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,		.subvendor    = PCI_VENDOR_ID_PHILIPS,		.subdevice    = 0x2001,		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = PCI_VENDOR_ID_PHILIPS,		.subdevice    = 0x6752,		.driver_data  = SAA7134_BOARD_EMPRESS,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x1131,                .subdevice    = 0x4e85,		.driver_data  = SAA7134_BOARD_MONSTERTV,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x153B,                .subdevice    = 0x1142,                .driver_data  = SAA7134_BOARD_CINERGY400,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x153B,                .subdevice    = 0x1143,                .driver_data  = SAA7134_BOARD_CINERGY600,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,		.subvendor    = 0x153b,		.subdevice    = 0x1162,		.driver_data  = SAA7134_BOARD_CINERGY400_CARDBUS,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = 0x5168,		.subdevice    = 0x0138,		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x4e42,				//"Typhoon PCI Capture TV Card" Art.No. 50673                .subdevice    = 0x0138,                .driver_data  = SAA7134_BOARD_FLYVIDEO3000,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,		.subvendor    = 0x5168,		.subdevice    = 0x0138,		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,		.subvendor    = 0x5168,		.subdevice    = 0x0212,		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = 0x16be,		.subdevice    = 0x0003,		.driver_data  = SAA7134_BOARD_MD7134,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,		.subvendor    = 0x1048,		.subdevice    = 0x226b,		.driver_data  = SAA7134_BOARD_ELSA,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,		.subvendor    = 0x1048,		.subdevice    = 0x226b,		.driver_data  = SAA7134_BOARD_ELSA_500TV,	},{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = PCI_VENDOR_ID_ASUSTEK,                .subdevice    = 0x4842,                .driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,	},{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = PCI_VENDOR_ID_ASUSTEK,                .subdevice    = 0x4830,                .driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,                .subvendor    = PCI_VENDOR_ID_ASUSTEK,                .subdevice    = 0x4843,                .driver_data  = SAA7134_BOARD_ASUSTEK_TVFM7133,	},{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = PCI_VENDOR_ID_ASUSTEK,                .subdevice    = 0x4840,                .driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = PCI_VENDOR_ID_PHILIPS,		.subdevice    = 0xfe01,		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = 0x1894,		.subdevice    = 0xfe01,		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,		.subvendor    = 0x1894,		.subdevice    = 0xa006,		.driver_data  = SAA7134_BOARD_TVSTATION_DVR,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x1131,                .subdevice    = 0x7133,		.driver_data  = SAA7134_BOARD_VA1000POWER,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = PCI_VENDOR_ID_PHILIPS,                .subdevice    = 0x2001,		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,                .subvendor    = 0x185b,                .subdevice    = 0xc100,		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,                .subvendor    = 0x185b,                .subdevice    = 0xc100,		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = PCI_VENDOR_ID_MATROX,                .subdevice    = 0x48d0,		.driver_data  = SAA7134_BOARD_CRONOS_PLUS,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x1461, /* Avermedia Technologies Inc */                .subdevice    = 0xa70b,		.driver_data  = SAA7134_BOARD_MD2819,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = 0x1461, /* Avermedia Technologies Inc */                .subdevice    = 0x2115,		.driver_data  = SAA7134_BOARD_AVERMEDIA_305,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = 0x1461, /* Avermedia Technologies Inc */                .subdevice    = 0x10ff,		.driver_data  = SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER,        },{		/* AVerMedia CardBus */		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x1461, /* Avermedia Technologies Inc */                .subdevice    = 0xd6ee,		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS,	},{		/* TransGear 3000TV */		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = 0x1461, /* Avermedia Technologies Inc */                .subdevice    = 0x050c,		.driver_data  = SAA7134_BOARD_TG3000TV,	},{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x11bd,                .subdevice    = 0x002b,                .driver_data  = SAA7134_BOARD_PINNACLE_PCTV_STEREO,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x11bd,                .subdevice    = 0x002d, /* 300i DVB-T + PAL */                .driver_data  = SAA7134_BOARD_PINNACLE_PCTV_STEREO,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = 0x1019,                .subdevice    = 0x4cb4,                .driver_data  = SAA7134_BOARD_ECS_TVP3XP,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,                .subvendor    = 0x1019,                .subdevice    = 0x4cb5,                .driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB5,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS, 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,                .subvendor    = 0x12ab,                .subdevice    = 0x0800, 		.driver_data  = SAA7133_BOARD_UPMOST_PURPLE_TV,	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,		.subvendor    = 0x153B,		.subdevice    = 0x1152,		.driver_data  = SAA7134_BOARD_CINERGY200, 	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = 0x185b,                .subdevice    = 0xc100,		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_PVR, 	},{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,               .subvendor    = 0x1461, /* Avermedia Technologies Inc */               .subdevice    = 0x9715,		.driver_data  = SAA7134_BOARD_AVERMEDIA_307, 	},{		/* --- boards without eeprom + subsystem ID --- */                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = PCI_VENDOR_ID_PHILIPS,		.subdevice    = 0,		.driver_data  = SAA7134_BOARD_NOAUTO,        },{                .vendor       = PCI_VENDOR_ID_PHILIPS,                .device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = PCI_VENDOR_ID_PHILIPS,		.subdevice    = 0,		.driver_data  = SAA7134_BOARD_NOAUTO,	},{		/* --- default catch --- */		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,                .subvendor    = PCI_ANY_ID,                .subdevice    = PCI_ANY_ID,		.driver_data  = SAA7134_BOARD_UNKNOWN,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,                .subvendor    = PCI_ANY_ID,                .subdevice    = PCI_ANY_ID,		.driver_data  = SAA7134_BOARD_UNKNOWN,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,                .subvendor    = PCI_ANY_ID,                .subdevice    = PCI_ANY_ID,		.driver_data  = SAA7134_BOARD_UNKNOWN,        },{		.vendor       = PCI_VENDOR_ID_PHILIPS,		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,                .subvendor    = PCI_ANY_ID,                .subdevice    = PCI_ANY_ID,		.driver_data  = SAA7134_BOARD_UNKNOWN,	},{		/* --- end of list --- */	}};MODULE_DEVICE_TABLE(pci, saa7134_pci_tbl);/* ----------------------------------------------------------- *//* flyvideo tweaks                                             */#if 0static struct {	char  *model;	int   tuner_type;} fly_list[0x20] = {	/* default catch ... */	[ 0 ... 0x1f ] = {		.model      = "UNKNOWN",		.tuner_type = TUNER_ABSENT,	},	/* ... the ones known so far */	[ 0x05 ] = {		.model      = "PAL-BG",		.tuner_type = TUNER_LG_PAL_NEW_TAPC,	},	[ 0x10 ] = {		.model      = "PAL-BG / PAL-DK",		.tuner_type = TUNER_PHILIPS_PAL,	},	[ 0x15 ] = {		.model      = "NTSC",		.tuner_type = TUNER_ABSENT /* FIXME */,	},};#endifstatic void board_flyvideo(struct saa7134_dev *dev){#if 0	/* non-working attempt to detect the correct tuner type ... */	u32 value;	int index;	value = dev->gpio_value;	index = (value & 0x1f00) >> 8;	printk(KERN_INFO "%s: flyvideo: gpio is 0x%x [model=%s,tuner=%d]\n",	       dev->name, value, fly_list[index].model,	       fly_list[index].tuner_type);	dev->tuner_type = fly_list[index].tuner_type;#endif	printk("%s: there are different flyvideo cards with different tuners\n"	       "%s: out there, you might have to use the tuner=<nr> insmod\n"	       "%s: option to override the default value.\n",	       dev->name, dev->name, dev->name);}/* ----------------------------------------------------------- */int saa7134_board_init1(struct saa7134_dev *dev){	// Always print gpio, often manufacturers encode tuner type and other info.	saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0);	dev->gpio_value = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2);	printk(KERN_INFO "%s: board init: gpio is %x\n", dev->name, dev->gpio_value);	switch (dev->board) {	case SAA7134_BOARD_FLYVIDEO2000:	case SAA7134_BOARD_FLYVIDEO3000:		dev->has_remote = 1;		/* fall throuth */	case SAA7134_BOARD_FLYTVPLATINUM:		board_flyvideo(dev);		break;	case SAA7134_BOARD_CINERGY400:	case SAA7134_BOARD_CINERGY600:	case SAA7134_BOARD_ECS_TVP3XP:	case SAA7134_BOARD_ECS_TVP3XP_4CB5:	case SAA7134_BOARD_MD2819:	case SAA7134_BOARD_AVERMEDIA_307:		dev->has_remote = 1;		break;	case SAA7134_BOARD_AVACSSMARTTV:		dev->has_remote = 1;		break;	case SAA7134_BOARD_MD5044:		printk("%s: seems there are two different versions of the MD5044\n"		       "%s: (with the same ID) out there.  If sound doesn't work for\n"		       "%s: you try the audio_clock_override=0x200000 insmod option.\n",		       dev->name,dev->name,dev->name);		break;	case SAA7134_BOARD_CINERGY400_CARDBUS:		/* power-up tuner chip */		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000000);		break;	}	return 0;}/* stuff which needs working i2c */int saa7134_board_init2(struct saa7134_dev *dev){	unsigned char buf;	int board;	switch (dev->board) {	case SAA7134_BOARD_BMK_MPEX_NOTUNER:	case SAA7134_BOARD_BMK_MPEX_TUNER:		dev->i2c_client.addr = 0x60;		board = (i2c_master_recv(&dev->i2c_client,&buf,0) < 0)			? SAA7134_BOARD_BMK_MPEX_NOTUNER			: SAA7134_BOARD_BMK_MPEX_TUNER;		if (board == dev->board)			break;		printk("%s: board type fixup: %s\n", dev->name,		       saa7134_boards[dev->board].name);		dev->tuner_type = saa7134_boards[dev->board].tuner_type;		if (TUNER_ABSENT != dev->tuner_type)			saa7134_i2c_call_clients(dev,TUNER_SET_TYPE,&dev->tuner_type);		break;	}	return 0;}/* ----------------------------------------------------------- *//* * Local variables: * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

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