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 | |