diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2009-03-29 15:36:02 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-06 20:44:28 -0400 |
commit | 2659e468a38d7baa758baa5e59529e48eb8930c9 (patch) | |
tree | 8b7432d9cb86f7e83258966748a3b4bde83d7e42 /drivers/media | |
parent | 6c31e598368bfff49fc3e694c5b7624635871acb (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.c | 21 |
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: |