xref: /linux/drivers/media/dvb-frontends/mn88472.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2ca25cb54SAntti Palosaari /*
3ca25cb54SAntti Palosaari  * Panasonic MN88472 DVB-T/T2/C demodulator driver
4ca25cb54SAntti Palosaari  *
5ca25cb54SAntti Palosaari  * Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
6ca25cb54SAntti Palosaari  */
7ca25cb54SAntti Palosaari 
8ca25cb54SAntti Palosaari #ifndef MN88472_H
9ca25cb54SAntti Palosaari #define MN88472_H
10ca25cb54SAntti Palosaari 
11ca25cb54SAntti Palosaari #include <linux/dvb/frontend.h>
12ca25cb54SAntti Palosaari 
138d1f38fcSAntti Palosaari /* Define old names for backward compatibility */
148d1f38fcSAntti Palosaari #define VARIABLE_TS_CLOCK   MN88472_TS_CLK_VARIABLE
158d1f38fcSAntti Palosaari #define FIXED_TS_CLOCK      MN88472_TS_CLK_FIXED
168d1f38fcSAntti Palosaari #define SERIAL_TS_MODE      MN88472_TS_MODE_SERIAL
178d1f38fcSAntti Palosaari #define PARALLEL_TS_MODE    MN88472_TS_MODE_PARALLEL
18021cd2d2SBenjamin Larsson 
19b95b0c98SMauro Carvalho Chehab /**
20b95b0c98SMauro Carvalho Chehab  * struct mn88472_config - Platform data for the mn88472 driver
21b95b0c98SMauro Carvalho Chehab  * @xtal: Clock frequency.
22b95b0c98SMauro Carvalho Chehab  * @ts_mode: TS mode.
23b95b0c98SMauro Carvalho Chehab  * @ts_clock: TS clock config.
24b95b0c98SMauro Carvalho Chehab  * @i2c_wr_max: Max number of bytes driver writes to I2C at once.
25b95b0c98SMauro Carvalho Chehab  * @fe: pointer to a frontend pointer
26b95b0c98SMauro Carvalho Chehab  * @get_dvb_frontend: Get DVB frontend callback.
27b95b0c98SMauro Carvalho Chehab  */
285ef1ad35SAntti Palosaari struct mn88472_config {
298d1f38fcSAntti Palosaari 	unsigned int xtal;
30ca25cb54SAntti Palosaari 
318d1f38fcSAntti Palosaari #define MN88472_TS_MODE_SERIAL      0
328d1f38fcSAntti Palosaari #define MN88472_TS_MODE_PARALLEL    1
338d1f38fcSAntti Palosaari 	int ts_mode;
348d1f38fcSAntti Palosaari 
358d1f38fcSAntti Palosaari #define MN88472_TS_CLK_FIXED        0
368d1f38fcSAntti Palosaari #define MN88472_TS_CLK_VARIABLE     1
378d1f38fcSAntti Palosaari 	int ts_clock;
388d1f38fcSAntti Palosaari 
398d1f38fcSAntti Palosaari 	u16 i2c_wr_max;
40528af195SAntti Palosaari 
41528af195SAntti Palosaari 	/* Everything after that is returned by the driver. */
42528af195SAntti Palosaari 
43528af195SAntti Palosaari 	/*
44528af195SAntti Palosaari 	 * DVB frontend.
45528af195SAntti Palosaari 	 */
46528af195SAntti Palosaari 	struct dvb_frontend **fe;
478d1f38fcSAntti Palosaari 	struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
48528af195SAntti Palosaari };
49ca25cb54SAntti Palosaari 
50ca25cb54SAntti Palosaari #endif
51