[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: Akihiro Tsukada <tskd08@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:

committed by
Mauro Carvalho Chehab

父節點
7608f575b8
當前提交
f5d82a75e6
42
drivers/media/dvb-frontends/tc90522.h
Normal file
42
drivers/media/dvb-frontends/tc90522.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* 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 */
|
Reference in New Issue
Block a user