aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-dvb.c
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@kernellabs.com>2011-03-13 00:01:02 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 06:26:19 -0400
commit75e2b8694f0b1f8faea1851a39cb7ba07640aa7d (patch)
treee9312e9cbe5e4b11de4ac29c06ff8da7d44843fd /drivers/media/video/em28xx/em28xx-dvb.c
parentba96796544f3bfc53a3269f0cf65651e349f8033 (diff)
[media] em28xx: enable support for the drx-d on the HVR-900 R2
Add the required board initialization required for the drx-d to work with the 900R2. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-dvb.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c
index c7c04bf712aa..bdbdb1bd8ec9 100644
--- a/drivers/media/video/em28xx/em28xx-dvb.c
+++ b/drivers/media/video/em28xx/em28xx-dvb.c
@@ -38,6 +38,7 @@
38#include "tda1002x.h" 38#include "tda1002x.h"
39#include "tda18271.h" 39#include "tda18271.h"
40#include "s921.h" 40#include "s921.h"
41#include "drxd.h"
41 42
42MODULE_DESCRIPTION("driver for em28xx based DVB cards"); 43MODULE_DESCRIPTION("driver for em28xx based DVB cards");
43MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 44MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>");
@@ -285,12 +286,12 @@ static struct zl10353_config em28xx_zl10353_xc3028_no_i2c_gate = {
285 .if2 = 45600, 286 .if2 = 45600,
286}; 287};
287 288
288#ifdef EM28XX_DRX397XD_SUPPORT 289static struct drxd_config em28xx_drxd = {
289/* [TODO] djh - not sure yet what the device config needs to contain */ 290 .index = 0, .demod_address = 0x70, .demod_revision = 0xa2,
290static struct drx397xD_config em28xx_drx397xD_with_xc3028 = { 291 .demoda_address = 0x00, .pll_address = 0x00,
291 .demod_address = (0xe0 >> 1), 292 .pll_type = DRXD_PLL_NONE, .clock = 12000, .insert_rs_byte = 1,
293 .pll_set = NULL, .osc_deviation = NULL, .IF = 42800000,
292}; 294};
293#endif
294 295
295static int mt352_terratec_xs_init(struct dvb_frontend *fe) 296static int mt352_terratec_xs_init(struct dvb_frontend *fe)
296{ 297{
@@ -588,18 +589,13 @@ static int dvb_init(struct em28xx *dev)
588 } 589 }
589 break; 590 break;
590 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2: 591 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
591#ifdef EM28XX_DRX397XD_SUPPORT 592 dvb->frontend = dvb_attach(drxd_attach, &em28xx_drxd, NULL,
592 /* We don't have the config structure properly populated, so 593 &dev->i2c_adap, &dev->udev->dev);
593 this is commented out for now */
594 dvb->frontend = dvb_attach(drx397xD_attach,
595 &em28xx_drx397xD_with_xc3028,
596 &dev->i2c_adap);
597 if (attach_xc3028(0x61, dev) < 0) { 594 if (attach_xc3028(0x61, dev) < 0) {
598 result = -EINVAL; 595 result = -EINVAL;
599 goto out_free; 596 goto out_free;
600 } 597 }
601 break; 598 break;
602#endif
603 case EM2870_BOARD_REDDO_DVB_C_USB_BOX: 599 case EM2870_BOARD_REDDO_DVB_C_USB_BOX:
604 /* Philips CU1216L NIM (Philips TDA10023 + Infineon TUA6034) */ 600 /* Philips CU1216L NIM (Philips TDA10023 + Infineon TUA6034) */
605 dvb->frontend = dvb_attach(tda10023_attach, 601 dvb->frontend = dvb_attach(tda10023_attach,