aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2009-03-29 15:36:02 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-04-06 20:44:28 -0400
commit2659e468a38d7baa758baa5e59529e48eb8930c9 (patch)
tree8b7432d9cb86f7e83258966748a3b4bde83d7e42 /drivers/media
parent6c31e598368bfff49fc3e694c5b7624635871acb (diff)
V4L/DVB (11386): saa7134: Add analog RF tuner support for Avermedia A700 DVB-S Hybrid+FM card
Thanks to panagonov <panagonov@mail.bg> for requesting support and testing patches. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index e2ffc6756dcc..fdb19449d269 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -4508,12 +4508,17 @@ struct saa7134_board saa7134_boards[] = {
4508 /* Matthias Schwarzott <zzam@gentoo.org> */ 4508 /* Matthias Schwarzott <zzam@gentoo.org> */
4509 .name = "Avermedia DVB-S Hybrid+FM A700", 4509 .name = "Avermedia DVB-S Hybrid+FM A700",
4510 .audio_clock = 0x00187de7, 4510 .audio_clock = 0x00187de7,
4511 .tuner_type = TUNER_ABSENT, /* TUNER_XC2028 */ 4511 .tuner_type = TUNER_XC2028,
4512 .radio_type = UNSET, 4512 .radio_type = UNSET,
4513 .tuner_addr = ADDR_UNSET, 4513 .tuner_addr = ADDR_UNSET,
4514 .radio_addr = ADDR_UNSET, 4514 .radio_addr = ADDR_UNSET,
4515 .mpeg = SAA7134_MPEG_DVB, 4515 .mpeg = SAA7134_MPEG_DVB,
4516 .inputs = { { 4516 .inputs = { {
4517 .name = name_tv,
4518 .vmux = 4,
4519 .amux = TV,
4520 .tv = 1,
4521 }, {
4517 .name = name_comp, 4522 .name = name_comp,
4518 .vmux = 1, 4523 .vmux = 1,
4519 .amux = LINE1, 4524 .amux = LINE1,
@@ -4522,6 +4527,10 @@ struct saa7134_board saa7134_boards[] = {
4522 .vmux = 6, 4527 .vmux = 6,
4523 .amux = LINE1, 4528 .amux = LINE1,
4524 } }, 4529 } },
4530 .radio = {
4531 .name = name_radio,
4532 .amux = TV,
4533 },
4525 }, 4534 },
4526 [SAA7134_BOARD_BEHOLD_H6] = { 4535 [SAA7134_BOARD_BEHOLD_H6] = {
4527 /* Igor Kuznetsov <igk@igk.ru> */ 4536 /* Igor Kuznetsov <igk@igk.ru> */
@@ -5914,6 +5923,11 @@ static int saa7134_xc2028_callback(struct saa7134_dev *dev,
5914 msleep(10); 5923 msleep(10);
5915 saa7134_set_gpio(dev, 21, 1); 5924 saa7134_set_gpio(dev, 21, 1);
5916 break; 5925 break;
5926 case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
5927 saa7134_set_gpio(dev, 18, 0);
5928 msleep(10);
5929 saa7134_set_gpio(dev, 18, 1);
5930 break;
5917 } 5931 }
5918 return 0; 5932 return 0;
5919 } 5933 }
@@ -6259,10 +6273,6 @@ int saa7134_board_init1(struct saa7134_dev *dev)
6259 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd); 6273 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
6260 break; 6274 break;
6261 case SAA7134_BOARD_AVERMEDIA_A700_HYBRID: 6275 case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
6262 printk("%s: %s: hybrid analog/dvb card\n"
6263 "%s: Sorry, of the analog inputs, only analog s-video and composite "
6264 "are supported for now.\n",
6265 dev->name, card(dev).name, dev->name);
6266 case SAA7134_BOARD_AVERMEDIA_A700_PRO: 6276 case SAA7134_BOARD_AVERMEDIA_A700_PRO:
6267 /* write windows gpio values */ 6277 /* write windows gpio values */
6268 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100); 6278 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100);
@@ -6326,6 +6336,7 @@ static void saa7134_tuner_setup(struct saa7134_dev *dev)
6326 case SAA7134_BOARD_AVERMEDIA_A16D: 6336 case SAA7134_BOARD_AVERMEDIA_A16D:
6327 case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: 6337 case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
6328 case SAA7134_BOARD_AVERMEDIA_M103: 6338 case SAA7134_BOARD_AVERMEDIA_M103:
6339 case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
6329 ctl.demod = XC3028_FE_ZARLINK456; 6340 ctl.demod = XC3028_FE_ZARLINK456;
6330 break; 6341 break;
6331 default: 6342 default: