regs-power-mx28.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. /*
  2. * Freescale i.MX28 Power Controller Register Definitions
  3. *
  4. * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
  5. *
  6. * SPDX-License-Identifier: GPL-2.0+
  7. */
  8. #ifndef __MX28_REGS_POWER_H__
  9. #define __MX28_REGS_POWER_H__
  10. #include <asm/imx-common/regs-common.h>
  11. #ifndef __ASSEMBLY__
  12. struct mxs_power_regs {
  13. mxs_reg_32(hw_power_ctrl)
  14. mxs_reg_32(hw_power_5vctrl)
  15. mxs_reg_32(hw_power_minpwr)
  16. mxs_reg_32(hw_power_charge)
  17. uint32_t hw_power_vdddctrl;
  18. uint32_t reserved_vddd[3];
  19. uint32_t hw_power_vddactrl;
  20. uint32_t reserved_vdda[3];
  21. uint32_t hw_power_vddioctrl;
  22. uint32_t reserved_vddio[3];
  23. uint32_t hw_power_vddmemctrl;
  24. uint32_t reserved_vddmem[3];
  25. uint32_t hw_power_dcdc4p2;
  26. uint32_t reserved_dcdc4p2[3];
  27. uint32_t hw_power_misc;
  28. uint32_t reserved_misc[3];
  29. uint32_t hw_power_dclimits;
  30. uint32_t reserved_dclimits[3];
  31. mxs_reg_32(hw_power_loopctrl)
  32. uint32_t hw_power_sts;
  33. uint32_t reserved_sts[3];
  34. mxs_reg_32(hw_power_speed)
  35. uint32_t hw_power_battmonitor;
  36. uint32_t reserved_battmonitor[3];
  37. uint32_t reserved[4];
  38. mxs_reg_32(hw_power_reset)
  39. mxs_reg_32(hw_power_debug)
  40. mxs_reg_32(hw_power_thermal)
  41. mxs_reg_32(hw_power_usb1ctrl)
  42. mxs_reg_32(hw_power_special)
  43. mxs_reg_32(hw_power_version)
  44. mxs_reg_32(hw_power_anaclkctrl)
  45. mxs_reg_32(hw_power_refctrl)
  46. };
  47. #endif
  48. #define POWER_CTRL_PSWITCH_MID_TRAN (1 << 27)
  49. #define POWER_CTRL_DCDC4P2_BO_IRQ (1 << 24)
  50. #define POWER_CTRL_ENIRQ_DCDC4P2_BO (1 << 23)
  51. #define POWER_CTRL_VDD5V_DROOP_IRQ (1 << 22)
  52. #define POWER_CTRL_ENIRQ_VDD5V_DROOP (1 << 21)
  53. #define POWER_CTRL_PSWITCH_IRQ (1 << 20)
  54. #define POWER_CTRL_PSWITCH_IRQ_SRC (1 << 19)
  55. #define POWER_CTRL_POLARITY_PSWITCH (1 << 18)
  56. #define POWER_CTRL_ENIRQ_PSWITCH (1 << 17)
  57. #define POWER_CTRL_POLARITY_DC_OK (1 << 16)
  58. #define POWER_CTRL_DC_OK_IRQ (1 << 15)
  59. #define POWER_CTRL_ENIRQ_DC_OK (1 << 14)
  60. #define POWER_CTRL_BATT_BO_IRQ (1 << 13)
  61. #define POWER_CTRL_ENIRQ_BATT_BO (1 << 12)
  62. #define POWER_CTRL_VDDIO_BO_IRQ (1 << 11)
  63. #define POWER_CTRL_ENIRQ_VDDIO_BO (1 << 10)
  64. #define POWER_CTRL_VDDA_BO_IRQ (1 << 9)
  65. #define POWER_CTRL_ENIRQ_VDDA_BO (1 << 8)
  66. #define POWER_CTRL_VDDD_BO_IRQ (1 << 7)
  67. #define POWER_CTRL_ENIRQ_VDDD_BO (1 << 6)
  68. #define POWER_CTRL_POLARITY_VBUSVALID (1 << 5)
  69. #define POWER_CTRL_VBUS_VALID_IRQ (1 << 4)
  70. #define POWER_CTRL_ENIRQ_VBUS_VALID (1 << 3)
  71. #define POWER_CTRL_POLARITY_VDD5V_GT_VDDIO (1 << 2)
  72. #define POWER_CTRL_VDD5V_GT_VDDIO_IRQ (1 << 1)
  73. #define POWER_CTRL_ENIRQ_VDD5V_GT_VDDIO (1 << 0)
  74. #define POWER_5VCTRL_VBUSDROOP_TRSH_MASK (0x3 << 30)
  75. #define POWER_5VCTRL_VBUSDROOP_TRSH_OFFSET 30
  76. #define POWER_5VCTRL_VBUSDROOP_TRSH_4V3 (0x0 << 30)
  77. #define POWER_5VCTRL_VBUSDROOP_TRSH_4V4 (0x1 << 30)
  78. #define POWER_5VCTRL_VBUSDROOP_TRSH_4V5 (0x2 << 30)
  79. #define POWER_5VCTRL_VBUSDROOP_TRSH_4V7 (0x3 << 30)
  80. #define POWER_5VCTRL_HEADROOM_ADJ_MASK (0x7 << 24)
  81. #define POWER_5VCTRL_HEADROOM_ADJ_OFFSET 24
  82. #define POWER_5VCTRL_PWD_CHARGE_4P2_MASK (0x3 << 20)
  83. #define POWER_5VCTRL_PWD_CHARGE_4P2_OFFSET 20
  84. #define POWER_5VCTRL_CHARGE_4P2_ILIMIT_MASK (0x3f << 12)
  85. #define POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET 12
  86. #define POWER_5VCTRL_VBUSVALID_TRSH_MASK (0x7 << 8)
  87. #define POWER_5VCTRL_VBUSVALID_TRSH_OFFSET 8
  88. #define POWER_5VCTRL_VBUSVALID_TRSH_2V9 (0x0 << 8)
  89. #define POWER_5VCTRL_VBUSVALID_TRSH_4V0 (0x1 << 8)
  90. #define POWER_5VCTRL_VBUSVALID_TRSH_4V1 (0x2 << 8)
  91. #define POWER_5VCTRL_VBUSVALID_TRSH_4V2 (0x3 << 8)
  92. #define POWER_5VCTRL_VBUSVALID_TRSH_4V3 (0x4 << 8)
  93. #define POWER_5VCTRL_VBUSVALID_TRSH_4V4 (0x5 << 8)
  94. #define POWER_5VCTRL_VBUSVALID_TRSH_4V5 (0x6 << 8)
  95. #define POWER_5VCTRL_VBUSVALID_TRSH_4V6 (0x7 << 8)
  96. #define POWER_5VCTRL_PWDN_5VBRNOUT (1 << 7)
  97. #define POWER_5VCTRL_ENABLE_LINREG_ILIMIT (1 << 6)
  98. #define POWER_5VCTRL_DCDC_XFER (1 << 5)
  99. #define POWER_5VCTRL_VBUSVALID_5VDETECT (1 << 4)
  100. #define POWER_5VCTRL_VBUSVALID_TO_B (1 << 3)
  101. #define POWER_5VCTRL_ILIMIT_EQ_ZERO (1 << 2)
  102. #define POWER_5VCTRL_PWRUP_VBUS_CMPS (1 << 1)
  103. #define POWER_5VCTRL_ENABLE_DCDC (1 << 0)
  104. #define POWER_MINPWR_LOWPWR_4P2 (1 << 14)
  105. #define POWER_MINPWR_PWD_BO (1 << 12)
  106. #define POWER_MINPWR_USE_VDDXTAL_VBG (1 << 11)
  107. #define POWER_MINPWR_PWD_ANA_CMPS (1 << 10)
  108. #define POWER_MINPWR_ENABLE_OSC (1 << 9)
  109. #define POWER_MINPWR_SELECT_OSC (1 << 8)
  110. #define POWER_MINPWR_VBG_OFF (1 << 7)
  111. #define POWER_MINPWR_DOUBLE_FETS (1 << 6)
  112. #define POWER_MINPWR_HALFFETS (1 << 5)
  113. #define POWER_MINPWR_LESSANA_I (1 << 4)
  114. #define POWER_MINPWR_PWD_XTAL24 (1 << 3)
  115. #define POWER_MINPWR_DC_STOPCLK (1 << 2)
  116. #define POWER_MINPWR_EN_DC_PFM (1 << 1)
  117. #define POWER_MINPWR_DC_HALFCLK (1 << 0)
  118. #define POWER_CHARGE_ADJ_VOLT_MASK (0x7 << 24)
  119. #define POWER_CHARGE_ADJ_VOLT_OFFSET 24
  120. #define POWER_CHARGE_ADJ_VOLT_M025P (0x1 << 24)
  121. #define POWER_CHARGE_ADJ_VOLT_P050P (0x2 << 24)
  122. #define POWER_CHARGE_ADJ_VOLT_M075P (0x3 << 24)
  123. #define POWER_CHARGE_ADJ_VOLT_P025P (0x4 << 24)
  124. #define POWER_CHARGE_ADJ_VOLT_M050P (0x5 << 24)
  125. #define POWER_CHARGE_ADJ_VOLT_P075P (0x6 << 24)
  126. #define POWER_CHARGE_ADJ_VOLT_M100P (0x7 << 24)
  127. #define POWER_CHARGE_ENABLE_LOAD (1 << 22)
  128. #define POWER_CHARGE_ENABLE_FAULT_DETECT (1 << 20)
  129. #define POWER_CHARGE_CHRG_STS_OFF (1 << 19)
  130. #define POWER_CHARGE_LIION_4P1 (1 << 18)
  131. #define POWER_CHARGE_PWD_BATTCHRG (1 << 16)
  132. #define POWER_CHARGE_ENABLE_CHARGER_USB1 (1 << 13)
  133. #define POWER_CHARGE_ENABLE_CHARGER_USB0 (1 << 12)
  134. #define POWER_CHARGE_STOP_ILIMIT_MASK (0xf << 8)
  135. #define POWER_CHARGE_STOP_ILIMIT_OFFSET 8
  136. #define POWER_CHARGE_STOP_ILIMIT_10MA (0x1 << 8)
  137. #define POWER_CHARGE_STOP_ILIMIT_20MA (0x2 << 8)
  138. #define POWER_CHARGE_STOP_ILIMIT_50MA (0x4 << 8)
  139. #define POWER_CHARGE_STOP_ILIMIT_100MA (0x8 << 8)
  140. #define POWER_CHARGE_BATTCHRG_I_MASK 0x3f
  141. #define POWER_CHARGE_BATTCHRG_I_OFFSET 0
  142. #define POWER_CHARGE_BATTCHRG_I_10MA 0x01
  143. #define POWER_CHARGE_BATTCHRG_I_20MA 0x02
  144. #define POWER_CHARGE_BATTCHRG_I_50MA 0x04
  145. #define POWER_CHARGE_BATTCHRG_I_100MA 0x08
  146. #define POWER_CHARGE_BATTCHRG_I_200MA 0x10
  147. #define POWER_CHARGE_BATTCHRG_I_400MA 0x20
  148. #define POWER_VDDDCTRL_ADJTN_MASK (0xf << 28)
  149. #define POWER_VDDDCTRL_ADJTN_OFFSET 28
  150. #define POWER_VDDDCTRL_PWDN_BRNOUT (1 << 23)
  151. #define POWER_VDDDCTRL_DISABLE_STEPPING (1 << 22)
  152. #define POWER_VDDDCTRL_ENABLE_LINREG (1 << 21)
  153. #define POWER_VDDDCTRL_DISABLE_FET (1 << 20)
  154. #define POWER_VDDDCTRL_LINREG_OFFSET_MASK (0x3 << 16)
  155. #define POWER_VDDDCTRL_LINREG_OFFSET_OFFSET 16
  156. #define POWER_VDDDCTRL_LINREG_OFFSET_0STEPS (0x0 << 16)
  157. #define POWER_VDDDCTRL_LINREG_OFFSET_1STEPS_ABOVE (0x1 << 16)
  158. #define POWER_VDDDCTRL_LINREG_OFFSET_1STEPS_BELOW (0x2 << 16)
  159. #define POWER_VDDDCTRL_LINREG_OFFSET_2STEPS_BELOW (0x3 << 16)
  160. #define POWER_VDDDCTRL_BO_OFFSET_MASK (0x7 << 8)
  161. #define POWER_VDDDCTRL_BO_OFFSET_OFFSET 8
  162. #define POWER_VDDDCTRL_TRG_MASK 0x1f
  163. #define POWER_VDDDCTRL_TRG_OFFSET 0
  164. #define POWER_VDDACTRL_PWDN_BRNOUT (1 << 19)
  165. #define POWER_VDDACTRL_DISABLE_STEPPING (1 << 18)
  166. #define POWER_VDDACTRL_ENABLE_LINREG (1 << 17)
  167. #define POWER_VDDACTRL_DISABLE_FET (1 << 16)
  168. #define POWER_VDDACTRL_LINREG_OFFSET_MASK (0x3 << 12)
  169. #define POWER_VDDACTRL_LINREG_OFFSET_OFFSET 12
  170. #define POWER_VDDACTRL_LINREG_OFFSET_0STEPS (0x0 << 12)
  171. #define POWER_VDDACTRL_LINREG_OFFSET_1STEPS_ABOVE (0x1 << 12)
  172. #define POWER_VDDACTRL_LINREG_OFFSET_1STEPS_BELOW (0x2 << 12)
  173. #define POWER_VDDACTRL_LINREG_OFFSET_2STEPS_BELOW (0x3 << 12)
  174. #define POWER_VDDACTRL_BO_OFFSET_MASK (0x7 << 8)
  175. #define POWER_VDDACTRL_BO_OFFSET_OFFSET 8
  176. #define POWER_VDDACTRL_TRG_MASK 0x1f
  177. #define POWER_VDDACTRL_TRG_OFFSET 0
  178. #define POWER_VDDIOCTRL_ADJTN_MASK (0xf << 20)
  179. #define POWER_VDDIOCTRL_ADJTN_OFFSET 20
  180. #define POWER_VDDIOCTRL_PWDN_BRNOUT (1 << 18)
  181. #define POWER_VDDIOCTRL_DISABLE_STEPPING (1 << 17)
  182. #define POWER_VDDIOCTRL_DISABLE_FET (1 << 16)
  183. #define POWER_VDDIOCTRL_LINREG_OFFSET_MASK (0x3 << 12)
  184. #define POWER_VDDIOCTRL_LINREG_OFFSET_OFFSET 12
  185. #define POWER_VDDIOCTRL_LINREG_OFFSET_0STEPS (0x0 << 12)
  186. #define POWER_VDDIOCTRL_LINREG_OFFSET_1STEPS_ABOVE (0x1 << 12)
  187. #define POWER_VDDIOCTRL_LINREG_OFFSET_1STEPS_BELOW (0x2 << 12)
  188. #define POWER_VDDIOCTRL_LINREG_OFFSET_2STEPS_BELOW (0x3 << 12)
  189. #define POWER_VDDIOCTRL_BO_OFFSET_MASK (0x7 << 8)
  190. #define POWER_VDDIOCTRL_BO_OFFSET_OFFSET 8
  191. #define POWER_VDDIOCTRL_TRG_MASK 0x1f
  192. #define POWER_VDDIOCTRL_TRG_OFFSET 0
  193. #define POWER_VDDMEMCTRL_PULLDOWN_ACTIVE (1 << 10)
  194. #define POWER_VDDMEMCTRL_ENABLE_ILIMIT (1 << 9)
  195. #define POWER_VDDMEMCTRL_ENABLE_LINREG (1 << 8)
  196. #define POWER_VDDMEMCTRL_BO_OFFSET_MASK (0x7 << 5)
  197. #define POWER_VDDMEMCTRL_BO_OFFSET_OFFSET 5
  198. #define POWER_VDDMEMCTRL_TRG_MASK 0x1f
  199. #define POWER_VDDMEMCTRL_TRG_OFFSET 0
  200. #define POWER_DCDC4P2_DROPOUT_CTRL_MASK (0xf << 28)
  201. #define POWER_DCDC4P2_DROPOUT_CTRL_OFFSET 28
  202. #define POWER_DCDC4P2_DROPOUT_CTRL_200MV (0x3 << 30)
  203. #define POWER_DCDC4P2_DROPOUT_CTRL_100MV (0x2 << 30)
  204. #define POWER_DCDC4P2_DROPOUT_CTRL_50MV (0x1 << 30)
  205. #define POWER_DCDC4P2_DROPOUT_CTRL_25MV (0x0 << 30)
  206. #define POWER_DCDC4P2_DROPOUT_CTRL_SRC_4P2 (0x0 << 28)
  207. #define POWER_DCDC4P2_DROPOUT_CTRL_SRC_4P2_LT_BATT (0x1 << 28)
  208. #define POWER_DCDC4P2_DROPOUT_CTRL_SRC_SEL (0x2 << 28)
  209. #define POWER_DCDC4P2_ISTEAL_THRESH_MASK (0x3 << 24)
  210. #define POWER_DCDC4P2_ISTEAL_THRESH_OFFSET 24
  211. #define POWER_DCDC4P2_ENABLE_4P2 (1 << 23)
  212. #define POWER_DCDC4P2_ENABLE_DCDC (1 << 22)
  213. #define POWER_DCDC4P2_HYST_DIR (1 << 21)
  214. #define POWER_DCDC4P2_HYST_THRESH (1 << 20)
  215. #define POWER_DCDC4P2_TRG_MASK (0x7 << 16)
  216. #define POWER_DCDC4P2_TRG_OFFSET 16
  217. #define POWER_DCDC4P2_TRG_4V2 (0x0 << 16)
  218. #define POWER_DCDC4P2_TRG_4V1 (0x1 << 16)
  219. #define POWER_DCDC4P2_TRG_4V0 (0x2 << 16)
  220. #define POWER_DCDC4P2_TRG_3V9 (0x3 << 16)
  221. #define POWER_DCDC4P2_TRG_BATT (0x4 << 16)
  222. #define POWER_DCDC4P2_BO_MASK (0x1f << 8)
  223. #define POWER_DCDC4P2_BO_OFFSET 8
  224. #define POWER_DCDC4P2_CMPTRIP_MASK 0x1f
  225. #define POWER_DCDC4P2_CMPTRIP_OFFSET 0
  226. #define POWER_MISC_FREQSEL_MASK (0x7 << 4)
  227. #define POWER_MISC_FREQSEL_OFFSET 4
  228. #define POWER_MISC_FREQSEL_20MHZ (0x1 << 4)
  229. #define POWER_MISC_FREQSEL_24MHZ (0x2 << 4)
  230. #define POWER_MISC_FREQSEL_19MHZ (0x3 << 4)
  231. #define POWER_MISC_FREQSEL_14MHZ (0x4 << 4)
  232. #define POWER_MISC_FREQSEL_18MHZ (0x5 << 4)
  233. #define POWER_MISC_FREQSEL_21MHZ (0x6 << 4)
  234. #define POWER_MISC_FREQSEL_17MHZ (0x7 << 4)
  235. #define POWER_MISC_DISABLE_FET_BO_LOGIC (1 << 3)
  236. #define POWER_MISC_DELAY_TIMING (1 << 2)
  237. #define POWER_MISC_TEST (1 << 1)
  238. #define POWER_MISC_SEL_PLLCLK (1 << 0)
  239. #define POWER_DCLIMITS_POSLIMIT_BUCK_MASK (0x7f << 8)
  240. #define POWER_DCLIMITS_POSLIMIT_BUCK_OFFSET 8
  241. #define POWER_DCLIMITS_NEGLIMIT_MASK 0x7f
  242. #define POWER_DCLIMITS_NEGLIMIT_OFFSET 0
  243. #define POWER_LOOPCTRL_TOGGLE_DIF (1 << 20)
  244. #define POWER_LOOPCTRL_HYST_SIGN (1 << 19)
  245. #define POWER_LOOPCTRL_EN_CM_HYST (1 << 18)
  246. #define POWER_LOOPCTRL_EN_DF_HYST (1 << 17)
  247. #define POWER_LOOPCTRL_CM_HYST_THRESH (1 << 16)
  248. #define POWER_LOOPCTRL_DF_HYST_THRESH (1 << 15)
  249. #define POWER_LOOPCTRL_RCSCALE_THRESH (1 << 14)
  250. #define POWER_LOOPCTRL_EN_RCSCALE_MASK (0x3 << 12)
  251. #define POWER_LOOPCTRL_EN_RCSCALE_OFFSET 12
  252. #define POWER_LOOPCTRL_EN_RCSCALE_DIS (0x0 << 12)
  253. #define POWER_LOOPCTRL_EN_RCSCALE_2X (0x1 << 12)
  254. #define POWER_LOOPCTRL_EN_RCSCALE_4X (0x2 << 12)
  255. #define POWER_LOOPCTRL_EN_RCSCALE_8X (0x3 << 12)
  256. #define POWER_LOOPCTRL_DC_FF_MASK (0x7 << 8)
  257. #define POWER_LOOPCTRL_DC_FF_OFFSET 8
  258. #define POWER_LOOPCTRL_DC_R_MASK (0xf << 4)
  259. #define POWER_LOOPCTRL_DC_R_OFFSET 4
  260. #define POWER_LOOPCTRL_DC_C_MASK 0x3
  261. #define POWER_LOOPCTRL_DC_C_OFFSET 0
  262. #define POWER_LOOPCTRL_DC_C_MAX 0x0
  263. #define POWER_LOOPCTRL_DC_C_2X 0x1
  264. #define POWER_LOOPCTRL_DC_C_4X 0x2
  265. #define POWER_LOOPCTRL_DC_C_MIN 0x3
  266. #define POWER_STS_PWRUP_SOURCE_MASK (0x3f << 24)
  267. #define POWER_STS_PWRUP_SOURCE_OFFSET 24
  268. #define POWER_STS_PWRUP_SOURCE_5V (0x20 << 24)
  269. #define POWER_STS_PWRUP_SOURCE_RTC (0x10 << 24)
  270. #define POWER_STS_PWRUP_SOURCE_PSWITCH_HIGH (0x02 << 24)
  271. #define POWER_STS_PWRUP_SOURCE_PSWITCH_MID (0x01 << 24)
  272. #define POWER_STS_PSWITCH_MASK (0x3 << 20)
  273. #define POWER_STS_PSWITCH_OFFSET 20
  274. #define POWER_STS_THERMAL_WARNING (1 << 19)
  275. #define POWER_STS_VDDMEM_BO (1 << 18)
  276. #define POWER_STS_AVALID0_STATUS (1 << 17)
  277. #define POWER_STS_BVALID0_STATUS (1 << 16)
  278. #define POWER_STS_VBUSVALID0_STATUS (1 << 15)
  279. #define POWER_STS_SESSEND0_STATUS (1 << 14)
  280. #define POWER_STS_BATT_BO (1 << 13)
  281. #define POWER_STS_VDD5V_FAULT (1 << 12)
  282. #define POWER_STS_CHRGSTS (1 << 11)
  283. #define POWER_STS_DCDC_4P2_BO (1 << 10)
  284. #define POWER_STS_DC_OK (1 << 9)
  285. #define POWER_STS_VDDIO_BO (1 << 8)
  286. #define POWER_STS_VDDA_BO (1 << 7)
  287. #define POWER_STS_VDDD_BO (1 << 6)
  288. #define POWER_STS_VDD5V_GT_VDDIO (1 << 5)
  289. #define POWER_STS_VDD5V_DROOP (1 << 4)
  290. #define POWER_STS_AVALID0 (1 << 3)
  291. #define POWER_STS_BVALID0 (1 << 2)
  292. #define POWER_STS_VBUSVALID0 (1 << 1)
  293. #define POWER_STS_SESSEND0 (1 << 0)
  294. #define POWER_SPEED_STATUS_MASK (0xffff << 8)
  295. #define POWER_SPEED_STATUS_OFFSET 8
  296. #define POWER_SPEED_STATUS_SEL_MASK (0x3 << 6)
  297. #define POWER_SPEED_STATUS_SEL_OFFSET 6
  298. #define POWER_SPEED_STATUS_SEL_DCDC_STAT (0x0 << 6)
  299. #define POWER_SPEED_STATUS_SEL_CORE_STAT (0x1 << 6)
  300. #define POWER_SPEED_STATUS_SEL_ARM_STAT (0x2 << 6)
  301. #define POWER_SPEED_CTRL_MASK 0x3
  302. #define POWER_SPEED_CTRL_OFFSET 0
  303. #define POWER_SPEED_CTRL_SS_OFF 0x0
  304. #define POWER_SPEED_CTRL_SS_ON 0x1
  305. #define POWER_SPEED_CTRL_SS_ENABLE 0x3
  306. #define POWER_BATTMONITOR_BATT_VAL_MASK (0x3ff << 16)
  307. #define POWER_BATTMONITOR_BATT_VAL_OFFSET 16
  308. #define POWER_BATTMONITOR_PWDN_BATTBRNOUT_5VDETECT_EN (1 << 11)
  309. #define POWER_BATTMONITOR_EN_BATADJ (1 << 10)
  310. #define POWER_BATTMONITOR_PWDN_BATTBRNOUT (1 << 9)
  311. #define POWER_BATTMONITOR_BRWNOUT_PWD (1 << 8)
  312. #define POWER_BATTMONITOR_BRWNOUT_LVL_MASK 0x1f
  313. #define POWER_BATTMONITOR_BRWNOUT_LVL_OFFSET 0
  314. #define POWER_RESET_UNLOCK_MASK (0xffff << 16)
  315. #define POWER_RESET_UNLOCK_OFFSET 16
  316. #define POWER_RESET_UNLOCK_KEY (0x3e77 << 16)
  317. #define POWER_RESET_FASTFALL_PSWITCH_OFF (1 << 2)
  318. #define POWER_RESET_PWD_OFF (1 << 1)
  319. #define POWER_RESET_PWD (1 << 0)
  320. #define POWER_DEBUG_VBUSVALIDPIOLOCK (1 << 3)
  321. #define POWER_DEBUG_AVALIDPIOLOCK (1 << 2)
  322. #define POWER_DEBUG_BVALIDPIOLOCK (1 << 1)
  323. #define POWER_DEBUG_SESSENDPIOLOCK (1 << 0)
  324. #define POWER_THERMAL_TEST (1 << 8)
  325. #define POWER_THERMAL_PWD (1 << 7)
  326. #define POWER_THERMAL_LOW_POWER (1 << 6)
  327. #define POWER_THERMAL_OFFSET_ADJ_MASK (0x3 << 4)
  328. #define POWER_THERMAL_OFFSET_ADJ_OFFSET 4
  329. #define POWER_THERMAL_OFFSET_ADJ_ENABLE (1 << 3)
  330. #define POWER_THERMAL_TEMP_THRESHOLD_MASK 0x7
  331. #define POWER_THERMAL_TEMP_THRESHOLD_OFFSET 0
  332. #define POWER_USB1CTRL_AVALID1 (1 << 3)
  333. #define POWER_USB1CTRL_BVALID1 (1 << 2)
  334. #define POWER_USB1CTRL_VBUSVALID1 (1 << 1)
  335. #define POWER_USB1CTRL_SESSEND1 (1 << 0)
  336. #define POWER_SPECIAL_TEST_MASK 0xffffffff
  337. #define POWER_SPECIAL_TEST_OFFSET 0
  338. #define POWER_VERSION_MAJOR_MASK (0xff << 24)
  339. #define POWER_VERSION_MAJOR_OFFSET 24
  340. #define POWER_VERSION_MINOR_MASK (0xff << 16)
  341. #define POWER_VERSION_MINOR_OFFSET 16
  342. #define POWER_VERSION_STEP_MASK 0xffff
  343. #define POWER_VERSION_STEP_OFFSET 0
  344. #define POWER_ANACLKCTRL_CLKGATE_0 (1 << 31)
  345. #define POWER_ANACLKCTRL_OUTDIV_MASK (0x7 << 28)
  346. #define POWER_ANACLKCTRL_OUTDIV_OFFSET 28
  347. #define POWER_ANACLKCTRL_INVERT_OUTCLK (1 << 27)
  348. #define POWER_ANACLKCTRL_CLKGATE_I (1 << 26)
  349. #define POWER_ANACLKCTRL_DITHER_OFF (1 << 10)
  350. #define POWER_ANACLKCTRL_SLOW_DITHER (1 << 9)
  351. #define POWER_ANACLKCTRL_INVERT_INCLK (1 << 8)
  352. #define POWER_ANACLKCTRL_INCLK_SHIFT_MASK (0x3 << 4)
  353. #define POWER_ANACLKCTRL_INCLK_SHIFT_OFFSET 4
  354. #define POWER_ANACLKCTRL_INDIV_MASK 0x7
  355. #define POWER_ANACLKCTRL_INDIV_OFFSET 0
  356. #define POWER_REFCTRL_FASTSETTLING (1 << 26)
  357. #define POWER_REFCTRL_RAISE_REF (1 << 25)
  358. #define POWER_REFCTRL_XTAL_BGR_BIAS (1 << 24)
  359. #define POWER_REFCTRL_VBG_ADJ_MASK (0x7 << 20)
  360. #define POWER_REFCTRL_VBG_ADJ_OFFSET 20
  361. #define POWER_REFCTRL_LOW_PWR (1 << 19)
  362. #define POWER_REFCTRL_BIAS_CTRL_MASK (0x3 << 16)
  363. #define POWER_REFCTRL_BIAS_CTRL_OFFSET 16
  364. #define POWER_REFCTRL_VDDXTAL_TO_VDDD (1 << 14)
  365. #define POWER_REFCTRL_ADJ_ANA (1 << 13)
  366. #define POWER_REFCTRL_ADJ_VAG (1 << 12)
  367. #define POWER_REFCTRL_ANA_REFVAL_MASK (0xf << 8)
  368. #define POWER_REFCTRL_ANA_REFVAL_OFFSET 8
  369. #define POWER_REFCTRL_VAG_VAL_MASK (0xf << 4)
  370. #define POWER_REFCTRL_VAG_VAL_OFFSET 4
  371. #endif /* __MX28_REGS_POWER_H__ */