Commit 63ab664c authored by Darek Zielski's avatar Darek Zielski Committed by Mauro Carvalho Chehab
Browse files

[media] saa7134: add Leadtek Winfast TV2100 FM card support



Add Leadtek Winfast TV2100 FM card to saa7134 driver. It is a card bearing
SAA7130HL chip.

Signed-off-by: default avatarDarek Zielski <dz1125tor@gmail.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 67dcfebd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -193,3 +193,4 @@
192 -> AverMedia AverTV Satellite Hybrid+FM A706 [1461:2055]
193 -> WIS Voyager or compatible                [1905:7007]
194 -> AverMedia AverTV/505                     [1461:a10a]
195 -> Leadtek Winfast TV2100 FM                [107d:6f3a]
+43 −0
Original line number Diff line number Diff line
@@ -5884,6 +5884,42 @@ struct saa7134_board saa7134_boards[] = {
			.amux = LINE1,
		},
	},
	[SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM] = {
		.name           = "Leadtek Winfast TV2100 FM",
		.audio_clock    = 0x00187de7,
		.tuner_type     = TUNER_TNF_5335MF,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.gpiomask       = 0x0d,
		.inputs         = {{
			.name = name_tv_mono,
			.vmux = 1,
			.amux = LINE1,
			.gpio = 0x00,
			.tv   = 1,
		}, {
			.name = name_comp1,
			.vmux = 3,
			.amux = LINE2,
			.gpio = 0x08,
		}, {
			.name = name_svideo,
			.vmux = 8,
			.amux = LINE2,
			.gpio = 0x08,
		} },
		.radio = {
			.name = name_radio,
			.amux = LINE1,
			.gpio = 0x04,
		},
		.mute = {
			.name = name_mute,
			.amux = LINE1,
			.gpio = 0x08,
		},
	},

};

@@ -7148,6 +7184,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
		.subdevice    = 0xa10a,
		.driver_data  = SAA7134_BOARD_AVERMEDIA_505,
	}, {
		.vendor       = PCI_VENDOR_ID_PHILIPS,
		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
		.subvendor    = 0x107d,
		.subdevice    = 0x6f3a,
		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM,
	}, {
		/* --- boards without eeprom + subsystem ID --- */
		.vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -7545,6 +7587,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
	case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		break;
	case SAA7134_BOARD_FLYDVBS_LR300:
+7 −0
Original line number Diff line number Diff line
@@ -835,6 +835,13 @@ int saa7134_input_init1(struct saa7134_dev *dev)
		mask_keycode = 0xffff;
		raw_decode   = true;
		break;
	case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM:
		ir_codes     = RC_MAP_LEADTEK_Y04G0051;
		mask_keydown = 0x0040000;	/* Enable GPIO18 line on both edges */
		mask_keyup   = 0x0040000;
		mask_keycode = 0xffff;
		raw_decode   = true;
		break;
	}
	if (NULL == ir_codes) {
		pr_err("Oops: IR config error [card=%d]\n", dev->board);
+1 −0
Original line number Diff line number Diff line
@@ -342,6 +342,7 @@ struct saa7134_card_ir {
#define SAA7134_BOARD_AVERMEDIA_A706		192
#define SAA7134_BOARD_WIS_VOYAGER           193
#define SAA7134_BOARD_AVERMEDIA_505         194
#define SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM 195

#define SAA7134_MAXBOARDS 32
#define SAA7134_INPUT_MAX 8