diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2008-04-08 20:45:08 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:58 -0400 |
commit | fc9d8ed418619da915ad8a225fa974d813d0ca34 (patch) | |
tree | 3fffa0cc2a5264caaa9e732eeb1f9c55e8396363 | |
parent | ba928034df7e8b603152c896a2f84f9b12e8c290 (diff) |
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>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 63 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 2 |
3 files changed, 66 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index c1f9f138d1bb..fe925b335c94 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -138,3 +138,5 @@ | |||
138 | 137 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936] | 138 | 137 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936] |
139 | 138 -> Avermedia M115 [1461:a836] | 139 | 138 -> Avermedia M115 [1461:a836] |
140 | 139 -> Compro VideoMate T750 [185b:c900] | 140 | 139 -> Compro VideoMate T750 [185b:c900] |
141 | 140 -> Avermedia DVB-S Pro A700 [1461:a7a1] | ||
142 | 141 -> Avermedia DVB-S Hybrid+FM A700 [1461:a7a2] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index cfa13c2fb14f..82fe19c3b1db 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -4167,7 +4167,47 @@ struct saa7134_board saa7134_boards[] = { | |||
4167 | .name = name_radio, | 4167 | .name = name_radio, |
4168 | .amux = TV, | 4168 | .amux = TV, |
4169 | } | 4169 | } |
4170 | } | 4170 | }, |
4171 | [SAA7134_BOARD_AVERMEDIA_A700_PRO] = { | ||
4172 | /* Matthias Schwarzott <zzam@gentoo.org> */ | ||
4173 | .name = "Avermedia DVB-S Pro A700", | ||
4174 | .audio_clock = 0x00187de7, | ||
4175 | .tuner_type = TUNER_ABSENT, | ||
4176 | .radio_type = UNSET, | ||
4177 | .tuner_addr = ADDR_UNSET, | ||
4178 | .radio_addr = ADDR_UNSET, | ||
4179 | /* no DVB support for now */ | ||
4180 | /* .mpeg = SAA7134_MPEG_DVB, */ | ||
4181 | .inputs = { { | ||
4182 | .name = name_comp, | ||
4183 | .vmux = 1, | ||
4184 | .amux = LINE1, | ||
4185 | }, { | ||
4186 | .name = name_svideo, | ||
4187 | .vmux = 6, | ||
4188 | .amux = LINE1, | ||
4189 | } }, | ||
4190 | }, | ||
4191 | [SAA7134_BOARD_AVERMEDIA_A700_HYBRID] = { | ||
4192 | /* Matthias Schwarzott <zzam@gentoo.org> */ | ||
4193 | .name = "Avermedia DVB-S Hybrid+FM A700", | ||
4194 | .audio_clock = 0x00187de7, | ||
4195 | .tuner_type = TUNER_ABSENT, /* TUNER_XC2028 */ | ||
4196 | .radio_type = UNSET, | ||
4197 | .tuner_addr = ADDR_UNSET, | ||
4198 | .radio_addr = ADDR_UNSET, | ||
4199 | /* no DVB support for now */ | ||
4200 | /* .mpeg = SAA7134_MPEG_DVB, */ | ||
4201 | .inputs = { { | ||
4202 | .name = name_comp, | ||
4203 | .vmux = 1, | ||
4204 | .amux = LINE1, | ||
4205 | }, { | ||
4206 | .name = name_svideo, | ||
4207 | .vmux = 6, | ||
4208 | .amux = LINE1, | ||
4209 | } }, | ||
4210 | }, | ||
4171 | }; | 4211 | }; |
4172 | 4212 | ||
4173 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 4213 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -4400,6 +4440,18 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
4400 | .driver_data = SAA7134_BOARD_MD2819, | 4440 | .driver_data = SAA7134_BOARD_MD2819, |
4401 | },{ | 4441 | },{ |
4402 | .vendor = PCI_VENDOR_ID_PHILIPS, | 4442 | .vendor = PCI_VENDOR_ID_PHILIPS, |
4443 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4444 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
4445 | .subdevice = 0xa7a1, | ||
4446 | .driver_data = SAA7134_BOARD_AVERMEDIA_A700_PRO, | ||
4447 | }, { | ||
4448 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4449 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
4450 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | ||
4451 | .subdevice = 0xa7a2, | ||
4452 | .driver_data = SAA7134_BOARD_AVERMEDIA_A700_HYBRID, | ||
4453 | }, { | ||
4454 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
4403 | .device = PCI_DEVICE_ID_PHILIPS_SAA7130, | 4455 | .device = PCI_DEVICE_ID_PHILIPS_SAA7130, |
4404 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ | 4456 | .subvendor = 0x1461, /* Avermedia Technologies Inc */ |
4405 | .subdevice = 0x2115, | 4457 | .subdevice = 0x2115, |
@@ -5462,6 +5514,15 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
5462 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007); | 5514 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007); |
5463 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd); | 5515 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd); |
5464 | break; | 5516 | break; |
5517 | case SAA7134_BOARD_AVERMEDIA_A700_PRO: | ||
5518 | case SAA7134_BOARD_AVERMEDIA_A700_HYBRID: | ||
5519 | /* write windows gpio values */ | ||
5520 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100); | ||
5521 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100); | ||
5522 | printk("%s: %s: hybrid analog/dvb card\n" | ||
5523 | "%s: Sorry, only the analog inputs are supported for now.\n", | ||
5524 | dev->name, card(dev).name, dev->name); | ||
5525 | break; | ||
5465 | } | 5526 | } |
5466 | return 0; | 5527 | return 0; |
5467 | } | 5528 | } |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 3394c47cea60..924ffd13637e 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -261,6 +261,8 @@ struct saa7134_format { | |||
261 | #define SAA7134_BOARD_AVERMEDIA_A16D 137 | 261 | #define SAA7134_BOARD_AVERMEDIA_A16D 137 |
262 | #define SAA7134_BOARD_AVERMEDIA_M115 138 | 262 | #define SAA7134_BOARD_AVERMEDIA_M115 138 |
263 | #define SAA7134_BOARD_VIDEOMATE_T750 139 | 263 | #define SAA7134_BOARD_VIDEOMATE_T750 139 |
264 | #define SAA7134_BOARD_AVERMEDIA_A700_PRO 140 | ||
265 | #define SAA7134_BOARD_AVERMEDIA_A700_HYBRID 141 | ||
264 | 266 | ||
265 | 267 | ||
266 | #define SAA7134_MAXBOARDS 8 | 268 | #define SAA7134_MAXBOARDS 8 |