aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134
diff options
context:
space:
mode:
authorHartmut Hackmann <hartmut.hackmann@t-online.de>2008-04-22 13:46:08 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:52 -0400
commit637afdb563a0801b6983650f889c64c074111776 (patch)
tree2c52d5083ec21903c3a78fe67ce9a747c5ef3b4c /drivers/media/video/saa7134
parent867bc6cccc511ccbf40609ccb6ede2aafdeb922e (diff)
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>
Diffstat (limited to 'drivers/media/video/saa7134')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c7
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c23
2 files changed, 25 insertions, 5 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index e30f34e019b0..1b6c7d697f04 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2911,15 +2911,13 @@ struct saa7134_board saa7134_boards[] = {
2911 }}, 2911 }},
2912 }, 2912 },
2913 [SAA7134_BOARD_MD7134_BRIDGE_2] = { 2913 [SAA7134_BOARD_MD7134_BRIDGE_2] = {
2914 /* This card has two saa7134 chips on it, 2914 /* The second saa7134 on this card only serves as DVB-S host bridge */
2915 but only one of them is currently working.
2916 The programming for the primary decoder is
2917 in SAA7134_BOARD_MD7134 */
2918 .name = "Medion 7134 Bridge #2", 2915 .name = "Medion 7134 Bridge #2",
2919 .audio_clock = 0x00187de7, 2916 .audio_clock = 0x00187de7,
2920 .radio_type = UNSET, 2917 .radio_type = UNSET,
2921 .tuner_addr = ADDR_UNSET, 2918 .tuner_addr = ADDR_UNSET,
2922 .radio_addr = ADDR_UNSET, 2919 .radio_addr = ADDR_UNSET,
2920 .mpeg = SAA7134_MPEG_DVB,
2923 }, 2921 },
2924 [SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = { 2922 [SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
2925 .name = "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB", 2923 .name = "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",
@@ -5438,7 +5436,6 @@ int saa7134_board_init1(struct saa7134_dev *dev)
5438 dev->has_remote = SAA7134_REMOTE_I2C; 5436 dev->has_remote = SAA7134_REMOTE_I2C;
5439 break; 5437 break;
5440 case SAA7134_BOARD_AVERMEDIA_A169_B: 5438 case SAA7134_BOARD_AVERMEDIA_A169_B:
5441 case SAA7134_BOARD_MD7134_BRIDGE_2:
5442 printk("%s: %s: dual saa713x broadcast decoders\n" 5439 printk("%s: %s: dual saa713x broadcast decoders\n"
5443 "%s: Sorry, none of the inputs to this chip are supported yet.\n" 5440 "%s: Sorry, none of the inputs to this chip are supported yet.\n"
5444 "%s: Dual decoder functionality is disabled for now, use the other chip.\n", 5441 "%s: Dual decoder functionality is disabled for now, use the other chip.\n",
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 00f325ad565a..a29d800616b1 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -1156,6 +1156,29 @@ static int dvb_init(struct saa7134_dev *dev)
1156 &dev->i2c_adap); 1156 &dev->i2c_adap);
1157 attach_xc3028 = 1; 1157 attach_xc3028 = 1;
1158 break; 1158 break;
1159 case SAA7134_BOARD_MD7134_BRIDGE_2:
1160 dev->dvb.frontend = dvb_attach(tda10086_attach,
1161 &flydvbs, &dev->i2c_adap);
1162 if (dev->dvb.frontend) {
1163 struct dvb_frontend *fe;
1164 if (dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x60,
1165 &dev->i2c_adap, DVB_PLL_PHILIPS_SD1878_TDA8261) == NULL)
1166 wprintk("%s: MD7134 DVB-S, no SD1878 "
1167 "found !\n", __FUNCTION__);
1168 /* we need to open the i2c gate (we know it exists) */
1169 fe = dev->dvb.frontend;
1170 fe->ops.i2c_gate_ctrl(fe, 1);
1171 if (dvb_attach(isl6405_attach, fe,
1172 &dev->i2c_adap, 0x08, 0, 0) == NULL)
1173 wprintk("%s: MD7134 DVB-S, no ISL6405 "
1174 "found !\n", __FUNCTION__);
1175 fe->ops.i2c_gate_ctrl(fe, 0);
1176 dev->original_set_voltage = fe->ops.set_voltage;
1177 fe->ops.set_voltage = md8800_set_voltage;
1178 dev->original_set_high_voltage = fe->ops.enable_high_lnb_voltage;
1179 fe->ops.enable_high_lnb_voltage = md8800_set_high_voltage;
1180 }
1181 break;
1159 default: 1182 default:
1160 wprintk("Huh? unknown DVB card?\n"); 1183 wprintk("Huh? unknown DVB card?\n");
1161 break; 1184 break;