max2175.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Maxim Integrated MAX2175 RF to Bits tuner driver
  4. *
  5. * This driver & most of the hard coded values are based on the reference
  6. * application delivered by Maxim for this device.
  7. *
  8. * Copyright (C) 2016 Maxim Integrated Products
  9. * Copyright (C) 2017 Renesas Electronics Corporation
  10. */
  11. #ifndef __MAX2175_H__
  12. #define __MAX2175_H__
  13. #define MAX2175_EU_XTAL_FREQ 36864000 /* In Hz */
  14. #define MAX2175_NA_XTAL_FREQ 40186125 /* In Hz */
  15. enum max2175_region {
  16. MAX2175_REGION_EU = 0, /* Europe */
  17. MAX2175_REGION_NA, /* North America */
  18. };
  19. enum max2175_band {
  20. MAX2175_BAND_AM = 0,
  21. MAX2175_BAND_FM,
  22. MAX2175_BAND_VHF,
  23. MAX2175_BAND_L,
  24. };
  25. enum max2175_eu_mode {
  26. /* EU modes */
  27. MAX2175_EU_FM_1_2 = 0,
  28. MAX2175_DAB_1_2,
  29. /*
  30. * Other possible modes to add in future
  31. * MAX2175_DAB_1_0,
  32. * MAX2175_DAB_1_3,
  33. * MAX2175_EU_FM_2_2,
  34. * MAX2175_EU_FMHD_4_0,
  35. * MAX2175_EU_AM_1_0,
  36. * MAX2175_EU_AM_2_2,
  37. */
  38. };
  39. enum max2175_na_mode {
  40. /* NA modes */
  41. MAX2175_NA_FM_1_0 = 0,
  42. MAX2175_NA_FM_2_0,
  43. /*
  44. * Other possible modes to add in future
  45. * MAX2175_NA_FMHD_1_0,
  46. * MAX2175_NA_FMHD_1_2,
  47. * MAX2175_NA_AM_1_0,
  48. * MAX2175_NA_AM_1_2,
  49. */
  50. };
  51. /* Supported I2S modes */
  52. enum {
  53. MAX2175_I2S_MODE0 = 0,
  54. MAX2175_I2S_MODE1,
  55. MAX2175_I2S_MODE2,
  56. MAX2175_I2S_MODE3,
  57. MAX2175_I2S_MODE4,
  58. };
  59. /* Coefficient table groups */
  60. enum {
  61. MAX2175_CH_MSEL = 0,
  62. MAX2175_EQ_MSEL,
  63. MAX2175_AA_MSEL,
  64. };
  65. /* HSLS LO injection polarity */
  66. enum {
  67. MAX2175_LO_BELOW_DESIRED = 0,
  68. MAX2175_LO_ABOVE_DESIRED,
  69. };
  70. /* Channel FSM modes */
  71. enum max2175_csm_mode {
  72. MAX2175_LOAD_TO_BUFFER = 0,
  73. MAX2175_PRESET_TUNE,
  74. MAX2175_SEARCH,
  75. MAX2175_AF_UPDATE,
  76. MAX2175_JUMP_FAST_TUNE,
  77. MAX2175_CHECK,
  78. MAX2175_LOAD_AND_SWAP,
  79. MAX2175_END,
  80. MAX2175_BUFFER_PLUS_PRESET_TUNE,
  81. MAX2175_BUFFER_PLUS_SEARCH,
  82. MAX2175_BUFFER_PLUS_AF_UPDATE,
  83. MAX2175_BUFFER_PLUS_JUMP_FAST_TUNE,
  84. MAX2175_BUFFER_PLUS_CHECK,
  85. MAX2175_BUFFER_PLUS_LOAD_AND_SWAP,
  86. MAX2175_NO_ACTION
  87. };
  88. #endif /* __MAX2175_H__ */