aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHartmut Hackmann <hartmut.hackmann@t-online.de>2008-04-22 13:42:11 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:43 -0400
commit6ab465a821756691009e58a51f1b4543cf1ae21a (patch)
treecd00e442a8f95b2a8d34469b7d9af972a8eecf5c
parent4b1431ca1c98e26569c9b6cd6d06265cef9495ec (diff)
V4L/DVB (7226): saa7134: add support for the NXP Snake DVB-S reference design
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c26
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c13
-rw-r--r--drivers/media/video/saa7134/saa7134.h3
4 files changed, 42 insertions, 1 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 0424901ebc78..3ec78d4cfea3 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -131,3 +131,4 @@
131130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193] 131130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
132131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022] 132131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022]
133132 -> Genius TVGO AM11MCE 133132 -> Genius TVGO AM11MCE
134133 -> NXP Snake DVB-S reference design
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 6f5744286e8c..16cd319dc4e6 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -3992,6 +3992,24 @@ struct saa7134_board saa7134_boards[] = {
3992 .gpio = 0x6000, 3992 .gpio = 0x6000,
3993 }, 3993 },
3994 }, 3994 },
3995 [SAA7134_BOARD_PHILIPS_SNAKE] = {
3996 .name = "NXP Snake DVB-S reference design",
3997 .audio_clock = 0x00200000,
3998 .tuner_type = TUNER_ABSENT,
3999 .radio_type = UNSET,
4000 .tuner_addr = ADDR_UNSET,
4001 .radio_addr = ADDR_UNSET,
4002 .mpeg = SAA7134_MPEG_DVB,
4003 .inputs = {{
4004 .name = name_comp1,
4005 .vmux = 3,
4006 .amux = LINE1,
4007 }, {
4008 .name = name_svideo,
4009 .vmux = 8,
4010 .amux = LINE1,
4011 } },
4012 },
3995}; 4013};
3996 4014
3997const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 4015const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -5283,6 +5301,14 @@ int saa7134_board_init2(struct saa7134_dev *dev)
5283 } 5301 }
5284 break; 5302 break;
5285 case SAA7134_BOARD_PHILIPS_EUROPA: 5303 case SAA7134_BOARD_PHILIPS_EUROPA:
5304 if (dev->autodetected && (dev->eedata[0x41] == 0x1c)) {
5305 /* Reconfigure board as Snake reference design */
5306 dev->board = SAA7134_BOARD_PHILIPS_SNAKE;
5307 dev->tuner_type = saa7134_boards[dev->board].tuner_type;
5308 printk(KERN_INFO "%s: Reconfigured board as %s\n",
5309 dev->name, saa7134_boards[dev->board].name);
5310 break;
5311 }
5286 case SAA7134_BOARD_VIDEOMATE_DVBT_300: 5312 case SAA7134_BOARD_VIDEOMATE_DVBT_300:
5287 case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: 5313 case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
5288 /* The Philips EUROPA based hybrid boards have the tuner connected through 5314 /* The Philips EUROPA based hybrid boards have the tuner connected through
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 72fd9fed8a34..5d20ec06e48d 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -44,6 +44,7 @@
44#include "tda827x.h" 44#include "tda827x.h"
45#include "isl6421.h" 45#include "isl6421.h"
46#include "isl6405.h" 46#include "isl6405.h"
47#include "lnbp21.h"
47 48
48MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); 49MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
49MODULE_LICENSE("GPL"); 50MODULE_LICENSE("GPL");
@@ -1080,6 +1081,18 @@ static int dvb_init(struct saa7134_dev *dev)
1080 case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: 1081 case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
1081 configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config); 1082 configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config);
1082 break; 1083 break;
1084 case SAA7134_BOARD_PHILIPS_SNAKE:
1085 dev->dvb.frontend = dvb_attach(tda10086_attach, &flydvbs,
1086 &dev->i2c_adap);
1087 if (dev->dvb.frontend) {
1088 if (dvb_attach(tda826x_attach, dev->dvb.frontend, 0x60,
1089 &dev->i2c_adap, 0) == NULL)
1090 wprintk("%s: No tda826x found!\n", __FUNCTION__);
1091 if (dvb_attach(lnbp21_attach, dev->dvb.frontend,
1092 &dev->i2c_adap, 0, 0) == NULL)
1093 wprintk("%s: No lnbp21 found!\n", __FUNCTION__);
1094 }
1095 break;
1083 default: 1096 default:
1084 wprintk("Huh? unknown DVB card?\n"); 1097 wprintk("Huh? unknown DVB card?\n");
1085 break; 1098 break;
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index f940d0254798..4dc66f4b0e4a 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -253,7 +253,8 @@ struct saa7134_format {
253#define SAA7134_BOARD_BEHOLD_607_9FM 129 253#define SAA7134_BOARD_BEHOLD_607_9FM 129
254#define SAA7134_BOARD_BEHOLD_M6 130 254#define SAA7134_BOARD_BEHOLD_M6 130
255#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131 255#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
256#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132 256#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
257#define SAA7134_BOARD_PHILIPS_SNAKE 133
257 258
258#define SAA7134_MAXBOARDS 8 259#define SAA7134_MAXBOARDS 8
259#define SAA7134_INPUT_MAX 8 260#define SAA7134_INPUT_MAX 8