mc_me_regs.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2015, Freescale Semiconductor, Inc.
  4. */
  5. #ifndef __ARCH_ARM_MACH_S32V234_MCME_REGS_H__
  6. #define __ARCH_ARM_MACH_S32V234_MCME_REGS_H__
  7. #ifndef __ASSEMBLY__
  8. /* MC_ME registers definitions */
  9. /* MC_ME_GS */
  10. #define MC_ME_GS (MC_ME_BASE_ADDR + 0x00000000)
  11. #define MC_ME_GS_S_SYSCLK_FIRC (0x0 << 0)
  12. #define MC_ME_GS_S_SYSCLK_FXOSC (0x1 << 0)
  13. #define MC_ME_GS_S_SYSCLK_ARMPLL (0x2 << 0)
  14. #define MC_ME_GS_S_STSCLK_DISABLE (0xF << 0)
  15. #define MC_ME_GS_S_FIRC (1 << 4)
  16. #define MC_ME_GS_S_XOSC (1 << 5)
  17. #define MC_ME_GS_S_ARMPLL (1 << 6)
  18. #define MC_ME_GS_S_PERPLL (1 << 7)
  19. #define MC_ME_GS_S_ENETPLL (1 << 8)
  20. #define MC_ME_GS_S_DDRPLL (1 << 9)
  21. #define MC_ME_GS_S_VIDEOPLL (1 << 10)
  22. #define MC_ME_GS_S_MVR (1 << 20)
  23. #define MC_ME_GS_S_PDO (1 << 23)
  24. #define MC_ME_GS_S_MTRANS (1 << 27)
  25. #define MC_ME_GS_S_CRT_MODE_RESET (0x0 << 28)
  26. #define MC_ME_GS_S_CRT_MODE_TEST (0x1 << 28)
  27. #define MC_ME_GS_S_CRT_MODE_DRUN (0x3 << 28)
  28. #define MC_ME_GS_S_CRT_MODE_RUN0 (0x4 << 28)
  29. #define MC_ME_GS_S_CRT_MODE_RUN1 (0x5 << 28)
  30. #define MC_ME_GS_S_CRT_MODE_RUN2 (0x6 << 28)
  31. #define MC_ME_GS_S_CRT_MODE_RUN3 (0x7 << 28)
  32. /* MC_ME_MCTL */
  33. #define MC_ME_MCTL (MC_ME_BASE_ADDR + 0x00000004)
  34. #define MC_ME_MCTL_KEY (0x00005AF0)
  35. #define MC_ME_MCTL_INVERTEDKEY (0x0000A50F)
  36. #define MC_ME_MCTL_RESET (0x0 << 28)
  37. #define MC_ME_MCTL_TEST (0x1 << 28)
  38. #define MC_ME_MCTL_DRUN (0x3 << 28)
  39. #define MC_ME_MCTL_RUN0 (0x4 << 28)
  40. #define MC_ME_MCTL_RUN1 (0x5 << 28)
  41. #define MC_ME_MCTL_RUN2 (0x6 << 28)
  42. #define MC_ME_MCTL_RUN3 (0x7 << 28)
  43. /* MC_ME_ME */
  44. #define MC_ME_ME (MC_ME_BASE_ADDR + 0x00000008)
  45. #define MC_ME_ME_RESET_FUNC (1 << 0)
  46. #define MC_ME_ME_TEST (1 << 1)
  47. #define MC_ME_ME_DRUN (1 << 3)
  48. #define MC_ME_ME_RUN0 (1 << 4)
  49. #define MC_ME_ME_RUN1 (1 << 5)
  50. #define MC_ME_ME_RUN2 (1 << 6)
  51. #define MC_ME_ME_RUN3 (1 << 7)
  52. /* MC_ME_RUN_PCn */
  53. #define MC_ME_RUN_PCn(n) (MC_ME_BASE_ADDR + 0x00000080 + 0x4 * (n))
  54. #define MC_ME_RUN_PCn_RESET (1 << 0)
  55. #define MC_ME_RUN_PCn_TEST (1 << 1)
  56. #define MC_ME_RUN_PCn_DRUN (1 << 3)
  57. #define MC_ME_RUN_PCn_RUN0 (1 << 4)
  58. #define MC_ME_RUN_PCn_RUN1 (1 << 5)
  59. #define MC_ME_RUN_PCn_RUN2 (1 << 6)
  60. #define MC_ME_RUN_PCn_RUN3 (1 << 7)
  61. /*
  62. * MC_ME_RESET_MC/MC_ME_TEST_MC
  63. * MC_ME_DRUN_MC
  64. * MC_ME_RUNn_MC
  65. */
  66. #define MC_ME_RESET_MC (MC_ME_BASE_ADDR + 0x00000020)
  67. #define MC_ME_TEST_MC (MC_ME_BASE_ADDR + 0x00000024)
  68. #define MC_ME_DRUN_MC (MC_ME_BASE_ADDR + 0x0000002C)
  69. #define MC_ME_RUNn_MC(n) (MC_ME_BASE_ADDR + 0x00000030 + 0x4 * (n))
  70. #define MC_ME_RUNMODE_MC_SYSCLK(val) (MC_ME_RUNMODE_MC_SYSCLK_MASK & (val))
  71. #define MC_ME_RUNMODE_MC_SYSCLK_MASK (0x0000000F)
  72. #define MC_ME_RUNMODE_MC_FIRCON (1 << 4)
  73. #define MC_ME_RUNMODE_MC_XOSCON (1 << 5)
  74. #define MC_ME_RUNMODE_MC_PLL(pll) (1 << (6 + (pll)))
  75. #define MC_ME_RUNMODE_MC_MVRON (1 << 20)
  76. #define MC_ME_RUNMODE_MC_PDO (1 << 23)
  77. #define MC_ME_RUNMODE_MC_PWRLVL0 (1 << 28)
  78. #define MC_ME_RUNMODE_MC_PWRLVL1 (1 << 29)
  79. #define MC_ME_RUNMODE_MC_PWRLVL2 (1 << 30)
  80. /* MC_ME_DRUN_SEC_CC_I */
  81. #define MC_ME_DRUN_SEC_CC_I (MC_ME_BASE_ADDR + 0x260)
  82. /* MC_ME_RUNn_SEC_CC_I */
  83. #define MC_ME_RUNn_SEC_CC_I(n) (MC_ME_BASE_ADDR + 0x270 + (n) * 0x10)
  84. #define MC_ME_RUNMODE_SEC_CC_I_SYSCLK(val,offset) ((MC_ME_RUNMODE_SEC_CC_I_SYSCLK_MASK & (val)) << offset)
  85. #define MC_ME_RUNMODE_SEC_CC_I_SYSCLK1_OFFSET (4)
  86. #define MC_ME_RUNMODE_SEC_CC_I_SYSCLK2_OFFSET (8)
  87. #define MC_ME_RUNMODE_SEC_CC_I_SYSCLK3_OFFSET (12)
  88. #define MC_ME_RUNMODE_SEC_CC_I_SYSCLK_MASK (0x3)
  89. /*
  90. * ME_PCTLn
  91. * Please note that these registers are 8 bits width, so
  92. * the operations over them should be done using 8 bits operations.
  93. */
  94. #define MC_ME_PCTLn_RUNPCm(n) ( (n) & MC_ME_PCTLn_RUNPCm_MASK )
  95. #define MC_ME_PCTLn_RUNPCm_MASK (0x7)
  96. /* DEC200 Peripheral Control Register */
  97. #define MC_ME_PCTL39 (MC_ME_BASE_ADDR + 0x000000E4)
  98. /* 2D-ACE Peripheral Control Register */
  99. #define MC_ME_PCTL40 (MC_ME_BASE_ADDR + 0x000000EB)
  100. /* ENET Peripheral Control Register */
  101. #define MC_ME_PCTL50 (MC_ME_BASE_ADDR + 0x000000F1)
  102. /* DMACHMUX0 Peripheral Control Register */
  103. #define MC_ME_PCTL49 (MC_ME_BASE_ADDR + 0x000000F2)
  104. /* CSI0 Peripheral Control Register */
  105. #define MC_ME_PCTL48 (MC_ME_BASE_ADDR + 0x000000F3)
  106. /* MMDC0 Peripheral Control Register */
  107. #define MC_ME_PCTL54 (MC_ME_BASE_ADDR + 0x000000F5)
  108. /* FRAY Peripheral Control Register */
  109. #define MC_ME_PCTL52 (MC_ME_BASE_ADDR + 0x000000F7)
  110. /* PIT0 Peripheral Control Register */
  111. #define MC_ME_PCTL58 (MC_ME_BASE_ADDR + 0x000000F9)
  112. /* FlexTIMER0 Peripheral Control Register */
  113. #define MC_ME_PCTL79 (MC_ME_BASE_ADDR + 0x0000010C)
  114. /* SARADC0 Peripheral Control Register */
  115. #define MC_ME_PCTL77 (MC_ME_BASE_ADDR + 0x0000010E)
  116. /* LINFLEX0 Peripheral Control Register */
  117. #define MC_ME_PCTL83 (MC_ME_BASE_ADDR + 0x00000110)
  118. /* IIC0 Peripheral Control Register */
  119. #define MC_ME_PCTL81 (MC_ME_BASE_ADDR + 0x00000112)
  120. /* DSPI0 Peripheral Control Register */
  121. #define MC_ME_PCTL87 (MC_ME_BASE_ADDR + 0x00000114)
  122. /* CANFD0 Peripheral Control Register */
  123. #define MC_ME_PCTL85 (MC_ME_BASE_ADDR + 0x00000116)
  124. /* CRC0 Peripheral Control Register */
  125. #define MC_ME_PCTL91 (MC_ME_BASE_ADDR + 0x00000118)
  126. /* DSPI2 Peripheral Control Register */
  127. #define MC_ME_PCTL89 (MC_ME_BASE_ADDR + 0x0000011A)
  128. /* SDHC Peripheral Control Register */
  129. #define MC_ME_PCTL93 (MC_ME_BASE_ADDR + 0x0000011E)
  130. /* VIU0 Peripheral Control Register */
  131. #define MC_ME_PCTL100 (MC_ME_BASE_ADDR + 0x00000127)
  132. /* HPSMI Peripheral Control Register */
  133. #define MC_ME_PCTL104 (MC_ME_BASE_ADDR + 0x0000012B)
  134. /* SIPI Peripheral Control Register */
  135. #define MC_ME_PCTL116 (MC_ME_BASE_ADDR + 0x00000137)
  136. /* LFAST Peripheral Control Register */
  137. #define MC_ME_PCTL120 (MC_ME_BASE_ADDR + 0x0000013B)
  138. /* MMDC1 Peripheral Control Register */
  139. #define MC_ME_PCTL162 (MC_ME_BASE_ADDR + 0x00000161)
  140. /* DMACHMUX1 Peripheral Control Register */
  141. #define MC_ME_PCTL161 (MC_ME_BASE_ADDR + 0x00000162)
  142. /* CSI1 Peripheral Control Register */
  143. #define MC_ME_PCTL160 (MC_ME_BASE_ADDR + 0x00000163)
  144. /* QUADSPI0 Peripheral Control Register */
  145. #define MC_ME_PCTL166 (MC_ME_BASE_ADDR + 0x00000165)
  146. /* PIT1 Peripheral Control Register */
  147. #define MC_ME_PCTL170 (MC_ME_BASE_ADDR + 0x00000169)
  148. /* FlexTIMER1 Peripheral Control Register */
  149. #define MC_ME_PCTL182 (MC_ME_BASE_ADDR + 0x00000175)
  150. /* IIC2 Peripheral Control Register */
  151. #define MC_ME_PCTL186 (MC_ME_BASE_ADDR + 0x00000179)
  152. /* IIC1 Peripheral Control Register */
  153. #define MC_ME_PCTL184 (MC_ME_BASE_ADDR + 0x0000017B)
  154. /* CANFD1 Peripheral Control Register */
  155. #define MC_ME_PCTL190 (MC_ME_BASE_ADDR + 0x0000017D)
  156. /* LINFLEX1 Peripheral Control Register */
  157. #define MC_ME_PCTL188 (MC_ME_BASE_ADDR + 0x0000017F)
  158. /* DSPI3 Peripheral Control Register */
  159. #define MC_ME_PCTL194 (MC_ME_BASE_ADDR + 0x00000181)
  160. /* DSPI1 Peripheral Control Register */
  161. #define MC_ME_PCTL192 (MC_ME_BASE_ADDR + 0x00000183)
  162. /* TSENS Peripheral Control Register */
  163. #define MC_ME_PCTL206 (MC_ME_BASE_ADDR + 0x0000018D)
  164. /* CRC1 Peripheral Control Register */
  165. #define MC_ME_PCTL204 (MC_ME_BASE_ADDR + 0x0000018F)
  166. /* VIU1 Peripheral Control Register */
  167. #define MC_ME_PCTL208 (MC_ME_BASE_ADDR + 0x00000193)
  168. /* JPEG Peripheral Control Register */
  169. #define MC_ME_PCTL212 (MC_ME_BASE_ADDR + 0x00000197)
  170. /* H264_DEC Peripheral Control Register */
  171. #define MC_ME_PCTL216 (MC_ME_BASE_ADDR + 0x0000019B)
  172. /* H264_ENC Peripheral Control Register */
  173. #define MC_ME_PCTL220 (MC_ME_BASE_ADDR + 0x0000019F)
  174. /* MBIST Peripheral Control Register */
  175. #define MC_ME_PCTL236 (MC_ME_BASE_ADDR + 0x000001A9)
  176. /* Core status register */
  177. #define MC_ME_CS (MC_ME_BASE_ADDR + 0x000001C0)
  178. #endif
  179. #endif /*__ARCH_ARM_MACH_S32V234_MCME_REGS_H__ */