Commit 695efd01 authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab

[media] Montage M88TS2022 silicon tuner driver

M88TS2022 is DVB-S/S2 RF tuner used usually in conjunction with
Montage M88DS3103 DVB-S/S2 demodulator.
Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 395d00d1
...@@ -215,6 +215,13 @@ config MEDIA_TUNER_FC2580 ...@@ -215,6 +215,13 @@ config MEDIA_TUNER_FC2580
help help
FCI FC2580 silicon tuner driver. FCI FC2580 silicon tuner driver.
config MEDIA_TUNER_M88TS2022
tristate "Montage M88TS2022 silicon tuner"
depends on MEDIA_SUPPORT && I2C
default m if !MEDIA_SUBDRV_AUTOSELECT
help
Montage M88TS2022 silicon tuner driver.
config MEDIA_TUNER_TUA9001 config MEDIA_TUNER_TUA9001
tristate "Infineon TUA 9001 silicon tuner" tristate "Infineon TUA 9001 silicon tuner"
depends on MEDIA_SUPPORT && I2C depends on MEDIA_SUPPORT && I2C
......
...@@ -31,6 +31,7 @@ obj-$(CONFIG_MEDIA_TUNER_TDA18212) += tda18212.o ...@@ -31,6 +31,7 @@ obj-$(CONFIG_MEDIA_TUNER_TDA18212) += tda18212.o
obj-$(CONFIG_MEDIA_TUNER_E4000) += e4000.o obj-$(CONFIG_MEDIA_TUNER_E4000) += e4000.o
obj-$(CONFIG_MEDIA_TUNER_FC2580) += fc2580.o obj-$(CONFIG_MEDIA_TUNER_FC2580) += fc2580.o
obj-$(CONFIG_MEDIA_TUNER_TUA9001) += tua9001.o obj-$(CONFIG_MEDIA_TUNER_TUA9001) += tua9001.o
obj-$(CONFIG_MEDIA_TUNER_M88TS2022) += m88ts2022.o
obj-$(CONFIG_MEDIA_TUNER_FC0011) += fc0011.o obj-$(CONFIG_MEDIA_TUNER_FC0011) += fc0011.o
obj-$(CONFIG_MEDIA_TUNER_FC0012) += fc0012.o obj-$(CONFIG_MEDIA_TUNER_FC0012) += fc0012.o
obj-$(CONFIG_MEDIA_TUNER_FC0013) += fc0013.o obj-$(CONFIG_MEDIA_TUNER_FC0013) += fc0013.o
......
This diff is collapsed.
/*
* Montage M88TS2022 silicon tuner driver
*
* Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef M88TS2022_H
#define M88TS2022_H
#include "dvb_frontend.h"
struct m88ts2022_config {
/*
* I2C address
* 0x60, ...
*/
u8 i2c_addr;
/*
* clock
* 16000000 - 32000000
*/
u32 clock;
/*
* RF loop-through
*/
u8 loop_through:1;
/*
* clock output
*/
#define M88TS2022_CLOCK_OUT_DISABLED 0
#define M88TS2022_CLOCK_OUT_ENABLED 1
#define M88TS2022_CLOCK_OUT_ENABLED_XTALOUT 2
u8 clock_out:2;
/*
* clock output divider
* 1 - 31
*/
u8 clock_out_div:5;
};
#if defined(CONFIG_MEDIA_TUNER_M88TS2022) || \
(defined(CONFIG_MEDIA_TUNER_M88TS2022_MODULE) && defined(MODULE))
extern struct dvb_frontend *m88ts2022_attach(struct dvb_frontend *fe,
struct i2c_adapter *i2c, const struct m88ts2022_config *cfg);
#else
static inline struct dvb_frontend *m88ts2022_attach(struct dvb_frontend *fe,
struct i2c_adapter *i2c, const struct m88ts2022_config *cfg)
{
pr_warn("%s: driver disabled by Kconfig\n", __func__);
return NULL;
}
#endif
#endif
/*
* Montage M88TS2022 silicon tuner driver
*
* Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef M88TS2022_PRIV_H
#define M88TS2022_PRIV_H
#include "m88ts2022.h"
struct m88ts2022_priv {
const struct m88ts2022_config *cfg;
struct i2c_adapter *i2c;
struct dvb_frontend *fe;
u32 frequency_khz;
};
struct m88ts2022_reg_val {
u8 reg;
u8 val;
};
#endif
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