diff options
author | Aidan Thornton <makosoft@googlemail.com> | 2008-04-18 04:40:03 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 21:09:41 +0400 |
commit | 7e6388a1b97cca57a1906df6104feb4001721576 (patch) | |
tree | 39605d0155820b172893a8d4d70e13ea208b0cba /drivers/media/video/em28xx/em28xx-dvb.c | |
parent | d2d9fbfd732f49999a2a94f2479934488fe3ea9d (diff) | |
download | linux-7e6388a1b97cca57a1906df6104feb4001721576.tar.xz |
V4L/DVB (7601): em28xx-dvb: add support for the HVR-900
Adds the correct GPIOs and demod attach code for the HVR-900
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c index d3d52972cd84..65e0ab65fbe1 100644 --- a/drivers/media/video/em28xx/em28xx-dvb.c +++ b/drivers/media/video/em28xx/em28xx-dvb.c @@ -23,6 +23,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>"); @@ -65,6 +66,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) @@ -134,6 +142,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", |