mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 09:45:07 +07:00
f5d82a75e6
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>
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
/*
|
|
* 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 */
|