diff options
Diffstat (limited to 'linux/drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r-- | linux/drivers/media/video/em28xx/em28xx-dvb.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/linux/drivers/media/video/em28xx/em28xx-dvb.c b/linux/drivers/media/video/em28xx/em28xx-dvb.c index 33e83ea06..52f79e581 100644 --- a/linux/drivers/media/video/em28xx/em28xx-dvb.c +++ b/linux/drivers/media/video/em28xx/em28xx-dvb.c @@ -24,6 +24,7 @@ #include <media/videobuf-vmalloc.h> #include "lgdt330x.h" +#include "zl10353.h" MODULE_DESCRIPTION("driver for em28xx based DVB cards"); MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); @@ -66,6 +67,13 @@ static struct lgdt330x_config em2880_lgdt3303_dev = { .demod_chip = LGDT3303, }; +static struct zl10353_config em28xx_zl10353_with_xc3028 = { + .demod_address = (0x1e >> 1), + .no_tuner = 1, + .parallel_ts = 1, + .if2 = 45600, +}; + /* ------------------------------------------------------------------ */ static int attach_xc3028(u8 addr, struct em28xx *dev) @@ -135,6 +143,16 @@ static int dvb_init(struct em28xx *dev) if (attach_xc3028(0x61, dev) < 0) return -EINVAL; break; + case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: + /* Enable zl10353 */ + dev->mode = EM28XX_DIGITAL_MODE; + em28xx_tuner_callback(dev, XC2028_TUNER_RESET, 0); + dev->dvb.frontend = dvb_attach(zl10353_attach, + &em28xx_zl10353_with_xc3028, + &dev->i2c_adap); + if (attach_xc3028(0x61, dev) < 0) + return -EINVAL; + break; default: printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card" " isn't supported yet\n", |