da732x.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * da732x.h -- Dialog DA732X ALSA SoC Audio Driver Header File
  4. *
  5. * Copyright (C) 2012 Dialog Semiconductor GmbH
  6. *
  7. * Author: Michal Hajduk <Michal.Hajduk@diasemi.com>
  8. */
  9. #ifndef __DA732X_H_
  10. #define __DA732X_H_
  11. #include <sound/soc.h>
  12. /* General */
  13. #define DA732X_U8_MASK 0xFF
  14. #define DA732X_4BYTES 4
  15. #define DA732X_3BYTES 3
  16. #define DA732X_2BYTES 2
  17. #define DA732X_1BYTE 1
  18. #define DA732X_1BYTE_SHIFT 8
  19. #define DA732X_2BYTES_SHIFT 16
  20. #define DA732X_3BYTES_SHIFT 24
  21. #define DA732X_4BYTES_SHIFT 32
  22. #define DA732X_DACS_DIS 0x0
  23. #define DA732X_HP_DIS 0x0
  24. #define DA732X_CLEAR_REG 0x0
  25. /* Calibration */
  26. #define DA732X_DAC_OFFSET_STEP 0x20
  27. #define DA732X_OUTPUT_OFFSET_STEP 0x80
  28. #define DA732X_HP_OUT_TRIM_VAL 0x0
  29. #define DA732X_WAIT_FOR_STABILIZATION 1
  30. #define DA732X_HPL_DAC 0
  31. #define DA732X_HPR_DAC 1
  32. #define DA732X_HP_DACS 2
  33. #define DA732X_HPL_AMP 0
  34. #define DA732X_HPR_AMP 1
  35. #define DA732X_HP_AMPS 2
  36. /* Clock settings */
  37. #define DA732X_STARTUP_DELAY 100
  38. #define DA732X_PLL_OUT_196608 196608000
  39. #define DA732X_PLL_OUT_180634 180633600
  40. #define DA732X_PLL_OUT_SRM 188620800
  41. #define DA732X_MCLK_10MHZ 10000000
  42. #define DA732X_MCLK_20MHZ 20000000
  43. #define DA732X_MCLK_40MHZ 40000000
  44. #define DA732X_MCLK_54MHZ 54000000
  45. #define DA732X_MCLK_RET_0_10MHZ 0
  46. #define DA732X_MCLK_VAL_0_10MHZ 1
  47. #define DA732X_MCLK_RET_10_20MHZ 1
  48. #define DA732X_MCLK_VAL_10_20MHZ 2
  49. #define DA732X_MCLK_RET_20_40MHZ 2
  50. #define DA732X_MCLK_VAL_20_40MHZ 4
  51. #define DA732X_MCLK_RET_40_54MHZ 3
  52. #define DA732X_MCLK_VAL_40_54MHZ 8
  53. #define DA732X_DAI_ID1 0
  54. #define DA732X_DAI_ID2 1
  55. #define DA732X_SRCCLK_PLL 0
  56. #define DA732X_SRCCLK_MCLK 1
  57. #define DA732X_LIN_LP_VOL 0x4F
  58. #define DA732X_LP_VOL 0x40
  59. /* Kcontrols */
  60. #define DA732X_DAC_EN_MAX 2
  61. #define DA732X_ADCL_MUX_MAX 2
  62. #define DA732X_ADCR_MUX_MAX 3
  63. #define DA732X_HPF_MODE_MAX 3
  64. #define DA732X_HPF_MODE_SHIFT 4
  65. #define DA732X_HPF_MUSIC_SHIFT 0
  66. #define DA732X_HPF_MUSIC_MAX 4
  67. #define DA732X_HPF_VOICE_SHIFT 4
  68. #define DA732X_HPF_VOICE_MAX 8
  69. #define DA732X_EQ_EN_MAX 1
  70. #define DA732X_HPF_VOICE 1
  71. #define DA732X_HPF_MUSIC 2
  72. #define DA732X_HPF_DISABLED 0
  73. #define DA732X_NO_INVERT 0
  74. #define DA732X_INVERT 1
  75. #define DA732X_SWITCH_MAX 1
  76. #define DA732X_ENABLE_CP 1
  77. #define DA732X_DISABLE_CP 0
  78. #define DA732X_DISABLE_ALL_CLKS 0
  79. #define DA732X_RESET_ADCS 0
  80. /* dB values */
  81. #define DA732X_MIC_VOL_DB_MIN 0
  82. #define DA732X_MIC_VOL_DB_INC 50
  83. #define DA732X_MIC_PRE_VOL_DB_MIN 0
  84. #define DA732X_MIC_PRE_VOL_DB_INC 600
  85. #define DA732X_AUX_VOL_DB_MIN -6000
  86. #define DA732X_AUX_VOL_DB_INC 150
  87. #define DA732X_HP_VOL_DB_MIN -2250
  88. #define DA732X_HP_VOL_DB_INC 150
  89. #define DA732X_LIN2_VOL_DB_MIN -1650
  90. #define DA732X_LIN2_VOL_DB_INC 150
  91. #define DA732X_LIN3_VOL_DB_MIN -1650
  92. #define DA732X_LIN3_VOL_DB_INC 150
  93. #define DA732X_LIN4_VOL_DB_MIN -2250
  94. #define DA732X_LIN4_VOL_DB_INC 150
  95. #define DA732X_EQ_BAND_VOL_DB_MIN -1050
  96. #define DA732X_EQ_BAND_VOL_DB_INC 150
  97. #define DA732X_DAC_VOL_DB_MIN -7725
  98. #define DA732X_DAC_VOL_DB_INC 75
  99. #define DA732X_ADC_VOL_DB_MIN 0
  100. #define DA732X_ADC_VOL_DB_INC -1
  101. #define DA732X_EQ_OVERALL_VOL_DB_MIN -1800
  102. #define DA732X_EQ_OVERALL_VOL_DB_INC 600
  103. enum da732x_sysctl {
  104. DA732X_SR_8KHZ = 0x1,
  105. DA732X_SR_11_025KHZ = 0x2,
  106. DA732X_SR_12KHZ = 0x3,
  107. DA732X_SR_16KHZ = 0x5,
  108. DA732X_SR_22_05KHZ = 0x6,
  109. DA732X_SR_24KHZ = 0x7,
  110. DA732X_SR_32KHZ = 0x9,
  111. DA732X_SR_44_1KHZ = 0xA,
  112. DA732X_SR_48KHZ = 0xB,
  113. DA732X_SR_88_1KHZ = 0xE,
  114. DA732X_SR_96KHZ = 0xF,
  115. };
  116. #endif /* __DA732X_H_ */