V4L/DVB (8530): au0828: add support for new revision of HVR950Q
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Родитель
452a53a247
Коммит
59d27521c0
|
@ -2,3 +2,4 @@
|
|||
1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721f,2040:7280,0fd9:0008]
|
||||
2 -> Hauppauge HVR850 (au0828) [2040:7240]
|
||||
3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620]
|
||||
4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281]
|
||||
|
|
|
@ -6,6 +6,7 @@ config VIDEO_AU0828
|
|||
select VIDEO_TVEEPROM
|
||||
select DVB_AU8522 if !DVB_FE_CUSTOMIZE
|
||||
select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
|
||||
select MEDIA_TUNER_MXL5007T if !DVB_FE_CUSTOMIZE
|
||||
---help---
|
||||
This is a video4linux driver for Auvitek's USB device.
|
||||
|
||||
|
|
|
@ -32,6 +32,9 @@ struct au0828_board au0828_boards[] = {
|
|||
[AU0828_BOARD_HAUPPAUGE_HVR950Q] = {
|
||||
.name = "Hauppauge HVR950Q",
|
||||
},
|
||||
[AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL] = {
|
||||
.name = "Hauppauge HVR950Q rev xxF8",
|
||||
},
|
||||
[AU0828_BOARD_DVICO_FUSIONHDTV7] = {
|
||||
.name = "DViCO FusionHDTV USB",
|
||||
},
|
||||
|
@ -49,6 +52,7 @@ int au0828_tuner_callback(void *priv, int command, int arg)
|
|||
switch (dev->board) {
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR850:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
|
||||
case AU0828_BOARD_DVICO_FUSIONHDTV7:
|
||||
if (command == 0) {
|
||||
/* Tuner Reset Command from xc5000 */
|
||||
|
@ -110,6 +114,7 @@ void au0828_card_setup(struct au0828_dev *dev)
|
|||
switch (dev->board) {
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR850:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
|
||||
if (dev->i2c_rc == 0)
|
||||
hauppauge_eeprom(dev, eeprom+0xa0);
|
||||
break;
|
||||
|
@ -128,6 +133,7 @@ void au0828_gpio_setup(struct au0828_dev *dev)
|
|||
switch (dev->board) {
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR850:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
|
||||
/* GPIO's
|
||||
* 4 - CS5340
|
||||
* 5 - AU8522 Demodulator
|
||||
|
@ -193,6 +199,12 @@ struct usb_device_id au0828_usb_id_table [] = {
|
|||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q },
|
||||
{ USB_DEVICE(0x0fd9, 0x0008),
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q },
|
||||
{ USB_DEVICE(0x2040, 0x7201),
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
|
||||
{ USB_DEVICE(0x2040, 0x7211),
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
|
||||
{ USB_DEVICE(0x2040, 0x7281),
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
|
||||
{ },
|
||||
};
|
||||
|
||||
|
|
|
@ -23,3 +23,4 @@
|
|||
#define AU0828_BOARD_HAUPPAUGE_HVR950Q 1
|
||||
#define AU0828_BOARD_HAUPPAUGE_HVR850 2
|
||||
#define AU0828_BOARD_DVICO_FUSIONHDTV7 3
|
||||
#define AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL 4
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "au0828.h"
|
||||
#include "au8522.h"
|
||||
#include "xc5000.h"
|
||||
#include "mxl5007t.h"
|
||||
|
||||
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
|
||||
|
||||
|
@ -45,6 +46,11 @@ static struct xc5000_config hauppauge_hvr950q_tunerconfig = {
|
|||
.tuner_callback = au0828_tuner_callback
|
||||
};
|
||||
|
||||
static struct mxl5007t_config mxl5007t_hvr950q_config = {
|
||||
.xtal_freq_hz = MxL_XTAL_24_MHZ,
|
||||
.if_freq_hz = MxL_IF_6_MHZ,
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
static void urb_completion(struct urb *purb)
|
||||
{
|
||||
|
@ -342,6 +348,15 @@ int au0828_dvb_register(struct au0828_dev *dev)
|
|||
&dev->i2c_adap,
|
||||
&hauppauge_hvr950q_tunerconfig, dev);
|
||||
break;
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
|
||||
dvb->frontend = dvb_attach(au8522_attach,
|
||||
&hauppauge_hvr950q_config,
|
||||
&dev->i2c_adap);
|
||||
if (dvb->frontend != NULL)
|
||||
dvb_attach(mxl5007t_attach, dvb->frontend,
|
||||
&dev->i2c_adap, 0x60,
|
||||
&mxl5007t_hvr950q_config);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_WARNING "The frontend of your DVB/ATSC card "
|
||||
"isn't supported yet\n");
|
||||
|
|
Загрузка…
Ссылка в новой задаче