|
@@ -97,6 +97,16 @@ static struct s5h1409_config hauppauge_hvr1800_config = {
|
|
.status_mode = S5H1409_DEMODLOCKING
|
|
.status_mode = S5H1409_DEMODLOCKING
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static struct s5h1409_config hauppauge_hvr1250_config = {
|
|
|
|
+ .demod_address = 0x32 >> 1,
|
|
|
|
+ .output_mode = S5H1409_SERIAL_OUTPUT,
|
|
|
|
+ .gpio = S5H1409_GPIO_ON,
|
|
|
|
+ .if_freq = 44000,
|
|
|
|
+ .inversion = S5H1409_INVERSION_OFF,
|
|
|
|
+ .status_mode = S5H1409_DEMODLOCKING
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
static struct mt2131_config hauppauge_hvr1800lp_rev2_tunerconfig = {
|
|
static struct mt2131_config hauppauge_hvr1800lp_rev2_tunerconfig = {
|
|
0x61
|
|
0x61
|
|
@@ -106,6 +116,10 @@ static struct mt2131_config hauppauge_hvr1800_tunerconfig = {
|
|
0x61
|
|
0x61
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static struct mt2131_config hauppauge_hvr1250_tunerconfig = {
|
|
|
|
+ 0x61
|
|
|
|
+};
|
|
|
|
+
|
|
static int dvb_register(struct cx23885_tsport *port)
|
|
static int dvb_register(struct cx23885_tsport *port)
|
|
{
|
|
{
|
|
struct cx23885_dev *dev = port->dev;
|
|
struct cx23885_dev *dev = port->dev;
|
|
@@ -115,6 +129,16 @@ static int dvb_register(struct cx23885_tsport *port)
|
|
|
|
|
|
/* init frontend */
|
|
/* init frontend */
|
|
switch (dev->board) {
|
|
switch (dev->board) {
|
|
|
|
+ case CX23885_BOARD_HAUPPAUGE_HVR1250:
|
|
|
|
+ port->dvb.frontend = dvb_attach(s5h1409_attach,
|
|
|
|
+ &hauppauge_hvr1250_config,
|
|
|
|
+ &dev->i2c_bus[0].i2c_adap);
|
|
|
|
+ if (port->dvb.frontend != NULL) {
|
|
|
|
+ dvb_attach(mt2131_attach, port->dvb.frontend,
|
|
|
|
+ &dev->i2c_bus[0].i2c_adap,
|
|
|
|
+ &hauppauge_hvr1250_tunerconfig, 0);
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
|
|
case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
|
|
port->dvb.frontend = dvb_attach(s5h1409_attach,
|
|
port->dvb.frontend = dvb_attach(s5h1409_attach,
|
|
&hauppauge_hvr1800lp_config,
|
|
&hauppauge_hvr1800lp_config,
|