mirror of
https://github.com/torvalds/linux
synced 2024-09-24 21:38:33 +00:00
V4L/DVB (4769): Added support for a ASUSTEK P7131 Dual DVB-T variant
This card has no firmware eeprom. The old version still should not need a firmware file due to an undocumented feature of the TDA10046. The patch also includes Hermann Pitton's proposal for improved antenna switch handling Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
7da6894a96
commit
8364681766
|
@ -76,7 +76,7 @@
|
||||||
75 -> AVerMedia AVerTVHD MCE A180 [1461:1044]
|
75 -> AVerMedia AVerTVHD MCE A180 [1461:1044]
|
||||||
76 -> SKNet MonsterTV Mobile [1131:4ee9]
|
76 -> SKNet MonsterTV Mobile [1131:4ee9]
|
||||||
77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e]
|
77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e]
|
||||||
78 -> ASUSTeK P7131 Dual [1043:4862]
|
78 -> ASUSTeK P7131 Dual [1043:4862,1043:4876]
|
||||||
79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
|
79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
|
||||||
80 -> ASUS Digimatrix TV [1043:0210]
|
80 -> ASUS Digimatrix TV [1043:0210]
|
||||||
81 -> Philips Tiger reference design [1131:2018]
|
81 -> Philips Tiger reference design [1131:2018]
|
||||||
|
|
|
@ -2462,14 +2462,17 @@ struct saa7134_board saa7134_boards[] = {
|
||||||
.vmux = 1,
|
.vmux = 1,
|
||||||
.amux = TV,
|
.amux = TV,
|
||||||
.tv = 1,
|
.tv = 1,
|
||||||
|
.gpio = 0x0000000,
|
||||||
},{
|
},{
|
||||||
.name = name_comp1,
|
.name = name_comp1,
|
||||||
.vmux = 3,
|
.vmux = 3,
|
||||||
.amux = LINE2,
|
.amux = LINE2,
|
||||||
|
.gpio = 0x0200000,
|
||||||
},{
|
},{
|
||||||
.name = name_svideo,
|
.name = name_svideo,
|
||||||
.vmux = 8,
|
.vmux = 8,
|
||||||
.amux = LINE2,
|
.amux = LINE2,
|
||||||
|
.gpio = 0x0200000,
|
||||||
}},
|
}},
|
||||||
.radio = {
|
.radio = {
|
||||||
.name = name_radio,
|
.name = name_radio,
|
||||||
|
@ -3718,6 +3721,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
||||||
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
||||||
.subdevice = 0x9715,
|
.subdevice = 0x9715,
|
||||||
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
|
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
|
||||||
|
},{
|
||||||
|
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||||
|
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
|
||||||
|
.subvendor = 0x1043,
|
||||||
|
.subdevice = 0x4876,
|
||||||
|
.driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
|
||||||
},{
|
},{
|
||||||
/* --- boards without eeprom + subsystem ID --- */
|
/* --- boards without eeprom + subsystem ID --- */
|
||||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||||
|
|
|
@ -894,6 +894,16 @@ static struct tda1004x_config pinnacle_pctv_310i_config = {
|
||||||
|
|
||||||
/* ------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
static struct tda1004x_config asus_p7131_dual_config = {
|
||||||
|
.demod_address = 0x08,
|
||||||
|
.invert = 1,
|
||||||
|
.invert_oclk = 0,
|
||||||
|
.xtal_freq = TDA10046_XTAL_16M,
|
||||||
|
.agc_config = TDA10046_AGC_TDA827X,
|
||||||
|
.if_freq = TDA10046_FREQ_045,
|
||||||
|
.request_firmware = philips_tda1004x_request_firmware,
|
||||||
|
};
|
||||||
|
|
||||||
static int asus_p7131_dual_tuner_init(struct dvb_frontend *fe)
|
static int asus_p7131_dual_tuner_init(struct dvb_frontend *fe)
|
||||||
{
|
{
|
||||||
struct saa7134_dev *dev = fe->dvb->priv;
|
struct saa7134_dev *dev = fe->dvb->priv;
|
||||||
|
@ -1207,7 +1217,7 @@ static int dvb_init(struct saa7134_dev *dev)
|
||||||
break;
|
break;
|
||||||
case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
|
case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
|
||||||
dev->dvb.frontend = dvb_attach(tda10046_attach,
|
dev->dvb.frontend = dvb_attach(tda10046_attach,
|
||||||
&philips_tiger_config,
|
&asus_p7131_dual_config,
|
||||||
&dev->i2c_adap);
|
&dev->i2c_adap);
|
||||||
if (dev->dvb.frontend) {
|
if (dev->dvb.frontend) {
|
||||||
dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl;
|
dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl;
|
||||||
|
|
Loading…
Reference in a new issue