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