2 * NXP TDA10071 + Conexant CX24118A DVB-S/S2 demodulator + tuner driver
4 * Copyright (C) 2011 Antti Palosaari <crope@iki.fi>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #include <linux/kconfig.h>
25 #include <linux/dvb/frontend.h>
33 * struct tda10071_platform_data - Platform data for the tda10071 driver
34 * @clk: Clock frequency.
35 * @i2c_wr_max: Max bytes I2C adapter can write at once.
37 * @spec_inv: Input spectrum inversion.
38 * @pll_multiplier: PLL multiplier.
39 * @tuner_i2c_addr: CX24118A tuner I2C address (0x14, 0x54, ...).
40 * @get_dvb_frontend: Get DVB frontend.
43 struct tda10071_platform_data {
46 #define TDA10071_TS_SERIAL 0
47 #define TDA10071_TS_PARALLEL 1
53 struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
56 struct tda10071_config {
57 /* Demodulator I2C address.
58 * Default: none, must set
64 * Default: none, must set
65 * Values: 0x14, 0x54, ...
69 /* Max bytes I2C provider can write at once.
70 * Note: Buffer is taken from the stack currently!
71 * Default: none, must set
77 * Default: TDA10071_TS_SERIAL
80 #define TDA10071_TS_SERIAL 0
81 #define TDA10071_TS_PARALLEL 1
84 /* Input spectrum inversion.
91 * Default: none, must set
97 * Default: none, must set
104 #if IS_REACHABLE(CONFIG_DVB_TDA10071)
105 extern struct dvb_frontend *tda10071_attach(
106 const struct tda10071_config *config, struct i2c_adapter *i2c);
108 static inline struct dvb_frontend *tda10071_attach(
109 const struct tda10071_config *config, struct i2c_adapter *i2c)
111 dev_warn(&i2c->dev, "%s: driver disabled by Kconfig\n", __func__);
116 #endif /* TDA10071_H */