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

Commit d95b8942 authored by Hartmut Hackmann's avatar Hartmut Hackmann Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3646): Added support for the new Lifeview hybrid cardbus modules



There seem to be many variants of this cards with different
feature sets. This entry supports
analog TV, CVBS and s-video input, FM radio and DVB-T
if they are supported by the hardware.

Signed-off-by: default avatarHartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 2174eb9c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -92,3 +92,4 @@
 91 -> AVerMedia A169 B                         [1461:7360]
 92 -> AVerMedia A169 B1                        [1461:6360]
 93 -> Medion 7134 Bridge #2                    [16be:0005]
 94 -> LifeView FlyDVB-T Hybrid Cardbus         [5168:3306,5168:3502]
+48 −0
Original line number Diff line number Diff line
@@ -2808,6 +2808,40 @@ struct saa7134_board saa7134_boards[] = {
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
	},
	[SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
		.name		= "LifeView FlyDVB-T Hybrid Cardbus",
		.audio_clock    = 0x00200000,
		.tuner_type     = TUNER_PHILIPS_TDA8290,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */
		.inputs         = {{
			.name = name_tv,
			.vmux = 1,
			.amux = TV,
			.gpio = 0x200000,	/* GPIO21=High for TV input */
			.tv   = 1,
		},{
			.name = name_svideo,	/* S-Video signal on S-Video input */
			.vmux = 8,
			.amux = LINE2,
		},{
			.name = name_comp1,	/* Composite signal on S-Video input */
			.vmux = 0,
			.amux = LINE2,
		},{
			.name = name_comp2,	/* Composite input */
			.vmux = 3,
			.amux = LINE2,
		}},
		.radio = {
			.name = name_radio,
			.amux = TV,
			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */
		},
	},
};

const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3344,6 +3378,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
		.subvendor = 0x5168, /* Animation Technologies (LifeView) */
		.subdevice = 0x0304,
		.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
	},{
		.vendor       = PCI_VENDOR_ID_PHILIPS,
		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
		.subvendor    = 0x5168,
		.subdevice    = 0x3306,
		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
	},{
		.vendor       = PCI_VENDOR_ID_PHILIPS,
		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
		.subvendor    = 0x5168,
		.subdevice    = 0x3502,  /* whats the difference to 0x3306 ?*/
		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
	},{
		/* --- boards without eeprom + subsystem ID --- */
		.vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -3474,6 +3520,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
		saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06);
		break;
	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
		saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
		saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00);
		break;
@@ -3645,6 +3692,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
		}
		break;
	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
		/* make the tda10046 find its eeprom */
		{
		u8 data[] = { 0x3c, 0x33, 0x62};
+4 −0
Original line number Diff line number Diff line
@@ -1064,6 +1064,10 @@ static int dvb_init(struct saa7134_dev *dev)
		dev->dvb.frontend = tda10046_attach(&tevion_dvbt220rf_config,
						    &dev->i2c_adap);
		break;
	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
		dev->dvb.frontend = tda10046_attach(&ads_tech_duo_config,
						    &dev->i2c_adap);
		break;
#endif
#ifdef HAVE_NXT200X
	case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180:
+1 −0
Original line number Diff line number Diff line
@@ -220,6 +220,7 @@ struct saa7134_format {
#define SAA7134_BOARD_AVERMEDIA_A169_B 91
#define SAA7134_BOARD_AVERMEDIA_A169_B1 92
#define SAA7134_BOARD_MD7134_BRIDGE_2     93
#define SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS 94

#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8