forked from Minki/linux
V4L/DVB (8556): au0828: add support for Hauppauge Woodbury
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
2e7acd75cb
commit
8e8bd229ee
@ -3,3 +3,4 @@
|
||||
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]
|
||||
5 -> Hauppauge Woodbury (au0828) [2040:8200]
|
||||
|
@ -7,6 +7,7 @@ config VIDEO_AU0828
|
||||
select DVB_AU8522 if !DVB_FE_CUSTOMIZE
|
||||
select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
|
||||
select MEDIA_TUNER_MXL5007T if !DVB_FE_CUSTOMIZE
|
||||
select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
|
||||
---help---
|
||||
This is a video4linux driver for Auvitek's USB device.
|
||||
|
||||
|
@ -38,6 +38,9 @@ struct au0828_board au0828_boards[] = {
|
||||
[AU0828_BOARD_DVICO_FUSIONHDTV7] = {
|
||||
.name = "DViCO FusionHDTV USB",
|
||||
},
|
||||
[AU0828_BOARD_HAUPPAUGE_WOODBURY] = {
|
||||
.name = "Hauppauge Woodbury",
|
||||
},
|
||||
};
|
||||
|
||||
/* Tuner callback function for au0828 boards. Currently only needed
|
||||
@ -115,6 +118,7 @@ void au0828_card_setup(struct au0828_dev *dev)
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR850:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
|
||||
case AU0828_BOARD_HAUPPAUGE_WOODBURY:
|
||||
if (dev->i2c_rc == 0)
|
||||
hauppauge_eeprom(dev, eeprom+0xa0);
|
||||
break;
|
||||
@ -134,6 +138,7 @@ void au0828_gpio_setup(struct au0828_dev *dev)
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR850:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q:
|
||||
case AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL:
|
||||
case AU0828_BOARD_HAUPPAUGE_WOODBURY:
|
||||
/* GPIO's
|
||||
* 4 - CS5340
|
||||
* 5 - AU8522 Demodulator
|
||||
@ -205,6 +210,8 @@ struct usb_device_id au0828_usb_id_table [] = {
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
|
||||
{ USB_DEVICE(0x2040, 0x7281),
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL },
|
||||
{ USB_DEVICE(0x2040, 0x8200),
|
||||
.driver_info = AU0828_BOARD_HAUPPAUGE_WOODBURY },
|
||||
{ },
|
||||
};
|
||||
|
||||
|
@ -24,3 +24,4 @@
|
||||
#define AU0828_BOARD_HAUPPAUGE_HVR850 2
|
||||
#define AU0828_BOARD_DVICO_FUSIONHDTV7 3
|
||||
#define AU0828_BOARD_HAUPPAUGE_HVR950Q_MXL 4
|
||||
#define AU0828_BOARD_HAUPPAUGE_WOODBURY 5
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "au8522.h"
|
||||
#include "xc5000.h"
|
||||
#include "mxl5007t.h"
|
||||
#include "tda18271.h"
|
||||
|
||||
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
|
||||
|
||||
@ -40,6 +41,13 @@ static struct au8522_config hauppauge_hvr950q_config = {
|
||||
.status_mode = AU8522_DEMODLOCKING,
|
||||
};
|
||||
|
||||
static struct au8522_config hauppauge_woodbury_config = {
|
||||
.demod_address = 0x8e >> 1,
|
||||
.status_mode = AU8522_DEMODLOCKING,
|
||||
.qam_if = AU8522_IF_4MHZ,
|
||||
.vsb_if = AU8522_IF_3_25MHZ,
|
||||
};
|
||||
|
||||
static struct xc5000_config hauppauge_hvr950q_tunerconfig = {
|
||||
.i2c_address = 0x61,
|
||||
.if_khz = 6000,
|
||||
@ -51,6 +59,10 @@ static struct mxl5007t_config mxl5007t_hvr950q_config = {
|
||||
.if_freq_hz = MxL_IF_6_MHZ,
|
||||
};
|
||||
|
||||
static struct tda18271_config hauppauge_woodbury_tunerconfig = {
|
||||
.gate = TDA18271_GATE_DIGITAL,
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
static void urb_completion(struct urb *purb)
|
||||
{
|
||||
@ -357,6 +369,15 @@ int au0828_dvb_register(struct au0828_dev *dev)
|
||||
&dev->i2c_adap, 0x60,
|
||||
&mxl5007t_hvr950q_config);
|
||||
break;
|
||||
case AU0828_BOARD_HAUPPAUGE_WOODBURY:
|
||||
dvb->frontend = dvb_attach(au8522_attach,
|
||||
&hauppauge_woodbury_config,
|
||||
&dev->i2c_adap);
|
||||
if (dvb->frontend != NULL)
|
||||
dvb_attach(tda18271_attach, dvb->frontend,
|
||||
0x60, &dev->i2c_adap,
|
||||
&hauppauge_woodbury_tunerconfig);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_WARNING "The frontend of your DVB/ATSC card "
|
||||
"isn't supported yet\n");
|
||||
|
Loading…
Reference in New Issue
Block a user