wsa881x-tables.c 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (c) 2015, The Linux Foundation. All rights reserved.
  4. */
  5. #include <linux/regmap.h>
  6. #include <linux/device.h>
  7. #include "wsa881x-registers.h"
  8. const u8 wsa881x_reg_readable[WSA881X_CACHE_SIZE] = {
  9. [WSA881X_CHIP_ID0] = 1,
  10. [WSA881X_CHIP_ID1] = 1,
  11. [WSA881X_CHIP_ID2] = 1,
  12. [WSA881X_CHIP_ID3] = 1,
  13. [WSA881X_BUS_ID] = 1,
  14. [WSA881X_CDC_RST_CTL] = 1,
  15. [WSA881X_CDC_TOP_CLK_CTL] = 1,
  16. [WSA881X_CDC_ANA_CLK_CTL] = 1,
  17. [WSA881X_CDC_DIG_CLK_CTL] = 1,
  18. [WSA881X_CLOCK_CONFIG] = 1,
  19. [WSA881X_ANA_CTL] = 1,
  20. [WSA881X_SWR_RESET_EN] = 1,
  21. [WSA881X_RESET_CTL] = 1,
  22. [WSA881X_TADC_VALUE_CTL] = 1,
  23. [WSA881X_TEMP_DETECT_CTL] = 1,
  24. [WSA881X_TEMP_MSB] = 1,
  25. [WSA881X_TEMP_LSB] = 1,
  26. [WSA881X_TEMP_CONFIG0] = 1,
  27. [WSA881X_TEMP_CONFIG1] = 1,
  28. [WSA881X_CDC_CLIP_CTL] = 1,
  29. [WSA881X_SDM_PDM9_LSB] = 1,
  30. [WSA881X_SDM_PDM9_MSB] = 1,
  31. [WSA881X_CDC_RX_CTL] = 1,
  32. [WSA881X_DEM_BYPASS_DATA0] = 1,
  33. [WSA881X_DEM_BYPASS_DATA1] = 1,
  34. [WSA881X_DEM_BYPASS_DATA2] = 1,
  35. [WSA881X_DEM_BYPASS_DATA3] = 1,
  36. [WSA881X_OTP_CTRL0] = 1,
  37. [WSA881X_OTP_CTRL1] = 1,
  38. [WSA881X_HDRIVE_CTL_GROUP1] = 1,
  39. [WSA881X_INTR_MODE] = 1,
  40. [WSA881X_INTR_MASK] = 1,
  41. [WSA881X_INTR_STATUS] = 1,
  42. [WSA881X_INTR_CLEAR] = 1,
  43. [WSA881X_INTR_LEVEL] = 1,
  44. [WSA881X_INTR_SET] = 1,
  45. [WSA881X_INTR_TEST] = 1,
  46. [WSA881X_PDM_TEST_MODE] = 1,
  47. [WSA881X_ATE_TEST_MODE] = 1,
  48. [WSA881X_PIN_CTL_MODE] = 1,
  49. [WSA881X_PIN_CTL_OE] = 1,
  50. [WSA881X_PIN_WDATA_IOPAD] = 1,
  51. [WSA881X_PIN_STATUS] = 1,
  52. [WSA881X_DIG_DEBUG_MODE] = 1,
  53. [WSA881X_DIG_DEBUG_SEL] = 1,
  54. [WSA881X_DIG_DEBUG_EN] = 1,
  55. [WSA881X_SWR_HM_TEST1] = 1,
  56. [WSA881X_SWR_HM_TEST2] = 1,
  57. [WSA881X_TEMP_DETECT_DBG_CTL] = 1,
  58. [WSA881X_TEMP_DEBUG_MSB] = 1,
  59. [WSA881X_TEMP_DEBUG_LSB] = 1,
  60. [WSA881X_SAMPLE_EDGE_SEL] = 1,
  61. [WSA881X_IOPAD_CTL] = 1,
  62. [WSA881X_SPARE_0] = 1,
  63. [WSA881X_SPARE_1] = 1,
  64. [WSA881X_SPARE_2] = 1,
  65. [WSA881X_OTP_REG_0] = 1,
  66. [WSA881X_OTP_REG_1] = 1,
  67. [WSA881X_OTP_REG_2] = 1,
  68. [WSA881X_OTP_REG_3] = 1,
  69. [WSA881X_OTP_REG_4] = 1,
  70. [WSA881X_OTP_REG_5] = 1,
  71. [WSA881X_OTP_REG_6] = 1,
  72. [WSA881X_OTP_REG_7] = 1,
  73. [WSA881X_OTP_REG_8] = 1,
  74. [WSA881X_OTP_REG_9] = 1,
  75. [WSA881X_OTP_REG_10] = 1,
  76. [WSA881X_OTP_REG_11] = 1,
  77. [WSA881X_OTP_REG_12] = 1,
  78. [WSA881X_OTP_REG_13] = 1,
  79. [WSA881X_OTP_REG_14] = 1,
  80. [WSA881X_OTP_REG_15] = 1,
  81. [WSA881X_OTP_REG_16] = 1,
  82. [WSA881X_OTP_REG_17] = 1,
  83. [WSA881X_OTP_REG_18] = 1,
  84. [WSA881X_OTP_REG_19] = 1,
  85. [WSA881X_OTP_REG_20] = 1,
  86. [WSA881X_OTP_REG_21] = 1,
  87. [WSA881X_OTP_REG_22] = 1,
  88. [WSA881X_OTP_REG_23] = 1,
  89. [WSA881X_OTP_REG_24] = 1,
  90. [WSA881X_OTP_REG_25] = 1,
  91. [WSA881X_OTP_REG_26] = 1,
  92. [WSA881X_OTP_REG_27] = 1,
  93. [WSA881X_OTP_REG_28] = 1,
  94. [WSA881X_OTP_REG_29] = 1,
  95. [WSA881X_OTP_REG_30] = 1,
  96. [WSA881X_OTP_REG_31] = 1,
  97. [WSA881X_OTP_REG_63] = 1,
  98. /* Analog Registers */
  99. [WSA881X_BIAS_REF_CTRL] = 1,
  100. [WSA881X_BIAS_TEST] = 1,
  101. [WSA881X_BIAS_BIAS] = 1,
  102. [WSA881X_TEMP_OP] = 1,
  103. [WSA881X_TEMP_IREF_CTRL] = 1,
  104. [WSA881X_TEMP_ISENS_CTRL] = 1,
  105. [WSA881X_TEMP_CLK_CTRL] = 1,
  106. [WSA881X_TEMP_TEST] = 1,
  107. [WSA881X_TEMP_BIAS] = 1,
  108. [WSA881X_TEMP_ADC_CTRL] = 1,
  109. [WSA881X_TEMP_DOUT_MSB] = 1,
  110. [WSA881X_TEMP_DOUT_LSB] = 1,
  111. [WSA881X_ADC_EN_MODU_V] = 1,
  112. [WSA881X_ADC_EN_MODU_I] = 1,
  113. [WSA881X_ADC_EN_DET_TEST_V] = 1,
  114. [WSA881X_ADC_EN_DET_TEST_I] = 1,
  115. [WSA881X_ADC_SEL_IBIAS] = 1,
  116. [WSA881X_ADC_EN_SEL_IBAIS] = 1,
  117. [WSA881X_SPKR_DRV_EN] = 1,
  118. [WSA881X_SPKR_DRV_GAIN] = 1,
  119. [WSA881X_SPKR_DAC_CTL] = 1,
  120. [WSA881X_SPKR_DRV_DBG] = 1,
  121. [WSA881X_SPKR_PWRSTG_DBG] = 1,
  122. [WSA881X_SPKR_OCP_CTL] = 1,
  123. [WSA881X_SPKR_CLIP_CTL] = 1,
  124. [WSA881X_SPKR_BBM_CTL] = 1,
  125. [WSA881X_SPKR_MISC_CTL1] = 1,
  126. [WSA881X_SPKR_MISC_CTL2] = 1,
  127. [WSA881X_SPKR_BIAS_INT] = 1,
  128. [WSA881X_SPKR_PA_INT] = 1,
  129. [WSA881X_SPKR_BIAS_CAL] = 1,
  130. [WSA881X_SPKR_BIAS_PSRR] = 1,
  131. [WSA881X_SPKR_STATUS1] = 1,
  132. [WSA881X_SPKR_STATUS2] = 1,
  133. [WSA881X_BOOST_EN_CTL] = 1,
  134. [WSA881X_BOOST_CURRENT_LIMIT] = 1,
  135. [WSA881X_BOOST_PS_CTL] = 1,
  136. [WSA881X_BOOST_PRESET_OUT1] = 1,
  137. [WSA881X_BOOST_PRESET_OUT2] = 1,
  138. [WSA881X_BOOST_FORCE_OUT] = 1,
  139. [WSA881X_BOOST_LDO_PROG] = 1,
  140. [WSA881X_BOOST_SLOPE_COMP_ISENSE_FB] = 1,
  141. [WSA881X_BOOST_RON_CTL] = 1,
  142. [WSA881X_BOOST_LOOP_STABILITY] = 1,
  143. [WSA881X_BOOST_ZX_CTL] = 1,
  144. [WSA881X_BOOST_START_CTL] = 1,
  145. [WSA881X_BOOST_MISC1_CTL] = 1,
  146. [WSA881X_BOOST_MISC2_CTL] = 1,
  147. [WSA881X_BOOST_MISC3_CTL] = 1,
  148. [WSA881X_BOOST_ATEST_CTL] = 1,
  149. [WSA881X_SPKR_PROT_FE_GAIN] = 1,
  150. [WSA881X_SPKR_PROT_FE_CM_LDO_SET] = 1,
  151. [WSA881X_SPKR_PROT_FE_ISENSE_BIAS_SET1] = 1,
  152. [WSA881X_SPKR_PROT_FE_ISENSE_BIAS_SET2] = 1,
  153. [WSA881X_SPKR_PROT_ATEST1] = 1,
  154. [WSA881X_SPKR_PROT_ATEST2] = 1,
  155. [WSA881X_SPKR_PROT_FE_VSENSE_VCM] = 1,
  156. [WSA881X_SPKR_PROT_FE_VSENSE_BIAS_SET1] = 1,
  157. [WSA881X_BONGO_RESRV_REG1] = 1,
  158. [WSA881X_BONGO_RESRV_REG2] = 1,
  159. [WSA881X_SPKR_PROT_SAR] = 1,
  160. [WSA881X_SPKR_STATUS3] = 1,
  161. };