summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx23885/cx23885-dvb.c
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2007-09-08 18:08:17 -0400
committerSteven Toth <stoth@hauppauge.com>2007-09-08 18:08:17 -0400
commitc07d28cae856c91c33afe4e21c92335302cccdf7 (patch)
tree42aaaff1f1070b256b34efd49b5e10d8071911b6 /linux/drivers/media/video/cx23885/cx23885-dvb.c
parent8fc1625961d30be9a8665f97c7eb889e078c9e76 (diff)
downloadmediapointer-dvb-s2-c07d28cae856c91c33afe4e21c92335302cccdf7.tar.gz
mediapointer-dvb-s2-c07d28cae856c91c33afe4e21c92335302cccdf7.tar.bz2
cx23885: GPIO fix for non HVR1800lp boards.
From: Steven Toth <stoth@hauppauge.com> The HVR1250 and HVR1800 boards need the s5h1409 demod GPIO enabled. Signed-off-by: Steven Toth <stoth@hauppauge.com>
Diffstat (limited to 'linux/drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r--linux/drivers/media/video/cx23885/cx23885-dvb.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-dvb.c b/linux/drivers/media/video/cx23885/cx23885-dvb.c
index f06d31c1f..7411acdef 100644
--- a/linux/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c
@@ -83,6 +83,15 @@ static struct videobuf_queue_ops dvb_qops = {
static struct s5h1409_config hauppauge_generic_config = {
.demod_address = 0x32 >> 1,
.output_mode = S5H1409_SERIAL_OUTPUT,
+ .gpio = S5H1409_GPIO_ON,
+ .if_freq = 44000,
+ .inversion = S5H1409_INVERSION_OFF,
+ .status_mode = S5H1409_DEMODLOCKING
+};
+
+static struct s5h1409_config hauppauge_hvr1800lp_config = {
+ .demod_address = 0x32 >> 1,
+ .output_mode = S5H1409_SERIAL_OUTPUT,
.gpio = S5H1409_GPIO_OFF,
.if_freq = 44000,
.inversion = S5H1409_INVERSION_OFF,
@@ -104,7 +113,6 @@ static int dvb_register(struct cx23885_tsport *port)
switch (dev->board) {
case CX23885_BOARD_HAUPPAUGE_HVR1250:
case CX23885_BOARD_HAUPPAUGE_HVR1800:
- case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
port->dvb.frontend = dvb_attach(s5h1409_attach,
&hauppauge_generic_config,
&dev->i2c_bus[0].i2c_adap);
@@ -114,6 +122,16 @@ static int dvb_register(struct cx23885_tsport *port)
&hauppauge_generic_tunerconfig, 0);
}
break;
+ case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
+ port->dvb.frontend = dvb_attach(s5h1409_attach,
+ &hauppauge_hvr1800lp_config,
+ &dev->i2c_bus[0].i2c_adap);
+ if (port->dvb.frontend != NULL) {
+ dvb_attach(mt2131_attach, port->dvb.frontend,
+ &dev->i2c_bus[0].i2c_adap,
+ &hauppauge_generic_tunerconfig, 0);
+ }
+ break;
default:
printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n",
dev->name);