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 */
35struct 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