cm-regbits-33xx.h 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817
  1. /*
  2. * AM33XX Power Management register bits
  3. *
  4. * This file is automatically generated from the AM33XX hardware databases.
  5. * Vaibhav Hiremath <hvaibhav@ti.com>
  6. *
  7. * Copyright (C) 2011-2012 Texas Instruments Incorporated - http://www.ti.com/
  8. *
  9. * This program is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation version 2.
  12. *
  13. * This program is distributed "as is" WITHOUT ANY WARRANTY of any
  14. * kind, whether express or implied; without even the implied warranty
  15. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. */
  18. #ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_33XX_H
  19. #define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_33XX_H
  20. /*
  21. * Used by CM_AUTOIDLE_DPLL_CORE, CM_AUTOIDLE_DPLL_DDR, CM_AUTOIDLE_DPLL_DISP,
  22. * CM_AUTOIDLE_DPLL_MPU, CM_AUTOIDLE_DPLL_PER
  23. */
  24. #define AM33XX_AUTO_DPLL_MODE_SHIFT 0
  25. #define AM33XX_AUTO_DPLL_MODE_WIDTH 3
  26. #define AM33XX_AUTO_DPLL_MODE_MASK (0x7 << 0)
  27. /* Used by CM_WKUP_CLKSTCTRL */
  28. #define AM33XX_CLKACTIVITY_ADC_FCLK_SHIFT 14
  29. #define AM33XX_CLKACTIVITY_ADC_FCLK_WIDTH 1
  30. #define AM33XX_CLKACTIVITY_ADC_FCLK_MASK (1 << 16)
  31. /* Used by CM_PER_L4LS_CLKSTCTRL */
  32. #define AM33XX_CLKACTIVITY_CAN_CLK_SHIFT 11
  33. #define AM33XX_CLKACTIVITY_CAN_CLK_WIDTH 1
  34. #define AM33XX_CLKACTIVITY_CAN_CLK_MASK (1 << 11)
  35. /* Used by CM_PER_CLK_24MHZ_CLKSTCTRL */
  36. #define AM33XX_CLKACTIVITY_CLK_24MHZ_GCLK_SHIFT 4
  37. #define AM33XX_CLKACTIVITY_CLK_24MHZ_GCLK_WIDTH 1
  38. #define AM33XX_CLKACTIVITY_CLK_24MHZ_GCLK_MASK (1 << 4)
  39. /* Used by CM_PER_CPSW_CLKSTCTRL */
  40. #define AM33XX_CLKACTIVITY_CPSW_125MHZ_GCLK_SHIFT 4
  41. #define AM33XX_CLKACTIVITY_CPSW_125MHZ_GCLK_WIDTH 1
  42. #define AM33XX_CLKACTIVITY_CPSW_125MHZ_GCLK_MASK (1 << 4)
  43. /* Used by CM_PER_L4HS_CLKSTCTRL */
  44. #define AM33XX_CLKACTIVITY_CPSW_250MHZ_GCLK_SHIFT 4
  45. #define AM33XX_CLKACTIVITY_CPSW_250MHZ_GCLK_WIDTH 1
  46. #define AM33XX_CLKACTIVITY_CPSW_250MHZ_GCLK_MASK (1 << 4)
  47. /* Used by CM_PER_L4HS_CLKSTCTRL */
  48. #define AM33XX_CLKACTIVITY_CPSW_50MHZ_GCLK_SHIFT 5
  49. #define AM33XX_CLKACTIVITY_CPSW_50MHZ_GCLK_WIDTH 1
  50. #define AM33XX_CLKACTIVITY_CPSW_50MHZ_GCLK_MASK (1 << 5)
  51. /* Used by CM_PER_L4HS_CLKSTCTRL */
  52. #define AM33XX_CLKACTIVITY_CPSW_5MHZ_GCLK_SHIFT 6
  53. #define AM33XX_CLKACTIVITY_CPSW_5MHZ_GCLK_WIDTH 1
  54. #define AM33XX_CLKACTIVITY_CPSW_5MHZ_GCLK_MASK (1 << 6)
  55. /* Used by CM_PER_L3_CLKSTCTRL */
  56. #define AM33XX_CLKACTIVITY_CPTS_RFT_GCLK_SHIFT 6
  57. #define AM33XX_CLKACTIVITY_CPTS_RFT_GCLK_WIDTH 1
  58. #define AM33XX_CLKACTIVITY_CPTS_RFT_GCLK_MASK (1 << 6)
  59. /* Used by CM_CEFUSE_CLKSTCTRL */
  60. #define AM33XX_CLKACTIVITY_CUST_EFUSE_SYS_CLK_SHIFT 9
  61. #define AM33XX_CLKACTIVITY_CUST_EFUSE_SYS_CLK_WIDTH 1
  62. #define AM33XX_CLKACTIVITY_CUST_EFUSE_SYS_CLK_MASK (1 << 9)
  63. /* Used by CM_L3_AON_CLKSTCTRL */
  64. #define AM33XX_CLKACTIVITY_DBGSYSCLK_SHIFT 2
  65. #define AM33XX_CLKACTIVITY_DBGSYSCLK_WIDTH 1
  66. #define AM33XX_CLKACTIVITY_DBGSYSCLK_MASK (1 << 2)
  67. /* Used by CM_L3_AON_CLKSTCTRL */
  68. #define AM33XX_CLKACTIVITY_DEBUG_CLKA_SHIFT 4
  69. #define AM33XX_CLKACTIVITY_DEBUG_CLKA_WIDTH 1
  70. #define AM33XX_CLKACTIVITY_DEBUG_CLKA_MASK (1 << 4)
  71. /* Used by CM_PER_L3_CLKSTCTRL */
  72. #define AM33XX_CLKACTIVITY_EMIF_GCLK_SHIFT 2
  73. #define AM33XX_CLKACTIVITY_EMIF_GCLK_WIDTH 1
  74. #define AM33XX_CLKACTIVITY_EMIF_GCLK_MASK (1 << 2)
  75. /* Used by CM_GFX_L3_CLKSTCTRL */
  76. #define AM33XX_CLKACTIVITY_GFX_FCLK_SHIFT 9
  77. #define AM33XX_CLKACTIVITY_GFX_FCLK_WIDTH 1
  78. #define AM33XX_CLKACTIVITY_GFX_FCLK_MASK (1 << 9)
  79. /* Used by CM_GFX_L3_CLKSTCTRL */
  80. #define AM33XX_CLKACTIVITY_GFX_L3_GCLK_SHIFT 8
  81. #define AM33XX_CLKACTIVITY_GFX_L3_GCLK_WIDTH 1
  82. #define AM33XX_CLKACTIVITY_GFX_L3_GCLK_MASK (1 << 8)
  83. /* Used by CM_WKUP_CLKSTCTRL */
  84. #define AM33XX_CLKACTIVITY_GPIO0_GDBCLK_SHIFT 8
  85. #define AM33XX_CLKACTIVITY_GPIO0_GDBCLK_WIDTH 1
  86. #define AM33XX_CLKACTIVITY_GPIO0_GDBCLK_MASK (1 << 8)
  87. /* Used by CM_PER_L4LS_CLKSTCTRL */
  88. #define AM33XX_CLKACTIVITY_GPIO_1_GDBCLK_SHIFT 19
  89. #define AM33XX_CLKACTIVITY_GPIO_1_GDBCLK_WIDTH 1
  90. #define AM33XX_CLKACTIVITY_GPIO_1_GDBCLK_MASK (1 << 19)
  91. /* Used by CM_PER_L4LS_CLKSTCTRL */
  92. #define AM33XX_CLKACTIVITY_GPIO_2_GDBCLK_SHIFT 20
  93. #define AM33XX_CLKACTIVITY_GPIO_2_GDBCLK_WIDTH 1
  94. #define AM33XX_CLKACTIVITY_GPIO_2_GDBCLK_MASK (1 << 20)
  95. /* Used by CM_PER_L4LS_CLKSTCTRL */
  96. #define AM33XX_CLKACTIVITY_GPIO_3_GDBCLK_SHIFT 21
  97. #define AM33XX_CLKACTIVITY_GPIO_3_GDBCLK_WIDTH 1
  98. #define AM33XX_CLKACTIVITY_GPIO_3_GDBCLK_MASK (1 << 21)
  99. /* Used by CM_PER_L4LS_CLKSTCTRL */
  100. #define AM33XX_CLKACTIVITY_GPIO_4_GDBCLK_SHIFT 22
  101. #define AM33XX_CLKACTIVITY_GPIO_4_GDBCLK_WIDTH 1
  102. #define AM33XX_CLKACTIVITY_GPIO_4_GDBCLK_MASK (1 << 22)
  103. /* Used by CM_PER_L4LS_CLKSTCTRL */
  104. #define AM33XX_CLKACTIVITY_GPIO_5_GDBCLK_SHIFT 26
  105. #define AM33XX_CLKACTIVITY_GPIO_5_GDBCLK_WIDTH 1
  106. #define AM33XX_CLKACTIVITY_GPIO_5_GDBCLK_MASK (1 << 26)
  107. /* Used by CM_PER_L4LS_CLKSTCTRL */
  108. #define AM33XX_CLKACTIVITY_GPIO_6_GDBCLK_SHIFT 18
  109. #define AM33XX_CLKACTIVITY_GPIO_6_GDBCLK_WIDTH 1
  110. #define AM33XX_CLKACTIVITY_GPIO_6_GDBCLK_MASK (1 << 18)
  111. /* Used by CM_WKUP_CLKSTCTRL */
  112. #define AM33XX_CLKACTIVITY_I2C0_GFCLK_SHIFT 11
  113. #define AM33XX_CLKACTIVITY_I2C0_GFCLK_WIDTH 1
  114. #define AM33XX_CLKACTIVITY_I2C0_GFCLK_MASK (1 << 11)
  115. /* Used by CM_PER_L4LS_CLKSTCTRL */
  116. #define AM33XX_CLKACTIVITY_I2C_FCLK_SHIFT 24
  117. #define AM33XX_CLKACTIVITY_I2C_FCLK_WIDTH 1
  118. #define AM33XX_CLKACTIVITY_I2C_FCLK_MASK (1 << 24)
  119. /* Used by CM_PER_PRUSS_CLKSTCTRL */
  120. #define AM33XX_CLKACTIVITY_PRUSS_IEP_GCLK_SHIFT 5
  121. #define AM33XX_CLKACTIVITY_PRUSS_IEP_GCLK_WIDTH 1
  122. #define AM33XX_CLKACTIVITY_PRUSS_IEP_GCLK_MASK (1 << 5)
  123. /* Used by CM_PER_PRUSS_CLKSTCTRL */
  124. #define AM33XX_CLKACTIVITY_PRUSS_OCP_GCLK_SHIFT 4
  125. #define AM33XX_CLKACTIVITY_PRUSS_OCP_GCLK_WIDTH 1
  126. #define AM33XX_CLKACTIVITY_PRUSS_OCP_GCLK_MASK (1 << 4)
  127. /* Used by CM_PER_PRUSS_CLKSTCTRL */
  128. #define AM33XX_CLKACTIVITY_PRUSS_UART_GCLK_SHIFT 6
  129. #define AM33XX_CLKACTIVITY_PRUSS_UART_GCLK_WIDTH 1
  130. #define AM33XX_CLKACTIVITY_PRUSS_UART_GCLK_MASK (1 << 6)
  131. /* Used by CM_PER_L3S_CLKSTCTRL */
  132. #define AM33XX_CLKACTIVITY_L3S_GCLK_SHIFT 3
  133. #define AM33XX_CLKACTIVITY_L3S_GCLK_WIDTH 1
  134. #define AM33XX_CLKACTIVITY_L3S_GCLK_MASK (1 << 3)
  135. /* Used by CM_L3_AON_CLKSTCTRL */
  136. #define AM33XX_CLKACTIVITY_L3_AON_GCLK_SHIFT 3
  137. #define AM33XX_CLKACTIVITY_L3_AON_GCLK_WIDTH 1
  138. #define AM33XX_CLKACTIVITY_L3_AON_GCLK_MASK (1 << 3)
  139. /* Used by CM_PER_L3_CLKSTCTRL */
  140. #define AM33XX_CLKACTIVITY_L3_GCLK_SHIFT 4
  141. #define AM33XX_CLKACTIVITY_L3_GCLK_WIDTH 1
  142. #define AM33XX_CLKACTIVITY_L3_GCLK_MASK (1 << 4)
  143. /* Used by CM_PER_L4FW_CLKSTCTRL */
  144. #define AM33XX_CLKACTIVITY_L4FW_GCLK_SHIFT 8
  145. #define AM33XX_CLKACTIVITY_L4FW_GCLK_WIDTH 1
  146. #define AM33XX_CLKACTIVITY_L4FW_GCLK_MASK (1 << 8)
  147. /* Used by CM_PER_L4HS_CLKSTCTRL */
  148. #define AM33XX_CLKACTIVITY_L4HS_GCLK_SHIFT 3
  149. #define AM33XX_CLKACTIVITY_L4HS_GCLK_WIDTH 1
  150. #define AM33XX_CLKACTIVITY_L4HS_GCLK_MASK (1 << 3)
  151. /* Used by CM_PER_L4LS_CLKSTCTRL */
  152. #define AM33XX_CLKACTIVITY_L4LS_GCLK_SHIFT 8
  153. #define AM33XX_CLKACTIVITY_L4LS_GCLK_WIDTH 1
  154. #define AM33XX_CLKACTIVITY_L4LS_GCLK_MASK (1 << 8)
  155. /* Used by CM_GFX_L4LS_GFX_CLKSTCTRL__1 */
  156. #define AM33XX_CLKACTIVITY_L4LS_GFX_GCLK_SHIFT 8
  157. #define AM33XX_CLKACTIVITY_L4LS_GFX_GCLK_WIDTH 1
  158. #define AM33XX_CLKACTIVITY_L4LS_GFX_GCLK_MASK (1 << 8)
  159. /* Used by CM_CEFUSE_CLKSTCTRL */
  160. #define AM33XX_CLKACTIVITY_L4_CEFUSE_GICLK_SHIFT 8
  161. #define AM33XX_CLKACTIVITY_L4_CEFUSE_GICLK_WIDTH 1
  162. #define AM33XX_CLKACTIVITY_L4_CEFUSE_GICLK_MASK (1 << 8)
  163. /* Used by CM_RTC_CLKSTCTRL */
  164. #define AM33XX_CLKACTIVITY_L4_RTC_GCLK_SHIFT 8
  165. #define AM33XX_CLKACTIVITY_L4_RTC_GCLK_WIDTH 1
  166. #define AM33XX_CLKACTIVITY_L4_RTC_GCLK_MASK (1 << 8)
  167. /* Used by CM_L4_WKUP_AON_CLKSTCTRL */
  168. #define AM33XX_CLKACTIVITY_L4_WKUP_AON_GCLK_SHIFT 2
  169. #define AM33XX_CLKACTIVITY_L4_WKUP_AON_GCLK_WIDTH 1
  170. #define AM33XX_CLKACTIVITY_L4_WKUP_AON_GCLK_MASK (1 << 2)
  171. /* Used by CM_WKUP_CLKSTCTRL */
  172. #define AM33XX_CLKACTIVITY_L4_WKUP_GCLK_SHIFT 2
  173. #define AM33XX_CLKACTIVITY_L4_WKUP_GCLK_WIDTH 1
  174. #define AM33XX_CLKACTIVITY_L4_WKUP_GCLK_MASK (1 << 2)
  175. /* Used by CM_PER_L4LS_CLKSTCTRL */
  176. #define AM33XX_CLKACTIVITY_LCDC_GCLK_SHIFT 17
  177. #define AM33XX_CLKACTIVITY_LCDC_GCLK_WIDTH 1
  178. #define AM33XX_CLKACTIVITY_LCDC_GCLK_MASK (1 << 17)
  179. /* Used by CM_PER_LCDC_CLKSTCTRL */
  180. #define AM33XX_CLKACTIVITY_LCDC_L3_OCP_GCLK_SHIFT 4
  181. #define AM33XX_CLKACTIVITY_LCDC_L3_OCP_GCLK_WIDTH 1
  182. #define AM33XX_CLKACTIVITY_LCDC_L3_OCP_GCLK_MASK (1 << 4)
  183. /* Used by CM_PER_LCDC_CLKSTCTRL */
  184. #define AM33XX_CLKACTIVITY_LCDC_L4_OCP_GCLK_SHIFT 5
  185. #define AM33XX_CLKACTIVITY_LCDC_L4_OCP_GCLK_WIDTH 1
  186. #define AM33XX_CLKACTIVITY_LCDC_L4_OCP_GCLK_MASK (1 << 5)
  187. /* Used by CM_PER_L3_CLKSTCTRL */
  188. #define AM33XX_CLKACTIVITY_MCASP_GCLK_SHIFT 7
  189. #define AM33XX_CLKACTIVITY_MCASP_GCLK_WIDTH 1
  190. #define AM33XX_CLKACTIVITY_MCASP_GCLK_MASK (1 << 7)
  191. /* Used by CM_PER_L3_CLKSTCTRL */
  192. #define AM33XX_CLKACTIVITY_MMC_FCLK_SHIFT 3
  193. #define AM33XX_CLKACTIVITY_MMC_FCLK_WIDTH 1
  194. #define AM33XX_CLKACTIVITY_MMC_FCLK_MASK (1 << 3)
  195. /* Used by CM_MPU_CLKSTCTRL */
  196. #define AM33XX_CLKACTIVITY_MPU_CLK_SHIFT 2
  197. #define AM33XX_CLKACTIVITY_MPU_CLK_WIDTH 1
  198. #define AM33XX_CLKACTIVITY_MPU_CLK_MASK (1 << 2)
  199. /* Used by CM_PER_OCPWP_L3_CLKSTCTRL */
  200. #define AM33XX_CLKACTIVITY_OCPWP_L3_GCLK_SHIFT 4
  201. #define AM33XX_CLKACTIVITY_OCPWP_L3_GCLK_WIDTH 1
  202. #define AM33XX_CLKACTIVITY_OCPWP_L3_GCLK_MASK (1 << 4)
  203. /* Used by CM_PER_OCPWP_L3_CLKSTCTRL */
  204. #define AM33XX_CLKACTIVITY_OCPWP_L4_GCLK_SHIFT 5
  205. #define AM33XX_CLKACTIVITY_OCPWP_L4_GCLK_WIDTH 1
  206. #define AM33XX_CLKACTIVITY_OCPWP_L4_GCLK_MASK (1 << 5)
  207. /* Used by CM_RTC_CLKSTCTRL */
  208. #define AM33XX_CLKACTIVITY_RTC_32KCLK_SHIFT 9
  209. #define AM33XX_CLKACTIVITY_RTC_32KCLK_WIDTH 1
  210. #define AM33XX_CLKACTIVITY_RTC_32KCLK_MASK (1 << 9)
  211. /* Used by CM_PER_L4LS_CLKSTCTRL */
  212. #define AM33XX_CLKACTIVITY_SPI_GCLK_SHIFT 25
  213. #define AM33XX_CLKACTIVITY_SPI_GCLK_WIDTH 1
  214. #define AM33XX_CLKACTIVITY_SPI_GCLK_MASK (1 << 25)
  215. /* Used by CM_WKUP_CLKSTCTRL */
  216. #define AM33XX_CLKACTIVITY_SR_SYSCLK_SHIFT 3
  217. #define AM33XX_CLKACTIVITY_SR_SYSCLK_WIDTH 1
  218. #define AM33XX_CLKACTIVITY_SR_SYSCLK_MASK (1 << 3)
  219. /* Used by CM_WKUP_CLKSTCTRL */
  220. #define AM33XX_CLKACTIVITY_TIMER0_GCLK_SHIFT 10
  221. #define AM33XX_CLKACTIVITY_TIMER0_GCLK_WIDTH 1
  222. #define AM33XX_CLKACTIVITY_TIMER0_GCLK_MASK (1 << 10)
  223. /* Used by CM_WKUP_CLKSTCTRL */
  224. #define AM33XX_CLKACTIVITY_TIMER1_GCLK_SHIFT 13
  225. #define AM33XX_CLKACTIVITY_TIMER1_GCLK_WIDTH 1
  226. #define AM33XX_CLKACTIVITY_TIMER1_GCLK_MASK (1 << 13)
  227. /* Used by CM_PER_L4LS_CLKSTCTRL */
  228. #define AM33XX_CLKACTIVITY_TIMER2_GCLK_SHIFT 14
  229. #define AM33XX_CLKACTIVITY_TIMER2_GCLK_WIDTH 1
  230. #define AM33XX_CLKACTIVITY_TIMER2_GCLK_MASK (1 << 14)
  231. /* Used by CM_PER_L4LS_CLKSTCTRL */
  232. #define AM33XX_CLKACTIVITY_TIMER3_GCLK_SHIFT 15
  233. #define AM33XX_CLKACTIVITY_TIMER3_GCLK_WIDTH 1
  234. #define AM33XX_CLKACTIVITY_TIMER3_GCLK_MASK (1 << 15)
  235. /* Used by CM_PER_L4LS_CLKSTCTRL */
  236. #define AM33XX_CLKACTIVITY_TIMER4_GCLK_SHIFT 16
  237. #define AM33XX_CLKACTIVITY_TIMER4_GCLK_WIDTH 1
  238. #define AM33XX_CLKACTIVITY_TIMER4_GCLK_MASK (1 << 16)
  239. /* Used by CM_PER_L4LS_CLKSTCTRL */
  240. #define AM33XX_CLKACTIVITY_TIMER5_GCLK_SHIFT 27
  241. #define AM33XX_CLKACTIVITY_TIMER5_GCLK_WIDTH 1
  242. #define AM33XX_CLKACTIVITY_TIMER5_GCLK_MASK (1 << 27)
  243. /* Used by CM_PER_L4LS_CLKSTCTRL */
  244. #define AM33XX_CLKACTIVITY_TIMER6_GCLK_SHIFT 28
  245. #define AM33XX_CLKACTIVITY_TIMER6_GCLK_WIDTH 1
  246. #define AM33XX_CLKACTIVITY_TIMER6_GCLK_MASK (1 << 28)
  247. /* Used by CM_PER_L4LS_CLKSTCTRL */
  248. #define AM33XX_CLKACTIVITY_TIMER7_GCLK_SHIFT 13
  249. #define AM33XX_CLKACTIVITY_TIMER7_GCLK_WIDTH 1
  250. #define AM33XX_CLKACTIVITY_TIMER7_GCLK_MASK (1 << 13)
  251. /* Used by CM_WKUP_CLKSTCTRL */
  252. #define AM33XX_CLKACTIVITY_UART0_GFCLK_SHIFT 12
  253. #define AM33XX_CLKACTIVITY_UART0_GFCLK_WIDTH 1
  254. #define AM33XX_CLKACTIVITY_UART0_GFCLK_MASK (1 << 12)
  255. /* Used by CM_PER_L4LS_CLKSTCTRL */
  256. #define AM33XX_CLKACTIVITY_UART_GFCLK_SHIFT 10
  257. #define AM33XX_CLKACTIVITY_UART_GFCLK_WIDTH 1
  258. #define AM33XX_CLKACTIVITY_UART_GFCLK_MASK (1 << 10)
  259. /* Used by CM_WKUP_CLKSTCTRL */
  260. #define AM33XX_CLKACTIVITY_WDT0_GCLK_SHIFT 9
  261. #define AM33XX_CLKACTIVITY_WDT0_GCLK_WIDTH 1
  262. #define AM33XX_CLKACTIVITY_WDT0_GCLK_MASK (1 << 9)
  263. /* Used by CM_WKUP_CLKSTCTRL */
  264. #define AM33XX_CLKACTIVITY_WDT1_GCLK_SHIFT 4
  265. #define AM33XX_CLKACTIVITY_WDT1_GCLK_WIDTH 1
  266. #define AM33XX_CLKACTIVITY_WDT1_GCLK_MASK (1 << 4)
  267. /* Used by CLKSEL_GFX_FCLK */
  268. #define AM33XX_CLKDIV_SEL_GFX_FCLK_SHIFT 0
  269. #define AM33XX_CLKDIV_SEL_GFX_FCLK_WIDTH 1
  270. #define AM33XX_CLKDIV_SEL_GFX_FCLK_MASK (1 << 0)
  271. /* Used by CM_CLKOUT_CTRL */
  272. #define AM33XX_CLKOUT2DIV_SHIFT 3
  273. #define AM33XX_CLKOUT2DIV_WIDTH 3
  274. #define AM33XX_CLKOUT2DIV_MASK (0x7 << 3)
  275. /* Used by CM_CLKOUT_CTRL */
  276. #define AM33XX_CLKOUT2EN_SHIFT 7
  277. #define AM33XX_CLKOUT2EN_WIDTH 1
  278. #define AM33XX_CLKOUT2EN_MASK (1 << 7)
  279. /* Used by CM_CLKOUT_CTRL */
  280. #define AM33XX_CLKOUT2SOURCE_SHIFT 0
  281. #define AM33XX_CLKOUT2SOURCE_WIDTH 3
  282. #define AM33XX_CLKOUT2SOURCE_MASK (0x7 << 0)
  283. /*
  284. * Used by CLKSEL_GPIO0_DBCLK, CLKSEL_LCDC_PIXEL_CLK, CLKSEL_TIMER2_CLK,
  285. * CLKSEL_TIMER3_CLK, CLKSEL_TIMER4_CLK, CLKSEL_TIMER5_CLK, CLKSEL_TIMER6_CLK,
  286. * CLKSEL_TIMER7_CLK
  287. */
  288. #define AM33XX_CLKSEL_SHIFT 0
  289. #define AM33XX_CLKSEL_WIDTH 1
  290. #define AM33XX_CLKSEL_MASK (0x01 << 0)
  291. /*
  292. * Renamed from CLKSEL Used by CLKSEL_PRUSS_OCP_CLK, CLKSEL_WDT1_CLK,
  293. * CM_CPTS_RFT_CLKSEL
  294. */
  295. #define AM33XX_CLKSEL_0_0_SHIFT 0
  296. #define AM33XX_CLKSEL_0_0_WIDTH 1
  297. #define AM33XX_CLKSEL_0_0_MASK (1 << 0)
  298. #define AM33XX_CLKSEL_0_1_SHIFT 0
  299. #define AM33XX_CLKSEL_0_1_WIDTH 2
  300. #define AM33XX_CLKSEL_0_1_MASK (3 << 0)
  301. /* Renamed from CLKSEL Used by CLKSEL_TIMER1MS_CLK */
  302. #define AM33XX_CLKSEL_0_2_SHIFT 0
  303. #define AM33XX_CLKSEL_0_2_WIDTH 3
  304. #define AM33XX_CLKSEL_0_2_MASK (7 << 0)
  305. /* Used by CLKSEL_GFX_FCLK */
  306. #define AM33XX_CLKSEL_GFX_FCLK_SHIFT 1
  307. #define AM33XX_CLKSEL_GFX_FCLK_WIDTH 1
  308. #define AM33XX_CLKSEL_GFX_FCLK_MASK (1 << 1)
  309. /*
  310. * Used by CM_MPU_CLKSTCTRL, CM_RTC_CLKSTCTRL, CM_PER_CLK_24MHZ_CLKSTCTRL,
  311. * CM_PER_CPSW_CLKSTCTRL, CM_PER_PRUSS_CLKSTCTRL, CM_PER_L3S_CLKSTCTRL,
  312. * CM_PER_L3_CLKSTCTRL, CM_PER_L4FW_CLKSTCTRL, CM_PER_L4HS_CLKSTCTRL,
  313. * CM_PER_L4LS_CLKSTCTRL, CM_PER_LCDC_CLKSTCTRL, CM_PER_OCPWP_L3_CLKSTCTRL,
  314. * CM_L3_AON_CLKSTCTRL, CM_L4_WKUP_AON_CLKSTCTRL, CM_WKUP_CLKSTCTRL,
  315. * CM_GFX_L3_CLKSTCTRL, CM_GFX_L4LS_GFX_CLKSTCTRL__1, CM_CEFUSE_CLKSTCTRL
  316. */
  317. #define AM33XX_CLKTRCTRL_SHIFT 0
  318. #define AM33XX_CLKTRCTRL_WIDTH 2
  319. #define AM33XX_CLKTRCTRL_MASK (0x3 << 0)
  320. /*
  321. * Used by CM_SSC_DELTAMSTEP_DPLL_CORE, CM_SSC_DELTAMSTEP_DPLL_DDR,
  322. * CM_SSC_DELTAMSTEP_DPLL_DISP, CM_SSC_DELTAMSTEP_DPLL_MPU,
  323. * CM_SSC_DELTAMSTEP_DPLL_PER
  324. */
  325. #define AM33XX_DELTAMSTEP_SHIFT 0
  326. #define AM33XX_DELTAMSTEP_WIDTH 20
  327. #define AM33XX_DELTAMSTEP_MASK (0xfffff << 0)
  328. /* Used by CM_CLKSEL_DPLL_DDR, CM_CLKSEL_DPLL_DISP, CM_CLKSEL_DPLL_MPU */
  329. #define AM33XX_DPLL_BYP_CLKSEL_SHIFT 23
  330. #define AM33XX_DPLL_BYP_CLKSEL_WIDTH 1
  331. #define AM33XX_DPLL_BYP_CLKSEL_MASK (1 << 23)
  332. /* Used by CM_CLKDCOLDO_DPLL_PER */
  333. #define AM33XX_DPLL_CLKDCOLDO_GATE_CTRL_SHIFT 8
  334. #define AM33XX_DPLL_CLKDCOLDO_GATE_CTRL_WIDTH 1
  335. #define AM33XX_DPLL_CLKDCOLDO_GATE_CTRL_MASK (1 << 8)
  336. /* Used by CM_CLKDCOLDO_DPLL_PER */
  337. #define AM33XX_DPLL_CLKDCOLDO_PWDN_SHIFT 12
  338. #define AM33XX_DPLL_CLKDCOLDO_PWDN_WIDTH 1
  339. #define AM33XX_DPLL_CLKDCOLDO_PWDN_MASK (1 << 12)
  340. /* Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU */
  341. #define AM33XX_DPLL_CLKOUT_DIV_SHIFT 0
  342. #define AM33XX_DPLL_CLKOUT_DIV_WIDTH 5
  343. #define AM33XX_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
  344. /* Renamed from DPLL_CLKOUT_DIV Used by CM_DIV_M2_DPLL_PER */
  345. #define AM33XX_DPLL_CLKOUT_DIV_0_6_SHIFT 0
  346. #define AM33XX_DPLL_CLKOUT_DIV_0_6_WIDTH 7
  347. #define AM33XX_DPLL_CLKOUT_DIV_0_6_MASK (0x7f << 0)
  348. /* Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU */
  349. #define AM33XX_DPLL_CLKOUT_DIVCHACK_SHIFT 5
  350. #define AM33XX_DPLL_CLKOUT_DIVCHACK_WIDTH 1
  351. #define AM33XX_DPLL_CLKOUT_DIVCHACK_MASK (1 << 5)
  352. /* Renamed from DPLL_CLKOUT_DIVCHACK Used by CM_DIV_M2_DPLL_PER */
  353. #define AM33XX_DPLL_CLKOUT_DIVCHACK_M2_PER_SHIFT 7
  354. #define AM33XX_DPLL_CLKOUT_DIVCHACK_M2_PER_WIDTH 1
  355. #define AM33XX_DPLL_CLKOUT_DIVCHACK_M2_PER_MASK (1 << 7)
  356. /*
  357. * Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU,
  358. * CM_DIV_M2_DPLL_PER
  359. */
  360. #define AM33XX_DPLL_CLKOUT_GATE_CTRL_SHIFT 8
  361. #define AM33XX_DPLL_CLKOUT_GATE_CTRL_WIDTH 1
  362. #define AM33XX_DPLL_CLKOUT_GATE_CTRL_MASK (1 << 8)
  363. /*
  364. * Used by CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDR, CM_CLKSEL_DPLL_DISP,
  365. * CM_CLKSEL_DPLL_MPU
  366. */
  367. #define AM33XX_DPLL_DIV_SHIFT 0
  368. #define AM33XX_DPLL_DIV_WIDTH 7
  369. #define AM33XX_DPLL_DIV_MASK (0x7f << 0)
  370. #define AM33XX_DPLL_PER_DIV_MASK (0xff << 0)
  371. /* Renamed from DPLL_DIV Used by CM_CLKSEL_DPLL_PERIPH */
  372. #define AM33XX_DPLL_DIV_0_7_SHIFT 0
  373. #define AM33XX_DPLL_DIV_0_7_WIDTH 8
  374. #define AM33XX_DPLL_DIV_0_7_MASK (0xff << 0)
  375. /*
  376. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  377. * CM_CLKMODE_DPLL_MPU
  378. */
  379. #define AM33XX_DPLL_DRIFTGUARD_EN_SHIFT 8
  380. #define AM33XX_DPLL_DRIFTGUARD_EN_WIDTH 1
  381. #define AM33XX_DPLL_DRIFTGUARD_EN_MASK (1 << 8)
  382. /*
  383. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  384. * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
  385. */
  386. #define AM33XX_DPLL_EN_SHIFT 0
  387. #define AM33XX_DPLL_EN_WIDTH 3
  388. #define AM33XX_DPLL_EN_MASK (0x7 << 0)
  389. /*
  390. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  391. * CM_CLKMODE_DPLL_MPU
  392. */
  393. #define AM33XX_DPLL_LPMODE_EN_SHIFT 10
  394. #define AM33XX_DPLL_LPMODE_EN_WIDTH 1
  395. #define AM33XX_DPLL_LPMODE_EN_MASK (1 << 10)
  396. /*
  397. * Used by CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDR, CM_CLKSEL_DPLL_DISP,
  398. * CM_CLKSEL_DPLL_MPU
  399. */
  400. #define AM33XX_DPLL_MULT_SHIFT 8
  401. #define AM33XX_DPLL_MULT_WIDTH 11
  402. #define AM33XX_DPLL_MULT_MASK (0x7ff << 8)
  403. /* Renamed from DPLL_MULT Used by CM_CLKSEL_DPLL_PERIPH */
  404. #define AM33XX_DPLL_MULT_PERIPH_SHIFT 8
  405. #define AM33XX_DPLL_MULT_PERIPH_WIDTH 12
  406. #define AM33XX_DPLL_MULT_PERIPH_MASK (0xfff << 8)
  407. /*
  408. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  409. * CM_CLKMODE_DPLL_MPU
  410. */
  411. #define AM33XX_DPLL_REGM4XEN_SHIFT 11
  412. #define AM33XX_DPLL_REGM4XEN_WIDTH 1
  413. #define AM33XX_DPLL_REGM4XEN_MASK (1 << 11)
  414. /* Used by CM_CLKSEL_DPLL_PERIPH */
  415. #define AM33XX_DPLL_SD_DIV_SHIFT 24
  416. #define AM33XX_DPLL_SD_DIV_WIDTH 8
  417. #define AM33XX_DPLL_SD_DIV_MASK (0xff << 24)
  418. /*
  419. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  420. * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
  421. */
  422. #define AM33XX_DPLL_SSC_ACK_SHIFT 13
  423. #define AM33XX_DPLL_SSC_ACK_WIDTH 1
  424. #define AM33XX_DPLL_SSC_ACK_MASK (1 << 13)
  425. /*
  426. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  427. * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
  428. */
  429. #define AM33XX_DPLL_SSC_DOWNSPREAD_SHIFT 14
  430. #define AM33XX_DPLL_SSC_DOWNSPREAD_WIDTH 1
  431. #define AM33XX_DPLL_SSC_DOWNSPREAD_MASK (1 << 14)
  432. /*
  433. * Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
  434. * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
  435. */
  436. #define AM33XX_DPLL_SSC_EN_SHIFT 12
  437. #define AM33XX_DPLL_SSC_EN_WIDTH 1
  438. #define AM33XX_DPLL_SSC_EN_MASK (1 << 12)
  439. /* Used by CM_DIV_M4_DPLL_CORE */
  440. #define AM33XX_HSDIVIDER_CLKOUT1_DIV_SHIFT 0
  441. #define AM33XX_HSDIVIDER_CLKOUT1_DIV_WIDTH 5
  442. #define AM33XX_HSDIVIDER_CLKOUT1_DIV_MASK (0x1f << 0)
  443. /* Used by CM_DIV_M4_DPLL_CORE */
  444. #define AM33XX_HSDIVIDER_CLKOUT1_DIVCHACK_SHIFT 5
  445. #define AM33XX_HSDIVIDER_CLKOUT1_DIVCHACK_WIDTH 1
  446. #define AM33XX_HSDIVIDER_CLKOUT1_DIVCHACK_MASK (1 << 5)
  447. /* Used by CM_DIV_M4_DPLL_CORE */
  448. #define AM33XX_HSDIVIDER_CLKOUT1_GATE_CTRL_SHIFT 8
  449. #define AM33XX_HSDIVIDER_CLKOUT1_GATE_CTRL_WIDTH 1
  450. #define AM33XX_HSDIVIDER_CLKOUT1_GATE_CTRL_MASK (1 << 8)
  451. /* Used by CM_DIV_M4_DPLL_CORE */
  452. #define AM33XX_HSDIVIDER_CLKOUT1_PWDN_SHIFT 12
  453. #define AM33XX_HSDIVIDER_CLKOUT1_PWDN_WIDTH 1
  454. #define AM33XX_HSDIVIDER_CLKOUT1_PWDN_MASK (1 << 12)
  455. /* Used by CM_DIV_M5_DPLL_CORE */
  456. #define AM33XX_HSDIVIDER_CLKOUT2_DIV_SHIFT 0
  457. #define AM33XX_HSDIVIDER_CLKOUT2_DIV_WIDTH 5
  458. #define AM33XX_HSDIVIDER_CLKOUT2_DIV_MASK (0x1f << 0)
  459. /* Used by CM_DIV_M5_DPLL_CORE */
  460. #define AM33XX_HSDIVIDER_CLKOUT2_DIVCHACK_SHIFT 5
  461. #define AM33XX_HSDIVIDER_CLKOUT2_DIVCHACK_WIDTH 1
  462. #define AM33XX_HSDIVIDER_CLKOUT2_DIVCHACK_MASK (1 << 5)
  463. /* Used by CM_DIV_M5_DPLL_CORE */
  464. #define AM33XX_HSDIVIDER_CLKOUT2_GATE_CTRL_SHIFT 8
  465. #define AM33XX_HSDIVIDER_CLKOUT2_GATE_CTRL_WIDTH 1
  466. #define AM33XX_HSDIVIDER_CLKOUT2_GATE_CTRL_MASK (1 << 8)
  467. /* Used by CM_DIV_M5_DPLL_CORE */
  468. #define AM33XX_HSDIVIDER_CLKOUT2_PWDN_SHIFT 12
  469. #define AM33XX_HSDIVIDER_CLKOUT2_PWDN_WIDTH 1
  470. #define AM33XX_HSDIVIDER_CLKOUT2_PWDN_MASK (1 << 12)
  471. /* Used by CM_DIV_M6_DPLL_CORE */
  472. #define AM33XX_HSDIVIDER_CLKOUT3_DIV_SHIFT 0
  473. #define AM33XX_HSDIVIDER_CLKOUT3_DIV_WIDTH 5
  474. #define AM33XX_HSDIVIDER_CLKOUT3_DIV_MASK (0x1f << 0)
  475. /* Used by CM_DIV_M6_DPLL_CORE */
  476. #define AM33XX_HSDIVIDER_CLKOUT3_DIVCHACK_SHIFT 5
  477. #define AM33XX_HSDIVIDER_CLKOUT3_DIVCHACK_WIDTH 1
  478. #define AM33XX_HSDIVIDER_CLKOUT3_DIVCHACK_MASK (1 << 5)
  479. /* Used by CM_DIV_M6_DPLL_CORE */
  480. #define AM33XX_HSDIVIDER_CLKOUT3_GATE_CTRL_SHIFT 8
  481. #define AM33XX_HSDIVIDER_CLKOUT3_GATE_CTRL_WIDTH 1
  482. #define AM33XX_HSDIVIDER_CLKOUT3_GATE_CTRL_MASK (1 << 8)
  483. /* Used by CM_DIV_M6_DPLL_CORE */
  484. #define AM33XX_HSDIVIDER_CLKOUT3_PWDN_SHIFT 12
  485. #define AM33XX_HSDIVIDER_CLKOUT3_PWDN_WIDTH 1
  486. #define AM33XX_HSDIVIDER_CLKOUT3_PWDN_MASK (1 << 12)
  487. /*
  488. * Used by CM_MPU_MPU_CLKCTRL, CM_RTC_RTC_CLKCTRL, CM_PER_AES0_CLKCTRL,
  489. * CM_PER_AES1_CLKCTRL, CM_PER_CLKDIV32K_CLKCTRL, CM_PER_CPGMAC0_CLKCTRL,
  490. * CM_PER_DCAN0_CLKCTRL, CM_PER_DCAN1_CLKCTRL, CM_PER_DES_CLKCTRL,
  491. * CM_PER_ELM_CLKCTRL, CM_PER_EMIF_CLKCTRL, CM_PER_EMIF_FW_CLKCTRL,
  492. * CM_PER_EPWMSS0_CLKCTRL, CM_PER_EPWMSS1_CLKCTRL, CM_PER_EPWMSS2_CLKCTRL,
  493. * CM_PER_GPIO1_CLKCTRL, CM_PER_GPIO2_CLKCTRL, CM_PER_GPIO3_CLKCTRL,
  494. * CM_PER_GPIO4_CLKCTRL, CM_PER_GPIO5_CLKCTRL, CM_PER_GPIO6_CLKCTRL,
  495. * CM_PER_GPMC_CLKCTRL, CM_PER_I2C1_CLKCTRL, CM_PER_I2C2_CLKCTRL,
  496. * CM_PER_PRUSS_CLKCTRL, CM_PER_IEEE5000_CLKCTRL, CM_PER_L3_CLKCTRL,
  497. * CM_PER_L3_INSTR_CLKCTRL, CM_PER_L4FW_CLKCTRL, CM_PER_L4HS_CLKCTRL,
  498. * CM_PER_L4LS_CLKCTRL, CM_PER_LCDC_CLKCTRL, CM_PER_MAILBOX0_CLKCTRL,
  499. * CM_PER_MAILBOX1_CLKCTRL, CM_PER_MCASP0_CLKCTRL, CM_PER_MCASP1_CLKCTRL,
  500. * CM_PER_MCASP2_CLKCTRL, CM_PER_MLB_CLKCTRL, CM_PER_MMC0_CLKCTRL,
  501. * CM_PER_MMC1_CLKCTRL, CM_PER_MMC2_CLKCTRL, CM_PER_MSTR_EXPS_CLKCTRL,
  502. * CM_PER_OCMCRAM_CLKCTRL, CM_PER_OCPWP_CLKCTRL, CM_PER_PCIE_CLKCTRL,
  503. * CM_PER_PKA_CLKCTRL, CM_PER_RNG_CLKCTRL, CM_PER_SHA0_CLKCTRL,
  504. * CM_PER_SLV_EXPS_CLKCTRL, CM_PER_SPARE0_CLKCTRL, CM_PER_SPARE1_CLKCTRL,
  505. * CM_PER_SPARE_CLKCTRL, CM_PER_SPI0_CLKCTRL, CM_PER_SPI1_CLKCTRL,
  506. * CM_PER_SPI2_CLKCTRL, CM_PER_SPI3_CLKCTRL, CM_PER_SPINLOCK_CLKCTRL,
  507. * CM_PER_TIMER2_CLKCTRL, CM_PER_TIMER3_CLKCTRL, CM_PER_TIMER4_CLKCTRL,
  508. * CM_PER_TIMER5_CLKCTRL, CM_PER_TIMER6_CLKCTRL, CM_PER_TIMER7_CLKCTRL,
  509. * CM_PER_TPCC_CLKCTRL, CM_PER_TPTC0_CLKCTRL, CM_PER_TPTC1_CLKCTRL,
  510. * CM_PER_TPTC2_CLKCTRL, CM_PER_UART1_CLKCTRL, CM_PER_UART2_CLKCTRL,
  511. * CM_PER_UART3_CLKCTRL, CM_PER_UART4_CLKCTRL, CM_PER_UART5_CLKCTRL,
  512. * CM_PER_USB0_CLKCTRL, CM_WKUP_ADC_TSC_CLKCTRL, CM_WKUP_CONTROL_CLKCTRL,
  513. * CM_WKUP_DEBUGSS_CLKCTRL, CM_WKUP_GPIO0_CLKCTRL, CM_WKUP_I2C0_CLKCTRL,
  514. * CM_WKUP_L4WKUP_CLKCTRL, CM_WKUP_SMARTREFLEX0_CLKCTRL,
  515. * CM_WKUP_SMARTREFLEX1_CLKCTRL, CM_WKUP_TIMER0_CLKCTRL,
  516. * CM_WKUP_TIMER1_CLKCTRL, CM_WKUP_UART0_CLKCTRL, CM_WKUP_WDT0_CLKCTRL,
  517. * CM_WKUP_WDT1_CLKCTRL, CM_GFX_BITBLT_CLKCTRL, CM_GFX_GFX_CLKCTRL,
  518. * CM_GFX_MMUCFG_CLKCTRL, CM_GFX_MMUDATA_CLKCTRL, CM_CEFUSE_CEFUSE_CLKCTRL
  519. */
  520. #define AM33XX_IDLEST_SHIFT 16
  521. #define AM33XX_IDLEST_WIDTH 2
  522. #define AM33XX_IDLEST_MASK (0x3 << 16)
  523. /* Used by CM_MAC_CLKSEL */
  524. #define AM33XX_MII_CLK_SEL_SHIFT 2
  525. #define AM33XX_MII_CLK_SEL_WIDTH 1
  526. #define AM33XX_MII_CLK_SEL_MASK (1 << 2)
  527. /*
  528. * Used by CM_SSC_MODFREQDIV_DPLL_CORE, CM_SSC_MODFREQDIV_DPLL_DDR,
  529. * CM_SSC_MODFREQDIV_DPLL_DISP, CM_SSC_MODFREQDIV_DPLL_MPU,
  530. * CM_SSC_MODFREQDIV_DPLL_PER
  531. */
  532. #define AM33XX_MODFREQDIV_EXPONENT_SHIFT 8
  533. #define AM33XX_MODFREQDIV_EXPONENT_WIDTH 3
  534. #define AM33XX_MODFREQDIV_EXPONENT_MASK (0x7 << 8)
  535. /*
  536. * Used by CM_SSC_MODFREQDIV_DPLL_CORE, CM_SSC_MODFREQDIV_DPLL_DDR,
  537. * CM_SSC_MODFREQDIV_DPLL_DISP, CM_SSC_MODFREQDIV_DPLL_MPU,
  538. * CM_SSC_MODFREQDIV_DPLL_PER
  539. */
  540. #define AM33XX_MODFREQDIV_MANTISSA_SHIFT 0
  541. #define AM33XX_MODFREQDIV_MANTISSA_WIDTH 7
  542. #define AM33XX_MODFREQDIV_MANTISSA_MASK (0x7f << 0)
  543. /*
  544. * Used by CM_MPU_MPU_CLKCTRL, CM_RTC_RTC_CLKCTRL, CM_PER_AES0_CLKCTRL,
  545. * CM_PER_AES1_CLKCTRL, CM_PER_CLKDIV32K_CLKCTRL, CM_PER_CPGMAC0_CLKCTRL,
  546. * CM_PER_DCAN0_CLKCTRL, CM_PER_DCAN1_CLKCTRL, CM_PER_DES_CLKCTRL,
  547. * CM_PER_ELM_CLKCTRL, CM_PER_EMIF_CLKCTRL, CM_PER_EMIF_FW_CLKCTRL,
  548. * CM_PER_EPWMSS0_CLKCTRL, CM_PER_EPWMSS1_CLKCTRL, CM_PER_EPWMSS2_CLKCTRL,
  549. * CM_PER_GPIO1_CLKCTRL, CM_PER_GPIO2_CLKCTRL, CM_PER_GPIO3_CLKCTRL,
  550. * CM_PER_GPIO4_CLKCTRL, CM_PER_GPIO5_CLKCTRL, CM_PER_GPIO6_CLKCTRL,
  551. * CM_PER_GPMC_CLKCTRL, CM_PER_I2C1_CLKCTRL, CM_PER_I2C2_CLKCTRL,
  552. * CM_PER_PRUSS_CLKCTRL, CM_PER_IEEE5000_CLKCTRL, CM_PER_L3_CLKCTRL,
  553. * CM_PER_L3_INSTR_CLKCTRL, CM_PER_L4FW_CLKCTRL, CM_PER_L4HS_CLKCTRL,
  554. * CM_PER_L4LS_CLKCTRL, CM_PER_LCDC_CLKCTRL, CM_PER_MAILBOX0_CLKCTRL,
  555. * CM_PER_MAILBOX1_CLKCTRL, CM_PER_MCASP0_CLKCTRL, CM_PER_MCASP1_CLKCTRL,
  556. * CM_PER_MCASP2_CLKCTRL, CM_PER_MLB_CLKCTRL, CM_PER_MMC0_CLKCTRL,
  557. * CM_PER_MMC1_CLKCTRL, CM_PER_MMC2_CLKCTRL, CM_PER_MSTR_EXPS_CLKCTRL,
  558. * CM_PER_OCMCRAM_CLKCTRL, CM_PER_OCPWP_CLKCTRL, CM_PER_PCIE_CLKCTRL,
  559. * CM_PER_PKA_CLKCTRL, CM_PER_RNG_CLKCTRL, CM_PER_SHA0_CLKCTRL,
  560. * CM_PER_SLV_EXPS_CLKCTRL, CM_PER_SPARE0_CLKCTRL, CM_PER_SPARE1_CLKCTRL,
  561. * CM_PER_SPARE_CLKCTRL, CM_PER_SPI0_CLKCTRL, CM_PER_SPI1_CLKCTRL,
  562. * CM_PER_SPI2_CLKCTRL, CM_PER_SPI3_CLKCTRL, CM_PER_SPINLOCK_CLKCTRL,
  563. * CM_PER_TIMER2_CLKCTRL, CM_PER_TIMER3_CLKCTRL, CM_PER_TIMER4_CLKCTRL,
  564. * CM_PER_TIMER5_CLKCTRL, CM_PER_TIMER6_CLKCTRL, CM_PER_TIMER7_CLKCTRL,
  565. * CM_PER_TPCC_CLKCTRL, CM_PER_TPTC0_CLKCTRL, CM_PER_TPTC1_CLKCTRL,
  566. * CM_PER_TPTC2_CLKCTRL, CM_PER_UART1_CLKCTRL, CM_PER_UART2_CLKCTRL,
  567. * CM_PER_UART3_CLKCTRL, CM_PER_UART4_CLKCTRL, CM_PER_UART5_CLKCTRL,
  568. * CM_PER_USB0_CLKCTRL, CM_WKUP_ADC_TSC_CLKCTRL, CM_WKUP_CONTROL_CLKCTRL,
  569. * CM_WKUP_DEBUGSS_CLKCTRL, CM_WKUP_GPIO0_CLKCTRL, CM_WKUP_I2C0_CLKCTRL,
  570. * CM_WKUP_L4WKUP_CLKCTRL, CM_WKUP_SMARTREFLEX0_CLKCTRL,
  571. * CM_WKUP_SMARTREFLEX1_CLKCTRL, CM_WKUP_TIMER0_CLKCTRL,
  572. * CM_WKUP_TIMER1_CLKCTRL, CM_WKUP_UART0_CLKCTRL, CM_WKUP_WDT0_CLKCTRL,
  573. * CM_WKUP_WDT1_CLKCTRL, CM_WKUP_WKUP_M3_CLKCTRL, CM_GFX_BITBLT_CLKCTRL,
  574. * CM_GFX_GFX_CLKCTRL, CM_GFX_MMUCFG_CLKCTRL, CM_GFX_MMUDATA_CLKCTRL,
  575. * CM_CEFUSE_CEFUSE_CLKCTRL
  576. */
  577. #define AM33XX_MODULEMODE_SHIFT 0
  578. #define AM33XX_MODULEMODE_WIDTH 2
  579. #define AM33XX_MODULEMODE_MASK (0x3 << 0)
  580. /* Used by CM_WKUP_DEBUGSS_CLKCTRL */
  581. #define AM33XX_OPTCLK_DEBUG_CLKA_SHIFT 30
  582. #define AM33XX_OPTCLK_DEBUG_CLKA_WIDTH 1
  583. #define AM33XX_OPTCLK_DEBUG_CLKA_MASK (1 << 30)
  584. /* Used by CM_WKUP_DEBUGSS_CLKCTRL */
  585. #define AM33XX_OPTFCLKEN_DBGSYSCLK_SHIFT 19
  586. #define AM33XX_OPTFCLKEN_DBGSYSCLK_WIDTH 1
  587. #define AM33XX_OPTFCLKEN_DBGSYSCLK_MASK (1 << 19)
  588. /* Used by CM_WKUP_GPIO0_CLKCTRL */
  589. #define AM33XX_OPTFCLKEN_GPIO0_GDBCLK_SHIFT 18
  590. #define AM33XX_OPTFCLKEN_GPIO0_GDBCLK_WIDTH 1
  591. #define AM33XX_OPTFCLKEN_GPIO0_GDBCLK_MASK (1 << 18)
  592. /* Used by CM_PER_GPIO1_CLKCTRL */
  593. #define AM33XX_OPTFCLKEN_GPIO_1_GDBCLK_SHIFT 18
  594. #define AM33XX_OPTFCLKEN_GPIO_1_GDBCLK_WIDTH 1
  595. #define AM33XX_OPTFCLKEN_GPIO_1_GDBCLK_MASK (1 << 18)
  596. /* Used by CM_PER_GPIO2_CLKCTRL */
  597. #define AM33XX_OPTFCLKEN_GPIO_2_GDBCLK_SHIFT 18
  598. #define AM33XX_OPTFCLKEN_GPIO_2_GDBCLK_WIDTH 1
  599. #define AM33XX_OPTFCLKEN_GPIO_2_GDBCLK_MASK (1 << 18)
  600. /* Used by CM_PER_GPIO3_CLKCTRL */
  601. #define AM33XX_OPTFCLKEN_GPIO_3_GDBCLK_SHIFT 18
  602. #define AM33XX_OPTFCLKEN_GPIO_3_GDBCLK_WIDTH 1
  603. #define AM33XX_OPTFCLKEN_GPIO_3_GDBCLK_MASK (1 << 18)
  604. /* Used by CM_PER_GPIO4_CLKCTRL */
  605. #define AM33XX_OPTFCLKEN_GPIO_4_GDBCLK_SHIFT 18
  606. #define AM33XX_OPTFCLKEN_GPIO_4_GDBCLK_WIDTH 1
  607. #define AM33XX_OPTFCLKEN_GPIO_4_GDBCLK_MASK (1 << 18)
  608. /* Used by CM_PER_GPIO5_CLKCTRL */
  609. #define AM33XX_OPTFCLKEN_GPIO_5_GDBCLK_SHIFT 18
  610. #define AM33XX_OPTFCLKEN_GPIO_5_GDBCLK_WIDTH 1
  611. #define AM33XX_OPTFCLKEN_GPIO_5_GDBCLK_MASK (1 << 18)
  612. /* Used by CM_PER_GPIO6_CLKCTRL */
  613. #define AM33XX_OPTFCLKEN_GPIO_6_GDBCLK_SHIFT 18
  614. #define AM33XX_OPTFCLKEN_GPIO_6_GDBCLK_WIDTH 1
  615. #define AM33XX_OPTFCLKEN_GPIO_6_GDBCLK_MASK (1 << 18)
  616. /*
  617. * Used by CM_MPU_MPU_CLKCTRL, CM_PER_CPGMAC0_CLKCTRL, CM_PER_PRUSS_CLKCTRL,
  618. * CM_PER_IEEE5000_CLKCTRL, CM_PER_LCDC_CLKCTRL, CM_PER_MLB_CLKCTRL,
  619. * CM_PER_MSTR_EXPS_CLKCTRL, CM_PER_OCPWP_CLKCTRL, CM_PER_PCIE_CLKCTRL,
  620. * CM_PER_SPARE_CLKCTRL, CM_PER_TPTC0_CLKCTRL, CM_PER_TPTC1_CLKCTRL,
  621. * CM_PER_TPTC2_CLKCTRL, CM_PER_USB0_CLKCTRL, CM_WKUP_DEBUGSS_CLKCTRL,
  622. * CM_WKUP_WKUP_M3_CLKCTRL, CM_GFX_BITBLT_CLKCTRL, CM_GFX_GFX_CLKCTRL
  623. */
  624. #define AM33XX_STBYST_SHIFT 18
  625. #define AM33XX_STBYST_WIDTH 1
  626. #define AM33XX_STBYST_MASK (1 << 18)
  627. /* Used by CM_WKUP_DEBUGSS_CLKCTRL */
  628. #define AM33XX_STM_PMD_CLKDIVSEL_SHIFT 27
  629. #define AM33XX_STM_PMD_CLKDIVSEL_WIDTH 3
  630. #define AM33XX_STM_PMD_CLKDIVSEL_MASK (0x7 << 27)
  631. /* Used by CM_WKUP_DEBUGSS_CLKCTRL */
  632. #define AM33XX_STM_PMD_CLKSEL_SHIFT 22
  633. #define AM33XX_STM_PMD_CLKSEL_WIDTH 2
  634. #define AM33XX_STM_PMD_CLKSEL_MASK (0x3 << 22)
  635. /*
  636. * Used by CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_DDR, CM_IDLEST_DPLL_DISP,
  637. * CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER
  638. */
  639. #define AM33XX_ST_DPLL_CLK_SHIFT 0
  640. #define AM33XX_ST_DPLL_CLK_WIDTH 1
  641. #define AM33XX_ST_DPLL_CLK_MASK (1 << 0)
  642. /* Used by CM_CLKDCOLDO_DPLL_PER */
  643. #define AM33XX_ST_DPLL_CLKDCOLDO_SHIFT 8
  644. #define AM33XX_ST_DPLL_CLKDCOLDO_WIDTH 1
  645. #define AM33XX_ST_DPLL_CLKDCOLDO_MASK (1 << 8)
  646. /*
  647. * Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU,
  648. * CM_DIV_M2_DPLL_PER
  649. */
  650. #define AM33XX_ST_DPLL_CLKOUT_SHIFT 9
  651. #define AM33XX_ST_DPLL_CLKOUT_WIDTH 1
  652. #define AM33XX_ST_DPLL_CLKOUT_MASK (1 << 9)
  653. /* Used by CM_DIV_M4_DPLL_CORE */
  654. #define AM33XX_ST_HSDIVIDER_CLKOUT1_SHIFT 9
  655. #define AM33XX_ST_HSDIVIDER_CLKOUT1_WIDTH 1
  656. #define AM33XX_ST_HSDIVIDER_CLKOUT1_MASK (1 << 9)
  657. /* Used by CM_DIV_M5_DPLL_CORE */
  658. #define AM33XX_ST_HSDIVIDER_CLKOUT2_SHIFT 9
  659. #define AM33XX_ST_HSDIVIDER_CLKOUT2_WIDTH 1
  660. #define AM33XX_ST_HSDIVIDER_CLKOUT2_MASK (1 << 9)
  661. /* Used by CM_DIV_M6_DPLL_CORE */
  662. #define AM33XX_ST_HSDIVIDER_CLKOUT3_SHIFT 9
  663. #define AM33XX_ST_HSDIVIDER_CLKOUT3_WIDTH 1
  664. #define AM33XX_ST_HSDIVIDER_CLKOUT3_MASK (1 << 9)
  665. /*
  666. * Used by CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_DDR, CM_IDLEST_DPLL_DISP,
  667. * CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER
  668. */
  669. #define AM33XX_ST_MN_BYPASS_SHIFT 8
  670. #define AM33XX_ST_MN_BYPASS_WIDTH 1
  671. #define AM33XX_ST_MN_BYPASS_MASK (1 << 8)
  672. /* Used by CM_WKUP_DEBUGSS_CLKCTRL */
  673. #define AM33XX_TRC_PMD_CLKDIVSEL_SHIFT 24
  674. #define AM33XX_TRC_PMD_CLKDIVSEL_WIDTH 3
  675. #define AM33XX_TRC_PMD_CLKDIVSEL_MASK (0x7 << 24)
  676. /* Used by CM_WKUP_DEBUGSS_CLKCTRL */
  677. #define AM33XX_TRC_PMD_CLKSEL_SHIFT 20
  678. #define AM33XX_TRC_PMD_CLKSEL_WIDTH 2
  679. #define AM33XX_TRC_PMD_CLKSEL_MASK (0x3 << 20)
  680. /* Used by CONTROL_SEC_CLK_CTRL */
  681. #define AM33XX_TIMER0_CLKSEL_WIDTH 2
  682. #define AM33XX_TIMER0_CLKSEL_MASK (0x3 << 4)
  683. #endif