forked from Minki/linux
[media] si2165: Add demod driver for DVB-T only
DVB-T was tested with 8MHz BW channels in germany This driver is the simplest possible, it uses automatic mode for all parameters (TPS). Added spectrum inversion support. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Tested-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
9ca72fa1f8
commit
3e54a1697a
@ -63,6 +63,15 @@ config DVB_TDA18271C2DD
|
||||
|
||||
Say Y when you want to support this tuner.
|
||||
|
||||
config DVB_SI2165
|
||||
tristate "Silicon Labs si2165 based"
|
||||
depends on DVB_CORE && I2C
|
||||
default m if !MEDIA_SUBDRV_AUTOSELECT
|
||||
help
|
||||
A DVB-C/T demodulator.
|
||||
|
||||
Say Y when you want to support this frontend.
|
||||
|
||||
comment "DVB-S (satellite) frontends"
|
||||
depends on DVB_CORE
|
||||
|
||||
|
@ -105,6 +105,7 @@ obj-$(CONFIG_DVB_STV0367) += stv0367.o
|
||||
obj-$(CONFIG_DVB_CXD2820R) += cxd2820r.o
|
||||
obj-$(CONFIG_DVB_DRXK) += drxk.o
|
||||
obj-$(CONFIG_DVB_TDA18271C2DD) += tda18271c2dd.o
|
||||
obj-$(CONFIG_DVB_SI2165) += si2165.o
|
||||
obj-$(CONFIG_DVB_A8293) += a8293.o
|
||||
obj-$(CONFIG_DVB_TDA10071) += tda10071.o
|
||||
obj-$(CONFIG_DVB_RTL2830) += rtl2830.o
|
||||
|
1040
drivers/media/dvb-frontends/si2165.c
Normal file
1040
drivers/media/dvb-frontends/si2165.c
Normal file
File diff suppressed because it is too large
Load Diff
64
drivers/media/dvb-frontends/si2165.h
Normal file
64
drivers/media/dvb-frontends/si2165.h
Normal file
@ -0,0 +1,64 @@
|
||||
/*
|
||||
Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
|
||||
|
||||
Copyright (C) 2013-2014 Matthias Schwarzott <zzam@gentoo.org>
|
||||
|
||||
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.
|
||||
|
||||
References:
|
||||
http://www.silabs.com/Support%20Documents/TechnicalDocs/Si2165-short.pdf
|
||||
*/
|
||||
|
||||
#ifndef _DVB_SI2165_H
|
||||
#define _DVB_SI2165_H
|
||||
|
||||
#include <linux/dvb/frontend.h>
|
||||
|
||||
#if IS_ENABLED(CONFIG_DVB_SI2165)
|
||||
|
||||
enum {
|
||||
SI2165_MODE_OFF = 0x00,
|
||||
SI2165_MODE_PLL_EXT = 0x20,
|
||||
SI2165_MODE_PLL_XTAL = 0x21
|
||||
};
|
||||
|
||||
struct si2165_config {
|
||||
/* i2c addr
|
||||
* possible values: 0x64,0x65,0x66,0x67 */
|
||||
u8 i2c_addr;
|
||||
|
||||
/* external clock or XTAL */
|
||||
u8 chip_mode;
|
||||
|
||||
/* frequency of external clock or xtal in Hz
|
||||
* possible values: 4000000, 16000000, 20000000, 240000000, 27000000
|
||||
*/
|
||||
u32 ref_freq_Hz;
|
||||
|
||||
/* invert the spectrum */
|
||||
bool inversion;
|
||||
};
|
||||
|
||||
/* Addresses: 0x64,0x65,0x66,0x67 */
|
||||
struct dvb_frontend *si2165_attach(
|
||||
const struct si2165_config *config,
|
||||
struct i2c_adapter *i2c);
|
||||
#else
|
||||
static inline struct dvb_frontend *si2165_attach(
|
||||
const struct si2165_config *config,
|
||||
struct i2c_adapter *i2c)
|
||||
{
|
||||
pr_warn("%s: driver disabled by Kconfig\n", __func__);
|
||||
return NULL;
|
||||
}
|
||||
#endif /* CONFIG_DVB_SI2165 */
|
||||
|
||||
#endif /* _DVB_SI2165_H */
|
23
drivers/media/dvb-frontends/si2165_priv.h
Normal file
23
drivers/media/dvb-frontends/si2165_priv.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
|
||||
|
||||
Copyright (C) 2013-2014 Matthias Schwarzott <zzam@gentoo.org>
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _DVB_SI2165_PRIV
|
||||
#define _DVB_SI2165_PRIV
|
||||
|
||||
#define SI2165_FIRMWARE "dvb-demod-si2165.fw"
|
||||
|
||||
#endif /* _DVB_SI2165_PRIV */
|
Loading…
Reference in New Issue
Block a user