Commit 6ab465a8 authored by Hartmut Hackmann's avatar Hartmut Hackmann Committed by Mauro Carvalho Chehab

V4L/DVB (7226): saa7134: add support for the NXP Snake DVB-S reference design

Signed-off-by: default avatarHartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 4b1431ca
...@@ -131,3 +131,4 @@ ...@@ -131,3 +131,4 @@
130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193] 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022] 131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022]
132 -> Genius TVGO AM11MCE 132 -> Genius TVGO AM11MCE
133 -> NXP Snake DVB-S reference design
...@@ -3992,6 +3992,24 @@ struct saa7134_board saa7134_boards[] = { ...@@ -3992,6 +3992,24 @@ struct saa7134_board saa7134_boards[] = {
.gpio = 0x6000, .gpio = 0x6000,
}, },
}, },
[SAA7134_BOARD_PHILIPS_SNAKE] = {
.name = "NXP Snake DVB-S reference design",
.audio_clock = 0x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.name = name_comp1,
.vmux = 3,
.amux = LINE1,
}, {
.name = name_svideo,
.vmux = 8,
.amux = LINE1,
} },
},
}; };
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
...@@ -5283,6 +5301,14 @@ int saa7134_board_init2(struct saa7134_dev *dev) ...@@ -5283,6 +5301,14 @@ int saa7134_board_init2(struct saa7134_dev *dev)
} }
break; break;
case SAA7134_BOARD_PHILIPS_EUROPA: case SAA7134_BOARD_PHILIPS_EUROPA:
if (dev->autodetected && (dev->eedata[0x41] == 0x1c)) {
/* Reconfigure board as Snake reference design */
dev->board = SAA7134_BOARD_PHILIPS_SNAKE;
dev->tuner_type = saa7134_boards[dev->board].tuner_type;
printk(KERN_INFO "%s: Reconfigured board as %s\n",
dev->name, saa7134_boards[dev->board].name);
break;
}
case SAA7134_BOARD_VIDEOMATE_DVBT_300: case SAA7134_BOARD_VIDEOMATE_DVBT_300:
case SAA7134_BOARD_ASUS_EUROPA2_HYBRID: case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
/* The Philips EUROPA based hybrid boards have the tuner connected through /* The Philips EUROPA based hybrid boards have the tuner connected through
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include "tda827x.h" #include "tda827x.h"
#include "isl6421.h" #include "isl6421.h"
#include "isl6405.h" #include "isl6405.h"
#include "lnbp21.h"
MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -1080,6 +1081,18 @@ static int dvb_init(struct saa7134_dev *dev) ...@@ -1080,6 +1081,18 @@ static int dvb_init(struct saa7134_dev *dev)
case SAA7134_BOARD_TWINHAN_DTV_DVB_3056: case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config); configure_tda827x_fe(dev, &twinhan_dtv_dvb_3056_config);
break; break;
case SAA7134_BOARD_PHILIPS_SNAKE:
dev->dvb.frontend = dvb_attach(tda10086_attach, &flydvbs,
&dev->i2c_adap);
if (dev->dvb.frontend) {
if (dvb_attach(tda826x_attach, dev->dvb.frontend, 0x60,
&dev->i2c_adap, 0) == NULL)
wprintk("%s: No tda826x found!\n", __FUNCTION__);
if (dvb_attach(lnbp21_attach, dev->dvb.frontend,
&dev->i2c_adap, 0, 0) == NULL)
wprintk("%s: No lnbp21 found!\n", __FUNCTION__);
}
break;
default: default:
wprintk("Huh? unknown DVB card?\n"); wprintk("Huh? unknown DVB card?\n");
break; break;
......
...@@ -254,6 +254,7 @@ struct saa7134_format { ...@@ -254,6 +254,7 @@ struct saa7134_format {
#define SAA7134_BOARD_BEHOLD_M6 130 #define SAA7134_BOARD_BEHOLD_M6 130
#define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131 #define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132 #define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
#define SAA7134_BOARD_PHILIPS_SNAKE 133
#define SAA7134_MAXBOARDS 8 #define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8 #define SAA7134_INPUT_MAX 8
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment