Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23389b88 authored by Eugene Yudin's avatar Eugene Yudin Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (12589): Add support for RoverMedia TV Link Pro FM



This patch add support for RoverMedia TV Link Pro FM (LR138 REV:I) card
based on saa7134.

Signed-off-by: default avatarEugene Yudin <Eugene.Yudin@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 2012c87f
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -170,3 +170,4 @@
169 -> Compro VideoMate S350/S300               [185b:c900]
169 -> Compro VideoMate S350/S300               [185b:c900]
170 -> AverMedia AverTV Studio 505              [1461:a115]
170 -> AverMedia AverTV Studio 505              [1461:a115]
171 -> Beholder BeholdTV X7                     [5ace:7595]
171 -> Beholder BeholdTV X7                     [5ace:7595]
172 -> RoverMedia TV Link Pro FM                [19d1:0138]
+57 −0
Original line number Original line Diff line number Diff line
@@ -266,6 +266,56 @@ struct saa7134_board saa7134_boards[] = {
			.gpio = 0x10000,
			.gpio = 0x10000,
		},
		},
	},
	},
	[SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
		/* RoverMedia TV Link Pro FM (LR138 REV:I) */
		/* Eugene Yudin <Eugene.Yudin@gmail.com> */
		.name		= "RoverMedia TV Link Pro FM",
		.audio_clock	= 0x00200000,
		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3, /* TCL MFPE05 2 */
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda9887_conf   = TDA9887_PRESENT,
		.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_EMPRESS] = {
	[SAA7134_BOARD_EMPRESS] = {
		/* "Gert Vervoort" <gert.vervoort@philips.com> */
		/* "Gert Vervoort" <gert.vervoort@philips.com> */
		.name		= "EMPRESS",
		.name		= "EMPRESS",
@@ -6333,6 +6383,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
		.subdevice    = 0x7595,
		.subdevice    = 0x7595,
		.driver_data  = SAA7134_BOARD_BEHOLD_X7,
		.driver_data  = SAA7134_BOARD_BEHOLD_X7,
	}, {
		.vendor       = PCI_VENDOR_ID_PHILIPS,
		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
		.subvendor    = 0x19d1, /* RoverMedia */
		.subdevice    = 0x0138, /* LifeView FlyTV Prime30 OEM */
		.driver_data  = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
	}, {
	}, {
		/* --- boards without eeprom + subsystem ID --- */
		/* --- boards without eeprom + subsystem ID --- */
		.vendor       = PCI_VENDOR_ID_PHILIPS,
		.vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -6663,6 +6719,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
	case SAA7134_BOARD_REAL_ANGEL_220:
	case SAA7134_BOARD_REAL_ANGEL_220:
	case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
	case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
		dev->has_remote = SAA7134_REMOTE_GPIO;
		dev->has_remote = SAA7134_REMOTE_GPIO;
		break;
		break;
	case SAA7134_BOARD_FLYDVBS_LR300:
	case SAA7134_BOARD_FLYDVBS_LR300:
+1 −0
Original line number Original line Diff line number Diff line
@@ -415,6 +415,7 @@ int saa7134_input_init1(struct saa7134_dev *dev)
	case SAA7134_BOARD_FLYVIDEO3000:
	case SAA7134_BOARD_FLYVIDEO3000:
	case SAA7134_BOARD_FLYTVPLATINUM_FM:
	case SAA7134_BOARD_FLYTVPLATINUM_FM:
	case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
	case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
		ir_codes     = ir_codes_flyvideo;
		ir_codes     = ir_codes_flyvideo;
		mask_keycode = 0xEC00000;
		mask_keycode = 0xEC00000;
		mask_keydown = 0x0040000;
		mask_keydown = 0x0040000;
+1 −0
Original line number Original line Diff line number Diff line
@@ -295,6 +295,7 @@ struct saa7134_format {
#define SAA7134_BOARD_VIDEOMATE_S350        169
#define SAA7134_BOARD_VIDEOMATE_S350        169
#define SAA7134_BOARD_AVERMEDIA_STUDIO_505  170
#define SAA7134_BOARD_AVERMEDIA_STUDIO_505  170
#define SAA7134_BOARD_BEHOLD_X7             171
#define SAA7134_BOARD_BEHOLD_X7             171
#define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 172


#define SAA7134_MAXBOARDS 32
#define SAA7134_MAXBOARDS 32
#define SAA7134_INPUT_MAX 8
#define SAA7134_INPUT_MAX 8