aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-07-09 01:18:49 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:18:25 -0400
commit52b5045078b76ee86e210210601d45670eab22f1 (patch)
treeb227138cd6fa390c6ee1b64dd8217cf51e4f7569 /drivers/media/video/cx23885
parentbdf2fe4a0b9d23e69c77eaec76212216c9a957ef (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')
-rw-r--r--drivers/media/video/cx23885/Kconfig1
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c15
2 files changed, 16 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/Kconfig b/drivers/media/video/cx23885/Kconfig
index 7bf14c9a15c7..04e9640c2ca4 100644
--- a/drivers/media/video/cx23885/Kconfig
+++ b/drivers/media/video/cx23885/Kconfig
@@ -14,6 +14,7 @@ config VIDEO_CX23885
14 select DVB_DIB7000P if !DVB_FE_CUSTOMISE 14 select DVB_DIB7000P if !DVB_FE_CUSTOMISE
15 select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE 15 select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE
16 select DVB_S5H1409 if !DVB_FE_CUSTOMISE 16 select DVB_S5H1409 if !DVB_FE_CUSTOMISE
17 select DVB_S5H1411 if !DVB_FE_CUSTOMISE
17 select DVB_LGDT330X if !DVB_FE_CUSTOMISE 18 select DVB_LGDT330X if !DVB_FE_CUSTOMISE
18 select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE 19 select MEDIA_TUNER_XC2028 if !DVB_FE_CUSTOMIZE
19 select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE 20 select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
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
178static 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
177static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { 188static 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,