V4L/DVB (7742): cx88: Add support for the DViCO FusionHDTV_7_GOLD digital modes
The S5H1411 demodulator is now enabled. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
8b4f1d0316
commit
d893d5dc7f
3 changed files with 34 additions and 0 deletions
|
@ -58,6 +58,7 @@ config VIDEO_CX88_DVB
|
||||||
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
select DVB_CX24123 if !DVB_FE_CUSTOMISE
|
||||||
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
select DVB_ISL6421 if !DVB_FE_CUSTOMISE
|
||||||
select TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
select TUNER_SIMPLE if !DVB_FE_CUSTOMISE
|
||||||
|
select DVB_S5H1411 if !DVB_FE_CUSTOMISE
|
||||||
---help---
|
---help---
|
||||||
This adds support for DVB/ATSC cards based on the
|
This adds support for DVB/ATSC cards based on the
|
||||||
Conexant 2388x chip.
|
Conexant 2388x chip.
|
||||||
|
|
|
@ -1591,6 +1591,7 @@ static const struct cx88_board cx88_boards[] = {
|
||||||
.vmux = 2,
|
.vmux = 2,
|
||||||
.gpio0 = 0x16d9,
|
.gpio0 = 0x16d9,
|
||||||
}},
|
}},
|
||||||
|
.mpeg = CX88_MPEG_DVB,
|
||||||
},
|
},
|
||||||
[CX88_BOARD_PROLINK_PV_8000GT] = {
|
[CX88_BOARD_PROLINK_PV_8000GT] = {
|
||||||
.name = "Prolink Pixelview MPEG 8000GT",
|
.name = "Prolink Pixelview MPEG 8000GT",
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
#include "isl6421.h"
|
#include "isl6421.h"
|
||||||
#include "tuner-simple.h"
|
#include "tuner-simple.h"
|
||||||
#include "tda9887.h"
|
#include "tda9887.h"
|
||||||
|
#include "s5h1411.h"
|
||||||
|
|
||||||
MODULE_DESCRIPTION("driver for cx2388x based DVB cards");
|
MODULE_DESCRIPTION("driver for cx2388x based DVB cards");
|
||||||
MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>");
|
MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>");
|
||||||
|
@ -463,6 +464,22 @@ static struct zl10353_config cx88_geniatech_x8000_mt = {
|
||||||
.no_tuner = 1,
|
.no_tuner = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct s5h1411_config dvico_fusionhdtv7_config = {
|
||||||
|
.output_mode = S5H1411_SERIAL_OUTPUT,
|
||||||
|
.gpio = S5H1411_GPIO_ON,
|
||||||
|
.mpeg_timing = S5H1411_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK,
|
||||||
|
.qam_if = S5H1411_IF_44000,
|
||||||
|
.vsb_if = S5H1411_IF_44000,
|
||||||
|
.inversion = S5H1411_INVERSION_OFF,
|
||||||
|
.status_mode = S5H1411_DEMODLOCKING
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct xc5000_config dvico_fusionhdtv7_tuner_config = {
|
||||||
|
.i2c_address = 0xc2 >> 1,
|
||||||
|
.if_khz = 5380,
|
||||||
|
.tuner_callback = cx88_tuner_callback,
|
||||||
|
};
|
||||||
|
|
||||||
static int attach_xc3028(u8 addr, struct cx8802_dev *dev)
|
static int attach_xc3028(u8 addr, struct cx8802_dev *dev)
|
||||||
{
|
{
|
||||||
struct dvb_frontend *fe;
|
struct dvb_frontend *fe;
|
||||||
|
@ -844,6 +861,21 @@ static int dvb_register(struct cx8802_dev *dev)
|
||||||
if (attach_xc3028(0x61, dev) < 0)
|
if (attach_xc3028(0x61, dev) < 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD:
|
||||||
|
dev->dvb.frontend = dvb_attach(s5h1411_attach,
|
||||||
|
&dvico_fusionhdtv7_config,
|
||||||
|
&dev->core->i2c_adap);
|
||||||
|
if (dev->dvb.frontend != NULL) {
|
||||||
|
/* tuner_config.video_dev must point to
|
||||||
|
* i2c_adap.algo_data
|
||||||
|
*/
|
||||||
|
dvico_fusionhdtv7_tuner_config.priv =
|
||||||
|
dev->core->i2c_adap.algo_data;
|
||||||
|
dvb_attach(xc5000_attach, dev->dvb.frontend,
|
||||||
|
&dev->core->i2c_adap,
|
||||||
|
&dvico_fusionhdtv7_tuner_config);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n",
|
printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n",
|
||||||
dev->core->name);
|
dev->core->name);
|
||||||
|
|
Loading…
Add table
Reference in a new issue