regulator.h 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592
  1. /*
  2. * linux/mfd/wm831x/regulator.h -- Regulator definitons for wm831x
  3. *
  4. * Copyright 2009 Wolfson Microelectronics PLC.
  5. *
  6. * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
  7. *
  8. * This program is free software; you can redistribute it and/or modify it
  9. * under the terms of the GNU General Public License as published by the
  10. * Free Software Foundation; either version 2 of the License, or (at your
  11. * option) any later version.
  12. *
  13. */
  14. #ifndef __MFD_WM831X_REGULATOR_H__
  15. #define __MFD_WM831X_REGULATOR_H__
  16. /*
  17. * R16462 (0x404E) - Current Sink 1
  18. */
  19. #define WM831X_CS1_ENA 0x8000 /* CS1_ENA */
  20. #define WM831X_CS1_ENA_MASK 0x8000 /* CS1_ENA */
  21. #define WM831X_CS1_ENA_SHIFT 15 /* CS1_ENA */
  22. #define WM831X_CS1_ENA_WIDTH 1 /* CS1_ENA */
  23. #define WM831X_CS1_DRIVE 0x4000 /* CS1_DRIVE */
  24. #define WM831X_CS1_DRIVE_MASK 0x4000 /* CS1_DRIVE */
  25. #define WM831X_CS1_DRIVE_SHIFT 14 /* CS1_DRIVE */
  26. #define WM831X_CS1_DRIVE_WIDTH 1 /* CS1_DRIVE */
  27. #define WM831X_CS1_SLPENA 0x1000 /* CS1_SLPENA */
  28. #define WM831X_CS1_SLPENA_MASK 0x1000 /* CS1_SLPENA */
  29. #define WM831X_CS1_SLPENA_SHIFT 12 /* CS1_SLPENA */
  30. #define WM831X_CS1_SLPENA_WIDTH 1 /* CS1_SLPENA */
  31. #define WM831X_CS1_OFF_RAMP_MASK 0x0C00 /* CS1_OFF_RAMP - [11:10] */
  32. #define WM831X_CS1_OFF_RAMP_SHIFT 10 /* CS1_OFF_RAMP - [11:10] */
  33. #define WM831X_CS1_OFF_RAMP_WIDTH 2 /* CS1_OFF_RAMP - [11:10] */
  34. #define WM831X_CS1_ON_RAMP_MASK 0x0300 /* CS1_ON_RAMP - [9:8] */
  35. #define WM831X_CS1_ON_RAMP_SHIFT 8 /* CS1_ON_RAMP - [9:8] */
  36. #define WM831X_CS1_ON_RAMP_WIDTH 2 /* CS1_ON_RAMP - [9:8] */
  37. #define WM831X_CS1_ISEL_MASK 0x003F /* CS1_ISEL - [5:0] */
  38. #define WM831X_CS1_ISEL_SHIFT 0 /* CS1_ISEL - [5:0] */
  39. #define WM831X_CS1_ISEL_WIDTH 6 /* CS1_ISEL - [5:0] */
  40. /*
  41. * R16463 (0x404F) - Current Sink 2
  42. */
  43. #define WM831X_CS2_ENA 0x8000 /* CS2_ENA */
  44. #define WM831X_CS2_ENA_MASK 0x8000 /* CS2_ENA */
  45. #define WM831X_CS2_ENA_SHIFT 15 /* CS2_ENA */
  46. #define WM831X_CS2_ENA_WIDTH 1 /* CS2_ENA */
  47. #define WM831X_CS2_DRIVE 0x4000 /* CS2_DRIVE */
  48. #define WM831X_CS2_DRIVE_MASK 0x4000 /* CS2_DRIVE */
  49. #define WM831X_CS2_DRIVE_SHIFT 14 /* CS2_DRIVE */
  50. #define WM831X_CS2_DRIVE_WIDTH 1 /* CS2_DRIVE */
  51. #define WM831X_CS2_SLPENA 0x1000 /* CS2_SLPENA */
  52. #define WM831X_CS2_SLPENA_MASK 0x1000 /* CS2_SLPENA */
  53. #define WM831X_CS2_SLPENA_SHIFT 12 /* CS2_SLPENA */
  54. #define WM831X_CS2_SLPENA_WIDTH 1 /* CS2_SLPENA */
  55. #define WM831X_CS2_OFF_RAMP_MASK 0x0C00 /* CS2_OFF_RAMP - [11:10] */
  56. #define WM831X_CS2_OFF_RAMP_SHIFT 10 /* CS2_OFF_RAMP - [11:10] */
  57. #define WM831X_CS2_OFF_RAMP_WIDTH 2 /* CS2_OFF_RAMP - [11:10] */
  58. #define WM831X_CS2_ON_RAMP_MASK 0x0300 /* CS2_ON_RAMP - [9:8] */
  59. #define WM831X_CS2_ON_RAMP_SHIFT 8 /* CS2_ON_RAMP - [9:8] */
  60. #define WM831X_CS2_ON_RAMP_WIDTH 2 /* CS2_ON_RAMP - [9:8] */
  61. #define WM831X_CS2_ISEL_MASK 0x003F /* CS2_ISEL - [5:0] */
  62. #define WM831X_CS2_ISEL_SHIFT 0 /* CS2_ISEL - [5:0] */
  63. #define WM831X_CS2_ISEL_WIDTH 6 /* CS2_ISEL - [5:0] */
  64. /*
  65. * R16464 (0x4050) - DCDC Enable
  66. */
  67. #define WM831X_EPE2_ENA 0x0080 /* EPE2_ENA */
  68. #define WM831X_EPE2_ENA_MASK 0x0080 /* EPE2_ENA */
  69. #define WM831X_EPE2_ENA_SHIFT 7 /* EPE2_ENA */
  70. #define WM831X_EPE2_ENA_WIDTH 1 /* EPE2_ENA */
  71. #define WM831X_EPE1_ENA 0x0040 /* EPE1_ENA */
  72. #define WM831X_EPE1_ENA_MASK 0x0040 /* EPE1_ENA */
  73. #define WM831X_EPE1_ENA_SHIFT 6 /* EPE1_ENA */
  74. #define WM831X_EPE1_ENA_WIDTH 1 /* EPE1_ENA */
  75. #define WM831X_DC4_ENA 0x0008 /* DC4_ENA */
  76. #define WM831X_DC4_ENA_MASK 0x0008 /* DC4_ENA */
  77. #define WM831X_DC4_ENA_SHIFT 3 /* DC4_ENA */
  78. #define WM831X_DC4_ENA_WIDTH 1 /* DC4_ENA */
  79. #define WM831X_DC3_ENA 0x0004 /* DC3_ENA */
  80. #define WM831X_DC3_ENA_MASK 0x0004 /* DC3_ENA */
  81. #define WM831X_DC3_ENA_SHIFT 2 /* DC3_ENA */
  82. #define WM831X_DC3_ENA_WIDTH 1 /* DC3_ENA */
  83. #define WM831X_DC2_ENA 0x0002 /* DC2_ENA */
  84. #define WM831X_DC2_ENA_MASK 0x0002 /* DC2_ENA */
  85. #define WM831X_DC2_ENA_SHIFT 1 /* DC2_ENA */
  86. #define WM831X_DC2_ENA_WIDTH 1 /* DC2_ENA */
  87. #define WM831X_DC1_ENA 0x0001 /* DC1_ENA */
  88. #define WM831X_DC1_ENA_MASK 0x0001 /* DC1_ENA */
  89. #define WM831X_DC1_ENA_SHIFT 0 /* DC1_ENA */
  90. #define WM831X_DC1_ENA_WIDTH 1 /* DC1_ENA */
  91. /*
  92. * R16465 (0x4051) - LDO Enable
  93. */
  94. #define WM831X_LDO11_ENA 0x0400 /* LDO11_ENA */
  95. #define WM831X_LDO11_ENA_MASK 0x0400 /* LDO11_ENA */
  96. #define WM831X_LDO11_ENA_SHIFT 10 /* LDO11_ENA */
  97. #define WM831X_LDO11_ENA_WIDTH 1 /* LDO11_ENA */
  98. #define WM831X_LDO10_ENA 0x0200 /* LDO10_ENA */
  99. #define WM831X_LDO10_ENA_MASK 0x0200 /* LDO10_ENA */
  100. #define WM831X_LDO10_ENA_SHIFT 9 /* LDO10_ENA */
  101. #define WM831X_LDO10_ENA_WIDTH 1 /* LDO10_ENA */
  102. #define WM831X_LDO9_ENA 0x0100 /* LDO9_ENA */
  103. #define WM831X_LDO9_ENA_MASK 0x0100 /* LDO9_ENA */
  104. #define WM831X_LDO9_ENA_SHIFT 8 /* LDO9_ENA */
  105. #define WM831X_LDO9_ENA_WIDTH 1 /* LDO9_ENA */
  106. #define WM831X_LDO8_ENA 0x0080 /* LDO8_ENA */
  107. #define WM831X_LDO8_ENA_MASK 0x0080 /* LDO8_ENA */
  108. #define WM831X_LDO8_ENA_SHIFT 7 /* LDO8_ENA */
  109. #define WM831X_LDO8_ENA_WIDTH 1 /* LDO8_ENA */
  110. #define WM831X_LDO7_ENA 0x0040 /* LDO7_ENA */
  111. #define WM831X_LDO7_ENA_MASK 0x0040 /* LDO7_ENA */
  112. #define WM831X_LDO7_ENA_SHIFT 6 /* LDO7_ENA */
  113. #define WM831X_LDO7_ENA_WIDTH 1 /* LDO7_ENA */
  114. #define WM831X_LDO6_ENA 0x0020 /* LDO6_ENA */
  115. #define WM831X_LDO6_ENA_MASK 0x0020 /* LDO6_ENA */
  116. #define WM831X_LDO6_ENA_SHIFT 5 /* LDO6_ENA */
  117. #define WM831X_LDO6_ENA_WIDTH 1 /* LDO6_ENA */
  118. #define WM831X_LDO5_ENA 0x0010 /* LDO5_ENA */
  119. #define WM831X_LDO5_ENA_MASK 0x0010 /* LDO5_ENA */
  120. #define WM831X_LDO5_ENA_SHIFT 4 /* LDO5_ENA */
  121. #define WM831X_LDO5_ENA_WIDTH 1 /* LDO5_ENA */
  122. #define WM831X_LDO4_ENA 0x0008 /* LDO4_ENA */
  123. #define WM831X_LDO4_ENA_MASK 0x0008 /* LDO4_ENA */
  124. #define WM831X_LDO4_ENA_SHIFT 3 /* LDO4_ENA */
  125. #define WM831X_LDO4_ENA_WIDTH 1 /* LDO4_ENA */
  126. #define WM831X_LDO3_ENA 0x0004 /* LDO3_ENA */
  127. #define WM831X_LDO3_ENA_MASK 0x0004 /* LDO3_ENA */
  128. #define WM831X_LDO3_ENA_SHIFT 2 /* LDO3_ENA */
  129. #define WM831X_LDO3_ENA_WIDTH 1 /* LDO3_ENA */
  130. #define WM831X_LDO2_ENA 0x0002 /* LDO2_ENA */
  131. #define WM831X_LDO2_ENA_MASK 0x0002 /* LDO2_ENA */
  132. #define WM831X_LDO2_ENA_SHIFT 1 /* LDO2_ENA */
  133. #define WM831X_LDO2_ENA_WIDTH 1 /* LDO2_ENA */
  134. #define WM831X_LDO1_ENA 0x0001 /* LDO1_ENA */
  135. #define WM831X_LDO1_ENA_MASK 0x0001 /* LDO1_ENA */
  136. #define WM831X_LDO1_ENA_SHIFT 0 /* LDO1_ENA */
  137. #define WM831X_LDO1_ENA_WIDTH 1 /* LDO1_ENA */
  138. /*
  139. * R16466 (0x4052) - DCDC Status
  140. */
  141. #define WM831X_EPE2_STS 0x0080 /* EPE2_STS */
  142. #define WM831X_EPE2_STS_MASK 0x0080 /* EPE2_STS */
  143. #define WM831X_EPE2_STS_SHIFT 7 /* EPE2_STS */
  144. #define WM831X_EPE2_STS_WIDTH 1 /* EPE2_STS */
  145. #define WM831X_EPE1_STS 0x0040 /* EPE1_STS */
  146. #define WM831X_EPE1_STS_MASK 0x0040 /* EPE1_STS */
  147. #define WM831X_EPE1_STS_SHIFT 6 /* EPE1_STS */
  148. #define WM831X_EPE1_STS_WIDTH 1 /* EPE1_STS */
  149. #define WM831X_DC4_STS 0x0008 /* DC4_STS */
  150. #define WM831X_DC4_STS_MASK 0x0008 /* DC4_STS */
  151. #define WM831X_DC4_STS_SHIFT 3 /* DC4_STS */
  152. #define WM831X_DC4_STS_WIDTH 1 /* DC4_STS */
  153. #define WM831X_DC3_STS 0x0004 /* DC3_STS */
  154. #define WM831X_DC3_STS_MASK 0x0004 /* DC3_STS */
  155. #define WM831X_DC3_STS_SHIFT 2 /* DC3_STS */
  156. #define WM831X_DC3_STS_WIDTH 1 /* DC3_STS */
  157. #define WM831X_DC2_STS 0x0002 /* DC2_STS */
  158. #define WM831X_DC2_STS_MASK 0x0002 /* DC2_STS */
  159. #define WM831X_DC2_STS_SHIFT 1 /* DC2_STS */
  160. #define WM831X_DC2_STS_WIDTH 1 /* DC2_STS */
  161. #define WM831X_DC1_STS 0x0001 /* DC1_STS */
  162. #define WM831X_DC1_STS_MASK 0x0001 /* DC1_STS */
  163. #define WM831X_DC1_STS_SHIFT 0 /* DC1_STS */
  164. #define WM831X_DC1_STS_WIDTH 1 /* DC1_STS */
  165. /*
  166. * R16467 (0x4053) - LDO Status
  167. */
  168. #define WM831X_LDO11_STS 0x0400 /* LDO11_STS */
  169. #define WM831X_LDO11_STS_MASK 0x0400 /* LDO11_STS */
  170. #define WM831X_LDO11_STS_SHIFT 10 /* LDO11_STS */
  171. #define WM831X_LDO11_STS_WIDTH 1 /* LDO11_STS */
  172. #define WM831X_LDO10_STS 0x0200 /* LDO10_STS */
  173. #define WM831X_LDO10_STS_MASK 0x0200 /* LDO10_STS */
  174. #define WM831X_LDO10_STS_SHIFT 9 /* LDO10_STS */
  175. #define WM831X_LDO10_STS_WIDTH 1 /* LDO10_STS */
  176. #define WM831X_LDO9_STS 0x0100 /* LDO9_STS */
  177. #define WM831X_LDO9_STS_MASK 0x0100 /* LDO9_STS */
  178. #define WM831X_LDO9_STS_SHIFT 8 /* LDO9_STS */
  179. #define WM831X_LDO9_STS_WIDTH 1 /* LDO9_STS */
  180. #define WM831X_LDO8_STS 0x0080 /* LDO8_STS */
  181. #define WM831X_LDO8_STS_MASK 0x0080 /* LDO8_STS */
  182. #define WM831X_LDO8_STS_SHIFT 7 /* LDO8_STS */
  183. #define WM831X_LDO8_STS_WIDTH 1 /* LDO8_STS */
  184. #define WM831X_LDO7_STS 0x0040 /* LDO7_STS */
  185. #define WM831X_LDO7_STS_MASK 0x0040 /* LDO7_STS */
  186. #define WM831X_LDO7_STS_SHIFT 6 /* LDO7_STS */
  187. #define WM831X_LDO7_STS_WIDTH 1 /* LDO7_STS */
  188. #define WM831X_LDO6_STS 0x0020 /* LDO6_STS */
  189. #define WM831X_LDO6_STS_MASK 0x0020 /* LDO6_STS */
  190. #define WM831X_LDO6_STS_SHIFT 5 /* LDO6_STS */
  191. #define WM831X_LDO6_STS_WIDTH 1 /* LDO6_STS */
  192. #define WM831X_LDO5_STS 0x0010 /* LDO5_STS */
  193. #define WM831X_LDO5_STS_MASK 0x0010 /* LDO5_STS */
  194. #define WM831X_LDO5_STS_SHIFT 4 /* LDO5_STS */
  195. #define WM831X_LDO5_STS_WIDTH 1 /* LDO5_STS */
  196. #define WM831X_LDO4_STS 0x0008 /* LDO4_STS */
  197. #define WM831X_LDO4_STS_MASK 0x0008 /* LDO4_STS */
  198. #define WM831X_LDO4_STS_SHIFT 3 /* LDO4_STS */
  199. #define WM831X_LDO4_STS_WIDTH 1 /* LDO4_STS */
  200. #define WM831X_LDO3_STS 0x0004 /* LDO3_STS */
  201. #define WM831X_LDO3_STS_MASK 0x0004 /* LDO3_STS */
  202. #define WM831X_LDO3_STS_SHIFT 2 /* LDO3_STS */
  203. #define WM831X_LDO3_STS_WIDTH 1 /* LDO3_STS */
  204. #define WM831X_LDO2_STS 0x0002 /* LDO2_STS */
  205. #define WM831X_LDO2_STS_MASK 0x0002 /* LDO2_STS */
  206. #define WM831X_LDO2_STS_SHIFT 1 /* LDO2_STS */
  207. #define WM831X_LDO2_STS_WIDTH 1 /* LDO2_STS */
  208. #define WM831X_LDO1_STS 0x0001 /* LDO1_STS */
  209. #define WM831X_LDO1_STS_MASK 0x0001 /* LDO1_STS */
  210. #define WM831X_LDO1_STS_SHIFT 0 /* LDO1_STS */
  211. #define WM831X_LDO1_STS_WIDTH 1 /* LDO1_STS */
  212. /*
  213. * R16468 (0x4054) - DCDC UV Status
  214. */
  215. #define WM831X_DC2_OV_STS 0x2000 /* DC2_OV_STS */
  216. #define WM831X_DC2_OV_STS_MASK 0x2000 /* DC2_OV_STS */
  217. #define WM831X_DC2_OV_STS_SHIFT 13 /* DC2_OV_STS */
  218. #define WM831X_DC2_OV_STS_WIDTH 1 /* DC2_OV_STS */
  219. #define WM831X_DC1_OV_STS 0x1000 /* DC1_OV_STS */
  220. #define WM831X_DC1_OV_STS_MASK 0x1000 /* DC1_OV_STS */
  221. #define WM831X_DC1_OV_STS_SHIFT 12 /* DC1_OV_STS */
  222. #define WM831X_DC1_OV_STS_WIDTH 1 /* DC1_OV_STS */
  223. #define WM831X_DC2_HC_STS 0x0200 /* DC2_HC_STS */
  224. #define WM831X_DC2_HC_STS_MASK 0x0200 /* DC2_HC_STS */
  225. #define WM831X_DC2_HC_STS_SHIFT 9 /* DC2_HC_STS */
  226. #define WM831X_DC2_HC_STS_WIDTH 1 /* DC2_HC_STS */
  227. #define WM831X_DC1_HC_STS 0x0100 /* DC1_HC_STS */
  228. #define WM831X_DC1_HC_STS_MASK 0x0100 /* DC1_HC_STS */
  229. #define WM831X_DC1_HC_STS_SHIFT 8 /* DC1_HC_STS */
  230. #define WM831X_DC1_HC_STS_WIDTH 1 /* DC1_HC_STS */
  231. #define WM831X_DC4_UV_STS 0x0008 /* DC4_UV_STS */
  232. #define WM831X_DC4_UV_STS_MASK 0x0008 /* DC4_UV_STS */
  233. #define WM831X_DC4_UV_STS_SHIFT 3 /* DC4_UV_STS */
  234. #define WM831X_DC4_UV_STS_WIDTH 1 /* DC4_UV_STS */
  235. #define WM831X_DC3_UV_STS 0x0004 /* DC3_UV_STS */
  236. #define WM831X_DC3_UV_STS_MASK 0x0004 /* DC3_UV_STS */
  237. #define WM831X_DC3_UV_STS_SHIFT 2 /* DC3_UV_STS */
  238. #define WM831X_DC3_UV_STS_WIDTH 1 /* DC3_UV_STS */
  239. #define WM831X_DC2_UV_STS 0x0002 /* DC2_UV_STS */
  240. #define WM831X_DC2_UV_STS_MASK 0x0002 /* DC2_UV_STS */
  241. #define WM831X_DC2_UV_STS_SHIFT 1 /* DC2_UV_STS */
  242. #define WM831X_DC2_UV_STS_WIDTH 1 /* DC2_UV_STS */
  243. #define WM831X_DC1_UV_STS 0x0001 /* DC1_UV_STS */
  244. #define WM831X_DC1_UV_STS_MASK 0x0001 /* DC1_UV_STS */
  245. #define WM831X_DC1_UV_STS_SHIFT 0 /* DC1_UV_STS */
  246. #define WM831X_DC1_UV_STS_WIDTH 1 /* DC1_UV_STS */
  247. /*
  248. * R16469 (0x4055) - LDO UV Status
  249. */
  250. #define WM831X_INTLDO_UV_STS 0x8000 /* INTLDO_UV_STS */
  251. #define WM831X_INTLDO_UV_STS_MASK 0x8000 /* INTLDO_UV_STS */
  252. #define WM831X_INTLDO_UV_STS_SHIFT 15 /* INTLDO_UV_STS */
  253. #define WM831X_INTLDO_UV_STS_WIDTH 1 /* INTLDO_UV_STS */
  254. #define WM831X_LDO10_UV_STS 0x0200 /* LDO10_UV_STS */
  255. #define WM831X_LDO10_UV_STS_MASK 0x0200 /* LDO10_UV_STS */
  256. #define WM831X_LDO10_UV_STS_SHIFT 9 /* LDO10_UV_STS */
  257. #define WM831X_LDO10_UV_STS_WIDTH 1 /* LDO10_UV_STS */
  258. #define WM831X_LDO9_UV_STS 0x0100 /* LDO9_UV_STS */
  259. #define WM831X_LDO9_UV_STS_MASK 0x0100 /* LDO9_UV_STS */
  260. #define WM831X_LDO9_UV_STS_SHIFT 8 /* LDO9_UV_STS */
  261. #define WM831X_LDO9_UV_STS_WIDTH 1 /* LDO9_UV_STS */
  262. #define WM831X_LDO8_UV_STS 0x0080 /* LDO8_UV_STS */
  263. #define WM831X_LDO8_UV_STS_MASK 0x0080 /* LDO8_UV_STS */
  264. #define WM831X_LDO8_UV_STS_SHIFT 7 /* LDO8_UV_STS */
  265. #define WM831X_LDO8_UV_STS_WIDTH 1 /* LDO8_UV_STS */
  266. #define WM831X_LDO7_UV_STS 0x0040 /* LDO7_UV_STS */
  267. #define WM831X_LDO7_UV_STS_MASK 0x0040 /* LDO7_UV_STS */
  268. #define WM831X_LDO7_UV_STS_SHIFT 6 /* LDO7_UV_STS */
  269. #define WM831X_LDO7_UV_STS_WIDTH 1 /* LDO7_UV_STS */
  270. #define WM831X_LDO6_UV_STS 0x0020 /* LDO6_UV_STS */
  271. #define WM831X_LDO6_UV_STS_MASK 0x0020 /* LDO6_UV_STS */
  272. #define WM831X_LDO6_UV_STS_SHIFT 5 /* LDO6_UV_STS */
  273. #define WM831X_LDO6_UV_STS_WIDTH 1 /* LDO6_UV_STS */
  274. #define WM831X_LDO5_UV_STS 0x0010 /* LDO5_UV_STS */
  275. #define WM831X_LDO5_UV_STS_MASK 0x0010 /* LDO5_UV_STS */
  276. #define WM831X_LDO5_UV_STS_SHIFT 4 /* LDO5_UV_STS */
  277. #define WM831X_LDO5_UV_STS_WIDTH 1 /* LDO5_UV_STS */
  278. #define WM831X_LDO4_UV_STS 0x0008 /* LDO4_UV_STS */
  279. #define WM831X_LDO4_UV_STS_MASK 0x0008 /* LDO4_UV_STS */
  280. #define WM831X_LDO4_UV_STS_SHIFT 3 /* LDO4_UV_STS */
  281. #define WM831X_LDO4_UV_STS_WIDTH 1 /* LDO4_UV_STS */
  282. #define WM831X_LDO3_UV_STS 0x0004 /* LDO3_UV_STS */
  283. #define WM831X_LDO3_UV_STS_MASK 0x0004 /* LDO3_UV_STS */
  284. #define WM831X_LDO3_UV_STS_SHIFT 2 /* LDO3_UV_STS */
  285. #define WM831X_LDO3_UV_STS_WIDTH 1 /* LDO3_UV_STS */
  286. #define WM831X_LDO2_UV_STS 0x0002 /* LDO2_UV_STS */
  287. #define WM831X_LDO2_UV_STS_MASK 0x0002 /* LDO2_UV_STS */
  288. #define WM831X_LDO2_UV_STS_SHIFT 1 /* LDO2_UV_STS */
  289. #define WM831X_LDO2_UV_STS_WIDTH 1 /* LDO2_UV_STS */
  290. #define WM831X_LDO1_UV_STS 0x0001 /* LDO1_UV_STS */
  291. #define WM831X_LDO1_UV_STS_MASK 0x0001 /* LDO1_UV_STS */
  292. #define WM831X_LDO1_UV_STS_SHIFT 0 /* LDO1_UV_STS */
  293. #define WM831X_LDO1_UV_STS_WIDTH 1 /* LDO1_UV_STS */
  294. /*
  295. * R16470 (0x4056) - DC1 Control 1
  296. */
  297. #define WM831X_DC1_RATE_MASK 0xC000 /* DC1_RATE - [15:14] */
  298. #define WM831X_DC1_RATE_SHIFT 14 /* DC1_RATE - [15:14] */
  299. #define WM831X_DC1_RATE_WIDTH 2 /* DC1_RATE - [15:14] */
  300. #define WM831X_DC1_PHASE 0x1000 /* DC1_PHASE */
  301. #define WM831X_DC1_PHASE_MASK 0x1000 /* DC1_PHASE */
  302. #define WM831X_DC1_PHASE_SHIFT 12 /* DC1_PHASE */
  303. #define WM831X_DC1_PHASE_WIDTH 1 /* DC1_PHASE */
  304. #define WM831X_DC1_FREQ_MASK 0x0300 /* DC1_FREQ - [9:8] */
  305. #define WM831X_DC1_FREQ_SHIFT 8 /* DC1_FREQ - [9:8] */
  306. #define WM831X_DC1_FREQ_WIDTH 2 /* DC1_FREQ - [9:8] */
  307. #define WM831X_DC1_FLT 0x0080 /* DC1_FLT */
  308. #define WM831X_DC1_FLT_MASK 0x0080 /* DC1_FLT */
  309. #define WM831X_DC1_FLT_SHIFT 7 /* DC1_FLT */
  310. #define WM831X_DC1_FLT_WIDTH 1 /* DC1_FLT */
  311. #define WM831X_DC1_SOFT_START_MASK 0x0030 /* DC1_SOFT_START - [5:4] */
  312. #define WM831X_DC1_SOFT_START_SHIFT 4 /* DC1_SOFT_START - [5:4] */
  313. #define WM831X_DC1_SOFT_START_WIDTH 2 /* DC1_SOFT_START - [5:4] */
  314. #define WM831X_DC1_CAP_MASK 0x0003 /* DC1_CAP - [1:0] */
  315. #define WM831X_DC1_CAP_SHIFT 0 /* DC1_CAP - [1:0] */
  316. #define WM831X_DC1_CAP_WIDTH 2 /* DC1_CAP - [1:0] */
  317. /*
  318. * R16471 (0x4057) - DC1 Control 2
  319. */
  320. #define WM831X_DC1_ERR_ACT_MASK 0xC000 /* DC1_ERR_ACT - [15:14] */
  321. #define WM831X_DC1_ERR_ACT_SHIFT 14 /* DC1_ERR_ACT - [15:14] */
  322. #define WM831X_DC1_ERR_ACT_WIDTH 2 /* DC1_ERR_ACT - [15:14] */
  323. #define WM831X_DC1_HWC_SRC_MASK 0x1800 /* DC1_HWC_SRC - [12:11] */
  324. #define WM831X_DC1_HWC_SRC_SHIFT 11 /* DC1_HWC_SRC - [12:11] */
  325. #define WM831X_DC1_HWC_SRC_WIDTH 2 /* DC1_HWC_SRC - [12:11] */
  326. #define WM831X_DC1_HWC_VSEL 0x0400 /* DC1_HWC_VSEL */
  327. #define WM831X_DC1_HWC_VSEL_MASK 0x0400 /* DC1_HWC_VSEL */
  328. #define WM831X_DC1_HWC_VSEL_SHIFT 10 /* DC1_HWC_VSEL */
  329. #define WM831X_DC1_HWC_VSEL_WIDTH 1 /* DC1_HWC_VSEL */
  330. #define WM831X_DC1_HWC_MODE_MASK 0x0300 /* DC1_HWC_MODE - [9:8] */
  331. #define WM831X_DC1_HWC_MODE_SHIFT 8 /* DC1_HWC_MODE - [9:8] */
  332. #define WM831X_DC1_HWC_MODE_WIDTH 2 /* DC1_HWC_MODE - [9:8] */
  333. #define WM831X_DC1_HC_THR_MASK 0x0070 /* DC1_HC_THR - [6:4] */
  334. #define WM831X_DC1_HC_THR_SHIFT 4 /* DC1_HC_THR - [6:4] */
  335. #define WM831X_DC1_HC_THR_WIDTH 3 /* DC1_HC_THR - [6:4] */
  336. #define WM831X_DC1_HC_IND_ENA 0x0001 /* DC1_HC_IND_ENA */
  337. #define WM831X_DC1_HC_IND_ENA_MASK 0x0001 /* DC1_HC_IND_ENA */
  338. #define WM831X_DC1_HC_IND_ENA_SHIFT 0 /* DC1_HC_IND_ENA */
  339. #define WM831X_DC1_HC_IND_ENA_WIDTH 1 /* DC1_HC_IND_ENA */
  340. /*
  341. * R16472 (0x4058) - DC1 ON Config
  342. */
  343. #define WM831X_DC1_ON_SLOT_MASK 0xE000 /* DC1_ON_SLOT - [15:13] */
  344. #define WM831X_DC1_ON_SLOT_SHIFT 13 /* DC1_ON_SLOT - [15:13] */
  345. #define WM831X_DC1_ON_SLOT_WIDTH 3 /* DC1_ON_SLOT - [15:13] */
  346. #define WM831X_DC1_ON_MODE_MASK 0x0300 /* DC1_ON_MODE - [9:8] */
  347. #define WM831X_DC1_ON_MODE_SHIFT 8 /* DC1_ON_MODE - [9:8] */
  348. #define WM831X_DC1_ON_MODE_WIDTH 2 /* DC1_ON_MODE - [9:8] */
  349. #define WM831X_DC1_ON_VSEL_MASK 0x007F /* DC1_ON_VSEL - [6:0] */
  350. #define WM831X_DC1_ON_VSEL_SHIFT 0 /* DC1_ON_VSEL - [6:0] */
  351. #define WM831X_DC1_ON_VSEL_WIDTH 7 /* DC1_ON_VSEL - [6:0] */
  352. /*
  353. * R16473 (0x4059) - DC1 SLEEP Control
  354. */
  355. #define WM831X_DC1_SLP_SLOT_MASK 0xE000 /* DC1_SLP_SLOT - [15:13] */
  356. #define WM831X_DC1_SLP_SLOT_SHIFT 13 /* DC1_SLP_SLOT - [15:13] */
  357. #define WM831X_DC1_SLP_SLOT_WIDTH 3 /* DC1_SLP_SLOT - [15:13] */
  358. #define WM831X_DC1_SLP_MODE_MASK 0x0300 /* DC1_SLP_MODE - [9:8] */
  359. #define WM831X_DC1_SLP_MODE_SHIFT 8 /* DC1_SLP_MODE - [9:8] */
  360. #define WM831X_DC1_SLP_MODE_WIDTH 2 /* DC1_SLP_MODE - [9:8] */
  361. #define WM831X_DC1_SLP_VSEL_MASK 0x007F /* DC1_SLP_VSEL - [6:0] */
  362. #define WM831X_DC1_SLP_VSEL_SHIFT 0 /* DC1_SLP_VSEL - [6:0] */
  363. #define WM831X_DC1_SLP_VSEL_WIDTH 7 /* DC1_SLP_VSEL - [6:0] */
  364. /*
  365. * R16474 (0x405A) - DC1 DVS Control
  366. */
  367. #define WM831X_DC1_DVS_SRC_MASK 0x1800 /* DC1_DVS_SRC - [12:11] */
  368. #define WM831X_DC1_DVS_SRC_SHIFT 11 /* DC1_DVS_SRC - [12:11] */
  369. #define WM831X_DC1_DVS_SRC_WIDTH 2 /* DC1_DVS_SRC - [12:11] */
  370. #define WM831X_DC1_DVS_VSEL_MASK 0x007F /* DC1_DVS_VSEL - [6:0] */
  371. #define WM831X_DC1_DVS_VSEL_SHIFT 0 /* DC1_DVS_VSEL - [6:0] */
  372. #define WM831X_DC1_DVS_VSEL_WIDTH 7 /* DC1_DVS_VSEL - [6:0] */
  373. /*
  374. * R16475 (0x405B) - DC2 Control 1
  375. */
  376. #define WM831X_DC2_RATE_MASK 0xC000 /* DC2_RATE - [15:14] */
  377. #define WM831X_DC2_RATE_SHIFT 14 /* DC2_RATE - [15:14] */
  378. #define WM831X_DC2_RATE_WIDTH 2 /* DC2_RATE - [15:14] */
  379. #define WM831X_DC2_PHASE 0x1000 /* DC2_PHASE */
  380. #define WM831X_DC2_PHASE_MASK 0x1000 /* DC2_PHASE */
  381. #define WM831X_DC2_PHASE_SHIFT 12 /* DC2_PHASE */
  382. #define WM831X_DC2_PHASE_WIDTH 1 /* DC2_PHASE */
  383. #define WM831X_DC2_FREQ_MASK 0x0300 /* DC2_FREQ - [9:8] */
  384. #define WM831X_DC2_FREQ_SHIFT 8 /* DC2_FREQ - [9:8] */
  385. #define WM831X_DC2_FREQ_WIDTH 2 /* DC2_FREQ - [9:8] */
  386. #define WM831X_DC2_FLT 0x0080 /* DC2_FLT */
  387. #define WM831X_DC2_FLT_MASK 0x0080 /* DC2_FLT */
  388. #define WM831X_DC2_FLT_SHIFT 7 /* DC2_FLT */
  389. #define WM831X_DC2_FLT_WIDTH 1 /* DC2_FLT */
  390. #define WM831X_DC2_SOFT_START_MASK 0x0030 /* DC2_SOFT_START - [5:4] */
  391. #define WM831X_DC2_SOFT_START_SHIFT 4 /* DC2_SOFT_START - [5:4] */
  392. #define WM831X_DC2_SOFT_START_WIDTH 2 /* DC2_SOFT_START - [5:4] */
  393. #define WM831X_DC2_CAP_MASK 0x0003 /* DC2_CAP - [1:0] */
  394. #define WM831X_DC2_CAP_SHIFT 0 /* DC2_CAP - [1:0] */
  395. #define WM831X_DC2_CAP_WIDTH 2 /* DC2_CAP - [1:0] */
  396. /*
  397. * R16476 (0x405C) - DC2 Control 2
  398. */
  399. #define WM831X_DC2_ERR_ACT_MASK 0xC000 /* DC2_ERR_ACT - [15:14] */
  400. #define WM831X_DC2_ERR_ACT_SHIFT 14 /* DC2_ERR_ACT - [15:14] */
  401. #define WM831X_DC2_ERR_ACT_WIDTH 2 /* DC2_ERR_ACT - [15:14] */
  402. #define WM831X_DC2_HWC_SRC_MASK 0x1800 /* DC2_HWC_SRC - [12:11] */
  403. #define WM831X_DC2_HWC_SRC_SHIFT 11 /* DC2_HWC_SRC - [12:11] */
  404. #define WM831X_DC2_HWC_SRC_WIDTH 2 /* DC2_HWC_SRC - [12:11] */
  405. #define WM831X_DC2_HWC_VSEL 0x0400 /* DC2_HWC_VSEL */
  406. #define WM831X_DC2_HWC_VSEL_MASK 0x0400 /* DC2_HWC_VSEL */
  407. #define WM831X_DC2_HWC_VSEL_SHIFT 10 /* DC2_HWC_VSEL */
  408. #define WM831X_DC2_HWC_VSEL_WIDTH 1 /* DC2_HWC_VSEL */
  409. #define WM831X_DC2_HWC_MODE_MASK 0x0300 /* DC2_HWC_MODE - [9:8] */
  410. #define WM831X_DC2_HWC_MODE_SHIFT 8 /* DC2_HWC_MODE - [9:8] */
  411. #define WM831X_DC2_HWC_MODE_WIDTH 2 /* DC2_HWC_MODE - [9:8] */
  412. #define WM831X_DC2_HC_THR_MASK 0x0070 /* DC2_HC_THR - [6:4] */
  413. #define WM831X_DC2_HC_THR_SHIFT 4 /* DC2_HC_THR - [6:4] */
  414. #define WM831X_DC2_HC_THR_WIDTH 3 /* DC2_HC_THR - [6:4] */
  415. #define WM831X_DC2_HC_IND_ENA 0x0001 /* DC2_HC_IND_ENA */
  416. #define WM831X_DC2_HC_IND_ENA_MASK 0x0001 /* DC2_HC_IND_ENA */
  417. #define WM831X_DC2_HC_IND_ENA_SHIFT 0 /* DC2_HC_IND_ENA */
  418. #define WM831X_DC2_HC_IND_ENA_WIDTH 1 /* DC2_HC_IND_ENA */
  419. /*
  420. * R16477 (0x405D) - DC2 ON Config
  421. */
  422. #define WM831X_DC2_ON_SLOT_MASK 0xE000 /* DC2_ON_SLOT - [15:13] */
  423. #define WM831X_DC2_ON_SLOT_SHIFT 13 /* DC2_ON_SLOT - [15:13] */
  424. #define WM831X_DC2_ON_SLOT_WIDTH 3 /* DC2_ON_SLOT - [15:13] */
  425. #define WM831X_DC2_ON_MODE_MASK 0x0300 /* DC2_ON_MODE - [9:8] */
  426. #define WM831X_DC2_ON_MODE_SHIFT 8 /* DC2_ON_MODE - [9:8] */
  427. #define WM831X_DC2_ON_MODE_WIDTH 2 /* DC2_ON_MODE - [9:8] */
  428. #define WM831X_DC2_ON_VSEL_MASK 0x007F /* DC2_ON_VSEL - [6:0] */
  429. #define WM831X_DC2_ON_VSEL_SHIFT 0 /* DC2_ON_VSEL - [6:0] */
  430. #define WM831X_DC2_ON_VSEL_WIDTH 7 /* DC2_ON_VSEL - [6:0] */
  431. /*
  432. * R16478 (0x405E) - DC2 SLEEP Control
  433. */
  434. #define WM831X_DC2_SLP_SLOT_MASK 0xE000 /* DC2_SLP_SLOT - [15:13] */
  435. #define WM831X_DC2_SLP_SLOT_SHIFT 13 /* DC2_SLP_SLOT - [15:13] */
  436. #define WM831X_DC2_SLP_SLOT_WIDTH 3 /* DC2_SLP_SLOT - [15:13] */
  437. #define WM831X_DC2_SLP_MODE_MASK 0x0300 /* DC2_SLP_MODE - [9:8] */
  438. #define WM831X_DC2_SLP_MODE_SHIFT 8 /* DC2_SLP_MODE - [9:8] */
  439. #define WM831X_DC2_SLP_MODE_WIDTH 2 /* DC2_SLP_MODE - [9:8] */
  440. #define WM831X_DC2_SLP_VSEL_MASK 0x007F /* DC2_SLP_VSEL - [6:0] */
  441. #define WM831X_DC2_SLP_VSEL_SHIFT 0 /* DC2_SLP_VSEL - [6:0] */
  442. #define WM831X_DC2_SLP_VSEL_WIDTH 7 /* DC2_SLP_VSEL - [6:0] */
  443. /*
  444. * R16479 (0x405F) - DC2 DVS Control
  445. */
  446. #define WM831X_DC2_DVS_SRC_MASK 0x1800 /* DC2_DVS_SRC - [12:11] */
  447. #define WM831X_DC2_DVS_SRC_SHIFT 11 /* DC2_DVS_SRC - [12:11] */
  448. #define WM831X_DC2_DVS_SRC_WIDTH 2 /* DC2_DVS_SRC - [12:11] */
  449. #define WM831X_DC2_DVS_VSEL_MASK 0x007F /* DC2_DVS_VSEL - [6:0] */
  450. #define WM831X_DC2_DVS_VSEL_SHIFT 0 /* DC2_DVS_VSEL - [6:0] */
  451. #define WM831X_DC2_DVS_VSEL_WIDTH 7 /* DC2_DVS_VSEL - [6:0] */
  452. /*
  453. * R16480 (0x4060) - DC3 Control 1
  454. */
  455. #define WM831X_DC3_PHASE 0x1000 /* DC3_PHASE */
  456. #define WM831X_DC3_PHASE_MASK 0x1000 /* DC3_PHASE */
  457. #define WM831X_DC3_PHASE_SHIFT 12 /* DC3_PHASE */
  458. #define WM831X_DC3_PHASE_WIDTH 1 /* DC3_PHASE */
  459. #define WM831X_DC3_FLT 0x0080 /* DC3_FLT */
  460. #define WM831X_DC3_FLT_MASK 0x0080 /* DC3_FLT */
  461. #define WM831X_DC3_FLT_SHIFT 7 /* DC3_FLT */
  462. #define WM831X_DC3_FLT_WIDTH 1 /* DC3_FLT */
  463. #define WM831X_DC3_SOFT_START_MASK 0x0030 /* DC3_SOFT_START - [5:4] */
  464. #define WM831X_DC3_SOFT_START_SHIFT 4 /* DC3_SOFT_START - [5:4] */
  465. #define WM831X_DC3_SOFT_START_WIDTH 2 /* DC3_SOFT_START - [5:4] */
  466. #define WM831X_DC3_STNBY_LIM_MASK 0x000C /* DC3_STNBY_LIM - [3:2] */
  467. #define WM831X_DC3_STNBY_LIM_SHIFT 2 /* DC3_STNBY_LIM - [3:2] */
  468. #define WM831X_DC3_STNBY_LIM_WIDTH 2 /* DC3_STNBY_LIM - [3:2] */
  469. #define WM831X_DC3_CAP_MASK 0x0003 /* DC3_CAP - [1:0] */
  470. #define WM831X_DC3_CAP_SHIFT 0 /* DC3_CAP - [1:0] */
  471. #define WM831X_DC3_CAP_WIDTH 2 /* DC3_CAP - [1:0] */
  472. /*
  473. * R16481 (0x4061) - DC3 Control 2
  474. */
  475. #define WM831X_DC3_ERR_ACT_MASK 0xC000 /* DC3_ERR_ACT - [15:14] */
  476. #define WM831X_DC3_ERR_ACT_SHIFT 14 /* DC3_ERR_ACT - [15:14] */
  477. #define WM831X_DC3_ERR_ACT_WIDTH 2 /* DC3_ERR_ACT - [15:14] */
  478. #define WM831X_DC3_HWC_SRC_MASK 0x1800 /* DC3_HWC_SRC - [12:11] */
  479. #define WM831X_DC3_HWC_SRC_SHIFT 11 /* DC3_HWC_SRC - [12:11] */
  480. #define WM831X_DC3_HWC_SRC_WIDTH 2 /* DC3_HWC_SRC - [12:11] */
  481. #define WM831X_DC3_HWC_VSEL 0x0400 /* DC3_HWC_VSEL */
  482. #define WM831X_DC3_HWC_VSEL_MASK 0x0400 /* DC3_HWC_VSEL */
  483. #define WM831X_DC3_HWC_VSEL_SHIFT 10 /* DC3_HWC_VSEL */
  484. #define WM831X_DC3_HWC_VSEL_WIDTH 1 /* DC3_HWC_VSEL */
  485. #define WM831X_DC3_HWC_MODE_MASK 0x0300 /* DC3_HWC_MODE - [9:8] */
  486. #define WM831X_DC3_HWC_MODE_SHIFT 8 /* DC3_HWC_MODE - [9:8] */
  487. #define WM831X_DC3_HWC_MODE_WIDTH 2 /* DC3_HWC_MODE - [9:8] */
  488. #define WM831X_DC3_OVP 0x0080 /* DC3_OVP */
  489. #define WM831X_DC3_OVP_MASK 0x0080 /* DC3_OVP */
  490. #define WM831X_DC3_OVP_SHIFT 7 /* DC3_OVP */
  491. #define WM831X_DC3_OVP_WIDTH 1 /* DC3_OVP */
  492. /*
  493. * R16482 (0x4062) - DC3 ON Config
  494. */
  495. #define WM831X_DC3_ON_SLOT_MASK 0xE000 /* DC3_ON_SLOT - [15:13] */
  496. #define WM831X_DC3_ON_SLOT_SHIFT 13 /* DC3_ON_SLOT - [15:13] */
  497. #define WM831X_DC3_ON_SLOT_WIDTH 3 /* DC3_ON_SLOT - [15:13] */
  498. #define WM831X_DC3_ON_MODE_MASK 0x0300 /* DC3_ON_MODE - [9:8] */
  499. #define WM831X_DC3_ON_MODE_SHIFT 8 /* DC3_ON_MODE - [9:8] */
  500. #define WM831X_DC3_ON_MODE_WIDTH 2 /* DC3_ON_MODE - [9:8] */
  501. #define WM831X_DC3_ON_VSEL_MASK 0x007F /* DC3_ON_VSEL - [6:0] */
  502. #define WM831X_DC3_ON_VSEL_SHIFT 0 /* DC3_ON_VSEL - [6:0] */
  503. #define WM831X_DC3_ON_VSEL_WIDTH 7 /* DC3_ON_VSEL - [6:0] */
  504. /*
  505. * R16483 (0x4063) - DC3 SLEEP Control
  506. */
  507. #define WM831X_DC3_SLP_SLOT_MASK 0xE000 /* DC3_SLP_SLOT - [15:13] */
  508. #define WM831X_DC3_SLP_SLOT_SHIFT 13 /* DC3_SLP_SLOT - [15:13] */
  509. #define WM831X_DC3_SLP_SLOT_WIDTH 3 /* DC3_SLP_SLOT - [15:13] */
  510. #define WM831X_DC3_SLP_MODE_MASK 0x0300 /* DC3_SLP_MODE - [9:8] */
  511. #define WM831X_DC3_SLP_MODE_SHIFT 8 /* DC3_SLP_MODE - [9:8] */
  512. #define WM831X_DC3_SLP_MODE_WIDTH 2 /* DC3_SLP_MODE - [9:8] */
  513. #define WM831X_DC3_SLP_VSEL_MASK 0x007F /* DC3_SLP_VSEL - [6:0] */
  514. #define WM831X_DC3_SLP_VSEL_SHIFT 0 /* DC3_SLP_VSEL - [6:0] */
  515. #define WM831X_DC3_SLP_VSEL_WIDTH 7 /* DC3_SLP_VSEL - [6:0] */
  516. /*
  517. * R16484 (0x4064) - DC4 Control
  518. */
  519. #define WM831X_DC4_ERR_ACT_MASK 0xC000 /* DC4_ERR_ACT - [15:14] */
  520. #define WM831X_DC4_ERR_ACT_SHIFT 14 /* DC4_ERR_ACT - [15:14] */
  521. #define WM831X_DC4_ERR_ACT_WIDTH 2 /* DC4_ERR_ACT - [15:14] */
  522. #define WM831X_DC4_HWC_SRC_MASK 0x1800 /* DC4_HWC_SRC - [12:11] */
  523. #define WM831X_DC4_HWC_SRC_SHIFT 11 /* DC4_HWC_SRC - [12:11] */
  524. #define WM831X_DC4_HWC_SRC_WIDTH 2 /* DC4_HWC_SRC - [12:11] */
  525. #define WM831X_DC4_HWC_MODE 0x0100 /* DC4_HWC_MODE */
  526. #define WM831X_DC4_HWC_MODE_MASK 0x0100 /* DC4_HWC_MODE */
  527. #define WM831X_DC4_HWC_MODE_SHIFT 8 /* DC4_HWC_MODE */
  528. #define WM831X_DC4_HWC_MODE_WIDTH 1 /* DC4_HWC_MODE */
  529. #define WM831X_DC4_RANGE_MASK 0x000C /* DC4_RANGE - [3:2] */
  530. #define WM831X_DC4_RANGE_SHIFT 2 /* DC4_RANGE - [3:2] */
  531. #define WM831X_DC4_RANGE_WIDTH 2 /* DC4_RANGE - [3:2] */
  532. #define WM831X_DC4_FBSRC 0x0001 /* DC4_FBSRC */
  533. #define WM831X_DC4_FBSRC_MASK 0x0001 /* DC4_FBSRC */
  534. #define WM831X_DC4_FBSRC_SHIFT 0 /* DC4_FBSRC */
  535. #define WM831X_DC4_FBSRC_WIDTH 1 /* DC4_FBSRC */
  536. /*
  537. * R16485 (0x4065) - DC4 SLEEP Control
  538. */
  539. #define WM831X_DC4_SLPENA 0x0100 /* DC4_SLPENA */
  540. #define WM831X_DC4_SLPENA_MASK 0x0100 /* DC4_SLPENA */
  541. #define WM831X_DC4_SLPENA_SHIFT 8 /* DC4_SLPENA */
  542. #define WM831X_DC4_SLPENA_WIDTH 1 /* DC4_SLPENA */
  543. /*
  544. * R16526 (0x408E) - Power Good Source 1
  545. */
  546. #define WM831X_DC4_OK 0x0008 /* DC4_OK */
  547. #define WM831X_DC4_OK_MASK 0x0008 /* DC4_OK */
  548. #define WM831X_DC4_OK_SHIFT 3 /* DC4_OK */
  549. #define WM831X_DC4_OK_WIDTH 1 /* DC4_OK */
  550. #define WM831X_DC3_OK 0x0004 /* DC3_OK */
  551. #define WM831X_DC3_OK_MASK 0x0004 /* DC3_OK */
  552. #define WM831X_DC3_OK_SHIFT 2 /* DC3_OK */
  553. #define WM831X_DC3_OK_WIDTH 1 /* DC3_OK */
  554. #define WM831X_DC2_OK 0x0002 /* DC2_OK */
  555. #define WM831X_DC2_OK_MASK 0x0002 /* DC2_OK */
  556. #define WM831X_DC2_OK_SHIFT 1 /* DC2_OK */
  557. #define WM831X_DC2_OK_WIDTH 1 /* DC2_OK */
  558. #define WM831X_DC1_OK 0x0001 /* DC1_OK */
  559. #define WM831X_DC1_OK_MASK 0x0001 /* DC1_OK */
  560. #define WM831X_DC1_OK_SHIFT 0 /* DC1_OK */
  561. #define WM831X_DC1_OK_WIDTH 1 /* DC1_OK */
  562. #define WM831X_ISINK_MAX_ISEL 56
  563. extern int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL];
  564. #endif