diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-08-04 20:39:53 -0400 |
---|---|---|
committer | Steven Toth <stoth@hauppauge.com> | 2008-08-04 20:39:53 -0400 |
commit | 54b460b47032aae6fe4ee63865486610efe38150 (patch) | |
tree | 780512a6aa3d65493e68530f90b8680963f4c3cb /linux/drivers/media/video/cx23885/cx23885-dvb.c | |
parent | d969569e5e7121895a7417ae03568bdf5a832196 (diff) | |
download | mediapointer-dvb-s2-54b460b47032aae6fe4ee63865486610efe38150.tar.gz mediapointer-dvb-s2-54b460b47032aae6fe4ee63865486610efe38150.tar.bz2 |
Add support for DViCO FusionHDTV DVB-T Dual Express
From: Steven Toth <stoth@hauppauge.com>
Add support for the DViCO FusionHDTV DVB-T Dual Express card, based on
work by Chris Pascoe and Stephen Backway.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Diffstat (limited to 'linux/drivers/media/video/cx23885/cx23885-dvb.c')
-rw-r--r-- | linux/drivers/media/video/cx23885/cx23885-dvb.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-dvb.c b/linux/drivers/media/video/cx23885/cx23885-dvb.c index 35da86931..1a4da1a4a 100644 --- a/linux/drivers/media/video/cx23885/cx23885-dvb.c +++ b/linux/drivers/media/video/cx23885/cx23885-dvb.c @@ -43,6 +43,7 @@ #include "tuner-simple.h" #include "dib7000p.h" #include "dibx000_common.h" +#include "zl10353.h" static unsigned int debug; @@ -304,6 +305,12 @@ static struct dib7000p_config hauppauge_hvr1400_dib7000_config = { .output_mode = OUTMODE_MPEG2_SERIAL, }; +static struct zl10353_config dvico_fusionhdtv_xc3028 = { + .demod_address = 0x0f, + .if2 = 45600, + .no_tuner = 1, +}; + static int dvb_register(struct cx23885_tsport *port) { struct cx23885_dev *dev = port->dev; @@ -466,6 +473,33 @@ static int dvb_register(struct cx23885_tsport *port) &i2c_bus->i2c_adap, &dvico_xc5000_tunerconfig, i2c_bus); break; + case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP: { + i2c_bus = &dev->i2c_bus[port->nr - 1]; + + port->dvb.frontend = dvb_attach(zl10353_attach, + &dvico_fusionhdtv_xc3028, + &i2c_bus->i2c_adap); + if (port->dvb.frontend != NULL) { + struct dvb_frontend *fe; + struct xc2028_config cfg = { + .i2c_adap = &i2c_bus->i2c_adap, + .i2c_addr = 0x61, + .video_dev = port, + .callback = cx23885_xc3028_tuner_callback, + }; + static struct xc2028_ctrl ctl = { + .fname = "xc3028-v27.fw", + .max_len = 64, + .demod = XC3028_FE_ZARLINK456, + }; + + fe = dvb_attach(xc2028_attach, port->dvb.frontend, + &cfg); + if (fe != NULL && fe->ops.tuner_ops.set_config != NULL) + fe->ops.tuner_ops.set_config(fe, &ctl); + } + break; + } default: printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", dev->name); |