cxd2820r_priv.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * Sony CXD2820R demodulator driver
  3. *
  4. * Copyright (C) 2010 Antti Palosaari <crope@iki.fi>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 2 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License along
  17. * with this program; if not, write to the Free Software Foundation, Inc.,
  18. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  19. */
  20. #ifndef CXD2820R_PRIV_H
  21. #define CXD2820R_PRIV_H
  22. #include "dvb_frontend.h"
  23. #include "dvb_math.h"
  24. #include "cxd2820r.h"
  25. #define LOG_PREFIX "cxd2820r"
  26. #undef dbg
  27. #define dbg(f, arg...) \
  28. if (cxd2820r_debug) \
  29. printk(KERN_INFO LOG_PREFIX": " f "\n" , ## arg)
  30. #undef err
  31. #define err(f, arg...) printk(KERN_ERR LOG_PREFIX": " f "\n" , ## arg)
  32. #undef info
  33. #define info(f, arg...) printk(KERN_INFO LOG_PREFIX": " f "\n" , ## arg)
  34. #undef warn
  35. #define warn(f, arg...) printk(KERN_WARNING LOG_PREFIX": " f "\n" , ## arg)
  36. /*
  37. * FIXME: These are totally wrong and must be added properly to the API.
  38. * Only temporary solution in order to get driver compile.
  39. */
  40. #define SYS_DVBT2 SYS_DAB
  41. #define TRANSMISSION_MODE_1K 0
  42. #define TRANSMISSION_MODE_16K 0
  43. #define TRANSMISSION_MODE_32K 0
  44. #define GUARD_INTERVAL_1_128 0
  45. #define GUARD_INTERVAL_19_128 0
  46. #define GUARD_INTERVAL_19_256 0
  47. struct reg_val_mask {
  48. u32 reg;
  49. u8 val;
  50. u8 mask;
  51. };
  52. struct cxd2820r_priv {
  53. struct i2c_adapter *i2c;
  54. struct dvb_frontend fe[2];
  55. struct cxd2820r_config cfg;
  56. struct i2c_adapter tuner_i2c_adapter;
  57. struct mutex fe_lock; /* FE lock */
  58. int active_fe:2; /* FE lock, -1=NONE, 0=DVB-T/T2, 1=DVB-C */
  59. int ber_running:1;
  60. u8 bank[2];
  61. u8 gpio[3];
  62. fe_delivery_system_t delivery_system;
  63. };
  64. #endif /* CXD2820R_PRIV_H */