aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2007-09-08 18:08:17 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:14:27 -0400
commitfc959befe0f0e4647bb4e326e3ae55875401888a (patch)
tree9fb6572d43baf49799622c05953aaf5c1f00f11e /drivers/media
parent415927dcd118ee9e5f24c78976509b9a9c747545 (diff)
V4L/DVB (6190): cx23885: GPIO fix for non HVR1800lp boards
The HVR1250 and HVR1800 boards need the s5h1409 demod GPIO enabled. Signed-off-by: Steven Toth <stoth@hauppauge.com> Reviewed-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 291cc0556222..ffa4c49d6916 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -82,6 +82,15 @@ static struct videobuf_queue_ops dvb_qops = {
82static struct s5h1409_config hauppauge_generic_config = { 82static struct s5h1409_config hauppauge_generic_config = {
83 .demod_address = 0x32 >> 1, 83 .demod_address = 0x32 >> 1,
84 .output_mode = S5H1409_SERIAL_OUTPUT, 84 .output_mode = S5H1409_SERIAL_OUTPUT,
85 .gpio = S5H1409_GPIO_ON,
86 .if_freq = 44000,
87 .inversion = S5H1409_INVERSION_OFF,
88 .status_mode = S5H1409_DEMODLOCKING
89};
90
91static struct s5h1409_config hauppauge_hvr1800lp_config = {
92 .demod_address = 0x32 >> 1,
93 .output_mode = S5H1409_SERIAL_OUTPUT,
85 .gpio = S5H1409_GPIO_OFF, 94 .gpio = S5H1409_GPIO_OFF,
86 .if_freq = 44000, 95 .if_freq = 44000,
87 .inversion = S5H1409_INVERSION_OFF, 96 .inversion = S5H1409_INVERSION_OFF,
@@ -103,7 +112,6 @@ static int dvb_register(struct cx23885_tsport *port)
103 switch (dev->board) { 112 switch (dev->board) {
104 case CX23885_BOARD_HAUPPAUGE_HVR1250: 113 case CX23885_BOARD_HAUPPAUGE_HVR1250:
105 case CX23885_BOARD_HAUPPAUGE_HVR1800: 114 case CX23885_BOARD_HAUPPAUGE_HVR1800:
106 case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
107 port->dvb.frontend = dvb_attach(s5h1409_attach, 115 port->dvb.frontend = dvb_attach(s5h1409_attach,
108 &hauppauge_generic_config, 116 &hauppauge_generic_config,
109 &dev->i2c_bus[0].i2c_adap); 117 &dev->i2c_bus[0].i2c_adap);
@@ -113,6 +121,16 @@ static int dvb_register(struct cx23885_tsport *port)
113 &hauppauge_generic_tunerconfig, 0); 121 &hauppauge_generic_tunerconfig, 0);
114 } 122 }
115 break; 123 break;
124 case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
125 port->dvb.frontend = dvb_attach(s5h1409_attach,
126 &hauppauge_hvr1800lp_config,
127 &dev->i2c_bus[0].i2c_adap);
128 if (port->dvb.frontend != NULL) {
129 dvb_attach(mt2131_attach, port->dvb.frontend,
130 &dev->i2c_bus[0].i2c_adap,
131 &hauppauge_generic_tunerconfig, 0);
132 }
133 break;
116 default: 134 default:
117 printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", 135 printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n",
118 dev->name); 136 dev->name);