Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Realtek RTL2832 DVB-T demodulator driver
0004  *
0005  * Copyright (C) 2012 Thomas Mair <thomas.mair86@gmail.com>
0006  * Copyright (C) 2012-2014 Antti Palosaari <crope@iki.fi>
0007  */
0008 
0009 #ifndef RTL2832_H
0010 #define RTL2832_H
0011 
0012 #include <linux/dvb/frontend.h>
0013 #include <linux/i2c-mux.h>
0014 
0015 /**
0016  * struct rtl2832_platform_data - Platform data for the rtl2832 driver
0017  * @clk: Clock frequency (4000000, 16000000, 25000000, 28800000).
0018  * @tuner: Used tuner model.
0019  * @get_dvb_frontend: Get DVB frontend.
0020  * @get_i2c_adapter: Get I2C adapter.
0021  * @slave_ts_ctrl: Control slave TS interface.
0022  * @pid_filter: Set PID to PID filter.
0023  * @pid_filter_ctrl: Control PID filter.
0024  */
0025 struct rtl2832_platform_data {
0026     u32 clk;
0027     /*
0028      * XXX: This list must be kept sync with dvb_usb_rtl28xxu USB IF driver.
0029      */
0030 #define RTL2832_TUNER_FC2580    0x21
0031 #define RTL2832_TUNER_TUA9001   0x24
0032 #define RTL2832_TUNER_FC0012    0x26
0033 #define RTL2832_TUNER_E4000     0x27
0034 #define RTL2832_TUNER_FC0013    0x29
0035 #define RTL2832_TUNER_R820T     0x2a
0036 #define RTL2832_TUNER_R828D     0x2b
0037 #define RTL2832_TUNER_SI2157    0x2c
0038     u8 tuner;
0039 
0040     struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
0041     struct i2c_adapter* (*get_i2c_adapter)(struct i2c_client *);
0042     int (*slave_ts_ctrl)(struct i2c_client *, bool);
0043     int (*pid_filter)(struct dvb_frontend *, u8, u16, int);
0044     int (*pid_filter_ctrl)(struct dvb_frontend *, int);
0045 /* private: Register access for SDR module use only */
0046     struct regmap *regmap;
0047 };
0048 
0049 #endif /* RTL2832_H */