diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2008-04-22 13:42:11 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:43 -0400 |
commit | 6ab465a821756691009e58a51f1b4543cf1ae21a (patch) | |
tree | cd00e442a8f95b2a8d34469b7d9af972a8eecf5c | |
parent | 4b1431ca1c98e26569c9b6cd6d06265cef9495ec (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.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 26 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 13 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 3 |
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 @@ | |||
131 | 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193] | 131 | 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193] |
132 | 131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022] | 132 | 131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022] |
133 | 132 -> Genius TVGO AM11MCE | 133 | 132 -> Genius TVGO AM11MCE |
134 | 133 -> 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 | ||
3997 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 4015 | const 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 | ||
48 | MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); | 49 | MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); |
49 | MODULE_LICENSE("GPL"); | 50 | MODULE_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 |