diff options
author | Steven Toth <stoth@hauppauge.com> | 2007-09-08 18:08:17 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:14:27 -0400 |
commit | fc959befe0f0e4647bb4e326e3ae55875401888a (patch) | |
tree | 9fb6572d43baf49799622c05953aaf5c1f00f11e /drivers/media | |
parent | 415927dcd118ee9e5f24c78976509b9a9c747545 (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.c | 20 |
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 = { | |||
82 | static struct s5h1409_config hauppauge_generic_config = { | 82 | static 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 | |||
91 | static 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); |