forked from luck/tmp_suning_uos_patched
V4L/DVB (11567): saa7134: Added support for AVerMedia Cardbus Plus
Here comes the full support for AVerMedia Cardbus Plus (E501R) - including remote control. TV, Composite and FM radio tested, I don't have S-Video to test. I've figured out that the radio works only with xtal frequency 13MHz. [mchehab@redhat.com: CodingStyle fixes] Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
df0dbbe240
commit
d46de9d236
@ -156,3 +156,4 @@
|
||||
155 -> Hauppauge WinTV-HVR1120 ATSC/QAM-Hybrid [0070:6706,0070:6708]
|
||||
156 -> Hauppauge WinTV-HVR1110r3 [0070:6707,0070:6709,0070:670a]
|
||||
157 -> Avermedia AVerTV Studio 507UA [1461:a11b]
|
||||
158 -> AVerMedia Cardbus TV/Radio (E501R) [1461:b7e9]
|
||||
|
@ -1669,6 +1669,39 @@ struct saa7134_board saa7134_boards[] = {
|
||||
.amux = LINE1,
|
||||
},
|
||||
},
|
||||
[SAA7134_BOARD_AVERMEDIA_CARDBUS_501] = {
|
||||
/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
|
||||
.name = "AVerMedia Cardbus TV/Radio (E501R)",
|
||||
.audio_clock = 0x187de7,
|
||||
.tuner_type = TUNER_ALPS_TSBE5_PAL,
|
||||
.radio_type = TUNER_TEA5767,
|
||||
.tuner_addr = 0x61,
|
||||
.radio_addr = 0x60,
|
||||
.tda9887_conf = TDA9887_PRESENT,
|
||||
.gpiomask = 0x08000000,
|
||||
.inputs = { {
|
||||
.name = name_tv,
|
||||
.vmux = 1,
|
||||
.amux = TV,
|
||||
.tv = 1,
|
||||
.gpio = 0x08000000,
|
||||
}, {
|
||||
.name = name_comp1,
|
||||
.vmux = 3,
|
||||
.amux = LINE1,
|
||||
.gpio = 0x08000000,
|
||||
}, {
|
||||
.name = name_svideo,
|
||||
.vmux = 8,
|
||||
.amux = LINE1,
|
||||
.gpio = 0x08000000,
|
||||
} },
|
||||
.radio = {
|
||||
.name = name_radio,
|
||||
.amux = LINE2,
|
||||
.gpio = 0x00000000,
|
||||
},
|
||||
},
|
||||
[SAA7134_BOARD_CINERGY400_CARDBUS] = {
|
||||
.name = "Terratec Cinergy 400 mobile",
|
||||
.audio_clock = 0x187de7,
|
||||
@ -5065,6 +5098,13 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
||||
.subdevice = 0xd6ee,
|
||||
.driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS,
|
||||
},{
|
||||
/* AVerMedia CardBus */
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
|
||||
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
||||
.subdevice = 0xb7e9,
|
||||
.driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS_501,
|
||||
}, {
|
||||
/* TransGear 3000TV */
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
|
||||
@ -6240,6 +6280,16 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
||||
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
|
||||
msleep(10);
|
||||
break;
|
||||
case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
|
||||
/* power-down tuner chip */
|
||||
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08400000, 0x08400000);
|
||||
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0);
|
||||
msleep(10);
|
||||
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08400000, 0x08400000);
|
||||
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0x08400000);
|
||||
msleep(10);
|
||||
dev->has_remote = SAA7134_REMOTE_I2C;
|
||||
break;
|
||||
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
|
||||
saa7134_set_gpio(dev, 23, 0);
|
||||
msleep(10);
|
||||
@ -6679,6 +6729,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
|
||||
|
||||
switch (dev->board) {
|
||||
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
|
||||
case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
|
||||
{
|
||||
struct v4l2_priv_tun_config tea5767_cfg;
|
||||
struct tea5767_ctrl ctl;
|
||||
|
@ -281,6 +281,7 @@ struct saa7134_format {
|
||||
#define SAA7134_BOARD_HAUPPAUGE_HVR1120 155
|
||||
#define SAA7134_BOARD_HAUPPAUGE_HVR1110R3 156
|
||||
#define SAA7134_BOARD_AVERMEDIA_STUDIO_507UA 157
|
||||
#define SAA7134_BOARD_AVERMEDIA_CARDBUS_501 158
|
||||
|
||||
#define SAA7134_MAXBOARDS 32
|
||||
#define SAA7134_INPUT_MAX 8
|
||||
|
Loading…
Reference in New Issue
Block a user