4 #include <linux/kconfig.h>
6 #include "dibx000_common.h"
8 struct dib7000p_config
{
9 u8 output_mpeg2_in_188_bytes
;
12 int (*update_lna
) (struct dvb_frontend
*, u16 agc_global
);
15 struct dibx000_agc_config
*agc
;
16 struct dibx000_bandwidth_config
*bw
;
18 #define DIB7000P_GPIO_DEFAULT_DIRECTIONS 0xffff
20 #define DIB7000P_GPIO_DEFAULT_VALUES 0x0000
22 #define DIB7000P_GPIO_PWM_POS0(v) ((v & 0xf) << 12)
23 #define DIB7000P_GPIO_PWM_POS1(v) ((v & 0xf) << 8 )
24 #define DIB7000P_GPIO_PWM_POS2(v) ((v & 0xf) << 4 )
25 #define DIB7000P_GPIO_PWM_POS3(v) (v & 0xf)
26 #define DIB7000P_GPIO_DEFAULT_PWM_POS 0xffff
35 int (*agc_control
) (struct dvb_frontend
*, u8 before
);
38 u8 disable_sample_and_hold
:1;
40 u8 enable_current_mirror
:1;
47 #define DEFAULT_DIB7000P_I2C_ADDRESS 18
49 #if IS_ENABLED(CONFIG_DVB_DIB7000P)
50 extern struct dvb_frontend
*dib7000p_attach(struct i2c_adapter
*i2c_adap
, u8 i2c_addr
, struct dib7000p_config
*cfg
);
51 extern struct i2c_adapter
*dib7000p_get_i2c_master(struct dvb_frontend
*, enum dibx000_i2c_interface
, int);
52 extern int dib7000p_i2c_enumeration(struct i2c_adapter
*i2c
, int no_of_demods
, u8 default_addr
, struct dib7000p_config cfg
[]);
53 extern int dib7000p_set_gpio(struct dvb_frontend
*, u8 num
, u8 dir
, u8 val
);
54 extern int dib7000p_set_wbd_ref(struct dvb_frontend
*, u16 value
);
55 extern int dib7000pc_detection(struct i2c_adapter
*i2c_adap
);
56 extern int dib7000p_pid_filter(struct dvb_frontend
*, u8 id
, u16 pid
, u8 onoff
);
57 extern int dib7000p_pid_filter_ctrl(struct dvb_frontend
*fe
, u8 onoff
);
58 extern int dib7000p_update_pll(struct dvb_frontend
*fe
, struct dibx000_bandwidth_config
*bw
);
59 extern u32
dib7000p_ctrl_timf(struct dvb_frontend
*fe
, u8 op
, u32 timf
);
60 extern int dib7090_tuner_sleep(struct dvb_frontend
*fe
, int onoff
);
61 extern int dib7090_get_adc_power(struct dvb_frontend
*fe
);
62 extern struct i2c_adapter
*dib7090_get_i2c_tuner(struct dvb_frontend
*fe
);
63 extern int dib7090_slave_reset(struct dvb_frontend
*fe
);
64 extern int dib7000p_get_agc_values(struct dvb_frontend
*fe
,
65 u16
*agc_global
, u16
*agc1
, u16
*agc2
, u16
*wbd
);
66 extern int dib7000p_set_agc1_min(struct dvb_frontend
*fe
, u16 v
);
68 static inline struct dvb_frontend
*dib7000p_attach(struct i2c_adapter
*i2c_adap
, u8 i2c_addr
, struct dib7000p_config
*cfg
)
70 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
74 static inline struct i2c_adapter
*dib7000p_get_i2c_master(struct dvb_frontend
*fe
, enum dibx000_i2c_interface i
, int x
)
76 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
80 static inline int dib7000p_i2c_enumeration(struct i2c_adapter
*i2c
, int no_of_demods
, u8 default_addr
, struct dib7000p_config cfg
[])
82 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
86 static inline int dib7000p_set_gpio(struct dvb_frontend
*fe
, u8 num
, u8 dir
, u8 val
)
88 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
92 static inline int dib7000p_set_wbd_ref(struct dvb_frontend
*fe
, u16 value
)
94 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
98 static inline int dib7000pc_detection(struct i2c_adapter
*i2c_adap
)
100 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
104 static inline int dib7000p_pid_filter(struct dvb_frontend
*fe
, u8 id
, u16 pid
, u8 onoff
)
106 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
110 static inline int dib7000p_pid_filter_ctrl(struct dvb_frontend
*fe
, uint8_t onoff
)
112 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
116 static inline int dib7000p_update_pll(struct dvb_frontend
*fe
, struct dibx000_bandwidth_config
*bw
)
118 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
122 static inline u32
dib7000p_ctrl_timf(struct dvb_frontend
*fe
, u8 op
, u32 timf
)
124 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
128 static inline int dib7090_tuner_sleep(struct dvb_frontend
*fe
, int onoff
)
130 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
134 static inline int dib7090_get_adc_power(struct dvb_frontend
*fe
)
136 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
140 static inline struct i2c_adapter
*dib7090_get_i2c_tuner(struct dvb_frontend
*fe
)
142 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
146 static inline int dib7090_slave_reset(struct dvb_frontend
*fe
)
148 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
152 static inline int dib7000p_get_agc_values(struct dvb_frontend
*fe
,
153 u16
*agc_global
, u16
*agc1
, u16
*agc2
, u16
*wbd
)
155 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);
159 static inline int dib7000p_set_agc1_min(struct dvb_frontend
*fe
, u16 v
)
161 printk(KERN_WARNING
"%s: driver disabled by Kconfig\n", __func__
);