mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-05 05:42:36 +00:00
[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>
This commit is contained in:
parent
ba96796544
commit
75e2b8694f
2 changed files with 10 additions and 12 deletions
|
@ -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 @@
|
||||||
#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 = {
|
||||||
.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)
|
||||||
}
|
}
|
||||||
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,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue