V4L/DVB (3446): Saa7134: add support for AVerMedia A169 Dual Analog tuner card
- Added support for AVerMedia A169 Dual Analog tuner card (dual saa7134 decoders - only 1 working right now) - Added autodetection for both parts of the card. It shows up like 2 cards, B1 and B - Enabled tuner B1, SVIDEO on B1 and composite1 through SVIDEO, FIXME: B is more or less dead at this point and I suspect the FM-radio is on the B part of the board Signed-off-by: Rickard Osser <ricky@osser.se> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
f3629be838
commit
68593af311
|
@ -89,3 +89,5 @@
|
|||
88 -> Tevion/KWorld DVB-T 220RF [17de:7201]
|
||||
89 -> ELSA EX-VISION 700TV [1048:226c]
|
||||
90 -> Kworld ATSC110 [17de:7350]
|
||||
91 -> AVerMedia A169 B [1461:7360]
|
||||
92 -> AVerMedia A169 B1 [1461:6360]
|
||||
|
|
|
@ -2756,6 +2756,47 @@ struct saa7134_board saa7134_boards[] = {
|
|||
.amux = LINE2,
|
||||
}},
|
||||
},
|
||||
[SAA7134_BOARD_AVERMEDIA_A169_B] = {
|
||||
/* AVerMedia A169 */
|
||||
/* Rickard Osser <ricky@osser.se> */
|
||||
/* This card has two saa7134 chips on it,
|
||||
but only one of them is currently working. */
|
||||
.name = "AVerMedia A169 B",
|
||||
.audio_clock = 0x02187de7,
|
||||
.tuner_type = TUNER_LG_TALN,
|
||||
.radio_type = UNSET,
|
||||
.tuner_addr = ADDR_UNSET,
|
||||
.radio_addr = ADDR_UNSET,
|
||||
.tda9887_conf = TDA9887_PRESENT,
|
||||
.gpiomask = 0x0a60000,
|
||||
},
|
||||
[SAA7134_BOARD_AVERMEDIA_A169_B1] = {
|
||||
/* AVerMedia A169 */
|
||||
/* Rickard Osser <ricky@osser.se> */
|
||||
.name = "AVerMedia A169 B1",
|
||||
.audio_clock = 0x02187de7,
|
||||
.tuner_type = TUNER_LG_TALN,
|
||||
.radio_type = UNSET,
|
||||
.tuner_addr = ADDR_UNSET,
|
||||
.radio_addr = ADDR_UNSET,
|
||||
.tda9887_conf = TDA9887_PRESENT,
|
||||
.gpiomask = 0xca60000,
|
||||
.inputs = {{
|
||||
.name = name_tv,
|
||||
.vmux = 4,
|
||||
.amux = TV,
|
||||
.tv = 1,
|
||||
.gpio = 0x04a61000,
|
||||
},{
|
||||
.name = name_comp2, /* Composite SVIDEO (B/W if signal is carried with SVIDEO) */
|
||||
.vmux = 1,
|
||||
.amux = LINE2,
|
||||
},{
|
||||
.name = name_svideo,
|
||||
.vmux = 9, /* 9 is correct as S-VIDEO1 according to a169.inf! */
|
||||
.amux = LINE1,
|
||||
}},
|
||||
},
|
||||
};
|
||||
|
||||
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
|
||||
|
@ -3262,6 +3303,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
|||
.subvendor = 0x17de,
|
||||
.subdevice = 0x7350,
|
||||
.driver_data = SAA7134_BOARD_KWORLD_ATSC110,
|
||||
},{
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
|
||||
.subvendor = 0x1461,
|
||||
.subdevice = 0x7360,
|
||||
.driver_data = SAA7134_BOARD_AVERMEDIA_A169_B,
|
||||
},{
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
|
||||
.subvendor = 0x1461,
|
||||
.subdevice = 0x6360,
|
||||
.driver_data = SAA7134_BOARD_AVERMEDIA_A169_B1,
|
||||
},{
|
||||
/* --- boards without eeprom + subsystem ID --- */
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
|
@ -3417,6 +3470,12 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
|||
case SAA7134_BOARD_UPMOST_PURPLE_TV:
|
||||
dev->has_remote = SAA7134_REMOTE_I2C;
|
||||
break;
|
||||
case SAA7134_BOARD_AVERMEDIA_A169_B:
|
||||
printk("%s: AVerMedia A169: dual saa7134 broadcast decoders\n"
|
||||
"%s: Sorry, none of the inputs to this chip are supported yet.\n"
|
||||
"%s: Dual decoder functionality is disabled for now, use the other chip.\n",
|
||||
dev->name,dev->name,dev->name);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -218,6 +218,8 @@ struct saa7134_format {
|
|||
#define SAA7134_BOARD_TEVION_DVBT_220RF 88
|
||||
#define SAA7134_BOARD_ELSA_700TV 89
|
||||
#define SAA7134_BOARD_KWORLD_ATSC110 90
|
||||
#define SAA7134_BOARD_AVERMEDIA_A169_B 91
|
||||
#define SAA7134_BOARD_AVERMEDIA_A169_B1 92
|
||||
|
||||
#define SAA7134_MAXBOARDS 8
|
||||
#define SAA7134_INPUT_MAX 8
|
||||
|
|
Loading…
Reference in New Issue
Block a user