aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885/cx23885-dvb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r--drivers/media/video/cx23885/cx23885-dvb.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c
index 022aa391937a..51dedb182c99 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -164,12 +164,28 @@ static struct s5h1409_config hauppauge_hvr1500q_config = {
164 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK, 164 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK,
165}; 165};
166 166
167static struct s5h1409_config dvico_s5h1409_config = {
168 .demod_address = 0x32 >> 1,
169 .output_mode = S5H1409_SERIAL_OUTPUT,
170 .gpio = S5H1409_GPIO_ON,
171 .qam_if = 44000,
172 .inversion = S5H1409_INVERSION_OFF,
173 .status_mode = S5H1409_DEMODLOCKING,
174 .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK,
175};
176
167static struct xc5000_config hauppauge_hvr1500q_tunerconfig = { 177static struct xc5000_config hauppauge_hvr1500q_tunerconfig = {
168 .i2c_address = 0x61, 178 .i2c_address = 0x61,
169 .if_khz = 5380, 179 .if_khz = 5380,
170 .tuner_callback = cx23885_tuner_callback 180 .tuner_callback = cx23885_tuner_callback
171}; 181};
172 182
183static struct xc5000_config dvico_xc5000_tunerconfig = {
184 .i2c_address = 0x64,
185 .if_khz = 5380,
186 .tuner_callback = cx23885_tuner_callback
187};
188
173static struct tda829x_config tda829x_no_probe = { 189static struct tda829x_config tda829x_no_probe = {
174 .probe_tuner = TDA829X_DONT_PROBE, 190 .probe_tuner = TDA829X_DONT_PROBE,
175}; 191};
@@ -453,6 +469,17 @@ static int dvb_register(struct cx23885_tsport *port)
453 fe->ops.tuner_ops.set_config(fe, &ctl); 469 fe->ops.tuner_ops.set_config(fe, &ctl);
454 } 470 }
455 break; 471 break;
472 case CX23885_BOARD_DVICO_FUSIONHDTV_7_DUAL_EXP:
473 i2c_bus = &dev->i2c_bus[port->nr - 1];
474
475 port->dvb.frontend = dvb_attach(s5h1409_attach,
476 &dvico_s5h1409_config,
477 &i2c_bus->i2c_adap);
478 if (port->dvb.frontend != NULL)
479 dvb_attach(xc5000_attach, port->dvb.frontend,
480 &i2c_bus->i2c_adap,
481 &dvico_xc5000_tunerconfig, i2c_bus);
482 break;
456 default: 483 default:
457 printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", 484 printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n",
458 dev->name); 485 dev->name);