summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-blackbird.c
diff options
context:
space:
mode:
authorDarron Broad <darron@kewl.org>2008-12-18 06:28:35 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 09:39:17 -0200
commit793927372626bae48b32db24dddde40d73923a9c (patch)
tree462a96b1da4da035e78acb4d835734d8ac20f303 /drivers/media/video/cx88/cx88-blackbird.c
parent6639f1e060c2d2f3331ba6bcefe8f65b623365f3 (diff)
downloadlinux-793927372626bae48b32db24dddde40d73923a9c.tar.gz
linux-793927372626bae48b32db24dddde40d73923a9c.tar.bz2
linux-793927372626bae48b32db24dddde40d73923a9c.zip
V4L/DVB (9918): cx88: advise/acquire clean-up for HVR-1300/3000/4000
This cleans-up the advise/acquire methods. This has been tested on the hvr-1300/4000 and assumed to be correct on the hvr-3000. This update also fixes analogue tuning on the hvr-1300 when in blackbird mode. Signed-off-by: Darron Broad <darron@kewl.org> Cc: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx88/cx88-blackbird.c')
-rw-r--r--drivers/media/video/cx88/cx88-blackbird.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/media/video/cx88/cx88-blackbird.c b/drivers/media/video/cx88/cx88-blackbird.c
index ca067ec250af..e162a70748c5 100644
--- a/drivers/media/video/cx88/cx88-blackbird.c
+++ b/drivers/media/video/cx88/cx88-blackbird.c
@@ -1244,8 +1244,16 @@ static int cx8802_blackbird_advise_acquire(struct cx8802_driver *drv)
* We're being given access to re-arrange the GPIOs.
* Take the bus off the cx22702 and put the cx23416 on it.
*/
- cx_clear(MO_GP0_IO, 0x00000080); /* cx22702 in reset */
- cx_set(MO_GP0_IO, 0x00000004); /* Disable the cx22702 */
+ /* Toggle reset on cx22702 leaving i2c active */
+ cx_set(MO_GP0_IO, 0x00000080);
+ udelay(1000);
+ cx_clear(MO_GP0_IO, 0x00000080);
+ udelay(50);
+ cx_set(MO_GP0_IO, 0x00000080);
+ udelay(1000);
+ /* tri-state the cx22702 pins */
+ cx_set(MO_GP0_IO, 0x00000004);
+ udelay(1000);
break;
default:
err = -ENODEV;