aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/saa7134/Kconfig2
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c16
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c27
3 files changed, 36 insertions, 9 deletions
diff --git a/drivers/media/video/saa7134/Kconfig b/drivers/media/video/saa7134/Kconfig
index fc2164e28e76..a3470ebad50a 100644
--- a/drivers/media/video/saa7134/Kconfig
+++ b/drivers/media/video/saa7134/Kconfig
@@ -37,6 +37,8 @@ config VIDEO_SAA7134_DVB
37 select DVB_ISL6421 if !DVB_FE_CUSTOMISE 37 select DVB_ISL6421 if !DVB_FE_CUSTOMISE
38 select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE 38 select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMIZE
39 select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE 39 select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
40 select DVB_ZL10036 if !DVB_FE_CUSTOMISE
41 select DVB_MT312 if !DVB_FE_CUSTOMISE
40 ---help--- 42 ---help---
41 This adds support for DVB cards based on the 43 This adds support for DVB cards based on the
42 Philips saa7134 chip. 44 Philips saa7134 chip.
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 67c223cc867f..9f69c7c85814 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -4421,8 +4421,7 @@ struct saa7134_board saa7134_boards[] = {
4421 .radio_type = UNSET, 4421 .radio_type = UNSET,
4422 .tuner_addr = ADDR_UNSET, 4422 .tuner_addr = ADDR_UNSET,
4423 .radio_addr = ADDR_UNSET, 4423 .radio_addr = ADDR_UNSET,
4424 /* no DVB support for now */ 4424 .mpeg = SAA7134_MPEG_DVB,
4425 /* .mpeg = SAA7134_MPEG_DVB, */
4426 .inputs = { { 4425 .inputs = { {
4427 .name = name_comp, 4426 .name = name_comp,
4428 .vmux = 1, 4427 .vmux = 1,
@@ -4441,8 +4440,7 @@ struct saa7134_board saa7134_boards[] = {
4441 .radio_type = UNSET, 4440 .radio_type = UNSET,
4442 .tuner_addr = ADDR_UNSET, 4441 .tuner_addr = ADDR_UNSET,
4443 .radio_addr = ADDR_UNSET, 4442 .radio_addr = ADDR_UNSET,
4444 /* no DVB support for now */ 4443 .mpeg = SAA7134_MPEG_DVB,
4445 /* .mpeg = SAA7134_MPEG_DVB, */
4446 .inputs = { { 4444 .inputs = { {
4447 .name = name_comp, 4445 .name = name_comp,
4448 .vmux = 1, 4446 .vmux = 1,
@@ -6084,15 +6082,15 @@ int saa7134_board_init1(struct saa7134_dev *dev)
6084 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007); 6082 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007);
6085 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd); 6083 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
6086 break; 6084 break;
6087 case SAA7134_BOARD_AVERMEDIA_A700_PRO:
6088 case SAA7134_BOARD_AVERMEDIA_A700_HYBRID: 6085 case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
6089 /* write windows gpio values */
6090 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100);
6091 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);
6092 printk("%s: %s: hybrid analog/dvb card\n" 6086 printk("%s: %s: hybrid analog/dvb card\n"
6093 "%s: Sorry, only analog s-video and composite input " 6087 "%s: Sorry, of the analog inputs, only analog s-video and composite "
6094 "are supported for now.\n", 6088 "are supported for now.\n",
6095 dev->name, card(dev).name, dev->name); 6089 dev->name, card(dev).name, dev->name);
6090 case SAA7134_BOARD_AVERMEDIA_A700_PRO:
6091 /* write windows gpio values */
6092 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100);
6093 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);
6096 break; 6094 break;
6097 } 6095 }
6098 return 0; 6096 return 0;
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
54MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); 57MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
55MODULE_LICENSE("GPL"); 58MODULE_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
958static struct mt312_config avertv_a700_mt312 = {
959 .demod_address = 0x0e,
960 .voltage_inverted = 1,
961};
962
963static 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;