]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/cx23885/cx23885-dvb.c
V4L/DVB (8807): Add DVB support for the Leadtek Winfast PxDVR3200 H
[linux-2.6-omap-h63xx.git] / drivers / media / video / cx23885 / cx23885-dvb.c
index f8564bb0d428a6922ac92707f3bb959d7dc7ec31..b85cb39b101da9b2528041a7bd4d0348bc7b8a54 100644 (file)
@@ -501,6 +501,32 @@ static int dvb_register(struct cx23885_tsport *port)
                }
                break;
        }
+       case CX23885_BOARD_LEADTEK_WINFAST_PXDVR3200_H:
+               i2c_bus = &dev->i2c_bus[0];
+
+               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  = &dev->i2c_bus[1].i2c_adap,
+                               .i2c_addr  = 0x61,
+                               .video_dev = port,
+                               .callback  = cx23885_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);