media: cx23885: Add analog frontend to Hauppauge QuadHD
Add analog tuner frontend to 888 Hauppauge QuadHD boards Signed-off-by: Brad Love <brad@nextdimension.cc> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
e4361015a4
commit
81118817c4
|
@ -757,24 +757,47 @@ struct cx23885_board cx23885_boards[] = {
|
|||
} },
|
||||
},
|
||||
[CX23885_BOARD_HAUPPAUGE_QUADHD_DVB] = {
|
||||
.name = "Hauppauge WinTV-QuadHD-DVB",
|
||||
.name = "Hauppauge WinTV-QuadHD-DVB",
|
||||
.porta = CX23885_ANALOG_VIDEO,
|
||||
.portb = CX23885_MPEG_DVB,
|
||||
.portc = CX23885_MPEG_DVB,
|
||||
.tuner_type = TUNER_ABSENT,
|
||||
.force_bff = 1,
|
||||
.input = {{
|
||||
.type = CX23885_VMUX_TELEVISION,
|
||||
.vmux = CX25840_VIN7_CH3 |
|
||||
CX25840_VIN5_CH2 |
|
||||
CX25840_VIN2_CH1 |
|
||||
CX25840_DIF_ON,
|
||||
.amux = CX25840_AUDIO8,
|
||||
} },
|
||||
},
|
||||
[CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885] = {
|
||||
.name = "Hauppauge WinTV-QuadHD-DVB(885)",
|
||||
.name = "Hauppauge WinTV-QuadHD-DVB(885)",
|
||||
.portb = CX23885_MPEG_DVB,
|
||||
.portc = CX23885_MPEG_DVB,
|
||||
.tuner_type = TUNER_ABSENT,
|
||||
},
|
||||
[CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC] = {
|
||||
.name = "Hauppauge WinTV-QuadHD-ATSC",
|
||||
.name = "Hauppauge WinTV-QuadHD-ATSC",
|
||||
.porta = CX23885_ANALOG_VIDEO,
|
||||
.portb = CX23885_MPEG_DVB,
|
||||
.portc = CX23885_MPEG_DVB,
|
||||
.tuner_type = TUNER_ABSENT,
|
||||
.input = {{
|
||||
.type = CX23885_VMUX_TELEVISION,
|
||||
.vmux = CX25840_VIN7_CH3 |
|
||||
CX25840_VIN5_CH2 |
|
||||
CX25840_VIN2_CH1 |
|
||||
CX25840_DIF_ON,
|
||||
.amux = CX25840_AUDIO8,
|
||||
} },
|
||||
},
|
||||
[CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885] = {
|
||||
.name = "Hauppauge WinTV-QuadHD-ATSC(885)",
|
||||
.name = "Hauppauge WinTV-QuadHD-ATSC(885)",
|
||||
.portb = CX23885_MPEG_DVB,
|
||||
.portc = CX23885_MPEG_DVB,
|
||||
.tuner_type = TUNER_ABSENT,
|
||||
},
|
||||
[CX23885_BOARD_HAUPPAUGE_HVR1265_K4] = {
|
||||
.name = "Hauppauge WinTV-HVR-1265(161111)",
|
||||
|
|
|
@ -2367,6 +2367,16 @@ static int dvb_register(struct cx23885_tsport *port)
|
|||
goto frontend_detach;
|
||||
}
|
||||
port->i2c_client_tuner = client_tuner;
|
||||
|
||||
/* we only attach tuner for analog on the 888 version */
|
||||
if (dev->board == CX23885_BOARD_HAUPPAUGE_QUADHD_DVB) {
|
||||
pr_info("%s(): QUADHD_DVB analog setup\n",
|
||||
__func__);
|
||||
dev->ts1.analog_fe.tuner_priv = client_tuner;
|
||||
memcpy(&dev->ts1.analog_fe.ops.tuner_ops,
|
||||
&fe0->dvb.frontend->ops.tuner_ops,
|
||||
sizeof(struct dvb_tuner_ops));
|
||||
}
|
||||
break;
|
||||
|
||||
/* port c - terrestrial/cable */
|
||||
|
@ -2456,6 +2466,16 @@ static int dvb_register(struct cx23885_tsport *port)
|
|||
goto frontend_detach;
|
||||
}
|
||||
port->i2c_client_tuner = client_tuner;
|
||||
|
||||
/* we only attach tuner for analog on the 888 version */
|
||||
if (dev->board == CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC) {
|
||||
pr_info("%s(): QUADHD_ATSC analog setup\n",
|
||||
__func__);
|
||||
dev->ts1.analog_fe.tuner_priv = client_tuner;
|
||||
memcpy(&dev->ts1.analog_fe.ops.tuner_ops,
|
||||
&fe0->dvb.frontend->ops.tuner_ops,
|
||||
sizeof(struct dvb_tuner_ops));
|
||||
}
|
||||
break;
|
||||
|
||||
/* port c - terrestrial/cable */
|
||||
|
|
|
@ -253,6 +253,8 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input)
|
|||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1265_K4) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_QUADHD_DVB) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) ||
|
||||
(dev->board == CX23885_BOARD_MYGICA_X8507) ||
|
||||
(dev->board == CX23885_BOARD_AVERMEDIA_HC81R) ||
|
||||
|
@ -996,7 +998,9 @@ static int cx23885_set_freq_via_ops(struct cx23885_dev *dev,
|
|||
if ((dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1265_K4))
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_HVR1265_K4) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_QUADHD_DVB) ||
|
||||
(dev->board == CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC))
|
||||
fe = &dev->ts1.analog_fe;
|
||||
|
||||
if (fe && fe->ops.tuner_ops.set_analog_params) {
|
||||
|
@ -1027,6 +1031,8 @@ int cx23885_set_frequency(struct file *file, void *priv,
|
|||
case CX23885_BOARD_HAUPPAUGE_HVR1255_22111:
|
||||
case CX23885_BOARD_HAUPPAUGE_HVR1265_K4:
|
||||
case CX23885_BOARD_HAUPPAUGE_HVR1850:
|
||||
case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
|
||||
case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
|
||||
ret = cx23885_set_freq_via_ops(dev, f);
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue