stv0367.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * stv0367.h
  3. *
  4. * Driver for ST STV0367 DVB-T & DVB-C demodulator IC.
  5. *
  6. * Copyright (C) ST Microelectronics.
  7. * Copyright (C) 2010,2011 NetUP Inc.
  8. * Copyright (C) 2010,2011 Igor M. Liplianin <liplianin@netup.ru>
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License as published by
  12. * the Free Software Foundation; either version 2 of the License, or
  13. * (at your option) any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. *
  19. * GNU General Public License for more details.
  20. */
  21. #ifndef STV0367_H
  22. #define STV0367_H
  23. #include <linux/dvb/frontend.h>
  24. #include <media/dvb_frontend.h>
  25. #define STV0367_ICSPEED_53125 53125000
  26. #define STV0367_ICSPEED_58000 58000000
  27. struct stv0367_config {
  28. u8 demod_address;
  29. u32 xtal;
  30. u32 if_khz;/*4500*/
  31. int if_iq_mode;
  32. int ts_mode;
  33. int clk_pol;
  34. };
  35. #if IS_REACHABLE(CONFIG_DVB_STV0367)
  36. extern struct
  37. dvb_frontend *stv0367ter_attach(const struct stv0367_config *config,
  38. struct i2c_adapter *i2c);
  39. extern struct
  40. dvb_frontend *stv0367cab_attach(const struct stv0367_config *config,
  41. struct i2c_adapter *i2c);
  42. extern struct
  43. dvb_frontend *stv0367ddb_attach(const struct stv0367_config *config,
  44. struct i2c_adapter *i2c);
  45. #else
  46. static inline struct
  47. dvb_frontend *stv0367ter_attach(const struct stv0367_config *config,
  48. struct i2c_adapter *i2c)
  49. {
  50. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  51. return NULL;
  52. }
  53. static inline struct
  54. dvb_frontend *stv0367cab_attach(const struct stv0367_config *config,
  55. struct i2c_adapter *i2c)
  56. {
  57. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  58. return NULL;
  59. }
  60. static inline struct
  61. dvb_frontend *stv0367ddb_attach(const struct stv0367_config *config,
  62. struct i2c_adapter *i2c)
  63. {
  64. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  65. return NULL;
  66. }
  67. #endif
  68. #endif