Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Panasonic MN88472 DVB-T/T2/C demodulator driver
0004  *
0005  * Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
0006  */
0007 
0008 #ifndef MN88472_H
0009 #define MN88472_H
0010 
0011 #include <linux/dvb/frontend.h>
0012 
0013 /* Define old names for backward compatibility */
0014 #define VARIABLE_TS_CLOCK   MN88472_TS_CLK_VARIABLE
0015 #define FIXED_TS_CLOCK      MN88472_TS_CLK_FIXED
0016 #define SERIAL_TS_MODE      MN88472_TS_MODE_SERIAL
0017 #define PARALLEL_TS_MODE    MN88472_TS_MODE_PARALLEL
0018 
0019 /**
0020  * struct mn88472_config - Platform data for the mn88472 driver
0021  * @xtal: Clock frequency.
0022  * @ts_mode: TS mode.
0023  * @ts_clock: TS clock config.
0024  * @i2c_wr_max: Max number of bytes driver writes to I2C at once.
0025  * @fe: pointer to a frontend pointer
0026  * @get_dvb_frontend: Get DVB frontend callback.
0027  */
0028 struct mn88472_config {
0029     unsigned int xtal;
0030 
0031 #define MN88472_TS_MODE_SERIAL      0
0032 #define MN88472_TS_MODE_PARALLEL    1
0033     int ts_mode;
0034 
0035 #define MN88472_TS_CLK_FIXED        0
0036 #define MN88472_TS_CLK_VARIABLE     1
0037     int ts_clock;
0038 
0039     u16 i2c_wr_max;
0040 
0041     /* Everything after that is returned by the driver. */
0042 
0043     /*
0044      * DVB frontend.
0045      */
0046     struct dvb_frontend **fe;
0047     struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
0048 };
0049 
0050 #endif