summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorAndrew de Quincy <devnull@localhost>2004-11-18 22:58:25 +0000
committerAndrew de Quincy <devnull@localhost>2004-11-18 22:58:25 +0000
commitd30da5221dd4bcc278caaf35a0e497415432d072 (patch)
tree65bed73d880027ef1e6f8c76149fa018f76228c6 /linux/drivers
parent321a15f38d481d059222946e6d2c9ba40fa17c74 (diff)
downloadmediapointer-dvb-s2-d30da5221dd4bcc278caaf35a0e497415432d072.tar.gz
mediapointer-dvb-s2-d30da5221dd4bcc278caaf35a0e497415432d072.tar.bz2
Phase 1 of mt312/vp310 support
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/dvb/b2c2/Kconfig3
-rw-r--r--linux/drivers/media/dvb/b2c2/skystar2.c34
2 files changed, 30 insertions, 7 deletions
diff --git a/linux/drivers/media/dvb/b2c2/Kconfig b/linux/drivers/media/dvb/b2c2/Kconfig
index 1c90520bf..3d0667229 100644
--- a/linux/drivers/media/dvb/b2c2/Kconfig
+++ b/linux/drivers/media/dvb/b2c2/Kconfig
@@ -1,8 +1,9 @@
config DVB_B2C2_SKYSTAR
tristate "Technisat Skystar2 PCI"
depends on DVB_CORE && PCI
- select DVB_STV0299
+ select DVB_STV0299
select DVB_MT352
+ select DVB_MT312
help
Support for the Skystar2 PCI DVB card by Technisat, which
is equipped with the FlexCopII chipset by B2C2.
diff --git a/linux/drivers/media/dvb/b2c2/skystar2.c b/linux/drivers/media/dvb/b2c2/skystar2.c
index 3f95549a8..cdde800a8 100644
--- a/linux/drivers/media/dvb/b2c2/skystar2.c
+++ b/linux/drivers/media/dvb/b2c2/skystar2.c
@@ -5,17 +5,17 @@
* Copyright (C) 2003 Vadim Catana, skystar@moldova.cc
*
* FIX: DISEQC Tone Burst in flexcop_diseqc_ioctl()
- * FIX: FULL soft DiSEqC for skystar2 (FlexCopII rev 130) VP310 equipped
+ * FIX: FULL soft DiSEqC for skystar2 (FlexCopII rev 130) VP310 equipped
* Vincenzo Di Massa, hawk.it at tiscalinet.it
- *
+ *
* Converted to Linux coding style
* Misc reorganization, polishing, restyling
* Roberto Ragusa, r.ragusa at libero.it
- *
+ *
* Added hardware filtering support,
* Niklas Peinecke, peinecke at gdv.uni-hannover.de
*
- *
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
@@ -52,6 +52,7 @@
#include "dvb_net.h"
#include "stv0299.h"
#include "mt352.h"
+#include "mt312.h"
static int debug;
@@ -101,7 +102,7 @@ struct adapter {
struct dmxdev dmxdev;
struct dmx_frontend hw_frontend;
struct dmx_frontend mem_frontend;
- struct i2c_adapter i2c_adap;
+ struct i2c_adapter i2c_adap;
struct dvb_net dvbnet;
struct semaphore i2c_sem;
@@ -2376,6 +2377,17 @@ static struct mt352_config samsung_tdtc9251dh0_config = {
.pll_set = samsung_tdtc9251dh0_pll_set,
};
+static int skystar2_23_samsung_unknown_pll_set(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
+{
+ // FIXME: do something
+ return 0;
+}
+
+static struct mt312_config skystar2_23_samsung_unknown_config = {
+
+ .demod_address = 0x0e,
+ .pll_set = skystar2_23_samsung_unknown_pll_set,
+};
@@ -2385,7 +2397,7 @@ static void frontend_init(struct adapter *skystar2)
switch(skystar2->pdev->device) {
case 0x2103: // Technisat Skystar2 OR Technisat Airstar2
- // try the skystar2 first (stv0299/Samsung tbmu24112(sl1935))
+ // try the skystar2 v2.6 first (stv0299/Samsung tbmu24112(sl1935))
skystar2->fe = stv0299_attach(&samsung_tbmu24112_config, &skystar2->i2c_adap);
if (skystar2->fe != NULL) {
skystar2->fe->ops->set_voltage = flexcop_set_voltage;
@@ -2401,6 +2413,16 @@ static void frontend_init(struct adapter *skystar2)
skystar2->fe->ops->info.frequency_max = 858000000;
break;
}
+
+ // try the skystar2 v2.3 first (mt312/Samsung unknown(??))
+ skystar2->fe = mt312_attach(&skystar2_23_samsung_unknown_config, &skystar2->i2c_adap);
+ if (skystar2->fe != NULL) {
+ // FIXME: these may be incorrect
+ skystar2->fe->ops->set_voltage = flexcop_set_voltage;
+ skystar2->fe_sleep = skystar2->fe->ops->sleep;
+ skystar2->fe->ops->sleep = flexcop_sleep;
+ break;
+ }
break;
}