xref: /linux/drivers/media/dvb-frontends/tda10071.h (revision 58e16d792a6a8c6b750f637a4649967fcac853dc)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * NXP TDA10071 + Conexant CX24118A DVB-S/S2 demodulator + tuner driver
4  *
5  * Copyright (C) 2011 Antti Palosaari <crope@iki.fi>
6  */
7 
8 #ifndef TDA10071_H
9 #define TDA10071_H
10 
11 #include <linux/dvb/frontend.h>
12 
13 /*
14  * I2C address
15  * 0x05, 0x55,
16  */
17 
18 /**
19  * struct tda10071_platform_data - Platform data for the tda10071 driver
20  * @clk: Clock frequency.
21  * @i2c_wr_max: Max bytes I2C adapter can write at once.
22  * @ts_mode: TS mode.
23  * @spec_inv: Input spectrum inversion.
24  * @pll_multiplier: PLL multiplier.
25  * @tuner_i2c_addr: CX24118A tuner I2C address (0x14, 0x54, ...).
26  * @get_dvb_frontend: Get DVB frontend.
27  */
28 struct tda10071_platform_data {
29 	u32 clk;
30 	u16 i2c_wr_max;
31 #define TDA10071_TS_SERIAL        0
32 #define TDA10071_TS_PARALLEL      1
33 	u8 ts_mode;
34 	bool spec_inv;
35 	u8 pll_multiplier;
36 	u8 tuner_i2c_addr;
37 
38 	struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
39 };
40 
41 #endif /* TDA10071_H */
42