home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / drivers / media / dvb / frontends / dib7000p.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.6 KB  |  93 lines

  1. #ifndef DIB7000P_H
  2. #define DIB7000P_H
  3.  
  4. #include "dibx000_common.h"
  5.  
  6. struct dib7000p_config {
  7.     u8 output_mpeg2_in_188_bytes;
  8.     u8 hostbus_diversity;
  9.     u8 tuner_is_baseband;
  10.     int (*update_lna) (struct dvb_frontend *, u16 agc_global);
  11.  
  12.     u8 agc_config_count;
  13.     struct dibx000_agc_config *agc;
  14.     struct dibx000_bandwidth_config *bw;
  15.  
  16. #define DIB7000P_GPIO_DEFAULT_DIRECTIONS 0xffff
  17.     u16 gpio_dir;
  18. #define DIB7000P_GPIO_DEFAULT_VALUES     0x0000
  19.     u16 gpio_val;
  20. #define DIB7000P_GPIO_PWM_POS0(v)        ((v & 0xf) << 12)
  21. #define DIB7000P_GPIO_PWM_POS1(v)        ((v & 0xf) << 8 )
  22. #define DIB7000P_GPIO_PWM_POS2(v)        ((v & 0xf) << 4 )
  23. #define DIB7000P_GPIO_PWM_POS3(v)         (v & 0xf)
  24. #define DIB7000P_GPIO_DEFAULT_PWM_POS    0xffff
  25.     u16 gpio_pwm_pos;
  26.  
  27.     u16 pwm_freq_div;
  28.  
  29.     u8 quartz_direct;
  30.  
  31.     u8 spur_protect;
  32.  
  33.     int (*agc_control) (struct dvb_frontend *, u8 before);
  34.  
  35.     u8 output_mode;
  36. };
  37.  
  38. #define DEFAULT_DIB7000P_I2C_ADDRESS 18
  39.  
  40. #if defined(CONFIG_DVB_DIB7000P) || (defined(CONFIG_DVB_DIB7000P_MODULE) && defined(MODULE))
  41. extern struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap,
  42.                         u8 i2c_addr,
  43.                         struct dib7000p_config *cfg);
  44. extern struct i2c_adapter *dib7000p_get_i2c_master(struct dvb_frontend *,
  45.                            enum dibx000_i2c_interface,
  46.                            int);
  47. extern int dib7000p_i2c_enumeration(struct i2c_adapter *i2c,
  48.                     int no_of_demods, u8 default_addr,
  49.                     struct dib7000p_config cfg[]);
  50. extern int dib7000p_set_gpio(struct dvb_frontend *, u8 num, u8 dir, u8 val);
  51. extern int dib7000p_set_wbd_ref(struct dvb_frontend *, u16 value);
  52. #else
  53. static inline struct dvb_frontend *dib7000p_attach(struct i2c_adapter *i2c_adap,
  54.                            u8 i2c_addr,
  55.                            struct dib7000p_config *cfg)
  56. {
  57.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  58.     return NULL;
  59. }
  60.  
  61. static inline
  62. struct i2c_adapter *dib7000p_get_i2c_master(struct dvb_frontend *fe,
  63.                         enum dibx000_i2c_interface i, int x)
  64. {
  65.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  66.     return NULL;
  67. }
  68.  
  69. extern int dib7000p_i2c_enumeration(struct i2c_adapter *i2c,
  70.                     int no_of_demods, u8 default_addr,
  71.                     struct dib7000p_config cfg[])
  72. {
  73.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  74.     return -ENODEV;
  75. }
  76.  
  77. extern int dib7000p_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val)
  78. {
  79.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  80.     return -ENODEV;
  81. }
  82.  
  83. extern int dib7000p_set_wbd_ref(struct dvb_frontend *fe, u16 value)
  84. {
  85.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  86.     return -ENODEV;
  87. }
  88. #endif
  89.  
  90. extern int dib7000pc_detection(struct i2c_adapter *i2c_adap);
  91.  
  92. #endif
  93.