root/drivers/media/dvb-frontends/dib9000.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. dib9000_attach
  2. dib9000_get_i2c_master
  3. dib9000_i2c_enumeration
  4. dib9000_get_tuner_interface
  5. dib9000_set_gpio
  6. dib9000_fw_pid_filter_ctrl
  7. dib9000_fw_pid_filter
  8. dib9000_firmware_post_pll_init
  9. dib9000_set_slave_frontend
  10. dib9000_get_slave_frontend
  11. dib9000_get_component_bus_interface
  12. dib9000_set_i2c_adapter
  13. dib9000_fw_set_component_bus_speed

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef DIB9000_H
   3 #define DIB9000_H
   4 
   5 #include "dibx000_common.h"
   6 
   7 struct dib9000_config {
   8         u8 dvbt_mode;
   9         u8 output_mpeg2_in_188_bytes;
  10         u8 hostbus_diversity;
  11         struct dibx000_bandwidth_config *bw;
  12 
  13         u16 if_drives;
  14 
  15         u32 timing_frequency;
  16         u32 xtal_clock_khz;
  17         u32 vcxo_timer;
  18         u32 demod_clock_khz;
  19 
  20         const u8 *microcode_B_fe_buffer;
  21         u32 microcode_B_fe_size;
  22 
  23         struct dibGPIOFunction gpio_function[2];
  24         struct dibSubbandSelection subband;
  25 
  26         u8 output_mode;
  27 };
  28 
  29 #define DEFAULT_DIB9000_I2C_ADDRESS 18
  30 
  31 #if IS_REACHABLE(CONFIG_DVB_DIB9000)
  32 extern struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, const struct dib9000_config *cfg);
  33 extern int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr);
  34 extern struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe);
  35 extern struct i2c_adapter *dib9000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interface intf, int gating);
  36 extern int dib9000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val);
  37 extern int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff);
  38 extern int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff);
  39 extern int dib9000_firmware_post_pll_init(struct dvb_frontend *fe);
  40 extern int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave);
  41 extern struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int slave_index);
  42 extern struct i2c_adapter *dib9000_get_component_bus_interface(struct dvb_frontend *fe);
  43 extern int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c);
  44 extern int dib9000_fw_set_component_bus_speed(struct dvb_frontend *fe, u16 speed);
  45 #else
  46 static inline struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib9000_config *cfg)
  47 {
  48         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  49         return NULL;
  50 }
  51 
  52 static inline struct i2c_adapter *dib9000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interface intf, int gating)
  53 {
  54         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  55         return NULL;
  56 }
  57 
  58 static inline int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr)
  59 {
  60         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  61         return -ENODEV;
  62 }
  63 
  64 static inline struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe)
  65 {
  66         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  67         return NULL;
  68 }
  69 
  70 static inline int dib9000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val)
  71 {
  72         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  73         return -ENODEV;
  74 }
  75 
  76 static inline int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff)
  77 {
  78         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  79         return -ENODEV;
  80 }
  81 
  82 static inline int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff)
  83 {
  84         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  85         return -ENODEV;
  86 }
  87 
  88 static inline int dib9000_firmware_post_pll_init(struct dvb_frontend *fe)
  89 {
  90         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  91         return -ENODEV;
  92 }
  93 
  94 static inline int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave)
  95 {
  96         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  97         return -ENODEV;
  98 }
  99 
 100 static inline struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int slave_index)
 101 {
 102         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 103         return NULL;
 104 }
 105 
 106 static inline struct i2c_adapter *dib9000_get_component_bus_interface(struct dvb_frontend *fe)
 107 {
 108         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 109         return NULL;
 110 }
 111 
 112 static inline int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c)
 113 {
 114         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 115         return -ENODEV;
 116 }
 117 
 118 static inline int dib9000_fw_set_component_bus_speed(struct dvb_frontend *fe, u16 speed)
 119 {
 120         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 121         return -ENODEV;
 122 }
 123 #endif
 124 
 125 #endif

/* [<][>][^][v][top][bottom][index][help] */