Commit 75e2b869 authored by Devin Heitmueller's avatar Devin Heitmueller Committed by Mauro Carvalho Chehab

[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: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent ba967965
...@@ -859,6 +859,8 @@ struct em28xx_board em28xx_boards[] = { ...@@ -859,6 +859,8 @@ struct em28xx_board em28xx_boards[] = {
.tuner_type = TUNER_XC2028, .tuner_type = TUNER_XC2028,
.tuner_gpio = default_tuner_gpio, .tuner_gpio = default_tuner_gpio,
.mts_firmware = 1, .mts_firmware = 1,
.has_dvb = 1,
.dvb_gpio = hauppauge_wintv_hvr_900_digital,
.ir_codes = RC_MAP_HAUPPAUGE, .ir_codes = RC_MAP_HAUPPAUGE,
.decoder = EM28XX_TVP5150, .decoder = EM28XX_TVP5150,
.input = { { .input = { {
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "tda1002x.h" #include "tda1002x.h"
#include "tda18271.h" #include "tda18271.h"
#include "s921.h" #include "s921.h"
#include "drxd.h"
MODULE_DESCRIPTION("driver for em28xx based DVB cards"); MODULE_DESCRIPTION("driver for em28xx based DVB cards");
MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>");
...@@ -285,12 +286,12 @@ static struct zl10353_config em28xx_zl10353_xc3028_no_i2c_gate = { ...@@ -285,12 +286,12 @@ static struct zl10353_config em28xx_zl10353_xc3028_no_i2c_gate = {
.if2 = 45600, .if2 = 45600,
}; };
#ifdef EM28XX_DRX397XD_SUPPORT static struct drxd_config em28xx_drxd = {
/* [TODO] djh - not sure yet what the device config needs to contain */ .index = 0, .demod_address = 0x70, .demod_revision = 0xa2,
static struct drx397xD_config em28xx_drx397xD_with_xc3028 = { .demoda_address = 0x00, .pll_address = 0x00,
.demod_address = (0xe0 >> 1), .pll_type = DRXD_PLL_NONE, .clock = 12000, .insert_rs_byte = 1,
.pll_set = NULL, .osc_deviation = NULL, .IF = 42800000,
}; };
#endif
static int mt352_terratec_xs_init(struct dvb_frontend *fe) static int mt352_terratec_xs_init(struct dvb_frontend *fe)
{ {
...@@ -588,18 +589,13 @@ static int dvb_init(struct em28xx *dev) ...@@ -588,18 +589,13 @@ static int dvb_init(struct em28xx *dev)
} }
break; break;
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2: case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
#ifdef EM28XX_DRX397XD_SUPPORT dvb->frontend = dvb_attach(drxd_attach, &em28xx_drxd, NULL,
/* We don't have the config structure properly populated, so &dev->i2c_adap, &dev->udev->dev);
this is commented out for now */
dvb->frontend = dvb_attach(drx397xD_attach,
&em28xx_drx397xD_with_xc3028,
&dev->i2c_adap);
if (attach_xc3028(0x61, dev) < 0) { if (attach_xc3028(0x61, dev) < 0) {
result = -EINVAL; result = -EINVAL;
goto out_free; goto out_free;
} }
break; break;
#endif
case EM2870_BOARD_REDDO_DVB_C_USB_BOX: case EM2870_BOARD_REDDO_DVB_C_USB_BOX:
/* Philips CU1216L NIM (Philips TDA10023 + Infineon TUA6034) */ /* Philips CU1216L NIM (Philips TDA10023 + Infineon TUA6034) */
dvb->frontend = dvb_attach(tda10023_attach, dvb->frontend = dvb_attach(tda10023_attach,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment