18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Panasonic MN88472 DVB-T/T2/C demodulator driver 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2013 Antti Palosaari <crope@iki.fi> 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef MN88472_H 98c2ecf20Sopenharmony_ci#define MN88472_H 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <linux/dvb/frontend.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/* Define old names for backward compatibility */ 148c2ecf20Sopenharmony_ci#define VARIABLE_TS_CLOCK MN88472_TS_CLK_VARIABLE 158c2ecf20Sopenharmony_ci#define FIXED_TS_CLOCK MN88472_TS_CLK_FIXED 168c2ecf20Sopenharmony_ci#define SERIAL_TS_MODE MN88472_TS_MODE_SERIAL 178c2ecf20Sopenharmony_ci#define PARALLEL_TS_MODE MN88472_TS_MODE_PARALLEL 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci/** 208c2ecf20Sopenharmony_ci * struct mn88472_config - Platform data for the mn88472 driver 218c2ecf20Sopenharmony_ci * @xtal: Clock frequency. 228c2ecf20Sopenharmony_ci * @ts_mode: TS mode. 238c2ecf20Sopenharmony_ci * @ts_clock: TS clock config. 248c2ecf20Sopenharmony_ci * @i2c_wr_max: Max number of bytes driver writes to I2C at once. 258c2ecf20Sopenharmony_ci * @fe: pointer to a frontend pointer 268c2ecf20Sopenharmony_ci * @get_dvb_frontend: Get DVB frontend callback. 278c2ecf20Sopenharmony_ci */ 288c2ecf20Sopenharmony_cistruct mn88472_config { 298c2ecf20Sopenharmony_ci unsigned int xtal; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci#define MN88472_TS_MODE_SERIAL 0 328c2ecf20Sopenharmony_ci#define MN88472_TS_MODE_PARALLEL 1 338c2ecf20Sopenharmony_ci int ts_mode; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci#define MN88472_TS_CLK_FIXED 0 368c2ecf20Sopenharmony_ci#define MN88472_TS_CLK_VARIABLE 1 378c2ecf20Sopenharmony_ci int ts_clock; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci u16 i2c_wr_max; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci /* Everything after that is returned by the driver. */ 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci /* 448c2ecf20Sopenharmony_ci * DVB frontend. 458c2ecf20Sopenharmony_ci */ 468c2ecf20Sopenharmony_ci struct dvb_frontend **fe; 478c2ecf20Sopenharmony_ci struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *); 488c2ecf20Sopenharmony_ci}; 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci#endif 51