Commit 9452a342 authored by Yasunari Takiguchi's avatar Yasunari Takiguchi Committed by popcornmix
Browse files

This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator.


It includes the CXD2880 driver and the CXD2880 SPI adapter.
The current CXD2880 driver version is 1.4.1 - 1.0.1 released
on April 13, 2017.

Signed-off-by: default avatarYasunari Takiguchi <Yasunari.Takiguchi@sony.com>
Signed-off-by: default avatarMasayuki Yamamoto <Masayuki.Yamamoto@sony.com>
Signed-off-by: default avatarHideki Nozawa <Hideki.Nozawa@sony.com>
Signed-off-by: default avatarKota Yonezawa <Kota.Yonezawa@sony.com>
Signed-off-by: default avatarToshihiko Matsumoto <Toshihiko.Matsumoto@sony.com>
Signed-off-by: default avatarSatoshi Watanabe <Satoshi.C.Watanabe@sony.com>
parent 9afe5930
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -518,6 +518,8 @@ config DVB_GP8PSK_FE
	depends on DVB_CORE
	default DVB_USB_GP8PSK

source "drivers/media/dvb-frontends/cxd2880/Kconfig"

comment "DVB-C (cable) frontends"
	depends on DVB_CORE

+1 −0
Original line number Diff line number Diff line
@@ -126,3 +126,4 @@ obj-$(CONFIG_DVB_TC90522) += tc90522.o
obj-$(CONFIG_DVB_HORUS3A) += horus3a.o
obj-$(CONFIG_DVB_ASCOT2E) += ascot2e.o
obj-$(CONFIG_DVB_HELENE) += helene.o
obj-$(CONFIG_DVB_CXD2880) += cxd2880/
+6 −0
Original line number Diff line number Diff line
config DVB_CXD2880
	tristate "Sony CXD2880 DVB-T2/T tuner + demodulator"
	depends on DVB_CORE && SPI
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  Say Y when you want to support this frontend.
 No newline at end of file
+21 −0
Original line number Diff line number Diff line
cxd2880-objs := cxd2880_common.o \
		cxd2880_devio_spi.o \
		cxd2880_integ.o \
		cxd2880_integ_dvbt2.o \
		cxd2880_integ_dvbt.o \
		cxd2880_io.o \
		cxd2880_spi_device.o \
		cxd2880_stopwatch_port.o \
		cxd2880_tnrdmd.o \
		cxd2880_tnrdmd_dvbt2.o \
		cxd2880_tnrdmd_dvbt2_mon.o \
		cxd2880_tnrdmd_dvbt.o \
		cxd2880_tnrdmd_dvbt_mon.o\
		cxd2880_tnrdmd_mon.o\
		cxd2880_math.o \
		cxd2880_top.o

obj-$(CONFIG_DVB_CXD2880) += cxd2880.o

ccflags-y += -Idrivers/media/dvb-core
ccflags-y += -Idrivers/media/dvb-frontends
+46 −0
Original line number Diff line number Diff line
/*
 * cxd2880.h
 * Sony CXD2880 DVB-T2/T tuner + demodulator driver public definitions
 *
 * Copyright (C) 2016, 2017 Sony Semiconductor Solutions Corporation
 *
 * 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; version 2 of the License.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, see <http://www.gnu.org/licenses/>.
 */

#ifndef CXD2880_H
#define CXD2880_H

struct cxd2880_config {
	struct spi_device *spi;
	struct mutex *spi_mutex; /* For SPI access exclusive control */
};

#if IS_REACHABLE(CONFIG_DVB_CXD2880)
extern struct dvb_frontend *cxd2880_attach(struct dvb_frontend *fe,
					struct cxd2880_config *cfg);
#else
static inline struct dvb_frontend *cxd2880_attach(struct dvb_frontend *fe,
					struct cxd2880_config *cfg)
{
	pr_warn("%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}
#endif /* CONFIG_DVB_CXD2880 */

#endif /* CXD2880_H */
Loading