mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 17:43:59 +00:00
V4L/DVB (7507): saa7134: add analog support for Avermedia A700 cards
Add support for composite and s-video inputs on Avermedia DVB-S Pro and DVB-S Hybrid+FM cards (both labled A700) to the saa7134 driver. XC2028 support for Hybrid+FM is still missing. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Reviewed-by: Hermann Pitton <hermann.pitton@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
ba928034df
commit
fc9d8ed418
@ -138,3 +138,5 @@
|
|||||||
137 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936]
|
137 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936]
|
||||||
138 -> Avermedia M115 [1461:a836]
|
138 -> Avermedia M115 [1461:a836]
|
||||||
139 -> Compro VideoMate T750 [185b:c900]
|
139 -> Compro VideoMate T750 [185b:c900]
|
||||||
|
140 -> Avermedia DVB-S Pro A700 [1461:a7a1]
|
||||||
|
141 -> Avermedia DVB-S Hybrid+FM A700 [1461:a7a2]
|
||||||
|
@ -4167,7 +4167,47 @@ struct saa7134_board saa7134_boards[] = {
|
|||||||
.name = name_radio,
|
.name = name_radio,
|
||||||
.amux = TV,
|
.amux = TV,
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
[SAA7134_BOARD_AVERMEDIA_A700_PRO] = {
|
||||||
|
/* Matthias Schwarzott <zzam@gentoo.org> */
|
||||||
|
.name = "Avermedia DVB-S Pro A700",
|
||||||
|
.audio_clock = 0x00187de7,
|
||||||
|
.tuner_type = TUNER_ABSENT,
|
||||||
|
.radio_type = UNSET,
|
||||||
|
.tuner_addr = ADDR_UNSET,
|
||||||
|
.radio_addr = ADDR_UNSET,
|
||||||
|
/* no DVB support for now */
|
||||||
|
/* .mpeg = SAA7134_MPEG_DVB, */
|
||||||
|
.inputs = { {
|
||||||
|
.name = name_comp,
|
||||||
|
.vmux = 1,
|
||||||
|
.amux = LINE1,
|
||||||
|
}, {
|
||||||
|
.name = name_svideo,
|
||||||
|
.vmux = 6,
|
||||||
|
.amux = LINE1,
|
||||||
|
} },
|
||||||
|
},
|
||||||
|
[SAA7134_BOARD_AVERMEDIA_A700_HYBRID] = {
|
||||||
|
/* Matthias Schwarzott <zzam@gentoo.org> */
|
||||||
|
.name = "Avermedia DVB-S Hybrid+FM A700",
|
||||||
|
.audio_clock = 0x00187de7,
|
||||||
|
.tuner_type = TUNER_ABSENT, /* TUNER_XC2028 */
|
||||||
|
.radio_type = UNSET,
|
||||||
|
.tuner_addr = ADDR_UNSET,
|
||||||
|
.radio_addr = ADDR_UNSET,
|
||||||
|
/* no DVB support for now */
|
||||||
|
/* .mpeg = SAA7134_MPEG_DVB, */
|
||||||
|
.inputs = { {
|
||||||
|
.name = name_comp,
|
||||||
|
.vmux = 1,
|
||||||
|
.amux = LINE1,
|
||||||
|
}, {
|
||||||
|
.name = name_svideo,
|
||||||
|
.vmux = 6,
|
||||||
|
.amux = LINE1,
|
||||||
|
} },
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
|
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
|
||||||
@ -4399,6 +4439,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
|||||||
.subdevice = 0xa70b,
|
.subdevice = 0xa70b,
|
||||||
.driver_data = SAA7134_BOARD_MD2819,
|
.driver_data = SAA7134_BOARD_MD2819,
|
||||||
},{
|
},{
|
||||||
|
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||||
|
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
|
||||||
|
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
||||||
|
.subdevice = 0xa7a1,
|
||||||
|
.driver_data = SAA7134_BOARD_AVERMEDIA_A700_PRO,
|
||||||
|
}, {
|
||||||
|
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||||
|
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
|
||||||
|
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
||||||
|
.subdevice = 0xa7a2,
|
||||||
|
.driver_data = SAA7134_BOARD_AVERMEDIA_A700_HYBRID,
|
||||||
|
}, {
|
||||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
|
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
|
||||||
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
.subvendor = 0x1461, /* Avermedia Technologies Inc */
|
||||||
@ -5462,6 +5514,15 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
|||||||
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007);
|
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007);
|
||||||
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
|
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
|
||||||
break;
|
break;
|
||||||
|
case SAA7134_BOARD_AVERMEDIA_A700_PRO:
|
||||||
|
case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
|
||||||
|
/* write windows gpio values */
|
||||||
|
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100);
|
||||||
|
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);
|
||||||
|
printk("%s: %s: hybrid analog/dvb card\n"
|
||||||
|
"%s: Sorry, only the analog inputs are supported for now.\n",
|
||||||
|
dev->name, card(dev).name, dev->name);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -261,6 +261,8 @@ struct saa7134_format {
|
|||||||
#define SAA7134_BOARD_AVERMEDIA_A16D 137
|
#define SAA7134_BOARD_AVERMEDIA_A16D 137
|
||||||
#define SAA7134_BOARD_AVERMEDIA_M115 138
|
#define SAA7134_BOARD_AVERMEDIA_M115 138
|
||||||
#define SAA7134_BOARD_VIDEOMATE_T750 139
|
#define SAA7134_BOARD_VIDEOMATE_T750 139
|
||||||
|
#define SAA7134_BOARD_AVERMEDIA_A700_PRO 140
|
||||||
|
#define SAA7134_BOARD_AVERMEDIA_A700_HYBRID 141
|
||||||
|
|
||||||
|
|
||||||
#define SAA7134_MAXBOARDS 8
|
#define SAA7134_MAXBOARDS 8
|
||||||
|
Loading…
x
Reference in New Issue
Block a user