diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-07-09 01:18:49 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-20 06:18:25 -0400 |
commit | 52b5045078b76ee86e210210601d45670eab22f1 (patch) | |
tree | b227138cd6fa390c6ee1b64dd8217cf51e4f7569 /drivers/media/video/cx23885/cx23885-dvb.c | |
parent | bdf2fe4a0b9d23e69c77eaec76212216c9a957ef (diff) |
V4L/DVB (8236): cx23885: add support for new revision of FusionHDTV7 Dual Express
The new revision of this board uses the same pci subsystem id as the first
revision, but uses a S5H1411 demodulator instead of the S5H1409.
In the case of the FusionHDTV7 Dual Express,
if s5h1409_attach fails, try s5h1411_attach.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-dvb.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 51dedb182c99..0a2e6558cd66 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <media/v4l2-common.h> | 31 | #include <media/v4l2-common.h> |
32 | 32 | ||
33 | #include "s5h1409.h" | 33 | #include "s5h1409.h" |
34 | #include "s5h1411.h" | ||
34 | #include "mt2131.h" | 35 | #include "mt2131.h" |
35 | #include "tda8290.h" | 36 | #include "tda8290.h" |
36 | #include "tda18271.h" | 37 | #include "tda18271.h" |
@@ -174,6 +175,16 @@ static struct s5h1409_config dvico_s5h1409_config = { | |||
174 | .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, | 175 | .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, |
175 | }; | 176 | }; |
176 | 177 | ||
178 | static struct s5h1411_config dvico_s5h1411_config = { | ||
179 | .output_mode = S5H1411_SERIAL_OUTPUT, | ||
180 | .gpio = S5H1411_GPIO_ON, | ||
181 | .qam_if = S5H1411_IF_44000, | ||
182 | .vsb_if = S5H1411_IF_44000, | ||
183 | .inversion = S5H1411_INVERSION_OFF, | ||
184 | .status_mode = S5H1411_DEMODLOCKING, | ||
185 | .mpeg_timing = S5H1411_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, | ||
186 | }; | ||
187 | |||
177 | static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { | 188 | static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { |
178 | .i2c_address = 0x61, | 189 | .i2c_address = 0x61, |
179 | .if_khz = 5380, | 190 | .if_khz = 5380, |
@@ -475,6 +486,10 @@ static int dvb_register(struct cx23885_tsport *port) | |||
475 | port->dvb.frontend = dvb_attach(s5h1409_attach, | 486 | port->dvb.frontend = dvb_attach(s5h1409_attach, |
476 | &dvico_s5h1409_config, | 487 | &dvico_s5h1409_config, |
477 | &i2c_bus->i2c_adap); | 488 | &i2c_bus->i2c_adap); |
489 | if (port->dvb.frontend == NULL) | ||
490 | port->dvb.frontend = dvb_attach(s5h1411_attach, | ||
491 | &dvico_s5h1411_config, | ||
492 | &i2c_bus->i2c_adap); | ||
478 | if (port->dvb.frontend != NULL) | 493 | if (port->dvb.frontend != NULL) |
479 | dvb_attach(xc5000_attach, port->dvb.frontend, | 494 | dvb_attach(xc5000_attach, port->dvb.frontend, |
480 | &i2c_bus->i2c_adap, | 495 | &i2c_bus->i2c_adap, |