aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134
diff options
context:
space:
mode:
authorDmitri Belimov <d.belimov@gmail.com>2010-03-30 02:02:17 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:57:29 -0400
commitb400f09246247e2c55b116bd7b71da4fb0cb19dc (patch)
tree7ddede1be091c2e178b5438a9ee21beb399f14dc /drivers/media/video/saa7134
parentb57f432c28403b53a298803272b874c1c333f22e (diff)
V4L/DVB: Fix default state Beholder H6 tuner
The hybrid tuner FMD1216MEX_MK3 after cold start has disabled IF. This tuner has internal I2C switch. This switch switch I2C bus between DVB-T and IF part. Default state is DVB-T. When module saa7134 is load it can't find IF tda9887 and disable analog TV mode. Sets internal I2C switch of the tuner to IF by send special value to the tuner as for receive analog TV from low band. It can be usefule for other cards. I didn't set configure a tuner by a tuner model because this tuner can have different I2C address. May be we can do it later after discuss for more robust support a tuners. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index b937d4da3136..435f821b5921 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -7366,6 +7366,23 @@ int saa7134_board_init2(struct saa7134_dev *dev)
7366 } 7366 }
7367 break; 7367 break;
7368 } 7368 }
7369 case SAA7134_BOARD_BEHOLD_H6:
7370 {
7371 u8 data[] = { 0x09, 0x9f, 0x86, 0x11};
7372 struct i2c_msg msg = {.addr = 0x61, .flags = 0, .buf = data,
7373 .len = sizeof(data)};
7374
7375 /* The tuner TUNER_PHILIPS_FMD1216MEX_MK3 after hardware */
7376 /* start has disabled IF and enabled DVB-T. When saa7134 */
7377 /* scan I2C devices it not detect IF tda9887 and can`t */
7378 /* watch TV without software reboot. For solve this problem */
7379 /* switch the tuner to analog TV mode manually. */
7380 if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)
7381 printk(KERN_WARNING
7382 "%s: Unable to enable IF of the tuner.\n",
7383 dev->name);
7384 break;
7385 }
7369 } /* switch() */ 7386 } /* switch() */
7370 7387
7371 /* initialize tuner */ 7388 /* initialize tuner */