mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 13:43:55 +08:00
V4L/DVB (7391): saa7134: Add DVB-S support for the MD 1734 cards with 2 saa7134
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
867bc6cccc
commit
637afdb563
@ -2911,15 +2911,13 @@ struct saa7134_board saa7134_boards[] = {
|
|||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
[SAA7134_BOARD_MD7134_BRIDGE_2] = {
|
[SAA7134_BOARD_MD7134_BRIDGE_2] = {
|
||||||
/* This card has two saa7134 chips on it,
|
/* The second saa7134 on this card only serves as DVB-S host bridge */
|
||||||
but only one of them is currently working.
|
|
||||||
The programming for the primary decoder is
|
|
||||||
in SAA7134_BOARD_MD7134 */
|
|
||||||
.name = "Medion 7134 Bridge #2",
|
.name = "Medion 7134 Bridge #2",
|
||||||
.audio_clock = 0x00187de7,
|
.audio_clock = 0x00187de7,
|
||||||
.radio_type = UNSET,
|
.radio_type = UNSET,
|
||||||
.tuner_addr = ADDR_UNSET,
|
.tuner_addr = ADDR_UNSET,
|
||||||
.radio_addr = ADDR_UNSET,
|
.radio_addr = ADDR_UNSET,
|
||||||
|
.mpeg = SAA7134_MPEG_DVB,
|
||||||
},
|
},
|
||||||
[SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
|
[SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
|
||||||
.name = "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",
|
.name = "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",
|
||||||
@ -5438,7 +5436,6 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
|||||||
dev->has_remote = SAA7134_REMOTE_I2C;
|
dev->has_remote = SAA7134_REMOTE_I2C;
|
||||||
break;
|
break;
|
||||||
case SAA7134_BOARD_AVERMEDIA_A169_B:
|
case SAA7134_BOARD_AVERMEDIA_A169_B:
|
||||||
case SAA7134_BOARD_MD7134_BRIDGE_2:
|
|
||||||
printk("%s: %s: dual saa713x broadcast decoders\n"
|
printk("%s: %s: dual saa713x broadcast decoders\n"
|
||||||
"%s: Sorry, none of the inputs to this chip are supported yet.\n"
|
"%s: Sorry, none of the inputs to this chip are supported yet.\n"
|
||||||
"%s: Dual decoder functionality is disabled for now, use the other chip.\n",
|
"%s: Dual decoder functionality is disabled for now, use the other chip.\n",
|
||||||
|
@ -1156,6 +1156,29 @@ static int dvb_init(struct saa7134_dev *dev)
|
|||||||
&dev->i2c_adap);
|
&dev->i2c_adap);
|
||||||
attach_xc3028 = 1;
|
attach_xc3028 = 1;
|
||||||
break;
|
break;
|
||||||
|
case SAA7134_BOARD_MD7134_BRIDGE_2:
|
||||||
|
dev->dvb.frontend = dvb_attach(tda10086_attach,
|
||||||
|
&flydvbs, &dev->i2c_adap);
|
||||||
|
if (dev->dvb.frontend) {
|
||||||
|
struct dvb_frontend *fe;
|
||||||
|
if (dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x60,
|
||||||
|
&dev->i2c_adap, DVB_PLL_PHILIPS_SD1878_TDA8261) == NULL)
|
||||||
|
wprintk("%s: MD7134 DVB-S, no SD1878 "
|
||||||
|
"found !\n", __FUNCTION__);
|
||||||
|
/* we need to open the i2c gate (we know it exists) */
|
||||||
|
fe = dev->dvb.frontend;
|
||||||
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
|
if (dvb_attach(isl6405_attach, fe,
|
||||||
|
&dev->i2c_adap, 0x08, 0, 0) == NULL)
|
||||||
|
wprintk("%s: MD7134 DVB-S, no ISL6405 "
|
||||||
|
"found !\n", __FUNCTION__);
|
||||||
|
fe->ops.i2c_gate_ctrl(fe, 0);
|
||||||
|
dev->original_set_voltage = fe->ops.set_voltage;
|
||||||
|
fe->ops.set_voltage = md8800_set_voltage;
|
||||||
|
dev->original_set_high_voltage = fe->ops.enable_high_lnb_voltage;
|
||||||
|
fe->ops.enable_high_lnb_voltage = md8800_set_high_voltage;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
wprintk("Huh? unknown DVB card?\n");
|
wprintk("Huh? unknown DVB card?\n");
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user