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

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

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. dib3000mc_attach
  2. dib3000mc_i2c_enumeration
  3. dib3000mc_get_tuner_i2c_master

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Driver for DiBcom DiB3000MC/P-demodulator.
   4  *
   5  * Copyright (C) 2004-6 DiBcom (http://www.dibcom.fr/)
   6  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
   7  *
   8  * This code is partially based on the previous dib3000mc.c .
   9  */
  10 #ifndef DIB3000MC_H
  11 #define DIB3000MC_H
  12 
  13 #include "dibx000_common.h"
  14 
  15 struct dib3000mc_config {
  16         struct dibx000_agc_config *agc;
  17 
  18         u8 phase_noise_mode;
  19         u8 impulse_noise_mode;
  20 
  21         u8  pwm3_inversion;
  22         u8  use_pwm3;
  23         u16 pwm3_value;
  24 
  25         u16 max_time;
  26         u16 ln_adc_level;
  27 
  28         u8 agc_command1 :1;
  29         u8 agc_command2 :1;
  30 
  31         u8 mobile_mode;
  32 
  33         u8 output_mpeg2_in_188_bytes;
  34 };
  35 
  36 #define DEFAULT_DIB3000MC_I2C_ADDRESS 16
  37 #define DEFAULT_DIB3000P_I2C_ADDRESS  24
  38 
  39 #if IS_REACHABLE(CONFIG_DVB_DIB3000MC)
  40 extern struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap,
  41                                              u8 i2c_addr,
  42                                              struct dib3000mc_config *cfg);
  43 extern int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c,
  44                                      int no_of_demods, u8 default_addr,
  45                                      struct dib3000mc_config cfg[]);
  46 extern
  47 struct i2c_adapter *dib3000mc_get_tuner_i2c_master(struct dvb_frontend *demod,
  48                                                    int gating);
  49 #else
  50 static inline
  51 struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr,
  52                                       struct dib3000mc_config *cfg)
  53 {
  54         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  55         return NULL;
  56 }
  57 
  58 static inline
  59 int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c,
  60                               int no_of_demods, u8 default_addr,
  61                               struct dib3000mc_config cfg[])
  62 {
  63         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  64         return -ENODEV;
  65 }
  66 
  67 static inline
  68 struct i2c_adapter *dib3000mc_get_tuner_i2c_master(struct dvb_frontend *demod,
  69                                                    int gating)
  70 {
  71         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  72         return NULL;
  73 }
  74 #endif // CONFIG_DVB_DIB3000MC
  75 
  76 extern int dib3000mc_pid_control(struct dvb_frontend *fe, int index, int pid,int onoff);
  77 extern int dib3000mc_pid_parse(struct dvb_frontend *fe, int onoff);
  78 
  79 extern void dib3000mc_set_config(struct dvb_frontend *, struct dib3000mc_config *);
  80 
  81 #endif

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