diff options
author | Andrew de Quincy <devnull@localhost> | 2004-11-18 22:58:25 +0000 |
---|---|---|
committer | Andrew de Quincy <devnull@localhost> | 2004-11-18 22:58:25 +0000 |
commit | d30da5221dd4bcc278caaf35a0e497415432d072 (patch) | |
tree | 65bed73d880027ef1e6f8c76149fa018f76228c6 /linux/drivers | |
parent | 321a15f38d481d059222946e6d2c9ba40fa17c74 (diff) | |
download | mediapointer-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/Kconfig | 3 | ||||
-rw-r--r-- | linux/drivers/media/dvb/b2c2/skystar2.c | 34 |
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; } |