rt715-sdca-sdw.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * rt715-sdca-sdw.h -- RT715 ALSA SoC audio driver header
  4. *
  5. * Copyright(c) 2020 Realtek Semiconductor Corp.
  6. */
  7. #ifndef __RT715_SDW_SDCA_H__
  8. #define __RT715_SDW_SDCA_H__
  9. #include <linux/soundwire/sdw_registers.h>
  10. static const struct reg_default rt715_reg_defaults_sdca[] = {
  11. { 0x201a, 0x00 },
  12. { 0x201e, 0x00 },
  13. { 0x2020, 0x00 },
  14. { 0x2021, 0x00 },
  15. { 0x2022, 0x00 },
  16. { 0x2023, 0x00 },
  17. { 0x2024, 0x00 },
  18. { 0x2025, 0x01 },
  19. { 0x2026, 0x00 },
  20. { 0x2027, 0x00 },
  21. { 0x2029, 0x00 },
  22. { 0x202a, 0x00 },
  23. { 0x202d, 0x00 },
  24. { 0x202e, 0x00 },
  25. { 0x202f, 0x00 },
  26. { 0x2030, 0x00 },
  27. { 0x2031, 0x00 },
  28. { 0x2032, 0x00 },
  29. { 0x2033, 0x00 },
  30. { 0x2034, 0x00 },
  31. { 0x2230, 0x00 },
  32. { 0x2231, 0x2f },
  33. { 0x2232, 0x80 },
  34. { 0x2233, 0x00 },
  35. { 0x2234, 0x00 },
  36. { 0x2235, 0x00 },
  37. { 0x2236, 0x00 },
  38. { 0x2237, 0x00 },
  39. { 0x2238, 0x00 },
  40. { 0x2239, 0x00 },
  41. { 0x2f01, 0x00 },
  42. { 0x2f02, 0x09 },
  43. { 0x2f03, 0x0b },
  44. { 0x2f04, 0x00 },
  45. { 0x2f05, 0x0e },
  46. { 0x2f06, 0x01 },
  47. { 0x2f08, 0x00 },
  48. { 0x2f09, 0x00 },
  49. { 0x2f0a, 0x00 },
  50. { 0x2f0b, 0x00 },
  51. { 0x2f0c, 0x00 },
  52. { 0x2f0d, 0x00 },
  53. { 0x2f0e, 0x12 },
  54. { 0x2f0f, 0x00 },
  55. { 0x2f10, 0x00 },
  56. { 0x2f11, 0x00 },
  57. { 0x2f12, 0x00 },
  58. { 0x2f13, 0x00 },
  59. { 0x2f14, 0x00 },
  60. { 0x2f15, 0x00 },
  61. { 0x2f16, 0x00 },
  62. { 0x2f17, 0x00 },
  63. { 0x2f18, 0x00 },
  64. { 0x2f19, 0x03 },
  65. { 0x2f1a, 0x00 },
  66. { 0x2f1f, 0x10 },
  67. { 0x2f20, 0x00 },
  68. { 0x2f21, 0x00 },
  69. { 0x2f22, 0x00 },
  70. { 0x2f23, 0x00 },
  71. { 0x2f24, 0x00 },
  72. { 0x2f25, 0x00 },
  73. { 0x2f52, 0x01 },
  74. { 0x2f5a, 0x02 },
  75. { 0x2f5b, 0x05 },
  76. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_CX_CLK_SEL_EN,
  77. RT715_SDCA_CX_CLK_SEL_CTRL, CH_00), 0x1 },
  78. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  79. RT715_SDCA_FU_MUTE_CTRL, CH_01), 0x01 },
  80. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  81. RT715_SDCA_FU_MUTE_CTRL, CH_02), 0x01 },
  82. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  83. RT715_SDCA_FU_MUTE_CTRL, CH_03), 0x01 },
  84. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  85. RT715_SDCA_FU_MUTE_CTRL, CH_04), 0x01 },
  86. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  87. RT715_SDCA_FU_MUTE_CTRL, CH_01), 0x01 },
  88. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  89. RT715_SDCA_FU_MUTE_CTRL, CH_02), 0x01 },
  90. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  91. RT715_SDCA_FU_MUTE_CTRL, CH_03), 0x01 },
  92. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  93. RT715_SDCA_FU_MUTE_CTRL, CH_04), 0x01 },
  94. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC7_27_VOL,
  95. RT715_SDCA_FU_MUTE_CTRL, CH_01), 0x01 },
  96. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC7_27_VOL,
  97. RT715_SDCA_FU_MUTE_CTRL, CH_02), 0x01 },
  98. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_SMPU_TRIG_ST_EN,
  99. RT715_SDCA_SMPU_TRIG_EN_CTRL, CH_00), 0x02 },
  100. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_SMPU_TRIG_ST_EN,
  101. RT715_SDCA_SMPU_TRIG_ST_CTRL, CH_00), 0x00 },
  102. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC7_27_VOL,
  103. RT715_SDCA_FU_MUTE_CTRL, CH_01), 0x01 },
  104. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC7_27_VOL,
  105. RT715_SDCA_FU_MUTE_CTRL, CH_02), 0x01 },
  106. };
  107. static const struct reg_default rt715_mbq_reg_defaults_sdca[] = {
  108. { 0x200002b, 0x0420 },
  109. { 0x2000036, 0x0000 },
  110. { 0x2000037, 0x0000 },
  111. { 0x2000039, 0xaa81 },
  112. { 0x2000044, 0x0202 },
  113. { 0x6100000, 0x0100 },
  114. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  115. RT715_SDCA_FU_VOL_CTRL, CH_01), 0x00 },
  116. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  117. RT715_SDCA_FU_VOL_CTRL, CH_02), 0x00 },
  118. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  119. RT715_SDCA_FU_VOL_CTRL, CH_03), 0x00 },
  120. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC8_9_VOL,
  121. RT715_SDCA_FU_VOL_CTRL, CH_04), 0x00 },
  122. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  123. RT715_SDCA_FU_VOL_CTRL, CH_01), 0x00 },
  124. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  125. RT715_SDCA_FU_VOL_CTRL, CH_02), 0x00 },
  126. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  127. RT715_SDCA_FU_VOL_CTRL, CH_03), 0x00 },
  128. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC10_11_VOL,
  129. RT715_SDCA_FU_VOL_CTRL, CH_04), 0x00 },
  130. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC7_27_VOL,
  131. RT715_SDCA_FU_VOL_CTRL, CH_01), 0x00 },
  132. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_ADC7_27_VOL,
  133. RT715_SDCA_FU_VOL_CTRL, CH_02), 0x00 },
  134. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  135. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_01), 0x00 },
  136. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  137. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_02), 0x00 },
  138. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  139. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_03), 0x00 },
  140. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  141. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_04), 0x00 },
  142. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  143. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_05), 0x00 },
  144. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  145. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_06), 0x00 },
  146. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  147. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_07), 0x00 },
  148. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_AMIC_GAIN_EN,
  149. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_08), 0x00 },
  150. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  151. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_01), 0x00 },
  152. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  153. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_02), 0x00 },
  154. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  155. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_03), 0x00 },
  156. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  157. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_04), 0x00 },
  158. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  159. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_05), 0x00 },
  160. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  161. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_06), 0x00 },
  162. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  163. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_07), 0x00 },
  164. { SDW_SDCA_CTL(FUN_MIC_ARRAY, RT715_SDCA_FU_DMIC_GAIN_EN,
  165. RT715_SDCA_FU_DMIC_GAIN_CTRL, CH_08), 0x00 },
  166. };
  167. #endif /* __RT715_SDW_SDCA_H__ */