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 / dib0070.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.7 KB  |  64 lines

  1. /*
  2.  * Linux-DVB Driver for DiBcom's DiB0070 base-band RF Tuner.
  3.  *
  4.  * Copyright (C) 2005-7 DiBcom (http://www.dibcom.fr/)
  5.  *
  6.  * This program is free software; you can redistribute it and/or
  7.  *    modify it under the terms of the GNU General Public License as
  8.  *    published by the Free Software Foundation, version 2.
  9.  */
  10. #ifndef DIB0070_H
  11. #define DIB0070_H
  12.  
  13. struct dvb_frontend;
  14. struct i2c_adapter;
  15.  
  16. #define DEFAULT_DIB0070_I2C_ADDRESS 0x60
  17.  
  18. struct dib0070_config {
  19.     u8 i2c_address;
  20.  
  21.     /* tuner pins controlled externally */
  22.     int (*reset) (struct dvb_frontend *, int);
  23.     int (*sleep) (struct dvb_frontend *, int);
  24.  
  25.     /*  offset in kHz */
  26.     int freq_offset_khz_uhf;
  27.     int freq_offset_khz_vhf;
  28.  
  29.     u8 osc_buffer_state; /* 0= normal, 1= tri-state */
  30.     u32  clock_khz;
  31.     u8 clock_pad_drive; /* (Drive + 1) * 2mA */
  32.  
  33.     u8 invert_iq; /* invert Q - in case I or Q is inverted on the board */
  34.  
  35.     u8 force_crystal_mode; /* if == 0 -> decision is made in the driver default: <24 -> 2, >=24 -> 1 */
  36.  
  37.     u8 flip_chip;
  38. };
  39.  
  40. #if defined(CONFIG_DVB_TUNER_DIB0070) || (defined(CONFIG_DVB_TUNER_DIB0070_MODULE) && defined(MODULE))
  41. extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe,
  42.                        struct i2c_adapter *i2c,
  43.                        struct dib0070_config *cfg);
  44. extern u16 dib0070_wbd_offset(struct dvb_frontend *);
  45. #else
  46. static inline struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe,
  47.                           struct i2c_adapter *i2c,
  48.                           struct dib0070_config *cfg)
  49. {
  50.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  51.     return NULL;
  52. }
  53.  
  54. static inline u16 dib0070_wbd_offset(struct dvb_frontend *fe)
  55. {
  56.     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  57.     return -ENODEV;
  58. }
  59. #endif
  60.  
  61. extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, uint8_t open);
  62.  
  63. #endif
  64.