max2175.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /*
  2. * Maxim Integrated MAX2175 RF to Bits tuner driver
  3. *
  4. * This driver & most of the hard coded values are based on the reference
  5. * application delivered by Maxim for this device.
  6. *
  7. * Copyright (C) 2016 Maxim Integrated Products
  8. * Copyright (C) 2017 Renesas Electronics Corporation
  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 version 2
  12. * as published by the Free Software Foundation.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. */
  19. #ifndef __MAX2175_H__
  20. #define __MAX2175_H__
  21. #define MAX2175_EU_XTAL_FREQ 36864000 /* In Hz */
  22. #define MAX2175_NA_XTAL_FREQ 40186125 /* In Hz */
  23. enum max2175_region {
  24. MAX2175_REGION_EU = 0, /* Europe */
  25. MAX2175_REGION_NA, /* North America */
  26. };
  27. enum max2175_band {
  28. MAX2175_BAND_AM = 0,
  29. MAX2175_BAND_FM,
  30. MAX2175_BAND_VHF,
  31. MAX2175_BAND_L,
  32. };
  33. enum max2175_eu_mode {
  34. /* EU modes */
  35. MAX2175_EU_FM_1_2 = 0,
  36. MAX2175_DAB_1_2,
  37. /*
  38. * Other possible modes to add in future
  39. * MAX2175_DAB_1_0,
  40. * MAX2175_DAB_1_3,
  41. * MAX2175_EU_FM_2_2,
  42. * MAX2175_EU_FMHD_4_0,
  43. * MAX2175_EU_AM_1_0,
  44. * MAX2175_EU_AM_2_2,
  45. */
  46. };
  47. enum max2175_na_mode {
  48. /* NA modes */
  49. MAX2175_NA_FM_1_0 = 0,
  50. MAX2175_NA_FM_2_0,
  51. /*
  52. * Other possible modes to add in future
  53. * MAX2175_NA_FMHD_1_0,
  54. * MAX2175_NA_FMHD_1_2,
  55. * MAX2175_NA_AM_1_0,
  56. * MAX2175_NA_AM_1_2,
  57. */
  58. };
  59. /* Supported I2S modes */
  60. enum {
  61. MAX2175_I2S_MODE0 = 0,
  62. MAX2175_I2S_MODE1,
  63. MAX2175_I2S_MODE2,
  64. MAX2175_I2S_MODE3,
  65. MAX2175_I2S_MODE4,
  66. };
  67. /* Coefficient table groups */
  68. enum {
  69. MAX2175_CH_MSEL = 0,
  70. MAX2175_EQ_MSEL,
  71. MAX2175_AA_MSEL,
  72. };
  73. /* HSLS LO injection polarity */
  74. enum {
  75. MAX2175_LO_BELOW_DESIRED = 0,
  76. MAX2175_LO_ABOVE_DESIRED,
  77. };
  78. /* Channel FSM modes */
  79. enum max2175_csm_mode {
  80. MAX2175_LOAD_TO_BUFFER = 0,
  81. MAX2175_PRESET_TUNE,
  82. MAX2175_SEARCH,
  83. MAX2175_AF_UPDATE,
  84. MAX2175_JUMP_FAST_TUNE,
  85. MAX2175_CHECK,
  86. MAX2175_LOAD_AND_SWAP,
  87. MAX2175_END,
  88. MAX2175_BUFFER_PLUS_PRESET_TUNE,
  89. MAX2175_BUFFER_PLUS_SEARCH,
  90. MAX2175_BUFFER_PLUS_AF_UPDATE,
  91. MAX2175_BUFFER_PLUS_JUMP_FAST_TUNE,
  92. MAX2175_BUFFER_PLUS_CHECK,
  93. MAX2175_BUFFER_PLUS_LOAD_AND_SWAP,
  94. MAX2175_NO_ACTION
  95. };
  96. #endif /* __MAX2175_H__ */