1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2711615dfSAntti Palosaari /*
3711615dfSAntti Palosaari  * Silicon Labs Si2168 DVB-T/T2/C demodulator driver
4711615dfSAntti Palosaari  *
5711615dfSAntti Palosaari  * Copyright (C) 2014 Antti Palosaari <crope@iki.fi>
6711615dfSAntti Palosaari  */
7711615dfSAntti Palosaari 
8845f3505SAntti Palosaari #ifndef SI2168_H
9845f3505SAntti Palosaari #define SI2168_H
10845f3505SAntti Palosaari 
11845f3505SAntti Palosaari #include <linux/dvb/frontend.h>
121c9b943cSMauro Carvalho Chehab /**
131c9b943cSMauro Carvalho Chehab  * struct si2168_config - configuration parameters for si2168
141c9b943cSMauro Carvalho Chehab  *
151c9b943cSMauro Carvalho Chehab  * @fe:
161c9b943cSMauro Carvalho Chehab  *	frontend returned by driver
171c9b943cSMauro Carvalho Chehab  * @i2c_adapter:
181c9b943cSMauro Carvalho Chehab  *	tuner I2C adapter returned by driver
191c9b943cSMauro Carvalho Chehab  * @ts_mode:
201c9b943cSMauro Carvalho Chehab  *	Transport Stream mode. Can be:
211c9b943cSMauro Carvalho Chehab  *	- %SI2168_TS_PARALLEL
221c9b943cSMauro Carvalho Chehab  *	- %SI2168_TS_SERIAL
231c9b943cSMauro Carvalho Chehab  *	- %SI2168_TS_TRISTATE
241c9b943cSMauro Carvalho Chehab  *	- %SI2168_TS_CLK_MANUAL
251c9b943cSMauro Carvalho Chehab  * @ts_clock_inv:
261c9b943cSMauro Carvalho Chehab  *	TS clock inverted
271c9b943cSMauro Carvalho Chehab  * @ts_clock_gapped:
281c9b943cSMauro Carvalho Chehab  *	TS clock gapped
291c9b943cSMauro Carvalho Chehab  * @spectral_inversion:
301c9b943cSMauro Carvalho Chehab  *	Inverted spectrum
311c9b943cSMauro Carvalho Chehab  *
321c9b943cSMauro Carvalho Chehab  * Note:
331c9b943cSMauro Carvalho Chehab  *	The I2C address of this demod is 0x64.
34845f3505SAntti Palosaari  */
35845f3505SAntti Palosaari struct si2168_config {
36845f3505SAntti Palosaari 	struct dvb_frontend **fe;
37845f3505SAntti Palosaari 	struct i2c_adapter **i2c_adapter;
38389ce398SOlli Salonen 
39346d4900SAntti Palosaari #define SI2168_TS_PARALLEL	0x06
40346d4900SAntti Palosaari #define SI2168_TS_SERIAL	0x03
4144587774SBrad Love #define SI2168_TS_TRISTATE	0x00
42bc28d36bSJan Pieter van Woerkom #define SI2168_TS_CLK_MANUAL	0x20
43389ce398SOlli Salonen 	u8 ts_mode;
4452791979SCrazyCat 
451c9b943cSMauro Carvalho Chehab 	/* Flags */
461c9b943cSMauro Carvalho Chehab 	unsigned int ts_clock_inv:1;
471c9b943cSMauro Carvalho Chehab 	unsigned int ts_clock_gapped:1;
481c9b943cSMauro Carvalho Chehab 	unsigned int spectral_inversion:1;
49845f3505SAntti Palosaari };
50845f3505SAntti Palosaari 
51845f3505SAntti Palosaari #endif
52