Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / media / dvb-frontends / si2165.h
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  *   http://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 */