Path: blob/master/drivers/media/dvb/frontends/dib7000m.h
15112 views
#ifndef DIB7000M_H1#define DIB7000M_H23#include "dibx000_common.h"45struct dib7000m_config {6u8 dvbt_mode;7u8 output_mpeg2_in_188_bytes;8u8 hostbus_diversity;9u8 tuner_is_baseband;10u8 mobile_mode;11int (*update_lna) (struct dvb_frontend *, u16 agc_global);1213u8 agc_config_count;14struct dibx000_agc_config *agc;1516struct dibx000_bandwidth_config *bw;1718#define DIB7000M_GPIO_DEFAULT_DIRECTIONS 0xffff19u16 gpio_dir;20#define DIB7000M_GPIO_DEFAULT_VALUES 0x000021u16 gpio_val;22#define DIB7000M_GPIO_PWM_POS0(v) ((v & 0xf) << 12)23#define DIB7000M_GPIO_PWM_POS1(v) ((v & 0xf) << 8 )24#define DIB7000M_GPIO_PWM_POS2(v) ((v & 0xf) << 4 )25#define DIB7000M_GPIO_PWM_POS3(v) (v & 0xf)26#define DIB7000M_GPIO_DEFAULT_PWM_POS 0xffff27u16 gpio_pwm_pos;2829u16 pwm_freq_div;3031u8 quartz_direct;3233u8 input_clk_is_div_2;3435int (*agc_control) (struct dvb_frontend *, u8 before);36};3738#define DEFAULT_DIB7000M_I2C_ADDRESS 183940#if defined(CONFIG_DVB_DIB7000M) || (defined(CONFIG_DVB_DIB7000M_MODULE) && \41defined(MODULE))42extern struct dvb_frontend *dib7000m_attach(struct i2c_adapter *i2c_adap,43u8 i2c_addr,44struct dib7000m_config *cfg);45extern struct i2c_adapter *dib7000m_get_i2c_master(struct dvb_frontend *,46enum dibx000_i2c_interface,47int);48extern int dib7000m_pid_filter(struct dvb_frontend *, u8 id, u16 pid, u8 onoff);49extern int dib7000m_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff);50#else51static inline52struct dvb_frontend *dib7000m_attach(struct i2c_adapter *i2c_adap,53u8 i2c_addr, struct dib7000m_config *cfg)54{55printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);56return NULL;57}5859static inline60struct i2c_adapter *dib7000m_get_i2c_master(struct dvb_frontend *demod,61enum dibx000_i2c_interface intf,62int gating)63{64printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);65return NULL;66}67static inline int dib7000m_pid_filter(struct dvb_frontend *fe, u8 id,68u16 pid, u8 onoff)69{70printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);71return -ENODEV;72}7374static inline int dib7000m_pid_filter_ctrl(struct dvb_frontend *fe,75uint8_t onoff)76{77printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);78return -ENODEV;79}80#endif8182/* TODO83extern INT dib7000m_set_gpio(struct dibDemod *demod, UCHAR num, UCHAR dir, UCHAR val);84extern INT dib7000m_enable_vbg_voltage(struct dibDemod *demod);85extern void dib7000m_set_hostbus_diversity(struct dibDemod *demod, UCHAR onoff);86extern USHORT dib7000m_get_current_agc_global(struct dibDemod *demod);87*/8889#endif909192