xref: /linux/drivers/media/dvb-frontends/si2168.h (revision c95baf12f5077419db01313ab61c2aac007d40cd)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Silicon Labs Si2168 DVB-T/T2/C demodulator driver
4  *
5  * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
6  */
7 
8 #ifndef SI2168_H
9 #define SI2168_H
10 
11 #include <linux/dvb/frontend.h>
12 /**
13  * struct si2168_config - configuration parameters for si2168
14  *
15  * @fe:
16  *	frontend returned by driver
17  * @i2c_adapter:
18  *	tuner I2C adapter returned by driver
19  * @ts_mode:
20  *	Transport Stream mode. Can be:
21  *	- %SI2168_TS_PARALLEL
22  *	- %SI2168_TS_SERIAL
23  *	- %SI2168_TS_TRISTATE
24  *	- %SI2168_TS_CLK_MANUAL
25  * @ts_clock_inv:
26  *	TS clock inverted
27  * @ts_clock_gapped:
28  *	TS clock gapped
29  * @spectral_inversion:
30  *	Inverted spectrum
31  *
32  * Note:
33  *	The I2C address of this demod is 0x64.
34  */
35 struct si2168_config {
36 	struct dvb_frontend **fe;
37 	struct i2c_adapter **i2c_adapter;
38 
39 #define SI2168_TS_PARALLEL	0x06
40 #define SI2168_TS_SERIAL	0x03
41 #define SI2168_TS_TRISTATE	0x00
42 #define SI2168_TS_CLK_MANUAL	0x20
43 	u8 ts_mode;
44 
45 	/* Flags */
46 	unsigned int ts_clock_inv:1;
47 	unsigned int ts_clock_gapped:1;
48 	unsigned int spectral_inversion:1;
49 };
50 
51 #endif
52