mxl5005s.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * For the Realtek RTL chip RTL2831U
  3. * Realtek Release Date: 2008-03-14, ver 080314
  4. * Realtek version RTL2831 Linux driver version 080314
  5. * ver 080314
  6. *
  7. * for linux kernel version 2.6.21.4 - 2.6.22-14
  8. * support MXL5005s and MT2060 tuners (support tuner auto-detecting)
  9. * support two IR types -- RC5 and NEC
  10. *
  11. * Known boards with Realtek RTL chip RTL2821U
  12. * Freecom USB stick 14aa:0160 (version 4)
  13. * Conceptronic CTVDIGRCU
  14. *
  15. * Copyright (c) 2008 Realtek
  16. * Copyright (c) 2008 Jan Hoogenraad, Barnaby Shearer, Andy Hasper
  17. * This code is placed under the terms of the GNU General Public License
  18. *
  19. * Released by Realtek under GPLv2.
  20. * Thanks to Realtek for a lot of support we received !
  21. *
  22. * Revision: 080314 - original version
  23. */
  24. #ifndef __MXL5005S_H
  25. #define __MXL5005S_H
  26. #include <linux/dvb/frontend.h>
  27. /* IF frequency */
  28. enum IF_FREQ_HZ
  29. {
  30. IF_FREQ_4570000HZ = 4570000, ///< IF frequency = 4.57 MHz
  31. IF_FREQ_4571429HZ = 4571429, ///< IF frequency = 4.571 MHz
  32. IF_FREQ_5380000HZ = 5380000, ///< IF frequency = 5.38 MHz
  33. IF_FREQ_36000000HZ = 36000000, ///< IF frequency = 36.000 MHz
  34. IF_FREQ_36125000HZ = 36125000, ///< IF frequency = 36.125 MHz
  35. IF_FREQ_36166667HZ = 36166667, ///< IF frequency = 36.167 MHz
  36. IF_FREQ_44000000HZ = 44000000, ///< IF frequency = 44.000 MHz
  37. };
  38. /* Crystal frequency */
  39. enum CRYSTAL_FREQ_HZ
  40. {
  41. CRYSTAL_FREQ_4000000HZ = 4000000, ///< Crystal frequency = 4.0 MHz
  42. CRYSTAL_FREQ_16000000HZ = 16000000, ///< Crystal frequency = 16.0 MHz
  43. CRYSTAL_FREQ_25000000HZ = 25000000, ///< Crystal frequency = 25.0 MHz
  44. CRYSTAL_FREQ_28800000HZ = 28800000, ///< Crystal frequency = 28.8 MHz
  45. };
  46. struct mxl5005s_config
  47. {
  48. u8 i2c_address;
  49. /* Stuff I don't know what to do with */
  50. u8 AgcMasterByte;
  51. };
  52. #if defined(CONFIG_MEDIA_TUNER_MXL5005S) || (defined(CONFIG_MEDIA_TUNER_MXL5005S_MODULE) && defined(MODULE))
  53. extern struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe,
  54. struct i2c_adapter *i2c,
  55. struct mxl5005s_config *config);
  56. #else
  57. static inline struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe,
  58. struct i2c_adapter *i2c,
  59. struct mxl5005s_config *config)
  60. {
  61. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  62. return NULL;
  63. }
  64. #endif /* CONFIG_DVB_TUNER_MXL5005S */
  65. #endif /* __MXL5005S_H */