xref: /linux/drivers/media/dvb-frontends/si2165.h (revision ae22a94997b8a03dcb3c922857c203246711f9d4)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Driver for Silicon Labs SI2165 DVB-C/-T Demodulator
4  *
5  * Copyright (C) 2013-2017 Matthias Schwarzott <zzam@gentoo.org>
6  *
7  * References:
8  *   https://www.silabs.com/Support%20Documents/TechnicalDocs/Si2165-short.pdf
9  */
10 
11 #ifndef _DVB_SI2165_H
12 #define _DVB_SI2165_H
13 
14 #include <linux/dvb/frontend.h>
15 
16 enum {
17 	SI2165_MODE_OFF = 0x00,
18 	SI2165_MODE_PLL_EXT = 0x20,
19 	SI2165_MODE_PLL_XTAL = 0x21
20 };
21 
22 /* I2C addresses
23  * possible values: 0x64,0x65,0x66,0x67
24  */
25 struct si2165_platform_data {
26 	/*
27 	 * frontend
28 	 * returned by driver
29 	 */
30 	struct dvb_frontend **fe;
31 
32 	/* external clock or XTAL */
33 	u8 chip_mode;
34 
35 	/* frequency of external clock or xtal in Hz
36 	 * possible values: 4000000, 16000000, 20000000, 240000000, 27000000
37 	 */
38 	u32 ref_freq_hz;
39 
40 	/* invert the spectrum */
41 	bool inversion;
42 };
43 
44 #endif /* _DVB_SI2165_H */
45