1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Panasonic MN88472 DVB-T/T2/C demodulator driver 4 * 5 * Copyright (C) 2013 Antti Palosaari <crope@iki.fi> 6 */ 7 8 #ifndef MN88472_H 9 #define MN88472_H 10 11 #include <linux/dvb/frontend.h> 12 13 /* Define old names for backward compatibility */ 14 #define VARIABLE_TS_CLOCK MN88472_TS_CLK_VARIABLE 15 #define FIXED_TS_CLOCK MN88472_TS_CLK_FIXED 16 #define SERIAL_TS_MODE MN88472_TS_MODE_SERIAL 17 #define PARALLEL_TS_MODE MN88472_TS_MODE_PARALLEL 18 19 /** 20 * struct mn88472_config - Platform data for the mn88472 driver 21 * @xtal: Clock frequency. 22 * @ts_mode: TS mode. 23 * @ts_clock: TS clock config. 24 * @i2c_wr_max: Max number of bytes driver writes to I2C at once. 25 * @fe: pointer to a frontend pointer 26 * @get_dvb_frontend: Get DVB frontend callback. 27 */ 28 struct mn88472_config { 29 unsigned int xtal; 30 31 #define MN88472_TS_MODE_SERIAL 0 32 #define MN88472_TS_MODE_PARALLEL 1 33 int ts_mode; 34 35 #define MN88472_TS_CLK_FIXED 0 36 #define MN88472_TS_CLK_VARIABLE 1 37 int ts_clock; 38 39 u16 i2c_wr_max; 40 41 /* Everything after that is returned by the driver. */ 42 43 /* 44 * DVB frontend. 45 */ 46 struct dvb_frontend **fe; 47 struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *); 48 }; 49 50 #endif 51