diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2009-02-24 10:35:16 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:06 -0400 |
commit | 04574185aa9ad0e6be7db96252f3c479beb5b3fa (patch) | |
tree | 35f5b816e08f67867b9dbf4c908e1be69b82d39e /drivers/media/video/saa7134/saa7134-dvb.c | |
parent | 68b3289fdb27f5d3e32587766ddafa487037b0bd (diff) |
V4L/DVB (10823): saa7134: add DVB support for Avermedia A700 cards
Add DVB support for Avermedia DVB-S Pro and
Avermedia DVB-S Hybrid+FM card both labled A700.
They use zl10313 demod (driver mt312) and zl10036 tuner.
[mchehab@redhat.com: change __FUNCTION__ into __func__]
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-dvb.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index af9a22d1b94d..80ad96ad8939 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -51,6 +51,9 @@ | |||
51 | 51 | ||
52 | #include "zl10353.h" | 52 | #include "zl10353.h" |
53 | 53 | ||
54 | #include "zl10036.h" | ||
55 | #include "mt312.h" | ||
56 | |||
54 | MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); | 57 | MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); |
55 | MODULE_LICENSE("GPL"); | 58 | MODULE_LICENSE("GPL"); |
56 | 59 | ||
@@ -950,6 +953,17 @@ static struct nxt200x_config kworldatsc110 = { | |||
950 | .demod_address = 0x0a, | 953 | .demod_address = 0x0a, |
951 | }; | 954 | }; |
952 | 955 | ||
956 | /* ------------------------------------------------------------------ */ | ||
957 | |||
958 | static struct mt312_config avertv_a700_mt312 = { | ||
959 | .demod_address = 0x0e, | ||
960 | .voltage_inverted = 1, | ||
961 | }; | ||
962 | |||
963 | static struct zl10036_config avertv_a700_tuner = { | ||
964 | .tuner_address = 0x60, | ||
965 | }; | ||
966 | |||
953 | /* ================================================================== | 967 | /* ================================================================== |
954 | * Core code | 968 | * Core code |
955 | */ | 969 | */ |
@@ -1376,6 +1390,19 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1376 | TUNER_PHILIPS_FMD1216ME_MK3); | 1390 | TUNER_PHILIPS_FMD1216ME_MK3); |
1377 | } | 1391 | } |
1378 | break; | 1392 | break; |
1393 | case SAA7134_BOARD_AVERMEDIA_A700_PRO: | ||
1394 | case SAA7134_BOARD_AVERMEDIA_A700_HYBRID: | ||
1395 | /* Zarlink ZL10313 */ | ||
1396 | fe0->dvb.frontend = dvb_attach(mt312_attach, | ||
1397 | &avertv_a700_mt312, &dev->i2c_adap); | ||
1398 | if (fe0->dvb.frontend) { | ||
1399 | if (dvb_attach(zl10036_attach, fe0->dvb.frontend, | ||
1400 | &avertv_a700_tuner, &dev->i2c_adap) == NULL) { | ||
1401 | wprintk("%s: No zl10036 found!\n", | ||
1402 | __func__); | ||
1403 | } | ||
1404 | } | ||
1405 | break; | ||
1379 | default: | 1406 | default: |
1380 | wprintk("Huh? unknown DVB card?\n"); | 1407 | wprintk("Huh? unknown DVB card?\n"); |
1381 | break; | 1408 | break; |