scrm54xx.h 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. /*
  2. * OMAP54XX SCRM registers and bitfields
  3. *
  4. * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com
  5. *
  6. * Benoit Cousson (b-cousson@ti.com)
  7. *
  8. * This file is automatically generated from the OMAP hardware databases.
  9. * We respectfully ask that any modifications to this file be coordinated
  10. * with the public linux-omap@vger.kernel.org mailing list and the
  11. * authors above to ensure that the autogeneration scripts are kept
  12. * up-to-date with the file contents.
  13. *
  14. * This program is free software; you can redistribute it and/or modify
  15. * it under the terms of the GNU General Public License version 2 as
  16. * published by the Free Software Foundation.
  17. */
  18. #ifndef __ARCH_ARM_MACH_OMAP2_SCRM_54XX_H
  19. #define __ARCH_ARM_MACH_OMAP2_SCRM_54XX_H
  20. #define OMAP5_SCRM_BASE 0x4ae0a000
  21. #define OMAP54XX_SCRM_REGADDR(reg) \
  22. OMAP2_L4_IO_ADDRESS(OMAP5_SCRM_BASE + (reg))
  23. /* SCRM */
  24. /* SCRM.SCRM register offsets */
  25. #define OMAP5_SCRM_REVISION_SCRM_OFFSET 0x0000
  26. #define OMAP5_SCRM_REVISION_SCRM OMAP54XX_SCRM_REGADDR(0x0000)
  27. #define OMAP5_SCRM_CLKSETUPTIME_OFFSET 0x0100
  28. #define OMAP5_SCRM_CLKSETUPTIME OMAP54XX_SCRM_REGADDR(0x0100)
  29. #define OMAP5_SCRM_PMICSETUPTIME_OFFSET 0x0104
  30. #define OMAP5_SCRM_PMICSETUPTIME OMAP54XX_SCRM_REGADDR(0x0104)
  31. #define OMAP5_SCRM_ALTCLKSRC_OFFSET 0x0110
  32. #define OMAP5_SCRM_ALTCLKSRC OMAP54XX_SCRM_REGADDR(0x0110)
  33. #define OMAP5_SCRM_MODEMCLKM_OFFSET 0x0118
  34. #define OMAP5_SCRM_MODEMCLKM OMAP54XX_SCRM_REGADDR(0x0118)
  35. #define OMAP5_SCRM_D2DCLKM_OFFSET 0x011c
  36. #define OMAP5_SCRM_D2DCLKM OMAP54XX_SCRM_REGADDR(0x011c)
  37. #define OMAP5_SCRM_EXTCLKREQ_OFFSET 0x0200
  38. #define OMAP5_SCRM_EXTCLKREQ OMAP54XX_SCRM_REGADDR(0x0200)
  39. #define OMAP5_SCRM_ACCCLKREQ_OFFSET 0x0204
  40. #define OMAP5_SCRM_ACCCLKREQ OMAP54XX_SCRM_REGADDR(0x0204)
  41. #define OMAP5_SCRM_PWRREQ_OFFSET 0x0208
  42. #define OMAP5_SCRM_PWRREQ OMAP54XX_SCRM_REGADDR(0x0208)
  43. #define OMAP5_SCRM_AUXCLKREQ0_OFFSET 0x0210
  44. #define OMAP5_SCRM_AUXCLKREQ0 OMAP54XX_SCRM_REGADDR(0x0210)
  45. #define OMAP5_SCRM_AUXCLKREQ1_OFFSET 0x0214
  46. #define OMAP5_SCRM_AUXCLKREQ1 OMAP54XX_SCRM_REGADDR(0x0214)
  47. #define OMAP5_SCRM_AUXCLKREQ2_OFFSET 0x0218
  48. #define OMAP5_SCRM_AUXCLKREQ2 OMAP54XX_SCRM_REGADDR(0x0218)
  49. #define OMAP5_SCRM_AUXCLKREQ3_OFFSET 0x021c
  50. #define OMAP5_SCRM_AUXCLKREQ3 OMAP54XX_SCRM_REGADDR(0x021c)
  51. #define OMAP5_SCRM_AUXCLKREQ4_OFFSET 0x0220
  52. #define OMAP5_SCRM_AUXCLKREQ4 OMAP54XX_SCRM_REGADDR(0x0220)
  53. #define OMAP5_SCRM_AUXCLKREQ5_OFFSET 0x0224
  54. #define OMAP5_SCRM_AUXCLKREQ5 OMAP54XX_SCRM_REGADDR(0x0224)
  55. #define OMAP5_SCRM_D2DCLKREQ_OFFSET 0x0234
  56. #define OMAP5_SCRM_D2DCLKREQ OMAP54XX_SCRM_REGADDR(0x0234)
  57. #define OMAP5_SCRM_AUXCLK0_OFFSET 0x0310
  58. #define OMAP5_SCRM_AUXCLK0 OMAP54XX_SCRM_REGADDR(0x0310)
  59. #define OMAP5_SCRM_AUXCLK1_OFFSET 0x0314
  60. #define OMAP5_SCRM_AUXCLK1 OMAP54XX_SCRM_REGADDR(0x0314)
  61. #define OMAP5_SCRM_AUXCLK2_OFFSET 0x0318
  62. #define OMAP5_SCRM_AUXCLK2 OMAP54XX_SCRM_REGADDR(0x0318)
  63. #define OMAP5_SCRM_AUXCLK3_OFFSET 0x031c
  64. #define OMAP5_SCRM_AUXCLK3 OMAP54XX_SCRM_REGADDR(0x031c)
  65. #define OMAP5_SCRM_AUXCLK4_OFFSET 0x0320
  66. #define OMAP5_SCRM_AUXCLK4 OMAP54XX_SCRM_REGADDR(0x0320)
  67. #define OMAP5_SCRM_AUXCLK5_OFFSET 0x0324
  68. #define OMAP5_SCRM_AUXCLK5 OMAP54XX_SCRM_REGADDR(0x0324)
  69. #define OMAP5_SCRM_RSTTIME_OFFSET 0x0400
  70. #define OMAP5_SCRM_RSTTIME OMAP54XX_SCRM_REGADDR(0x0400)
  71. #define OMAP5_SCRM_MODEMRSTCTRL_OFFSET 0x0418
  72. #define OMAP5_SCRM_MODEMRSTCTRL OMAP54XX_SCRM_REGADDR(0x0418)
  73. #define OMAP5_SCRM_D2DRSTCTRL_OFFSET 0x041c
  74. #define OMAP5_SCRM_D2DRSTCTRL OMAP54XX_SCRM_REGADDR(0x041c)
  75. #define OMAP5_SCRM_EXTPWRONRSTCTRL_OFFSET 0x0420
  76. #define OMAP5_SCRM_EXTPWRONRSTCTRL OMAP54XX_SCRM_REGADDR(0x0420)
  77. #define OMAP5_SCRM_EXTWARMRSTST_OFFSET 0x0510
  78. #define OMAP5_SCRM_EXTWARMRSTST OMAP54XX_SCRM_REGADDR(0x0510)
  79. #define OMAP5_SCRM_APEWARMRSTST_OFFSET 0x0514
  80. #define OMAP5_SCRM_APEWARMRSTST OMAP54XX_SCRM_REGADDR(0x0514)
  81. #define OMAP5_SCRM_MODEMWARMRSTST_OFFSET 0x0518
  82. #define OMAP5_SCRM_MODEMWARMRSTST OMAP54XX_SCRM_REGADDR(0x0518)
  83. #define OMAP5_SCRM_D2DWARMRSTST_OFFSET 0x051c
  84. #define OMAP5_SCRM_D2DWARMRSTST OMAP54XX_SCRM_REGADDR(0x051c)
  85. /*
  86. * Used by AUXCLKREQ0, AUXCLKREQ1, AUXCLKREQ2, AUXCLKREQ3, AUXCLKREQ4,
  87. * AUXCLKREQ5, D2DCLKREQ
  88. */
  89. #define OMAP5_ACCURACY_SHIFT 1
  90. #define OMAP5_ACCURACY_WIDTH 0x1
  91. #define OMAP5_ACCURACY_MASK (1 << 1)
  92. /* Used by APEWARMRSTST */
  93. #define OMAP5_APEWARMRSTST_SHIFT 1
  94. #define OMAP5_APEWARMRSTST_WIDTH 0x1
  95. #define OMAP5_APEWARMRSTST_MASK (1 << 1)
  96. /* Used by AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5 */
  97. #define OMAP5_CLKDIV_SHIFT 16
  98. #define OMAP5_CLKDIV_WIDTH 0x4
  99. #define OMAP5_CLKDIV_MASK (0xf << 16)
  100. /* Used by D2DCLKM, MODEMCLKM */
  101. #define OMAP5_CLK_32KHZ_SHIFT 0
  102. #define OMAP5_CLK_32KHZ_WIDTH 0x1
  103. #define OMAP5_CLK_32KHZ_MASK (1 << 0)
  104. /* Used by D2DRSTCTRL, MODEMRSTCTRL */
  105. #define OMAP5_COLDRST_SHIFT 0
  106. #define OMAP5_COLDRST_WIDTH 0x1
  107. #define OMAP5_COLDRST_MASK (1 << 0)
  108. /* Used by D2DWARMRSTST */
  109. #define OMAP5_D2DWARMRSTST_SHIFT 3
  110. #define OMAP5_D2DWARMRSTST_WIDTH 0x1
  111. #define OMAP5_D2DWARMRSTST_MASK (1 << 3)
  112. /* Used by AUXCLK0 */
  113. #define OMAP5_DISABLECLK_SHIFT 9
  114. #define OMAP5_DISABLECLK_WIDTH 0x1
  115. #define OMAP5_DISABLECLK_MASK (1 << 9)
  116. /* Used by CLKSETUPTIME */
  117. #define OMAP5_DOWNTIME_SHIFT 16
  118. #define OMAP5_DOWNTIME_WIDTH 0x6
  119. #define OMAP5_DOWNTIME_MASK (0x3f << 16)
  120. /* Used by AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5 */
  121. #define OMAP5_ENABLE_SHIFT 8
  122. #define OMAP5_ENABLE_WIDTH 0x1
  123. #define OMAP5_ENABLE_MASK (1 << 8)
  124. /* Renamed from ENABLE Used by EXTPWRONRSTCTRL */
  125. #define OMAP5_ENABLE_0_0_SHIFT 0
  126. #define OMAP5_ENABLE_0_0_WIDTH 0x1
  127. #define OMAP5_ENABLE_0_0_MASK (1 << 0)
  128. /* Used by ALTCLKSRC */
  129. #define OMAP5_ENABLE_EXT_SHIFT 3
  130. #define OMAP5_ENABLE_EXT_WIDTH 0x1
  131. #define OMAP5_ENABLE_EXT_MASK (1 << 3)
  132. /* Used by ALTCLKSRC */
  133. #define OMAP5_ENABLE_INT_SHIFT 2
  134. #define OMAP5_ENABLE_INT_WIDTH 0x1
  135. #define OMAP5_ENABLE_INT_MASK (1 << 2)
  136. /* Used by EXTWARMRSTST */
  137. #define OMAP5_EXTWARMRSTST_SHIFT 0
  138. #define OMAP5_EXTWARMRSTST_WIDTH 0x1
  139. #define OMAP5_EXTWARMRSTST_MASK (1 << 0)
  140. /*
  141. * Used by AUXCLKREQ0, AUXCLKREQ1, AUXCLKREQ2, AUXCLKREQ3, AUXCLKREQ4,
  142. * AUXCLKREQ5
  143. */
  144. #define OMAP5_MAPPING_SHIFT 2
  145. #define OMAP5_MAPPING_WIDTH 0x3
  146. #define OMAP5_MAPPING_MASK (0x7 << 2)
  147. /* Used by ALTCLKSRC */
  148. #define OMAP5_MODE_SHIFT 0
  149. #define OMAP5_MODE_WIDTH 0x2
  150. #define OMAP5_MODE_MASK (0x3 << 0)
  151. /* Used by MODEMWARMRSTST */
  152. #define OMAP5_MODEMWARMRSTST_SHIFT 2
  153. #define OMAP5_MODEMWARMRSTST_WIDTH 0x1
  154. #define OMAP5_MODEMWARMRSTST_MASK (1 << 2)
  155. /*
  156. * Used by ACCCLKREQ, AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5,
  157. * AUXCLKREQ0, AUXCLKREQ1, AUXCLKREQ2, AUXCLKREQ3, AUXCLKREQ4, AUXCLKREQ5,
  158. * D2DCLKREQ, EXTCLKREQ, PWRREQ
  159. */
  160. #define OMAP5_POLARITY_SHIFT 0
  161. #define OMAP5_POLARITY_WIDTH 0x1
  162. #define OMAP5_POLARITY_MASK (1 << 0)
  163. /* Used by EXTPWRONRSTCTRL */
  164. #define OMAP5_PWRONRST_SHIFT 1
  165. #define OMAP5_PWRONRST_WIDTH 0x1
  166. #define OMAP5_PWRONRST_MASK (1 << 1)
  167. /* Used by REVISION_SCRM */
  168. #define OMAP5_REV_SHIFT 0
  169. #define OMAP5_REV_WIDTH 0x8
  170. #define OMAP5_REV_MASK (0xff << 0)
  171. /* Used by RSTTIME */
  172. #define OMAP5_RSTTIME_SHIFT 0
  173. #define OMAP5_RSTTIME_WIDTH 0x4
  174. #define OMAP5_RSTTIME_MASK (0xf << 0)
  175. /* Used by CLKSETUPTIME */
  176. #define OMAP5_SETUPTIME_SHIFT 0
  177. #define OMAP5_SETUPTIME_WIDTH 0xc
  178. #define OMAP5_SETUPTIME_MASK (0xfff << 0)
  179. /* Used by PMICSETUPTIME */
  180. #define OMAP5_SLEEPTIME_SHIFT 0
  181. #define OMAP5_SLEEPTIME_WIDTH 0x6
  182. #define OMAP5_SLEEPTIME_MASK (0x3f << 0)
  183. /* Used by AUXCLK0, AUXCLK1, AUXCLK2, AUXCLK3, AUXCLK4, AUXCLK5 */
  184. #define OMAP5_SRCSELECT_SHIFT 1
  185. #define OMAP5_SRCSELECT_WIDTH 0x2
  186. #define OMAP5_SRCSELECT_MASK (0x3 << 1)
  187. /* Used by D2DCLKM */
  188. #define OMAP5_SYSCLK_SHIFT 1
  189. #define OMAP5_SYSCLK_WIDTH 0x1
  190. #define OMAP5_SYSCLK_MASK (1 << 1)
  191. /* Used by PMICSETUPTIME */
  192. #define OMAP5_WAKEUPTIME_SHIFT 16
  193. #define OMAP5_WAKEUPTIME_WIDTH 0x6
  194. #define OMAP5_WAKEUPTIME_MASK (0x3f << 16)
  195. /* Used by D2DRSTCTRL, MODEMRSTCTRL */
  196. #define OMAP5_WARMRST_SHIFT 1
  197. #define OMAP5_WARMRST_WIDTH 0x1
  198. #define OMAP5_WARMRST_MASK (1 << 1)
  199. #endif