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

Commit 420f32fe authored by Nico Sabbi's avatar Nico Sabbi Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3396): Add DVB-T support for the LifeView DVB Trio PCI card



This patch adds DVB-T support, no DVB-S yet

Signed-off-by: default avatarNico Sabbi <nsabbi@tiscali.it>
Signed-off-by: default avatarHartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent df8cf706
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2624,6 +2624,7 @@ struct saa7134_board saa7134_boards[] = {
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.gpiomask	= 0x00200000,
		.mpeg           = SAA7134_MPEG_DVB,	/* FIXME: DVB not implemented yet */
		.inputs         = {{
			.name = name_tv,	/* Analog broadcast/cable TV */
			.vmux = 1,
@@ -3547,6 +3548,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
		i2c_transfer(&dev->i2c_adap, &msg, 1);
		}
		break;
	case SAA7134_BOARD_FLYDVB_TRIO:
	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
		/* make the tda10046 find its eeprom */
		{
+37 −0
Original line number Diff line number Diff line
@@ -852,6 +852,39 @@ static struct tda1004x_config philips_tiger_config = {

/* ------------------------------------------------------------------ */

static int lifeview_trio_pll_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *params)
{
	int ret;

	ret = philips_tda827xa_pll_set(0x60, fe, params);
	return ret;
}

static int lifeview_trio_dvb_mode(struct dvb_frontend *fe)
{
	return 0;
}

static void lifeview_trio_analog_mode(struct dvb_frontend *fe)
{
	philips_tda827xa_pll_sleep(0x60, fe);
}

static struct tda1004x_config lifeview_trio_config = {
	.demod_address = 0x09,
	.invert        = 1,
	.invert_oclk   = 0,
	.xtal_freq     = TDA10046_XTAL_16M,
	.agc_config    = TDA10046_AGC_TDA827X_GPL,
	.if_freq       = TDA10046_FREQ_045,
	.pll_init      = lifeview_trio_dvb_mode,
	.pll_set       = lifeview_trio_pll_set,
	.pll_sleep     = lifeview_trio_analog_mode,
	.request_firmware = NULL,
};

/* ------------------------------------------------------------------ */

static int ads_duo_pll_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *params)
{
	int ret;
@@ -1019,6 +1052,10 @@ static int dvb_init(struct saa7134_dev *dev)
		dev->dvb.frontend = tda10046_attach(&tda827x_lifeview_config,
						    &dev->i2c_adap);
		break;
	case SAA7134_BOARD_FLYDVB_TRIO:
		dev->dvb.frontend = tda10046_attach(&lifeview_trio_config,
						    &dev->i2c_adap);
		break;
	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
		dev->dvb.frontend = tda10046_attach(&ads_tech_duo_config,
						    &dev->i2c_adap);