Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5d82a75 authored by Akihiro Tsukada's avatar Akihiro Tsukada Committed by Mauro Carvalho Chehab
Browse files

[media] tc90522: add driver for Toshiba TC90522 quad demodulator



This patch adds driver for tc90522 demodulator chips.
The chip contains 4 demod modules that run in parallel and are independently
controllable via separate I2C addresses.
Two of the modules are for ISDB-T and the rest for ISDB-S.
It is used in earthsoft pt3 cards.

Note that this driver does not init the chip,
because the initilization sequence / register setting is not disclosed.
Thus, the driver assumes that the chips are initilized externally
by its parent board driver before fe->ops->init() are called.
Earthsoft PT3 PCIe card, for example, contains the init sequence
in its private memory and provides a command to trigger the sequence.

Signed-off-by: default avatarAkihiro Tsukada <tskd08@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 7608f575
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -648,6 +648,14 @@ config DVB_MB86A20S
	  A driver for Fujitsu mb86a20s ISDB-T/ISDB-Tsb demodulator.
	  Say Y when you want to support this frontend.

config DVB_TC90522
	tristate "Toshiba TC90522"
	depends on DVB_CORE && I2C
	default m if !MEDIA_SUBDRV_AUTOSELECT
	help
	  A Toshiba TC90522 2xISDB-T + 2xISDB-S demodulator.
	  Say Y when you want to support this frontend.

comment "Digital terrestrial only tuners/PLL"
	depends on DVB_CORE

+1 −0
Original line number Diff line number Diff line
@@ -115,3 +115,4 @@ obj-$(CONFIG_DVB_RTL2832_SDR) += rtl2832_sdr.o
obj-$(CONFIG_DVB_M88RS2000) += m88rs2000.o
obj-$(CONFIG_DVB_AF9033) += af9033.o
obj-$(CONFIG_DVB_AS102_FE) += as102_fe.o
obj-$(CONFIG_DVB_TC90522) += tc90522.o
+839 −0

File added.

Preview size limit exceeded, changes collapsed.

+42 −0
Original line number Diff line number Diff line
/*
 * Toshiba TC90522 Demodulator
 *
 * Copyright (C) 2014 Akihiro Tsukada <tskd08@gmail.com>
 *
 * 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.
 *
 *
 * 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.
 */

/*
 * The demod has 4 input (2xISDB-T and 2xISDB-S),
 * and provides independent sub modules for each input.
 * As the sub modules work in parallel and have the separate i2c addr's,
 * this driver treats each sub module as one demod device.
 */

#ifndef TC90522_H
#define TC90522_H

#include <linux/i2c.h>
#include "dvb_frontend.h"

/* I2C device types */
#define TC90522_I2C_DEV_SAT "tc90522sat"
#define TC90522_I2C_DEV_TER "tc90522ter"

struct tc90522_config {
	/* [OUT] frontend returned by driver */
	struct dvb_frontend *fe;

	/* [OUT] tuner I2C adapter returned by driver */
	struct i2c_adapter *tuner_i2c;
};

#endif /* TC90522_H */