crm-regs-imx5.h 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. /*
  2. * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved.
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 or later at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. #ifndef __ARCH_ARM_MACH_MX51_CRM_REGS_H__
  12. #define __ARCH_ARM_MACH_MX51_CRM_REGS_H__
  13. #define MX51_CCM_BASE MX51_IO_ADDRESS(MX51_CCM_BASE_ADDR)
  14. #define MX51_DPLL1_BASE MX51_IO_ADDRESS(MX51_PLL1_BASE_ADDR)
  15. #define MX51_DPLL2_BASE MX51_IO_ADDRESS(MX51_PLL2_BASE_ADDR)
  16. #define MX51_DPLL3_BASE MX51_IO_ADDRESS(MX51_PLL3_BASE_ADDR)
  17. #define MX51_CORTEXA8_BASE MX51_IO_ADDRESS(MX51_ARM_BASE_ADDR)
  18. #define MX51_GPC_BASE MX51_IO_ADDRESS(MX51_GPC_BASE_ADDR)
  19. /*MX53*/
  20. #define MX53_CCM_BASE MX53_IO_ADDRESS(MX53_CCM_BASE_ADDR)
  21. #define MX53_DPLL1_BASE MX53_IO_ADDRESS(MX53_PLL1_BASE_ADDR)
  22. #define MX53_DPLL2_BASE MX53_IO_ADDRESS(MX53_PLL2_BASE_ADDR)
  23. #define MX53_DPLL3_BASE MX53_IO_ADDRESS(MX53_PLL3_BASE_ADDR)
  24. #define MX53_DPLL4_BASE MX53_IO_ADDRESS(MX53_PLL4_BASE_ADDR)
  25. /* PLL Register Offsets */
  26. #define MXC_PLL_DP_CTL 0x00
  27. #define MXC_PLL_DP_CONFIG 0x04
  28. #define MXC_PLL_DP_OP 0x08
  29. #define MXC_PLL_DP_MFD 0x0C
  30. #define MXC_PLL_DP_MFN 0x10
  31. #define MXC_PLL_DP_MFNMINUS 0x14
  32. #define MXC_PLL_DP_MFNPLUS 0x18
  33. #define MXC_PLL_DP_HFS_OP 0x1C
  34. #define MXC_PLL_DP_HFS_MFD 0x20
  35. #define MXC_PLL_DP_HFS_MFN 0x24
  36. #define MXC_PLL_DP_MFN_TOGC 0x28
  37. #define MXC_PLL_DP_DESTAT 0x2c
  38. /* PLL Register Bit definitions */
  39. #define MXC_PLL_DP_CTL_MUL_CTRL 0x2000
  40. #define MXC_PLL_DP_CTL_DPDCK0_2_EN 0x1000
  41. #define MXC_PLL_DP_CTL_DPDCK0_2_OFFSET 12
  42. #define MXC_PLL_DP_CTL_ADE 0x800
  43. #define MXC_PLL_DP_CTL_REF_CLK_DIV 0x400
  44. #define MXC_PLL_DP_CTL_REF_CLK_SEL_MASK (3 << 8)
  45. #define MXC_PLL_DP_CTL_REF_CLK_SEL_OFFSET 8
  46. #define MXC_PLL_DP_CTL_HFSM 0x80
  47. #define MXC_PLL_DP_CTL_PRE 0x40
  48. #define MXC_PLL_DP_CTL_UPEN 0x20
  49. #define MXC_PLL_DP_CTL_RST 0x10
  50. #define MXC_PLL_DP_CTL_RCP 0x8
  51. #define MXC_PLL_DP_CTL_PLM 0x4
  52. #define MXC_PLL_DP_CTL_BRM0 0x2
  53. #define MXC_PLL_DP_CTL_LRF 0x1
  54. #define MXC_PLL_DP_CONFIG_BIST 0x8
  55. #define MXC_PLL_DP_CONFIG_SJC_CE 0x4
  56. #define MXC_PLL_DP_CONFIG_AREN 0x2
  57. #define MXC_PLL_DP_CONFIG_LDREQ 0x1
  58. #define MXC_PLL_DP_OP_MFI_OFFSET 4
  59. #define MXC_PLL_DP_OP_MFI_MASK (0xF << 4)
  60. #define MXC_PLL_DP_OP_PDF_OFFSET 0
  61. #define MXC_PLL_DP_OP_PDF_MASK 0xF
  62. #define MXC_PLL_DP_MFD_OFFSET 0
  63. #define MXC_PLL_DP_MFD_MASK 0x07FFFFFF
  64. #define MXC_PLL_DP_MFN_OFFSET 0x0
  65. #define MXC_PLL_DP_MFN_MASK 0x07FFFFFF
  66. #define MXC_PLL_DP_MFN_TOGC_TOG_DIS (1 << 17)
  67. #define MXC_PLL_DP_MFN_TOGC_TOG_EN (1 << 16)
  68. #define MXC_PLL_DP_MFN_TOGC_CNT_OFFSET 0x0
  69. #define MXC_PLL_DP_MFN_TOGC_CNT_MASK 0xFFFF
  70. #define MXC_PLL_DP_DESTAT_TOG_SEL (1 << 31)
  71. #define MXC_PLL_DP_DESTAT_MFN 0x07FFFFFF
  72. /* Register addresses of CCM*/
  73. #define MXC_CCM_CCR (MX51_CCM_BASE + 0x00)
  74. #define MXC_CCM_CCDR (MX51_CCM_BASE + 0x04)
  75. #define MXC_CCM_CSR (MX51_CCM_BASE + 0x08)
  76. #define MXC_CCM_CCSR (MX51_CCM_BASE + 0x0C)
  77. #define MXC_CCM_CACRR (MX51_CCM_BASE + 0x10)
  78. #define MXC_CCM_CBCDR (MX51_CCM_BASE + 0x14)
  79. #define MXC_CCM_CBCMR (MX51_CCM_BASE + 0x18)
  80. #define MXC_CCM_CSCMR1 (MX51_CCM_BASE + 0x1C)
  81. #define MXC_CCM_CSCMR2 (MX51_CCM_BASE + 0x20)
  82. #define MXC_CCM_CSCDR1 (MX51_CCM_BASE + 0x24)
  83. #define MXC_CCM_CS1CDR (MX51_CCM_BASE + 0x28)
  84. #define MXC_CCM_CS2CDR (MX51_CCM_BASE + 0x2C)
  85. #define MXC_CCM_CDCDR (MX51_CCM_BASE + 0x30)
  86. #define MXC_CCM_CHSCDR (MX51_CCM_BASE + 0x34)
  87. #define MXC_CCM_CSCDR2 (MX51_CCM_BASE + 0x38)
  88. #define MXC_CCM_CSCDR3 (MX51_CCM_BASE + 0x3C)
  89. #define MXC_CCM_CSCDR4 (MX51_CCM_BASE + 0x40)
  90. #define MXC_CCM_CWDR (MX51_CCM_BASE + 0x44)
  91. #define MXC_CCM_CDHIPR (MX51_CCM_BASE + 0x48)
  92. #define MXC_CCM_CDCR (MX51_CCM_BASE + 0x4C)
  93. #define MXC_CCM_CTOR (MX51_CCM_BASE + 0x50)
  94. #define MXC_CCM_CLPCR (MX51_CCM_BASE + 0x54)
  95. #define MXC_CCM_CISR (MX51_CCM_BASE + 0x58)
  96. #define MXC_CCM_CIMR (MX51_CCM_BASE + 0x5C)
  97. #define MXC_CCM_CCOSR (MX51_CCM_BASE + 0x60)
  98. #define MXC_CCM_CGPR (MX51_CCM_BASE + 0x64)
  99. #define MXC_CCM_CCGR0 (MX51_CCM_BASE + 0x68)
  100. #define MXC_CCM_CCGR1 (MX51_CCM_BASE + 0x6C)
  101. #define MXC_CCM_CCGR2 (MX51_CCM_BASE + 0x70)
  102. #define MXC_CCM_CCGR3 (MX51_CCM_BASE + 0x74)
  103. #define MXC_CCM_CCGR4 (MX51_CCM_BASE + 0x78)
  104. #define MXC_CCM_CCGR5 (MX51_CCM_BASE + 0x7C)
  105. #define MXC_CCM_CCGR6 (MX51_CCM_BASE + 0x80)
  106. #define MXC_CCM_CCGR7 (MX51_CCM_BASE + 0x84)
  107. #define MXC_CCM_CMEOR (MX51_CCM_BASE + 0x84)
  108. /* Define the bits in register CCR */
  109. #define MXC_CCM_CCR_COSC_EN (1 << 12)
  110. #define MXC_CCM_CCR_FPM_MULT_MASK (1 << 11)
  111. #define MXC_CCM_CCR_CAMP2_EN (1 << 10)
  112. #define MXC_CCM_CCR_CAMP1_EN (1 << 9)
  113. #define MXC_CCM_CCR_FPM_EN (1 << 8)
  114. #define MXC_CCM_CCR_OSCNT_OFFSET (0)
  115. #define MXC_CCM_CCR_OSCNT_MASK (0xFF)
  116. /* Define the bits in register CCDR */
  117. #define MXC_CCM_CCDR_HSC_HS_MASK (0x1 << 18)
  118. #define MXC_CCM_CCDR_IPU_HS_MASK (0x1 << 17)
  119. #define MXC_CCM_CCDR_EMI_HS_MASK (0x1 << 16)
  120. /* Define the bits in register CSR */
  121. #define MXC_CCM_CSR_COSR_READY (1 << 5)
  122. #define MXC_CCM_CSR_LVS_VALUE (1 << 4)
  123. #define MXC_CCM_CSR_CAMP2_READY (1 << 3)
  124. #define MXC_CCM_CSR_CAMP1_READY (1 << 2)
  125. #define MXC_CCM_CSR_FPM_READY (1 << 1)
  126. #define MXC_CCM_CSR_REF_EN_B (1 << 0)
  127. /* Define the bits in register CCSR */
  128. #define MXC_CCM_CCSR_LP_APM_SEL (0x1 << 9)
  129. #define MXC_CCM_CCSR_STEP_SEL_OFFSET (7)
  130. #define MXC_CCM_CCSR_STEP_SEL_MASK (0x3 << 7)
  131. #define MXC_CCM_CCSR_STEP_SEL_LP_APM 0
  132. #define MXC_CCM_CCSR_STEP_SEL_PLL1_BYPASS 1 /* Only when JTAG connected? */
  133. #define MXC_CCM_CCSR_STEP_SEL_PLL2_DIVIDED 2
  134. #define MXC_CCM_CCSR_STEP_SEL_PLL3_DIVIDED 3
  135. #define MXC_CCM_CCSR_PLL2_PODF_OFFSET (5)
  136. #define MXC_CCM_CCSR_PLL2_PODF_MASK (0x3 << 5)
  137. #define MXC_CCM_CCSR_PLL3_PODF_OFFSET (3)
  138. #define MXC_CCM_CCSR_PLL3_PODF_MASK (0x3 << 3)
  139. #define MXC_CCM_CCSR_PLL1_SW_CLK_SEL (1 << 2) /* 0: pll1_main_clk,
  140. 1: step_clk */
  141. #define MXC_CCM_CCSR_PLL2_SW_CLK_SEL (1 << 1)
  142. #define MXC_CCM_CCSR_PLL3_SW_CLK_SEL (1 << 0)
  143. /* Define the bits in register CACRR */
  144. #define MXC_CCM_CACRR_ARM_PODF_OFFSET (0)
  145. #define MXC_CCM_CACRR_ARM_PODF_MASK (0x7)
  146. /* Define the bits in register CBCDR */
  147. #define MXC_CCM_CBCDR_EMI_CLK_SEL (0x1 << 26)
  148. #define MXC_CCM_CBCDR_PERIPH_CLK_SEL (0x1 << 25)
  149. #define MXC_CCM_CBCDR_DDR_HF_SEL_OFFSET (30)
  150. #define MXC_CCM_CBCDR_DDR_HF_SEL (0x1 << 30)
  151. #define MXC_CCM_CBCDR_DDR_PODF_OFFSET (27)
  152. #define MXC_CCM_CBCDR_DDR_PODF_MASK (0x7 << 27)
  153. #define MXC_CCM_CBCDR_EMI_PODF_OFFSET (22)
  154. #define MXC_CCM_CBCDR_EMI_PODF_MASK (0x7 << 22)
  155. #define MXC_CCM_CBCDR_AXI_B_PODF_OFFSET (19)
  156. #define MXC_CCM_CBCDR_AXI_B_PODF_MASK (0x7 << 19)
  157. #define MXC_CCM_CBCDR_AXI_A_PODF_OFFSET (16)
  158. #define MXC_CCM_CBCDR_AXI_A_PODF_MASK (0x7 << 16)
  159. #define MXC_CCM_CBCDR_NFC_PODF_OFFSET (13)
  160. #define MXC_CCM_CBCDR_NFC_PODF_MASK (0x7 << 13)
  161. #define MXC_CCM_CBCDR_AHB_PODF_OFFSET (10)
  162. #define MXC_CCM_CBCDR_AHB_PODF_MASK (0x7 << 10)
  163. #define MXC_CCM_CBCDR_IPG_PODF_OFFSET (8)
  164. #define MXC_CCM_CBCDR_IPG_PODF_MASK (0x3 << 8)
  165. #define MXC_CCM_CBCDR_PERCLK_PRED1_OFFSET (6)
  166. #define MXC_CCM_CBCDR_PERCLK_PRED1_MASK (0x3 << 6)
  167. #define MXC_CCM_CBCDR_PERCLK_PRED2_OFFSET (3)
  168. #define MXC_CCM_CBCDR_PERCLK_PRED2_MASK (0x7 << 3)
  169. #define MXC_CCM_CBCDR_PERCLK_PODF_OFFSET (0)
  170. #define MXC_CCM_CBCDR_PERCLK_PODF_MASK (0x7)
  171. /* Define the bits in register CBCMR */
  172. #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_OFFSET (14)
  173. #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_MASK (0x3 << 14)
  174. #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_OFFSET (12)
  175. #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_MASK (0x3 << 12)
  176. #define MXC_CCM_CBCMR_DDR_CLK_SEL_OFFSET (10)
  177. #define MXC_CCM_CBCMR_DDR_CLK_SEL_MASK (0x3 << 10)
  178. #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_OFFSET (8)
  179. #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_MASK (0x3 << 8)
  180. #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_OFFSET (6)
  181. #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_MASK (0x3 << 6)
  182. #define MXC_CCM_CBCMR_GPU_CLK_SEL_OFFSET (4)
  183. #define MXC_CCM_CBCMR_GPU_CLK_SEL_MASK (0x3 << 4)
  184. #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_OFFSET (14)
  185. #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_MASK (0x3 << 14)
  186. #define MXC_CCM_CBCMR_PERCLK_LP_APM_CLK_SEL (0x1 << 1)
  187. #define MXC_CCM_CBCMR_PERCLK_IPG_CLK_SEL (0x1 << 0)
  188. /* Define the bits in register CSCMR1 */
  189. #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_OFFSET (30)
  190. #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_MASK (0x3 << 30)
  191. #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_OFFSET (28)
  192. #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_MASK (0x3 << 28)
  193. #define MXC_CCM_CSCMR1_USB_PHY_CLK_SEL_OFFSET (26)
  194. #define MXC_CCM_CSCMR1_USB_PHY_CLK_SEL (0x1 << 26)
  195. #define MXC_CCM_CSCMR1_UART_CLK_SEL_OFFSET (24)
  196. #define MXC_CCM_CSCMR1_UART_CLK_SEL_MASK (0x3 << 24)
  197. #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_OFFSET (22)
  198. #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_MASK (0x3 << 22)
  199. #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_OFFSET (20)
  200. #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_MASK (0x3 << 20)
  201. #define MXC_CCM_CSCMR1_ESDHC3_CLK_SEL (0x1 << 19)
  202. #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_MX53_CLK_SEL (0x1 << 19)
  203. #define MXC_CCM_CSCMR1_ESDHC4_CLK_SEL (0x1 << 18)
  204. #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_OFFSET (16)
  205. #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_MASK (0x3 << 16)
  206. #define MXC_CCM_CSCMR1_ESDHC3_MX53_CLK_SEL_OFFSET (16)
  207. #define MXC_CCM_CSCMR1_ESDHC3_MX53_CLK_SEL_MASK (0x3 << 16)
  208. #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_OFFSET (14)
  209. #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_MASK (0x3 << 14)
  210. #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_OFFSET (12)
  211. #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_MASK (0x3 << 12)
  212. #define MXC_CCM_CSCMR1_SSI3_CLK_SEL (0x1 << 11)
  213. #define MXC_CCM_CSCMR1_VPU_RCLK_SEL (0x1 << 10)
  214. #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_OFFSET (8)
  215. #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_MASK (0x3 << 8)
  216. #define MXC_CCM_CSCMR1_TVE_CLK_SEL (0x1 << 7)
  217. #define MXC_CCM_CSCMR1_TVE_EXT_CLK_SEL (0x1 << 6)
  218. #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET (4)
  219. #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK (0x3 << 4)
  220. #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_OFFSET (2)
  221. #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_MASK (0x3 << 2)
  222. #define MXC_CCM_CSCMR1_SSI_EXT2_COM_CLK_SEL (0x1 << 1)
  223. #define MXC_CCM_CSCMR1_SSI_EXT1_COM_CLK_SEL (0x1)
  224. /* Define the bits in register CSCMR2 */
  225. #define MXC_CCM_CSCMR2_DI_CLK_SEL_OFFSET(n) (26+n*3)
  226. #define MXC_CCM_CSCMR2_DI_CLK_SEL_MASK(n) (0x7 << (26+n*3))
  227. #define MXC_CCM_CSCMR2_CSI_MCLK2_CLK_SEL_OFFSET (24)
  228. #define MXC_CCM_CSCMR2_CSI_MCLK2_CLK_SEL_MASK (0x3 << 24)
  229. #define MXC_CCM_CSCMR2_CSI_MCLK1_CLK_SEL_OFFSET (22)
  230. #define MXC_CCM_CSCMR2_CSI_MCLK1_CLK_SEL_MASK (0x3 << 22)
  231. #define MXC_CCM_CSCMR2_ESC_CLK_SEL_OFFSET (20)
  232. #define MXC_CCM_CSCMR2_ESC_CLK_SEL_MASK (0x3 << 20)
  233. #define MXC_CCM_CSCMR2_HSC2_CLK_SEL_OFFSET (18)
  234. #define MXC_CCM_CSCMR2_HSC2_CLK_SEL_MASK (0x3 << 18)
  235. #define MXC_CCM_CSCMR2_HSC1_CLK_SEL_OFFSET (16)
  236. #define MXC_CCM_CSCMR2_HSC1_CLK_SEL_MASK (0x3 << 16)
  237. #define MXC_CCM_CSCMR2_HSI2C_CLK_SEL_OFFSET (14)
  238. #define MXC_CCM_CSCMR2_HSI2C_CLK_SEL_MASK (0x3 << 14)
  239. #define MXC_CCM_CSCMR2_FIRI_CLK_SEL_OFFSET (12)
  240. #define MXC_CCM_CSCMR2_FIRI_CLK_SEL_MASK (0x3 << 12)
  241. #define MXC_CCM_CSCMR2_SIM_CLK_SEL_OFFSET (10)
  242. #define MXC_CCM_CSCMR2_SIM_CLK_SEL_MASK (0x3 << 10)
  243. #define MXC_CCM_CSCMR2_SLIMBUS_COM (0x1 << 9)
  244. #define MXC_CCM_CSCMR2_SLIMBUS_CLK_SEL_OFFSET (6)
  245. #define MXC_CCM_CSCMR2_SLIMBUS_CLK_SEL_MASK (0x7 << 6)
  246. #define MXC_CCM_CSCMR2_SPDIF1_COM (1 << 5)
  247. #define MXC_CCM_CSCMR2_SPDIF0_COM (1 << 4)
  248. #define MXC_CCM_CSCMR2_SPDIF1_CLK_SEL_OFFSET (2)
  249. #define MXC_CCM_CSCMR2_SPDIF1_CLK_SEL_MASK (0x3 << 2)
  250. #define MXC_CCM_CSCMR2_SPDIF0_CLK_SEL_OFFSET (0)
  251. #define MXC_CCM_CSCMR2_SPDIF0_CLK_SEL_MASK (0x3)
  252. /* Define the bits in register CSCDR1 */
  253. #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_OFFSET (22)
  254. #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_MASK (0x7 << 22)
  255. #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_OFFSET (19)
  256. #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_MASK (0x7 << 19)
  257. #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PRED_OFFSET (22)
  258. #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PRED_MASK (0x7 << 22)
  259. #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PODF_OFFSET (19)
  260. #define MXC_CCM_CSCDR1_ESDHC3_MX53_CLK_PODF_MASK (0x7 << 19)
  261. #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_OFFSET (16)
  262. #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_MASK (0x7 << 16)
  263. #define MXC_CCM_CSCDR1_PGC_CLK_PODF_OFFSET (14)
  264. #define MXC_CCM_CSCDR1_PGC_CLK_PODF_MASK (0x3 << 14)
  265. #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_OFFSET (11)
  266. #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_MASK (0x7 << 11)
  267. #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_OFFSET (8)
  268. #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK (0x7 << 8)
  269. #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET (6)
  270. #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK (0x3 << 6)
  271. #define MXC_CCM_CSCDR1_UART_CLK_PRED_OFFSET (3)
  272. #define MXC_CCM_CSCDR1_UART_CLK_PRED_MASK (0x7 << 3)
  273. #define MXC_CCM_CSCDR1_UART_CLK_PODF_OFFSET (0)
  274. #define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK (0x7)
  275. /* Define the bits in register CS1CDR and CS2CDR */
  276. #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PRED_OFFSET (22)
  277. #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PRED_MASK (0x7 << 22)
  278. #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PODF_OFFSET (16)
  279. #define MXC_CCM_CS1CDR_SSI_EXT1_CLK_PODF_MASK (0x3F << 16)
  280. #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_OFFSET (6)
  281. #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_MASK (0x7 << 6)
  282. #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_OFFSET (0)
  283. #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_MASK (0x3F)
  284. #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PRED_OFFSET (22)
  285. #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PRED_MASK (0x7 << 22)
  286. #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PODF_OFFSET (16)
  287. #define MXC_CCM_CS2CDR_SSI_EXT2_CLK_PODF_MASK (0x3F << 16)
  288. #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_OFFSET (6)
  289. #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_MASK (0x7 << 6)
  290. #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_OFFSET (0)
  291. #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_MASK (0x3F)
  292. /* Define the bits in register CDCDR */
  293. #define MXC_CCM_CDCDR_TVE_CLK_PRED_OFFSET (28)
  294. #define MXC_CCM_CDCDR_TVE_CLK_PRED_MASK (0x7 << 28)
  295. #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_OFFSET (25)
  296. #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_MASK (0x7 << 25)
  297. #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_OFFSET (19)
  298. #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_MASK (0x3F << 19)
  299. #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_OFFSET (16)
  300. #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_MASK (0x7 << 16)
  301. #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_OFFSET (9)
  302. #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_MASK (0x3F << 9)
  303. #define MXC_CCM_CDCDR_DI_CLK_PRED_OFFSET (6)
  304. #define MXC_CCM_CDCDR_DI_CLK_PRED_MASK (0x7 << 6)
  305. #define MXC_CCM_CDCDR_USB_PHY_PRED_OFFSET (3)
  306. #define MXC_CCM_CDCDR_USB_PHY_PRED_MASK (0x7 << 3)
  307. #define MXC_CCM_CDCDR_USB_PHY_PODF_OFFSET (0)
  308. #define MXC_CCM_CDCDR_USB_PHY_PODF_MASK (0x7)
  309. /* Define the bits in register CHSCCDR */
  310. #define MXC_CCM_CHSCCDR_ESC_CLK_PRED_OFFSET (12)
  311. #define MXC_CCM_CHSCCDR_ESC_CLK_PRED_MASK (0x7 << 12)
  312. #define MXC_CCM_CHSCCDR_ESC_CLK_PODF_OFFSET (6)
  313. #define MXC_CCM_CHSCCDR_ESC_CLK_PODF_MASK (0x3F << 6)
  314. #define MXC_CCM_CHSCCDR_HSC2_CLK_PODF_OFFSET (3)
  315. #define MXC_CCM_CHSCCDR_HSC2_CLK_PODF_MASK (0x7 << 3)
  316. #define MXC_CCM_CHSCCDR_HSC1_CLK_PODF_OFFSET (0)
  317. #define MXC_CCM_CHSCCDR_HSC1_CLK_PODF_MASK (0x7)
  318. /* Define the bits in register CSCDR2 */
  319. #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET (25)
  320. #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK (0x7 << 25)
  321. #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET (19)
  322. #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK (0x3F << 19)
  323. #define MXC_CCM_CSCDR2_SIM_CLK_PRED_OFFSET (16)
  324. #define MXC_CCM_CSCDR2_SIM_CLK_PRED_MASK (0x7 << 16)
  325. #define MXC_CCM_CSCDR2_SIM_CLK_PODF_OFFSET (9)
  326. #define MXC_CCM_CSCDR2_SIM_CLK_PODF_MASK (0x3F << 9)
  327. #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PRED_OFFSET (6)
  328. #define MXC_CCM_CSCDR2_SLIMBUS_PRED_MASK (0x7 << 6)
  329. #define MXC_CCM_CSCDR2_SLIMBUS_PODF_OFFSET (0)
  330. #define MXC_CCM_CSCDR2_SLIMBUS_PODF_MASK (0x3F)
  331. /* Define the bits in register CSCDR3 */
  332. #define MXC_CCM_CSCDR3_HSI2C_CLK_PRED_OFFSET (16)
  333. #define MXC_CCM_CSCDR3_HSI2C_CLK_PRED_MASK (0x7 << 16)
  334. #define MXC_CCM_CSCDR3_HSI2C_CLK_PODF_OFFSET (9)
  335. #define MXC_CCM_CSCDR3_HSI2C_CLK_PODF_MASK (0x3F << 9)
  336. #define MXC_CCM_CSCDR3_FIRI_CLK_PRED_OFFSET (6)
  337. #define MXC_CCM_CSCDR3_FIRI_CLK_PRED_MASK (0x7 << 6)
  338. #define MXC_CCM_CSCDR3_FIRI_CLK_PODF_OFFSET (0)
  339. #define MXC_CCM_CSCDR3_FIRI_CLK_PODF_MASK (0x3F)
  340. /* Define the bits in register CSCDR4 */
  341. #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PRED_OFFSET (16)
  342. #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PRED_MASK (0x7 << 16)
  343. #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PODF_OFFSET (9)
  344. #define MXC_CCM_CSCDR4_CSI_MCLK2_CLK_PODF_MASK (0x3F << 9)
  345. #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PRED_OFFSET (6)
  346. #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PRED_MASK (0x7 << 6)
  347. #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PODF_OFFSET (0)
  348. #define MXC_CCM_CSCDR4_CSI_MCLK1_CLK_PODF_MASK (0x3F)
  349. /* Define the bits in register CDHIPR */
  350. #define MXC_CCM_CDHIPR_ARM_PODF_BUSY (1 << 16)
  351. #define MXC_CCM_CDHIPR_DDR_HF_CLK_SEL_BUSY (1 << 8)
  352. #define MXC_CCM_CDHIPR_DDR_PODF_BUSY (1 << 7)
  353. #define MXC_CCM_CDHIPR_EMI_CLK_SEL_BUSY (1 << 6)
  354. #define MXC_CCM_CDHIPR_PERIPH_CLK_SEL_BUSY (1 << 5)
  355. #define MXC_CCM_CDHIPR_NFC_IPG_INT_MEM_PODF_BUSY (1 << 4)
  356. #define MXC_CCM_CDHIPR_AHB_PODF_BUSY (1 << 3)
  357. #define MXC_CCM_CDHIPR_EMI_PODF_BUSY (1 << 2)
  358. #define MXC_CCM_CDHIPR_AXI_B_PODF_BUSY (1 << 1)
  359. #define MXC_CCM_CDHIPR_AXI_A_PODF_BUSY (1 << 0)
  360. /* Define the bits in register CDCR */
  361. #define MXC_CCM_CDCR_ARM_FREQ_SHIFT_DIVIDER (0x1 << 2)
  362. #define MXC_CCM_CDCR_PERIPH_CLK_DVFS_PODF_OFFSET (0)
  363. #define MXC_CCM_CDCR_PERIPH_CLK_DVFS_PODF_MASK (0x3)
  364. /* Define the bits in register CLPCR */
  365. #define MXC_CCM_CLPCR_BYPASS_HSC_LPM_HS (0x1 << 23)
  366. #define MXC_CCM_CLPCR_BYPASS_SCC_LPM_HS (0x1 << 22)
  367. #define MX51_CCM_CLPCR_BYPASS_MAX_LPM_HS (0x1 << 21)
  368. #define MX53_CCM_CLPCR_BYPASS_MAX_LPM_HS (0x1 << 25)
  369. #define MXC_CCM_CLPCR_BYPASS_SDMA_LPM_HS (0x1 << 20)
  370. #define MXC_CCM_CLPCR_BYPASS_EMI_LPM_HS (0x1 << 19)
  371. #define MXC_CCM_CLPCR_BYPASS_IPU_LPM_HS (0x1 << 18)
  372. #define MXC_CCM_CLPCR_BYPASS_RTIC_LPM_HS (0x1 << 17)
  373. #define MXC_CCM_CLPCR_BYPASS_RNGC_LPM_HS (0x1 << 16)
  374. #define MXC_CCM_CLPCR_COSC_PWRDOWN (0x1 << 11)
  375. #define MXC_CCM_CLPCR_STBY_COUNT_OFFSET (9)
  376. #define MXC_CCM_CLPCR_STBY_COUNT_MASK (0x3 << 9)
  377. #define MXC_CCM_CLPCR_VSTBY (0x1 << 8)
  378. #define MXC_CCM_CLPCR_DIS_REF_OSC (0x1 << 7)
  379. #define MXC_CCM_CLPCR_SBYOS (0x1 << 6)
  380. #define MXC_CCM_CLPCR_ARM_CLK_DIS_ON_LPM (0x1 << 5)
  381. #define MXC_CCM_CLPCR_LPSR_CLK_SEL_OFFSET (3)
  382. #define MXC_CCM_CLPCR_LPSR_CLK_SEL_MASK (0x3 << 3)
  383. #define MXC_CCM_CLPCR_LPM_OFFSET (0)
  384. #define MXC_CCM_CLPCR_LPM_MASK (0x3)
  385. /* Define the bits in register CISR */
  386. #define MXC_CCM_CISR_ARM_PODF_LOADED (0x1 << 25)
  387. #define MXC_CCM_CISR_NFC_IPG_INT_MEM_PODF_LOADED (0x1 << 21)
  388. #define MXC_CCM_CISR_AHB_PODF_LOADED (0x1 << 20)
  389. #define MXC_CCM_CISR_EMI_PODF_LOADED (0x1 << 19)
  390. #define MXC_CCM_CISR_AXI_B_PODF_LOADED (0x1 << 18)
  391. #define MXC_CCM_CISR_AXI_A_PODF_LOADED (0x1 << 17)
  392. #define MXC_CCM_CISR_DIVIDER_LOADED (0x1 << 16)
  393. #define MXC_CCM_CISR_COSC_READY (0x1 << 6)
  394. #define MXC_CCM_CISR_CKIH2_READY (0x1 << 5)
  395. #define MXC_CCM_CISR_CKIH_READY (0x1 << 4)
  396. #define MXC_CCM_CISR_FPM_READY (0x1 << 3)
  397. #define MXC_CCM_CISR_LRF_PLL3 (0x1 << 2)
  398. #define MXC_CCM_CISR_LRF_PLL2 (0x1 << 1)
  399. #define MXC_CCM_CISR_LRF_PLL1 (0x1)
  400. /* Define the bits in register CIMR */
  401. #define MXC_CCM_CIMR_MASK_ARM_PODF_LOADED (0x1 << 25)
  402. #define MXC_CCM_CIMR_MASK_NFC_IPG_INT_MEM_PODF_LOADED (0x1 << 21)
  403. #define MXC_CCM_CIMR_MASK_EMI_PODF_LOADED (0x1 << 20)
  404. #define MXC_CCM_CIMR_MASK_AXI_C_PODF_LOADED (0x1 << 19)
  405. #define MXC_CCM_CIMR_MASK_AXI_B_PODF_LOADED (0x1 << 18)
  406. #define MXC_CCM_CIMR_MASK_AXI_A_PODF_LOADED (0x1 << 17)
  407. #define MXC_CCM_CIMR_MASK_DIVIDER_LOADED (0x1 << 16)
  408. #define MXC_CCM_CIMR_MASK_COSC_READY (0x1 << 5)
  409. #define MXC_CCM_CIMR_MASK_CKIH_READY (0x1 << 4)
  410. #define MXC_CCM_CIMR_MASK_FPM_READY (0x1 << 3)
  411. #define MXC_CCM_CIMR_MASK_LRF_PLL3 (0x1 << 2)
  412. #define MXC_CCM_CIMR_MASK_LRF_PLL2 (0x1 << 1)
  413. #define MXC_CCM_CIMR_MASK_LRF_PLL1 (0x1)
  414. /* Define the bits in register CCOSR */
  415. #define MXC_CCM_CCOSR_CKO2_EN_OFFSET (0x1 << 24)
  416. #define MXC_CCM_CCOSR_CKO2_DIV_OFFSET (21)
  417. #define MXC_CCM_CCOSR_CKO2_DIV_MASK (0x7 << 21)
  418. #define MXC_CCM_CCOSR_CKO2_SEL_OFFSET (16)
  419. #define MXC_CCM_CCOSR_CKO2_SEL_MASK (0x1F << 16)
  420. #define MXC_CCM_CCOSR_CKOL_EN (0x1 << 7)
  421. #define MXC_CCM_CCOSR_CKOL_DIV_OFFSET (4)
  422. #define MXC_CCM_CCOSR_CKOL_DIV_MASK (0x7 << 4)
  423. #define MXC_CCM_CCOSR_CKOL_SEL_OFFSET (0)
  424. #define MXC_CCM_CCOSR_CKOL_SEL_MASK (0xF)
  425. /* Define the bits in registers CGPR */
  426. #define MXC_CCM_CGPR_EFUSE_PROG_SUPPLY_GATE (0x1 << 4)
  427. #define MXC_CCM_CGPR_FPM_SEL (0x1 << 3)
  428. #define MXC_CCM_CGPR_VL_L2BIST_CLKDIV_OFFSET (0)
  429. #define MXC_CCM_CGPR_VL_L2BIST_CLKDIV_MASK (0x7)
  430. /* Define the bits in registers CCGRx */
  431. #define MXC_CCM_CCGRx_CG_MASK 0x3
  432. #define MXC_CCM_CCGRx_MOD_OFF 0x0
  433. #define MXC_CCM_CCGRx_MOD_ON 0x3
  434. #define MXC_CCM_CCGRx_MOD_IDLE 0x1
  435. #define MXC_CCM_CCGRx_CG15_MASK (0x3 << 30)
  436. #define MXC_CCM_CCGRx_CG14_MASK (0x3 << 28)
  437. #define MXC_CCM_CCGRx_CG13_MASK (0x3 << 26)
  438. #define MXC_CCM_CCGRx_CG12_MASK (0x3 << 24)
  439. #define MXC_CCM_CCGRx_CG11_MASK (0x3 << 22)
  440. #define MXC_CCM_CCGRx_CG10_MASK (0x3 << 20)
  441. #define MXC_CCM_CCGRx_CG9_MASK (0x3 << 18)
  442. #define MXC_CCM_CCGRx_CG8_MASK (0x3 << 16)
  443. #define MXC_CCM_CCGRx_CG5_MASK (0x3 << 10)
  444. #define MXC_CCM_CCGRx_CG4_MASK (0x3 << 8)
  445. #define MXC_CCM_CCGRx_CG3_MASK (0x3 << 6)
  446. #define MXC_CCM_CCGRx_CG2_MASK (0x3 << 4)
  447. #define MXC_CCM_CCGRx_CG1_MASK (0x3 << 2)
  448. #define MXC_CCM_CCGRx_CG0_MASK (0x3 << 0)
  449. #define MXC_CCM_CCGRx_CG15_OFFSET 30
  450. #define MXC_CCM_CCGRx_CG14_OFFSET 28
  451. #define MXC_CCM_CCGRx_CG13_OFFSET 26
  452. #define MXC_CCM_CCGRx_CG12_OFFSET 24
  453. #define MXC_CCM_CCGRx_CG11_OFFSET 22
  454. #define MXC_CCM_CCGRx_CG10_OFFSET 20
  455. #define MXC_CCM_CCGRx_CG9_OFFSET 18
  456. #define MXC_CCM_CCGRx_CG8_OFFSET 16
  457. #define MXC_CCM_CCGRx_CG7_OFFSET 14
  458. #define MXC_CCM_CCGRx_CG6_OFFSET 12
  459. #define MXC_CCM_CCGRx_CG5_OFFSET 10
  460. #define MXC_CCM_CCGRx_CG4_OFFSET 8
  461. #define MXC_CCM_CCGRx_CG3_OFFSET 6
  462. #define MXC_CCM_CCGRx_CG2_OFFSET 4
  463. #define MXC_CCM_CCGRx_CG1_OFFSET 2
  464. #define MXC_CCM_CCGRx_CG0_OFFSET 0
  465. #define MXC_DPTC_LP_BASE (MX51_GPC_BASE + 0x80)
  466. #define MXC_DPTC_GP_BASE (MX51_GPC_BASE + 0x100)
  467. #define MXC_DVFS_CORE_BASE (MX51_GPC_BASE + 0x180)
  468. #define MXC_DPTC_PER_BASE (MX51_GPC_BASE + 0x1C0)
  469. #define MXC_PGC_IPU_BASE (MX51_GPC_BASE + 0x220)
  470. #define MXC_PGC_VPU_BASE (MX51_GPC_BASE + 0x240)
  471. #define MXC_PGC_GPU_BASE (MX51_GPC_BASE + 0x260)
  472. #define MXC_SRPG_NEON_BASE (MX51_GPC_BASE + 0x280)
  473. #define MXC_SRPG_ARM_BASE (MX51_GPC_BASE + 0x2A0)
  474. #define MXC_SRPG_EMPGC0_BASE (MX51_GPC_BASE + 0x2C0)
  475. #define MXC_SRPG_EMPGC1_BASE (MX51_GPC_BASE + 0x2D0)
  476. #define MXC_SRPG_MEGAMIX_BASE (MX51_GPC_BASE + 0x2E0)
  477. #define MXC_SRPG_EMI_BASE (MX51_GPC_BASE + 0x300)
  478. /* CORTEXA8 platform */
  479. #define MXC_CORTEXA8_PLAT_PVID (MX51_CORTEXA8_BASE + 0x0)
  480. #define MXC_CORTEXA8_PLAT_GPC (MX51_CORTEXA8_BASE + 0x4)
  481. #define MXC_CORTEXA8_PLAT_PIC (MX51_CORTEXA8_BASE + 0x8)
  482. #define MXC_CORTEXA8_PLAT_LPC (MX51_CORTEXA8_BASE + 0xC)
  483. #define MXC_CORTEXA8_PLAT_NEON_LPC (MX51_CORTEXA8_BASE + 0x10)
  484. #define MXC_CORTEXA8_PLAT_ICGC (MX51_CORTEXA8_BASE + 0x14)
  485. #define MXC_CORTEXA8_PLAT_AMC (MX51_CORTEXA8_BASE + 0x18)
  486. #define MXC_CORTEXA8_PLAT_NMC (MX51_CORTEXA8_BASE + 0x20)
  487. #define MXC_CORTEXA8_PLAT_NMS (MX51_CORTEXA8_BASE + 0x24)
  488. /* DVFS CORE */
  489. #define MXC_DVFSTHRS (MXC_DVFS_CORE_BASE + 0x00)
  490. #define MXC_DVFSCOUN (MXC_DVFS_CORE_BASE + 0x04)
  491. #define MXC_DVFSSIG1 (MXC_DVFS_CORE_BASE + 0x08)
  492. #define MXC_DVFSSIG0 (MXC_DVFS_CORE_BASE + 0x0C)
  493. #define MXC_DVFSGPC0 (MXC_DVFS_CORE_BASE + 0x10)
  494. #define MXC_DVFSGPC1 (MXC_DVFS_CORE_BASE + 0x14)
  495. #define MXC_DVFSGPBT (MXC_DVFS_CORE_BASE + 0x18)
  496. #define MXC_DVFSEMAC (MXC_DVFS_CORE_BASE + 0x1C)
  497. #define MXC_DVFSCNTR (MXC_DVFS_CORE_BASE + 0x20)
  498. #define MXC_DVFSLTR0_0 (MXC_DVFS_CORE_BASE + 0x24)
  499. #define MXC_DVFSLTR0_1 (MXC_DVFS_CORE_BASE + 0x28)
  500. #define MXC_DVFSLTR1_0 (MXC_DVFS_CORE_BASE + 0x2C)
  501. #define MXC_DVFSLTR1_1 (MXC_DVFS_CORE_BASE + 0x30)
  502. #define MXC_DVFSPT0 (MXC_DVFS_CORE_BASE + 0x34)
  503. #define MXC_DVFSPT1 (MXC_DVFS_CORE_BASE + 0x38)
  504. #define MXC_DVFSPT2 (MXC_DVFS_CORE_BASE + 0x3C)
  505. #define MXC_DVFSPT3 (MXC_DVFS_CORE_BASE + 0x40)
  506. /* GPC */
  507. #define MXC_GPC_CNTR (MX51_GPC_BASE + 0x0)
  508. #define MXC_GPC_PGR (MX51_GPC_BASE + 0x4)
  509. #define MXC_GPC_VCR (MX51_GPC_BASE + 0x8)
  510. #define MXC_GPC_ALL_PU (MX51_GPC_BASE + 0xC)
  511. #define MXC_GPC_NEON (MX51_GPC_BASE + 0x10)
  512. #define MXC_GPC_PGR_ARMPG_OFFSET 8
  513. #define MXC_GPC_PGR_ARMPG_MASK (3 << 8)
  514. /* PGC */
  515. #define MXC_PGC_IPU_PGCR (MXC_PGC_IPU_BASE + 0x0)
  516. #define MXC_PGC_IPU_PGSR (MXC_PGC_IPU_BASE + 0xC)
  517. #define MXC_PGC_VPU_PGCR (MXC_PGC_VPU_BASE + 0x0)
  518. #define MXC_PGC_VPU_PGSR (MXC_PGC_VPU_BASE + 0xC)
  519. #define MXC_PGC_GPU_PGCR (MXC_PGC_GPU_BASE + 0x0)
  520. #define MXC_PGC_GPU_PGSR (MXC_PGC_GPU_BASE + 0xC)
  521. #define MXC_PGCR_PCR 1
  522. #define MXC_SRPGCR_PCR 1
  523. #define MXC_EMPGCR_PCR 1
  524. #define MXC_PGSR_PSR 1
  525. #define MXC_CORTEXA8_PLAT_LPC_DSM (1 << 0)
  526. #define MXC_CORTEXA8_PLAT_LPC_DBG_DSM (1 << 1)
  527. /* SRPG */
  528. #define MXC_SRPG_NEON_SRPGCR (MXC_SRPG_NEON_BASE + 0x0)
  529. #define MXC_SRPG_NEON_PUPSCR (MXC_SRPG_NEON_BASE + 0x4)
  530. #define MXC_SRPG_NEON_PDNSCR (MXC_SRPG_NEON_BASE + 0x8)
  531. #define MXC_SRPG_ARM_SRPGCR (MXC_SRPG_ARM_BASE + 0x0)
  532. #define MXC_SRPG_ARM_PUPSCR (MXC_SRPG_ARM_BASE + 0x4)
  533. #define MXC_SRPG_ARM_PDNSCR (MXC_SRPG_ARM_BASE + 0x8)
  534. #define MXC_SRPG_EMPGC0_SRPGCR (MXC_SRPG_EMPGC0_BASE + 0x0)
  535. #define MXC_SRPG_EMPGC0_PUPSCR (MXC_SRPG_EMPGC0_BASE + 0x4)
  536. #define MXC_SRPG_EMPGC0_PDNSCR (MXC_SRPG_EMPGC0_BASE + 0x8)
  537. #define MXC_SRPG_EMPGC1_SRPGCR (MXC_SRPG_EMPGC1_BASE + 0x0)
  538. #define MXC_SRPG_EMPGC1_PUPSCR (MXC_SRPG_EMPGC1_BASE + 0x4)
  539. #define MXC_SRPG_EMPGC1_PDNSCR (MXC_SRPG_EMPGC1_BASE + 0x8)
  540. #define MXC_SRPG_MEGAMIX_SRPGCR (MXC_SRPG_MEGAMIX_BASE + 0x0)
  541. #define MXC_SRPG_MEGAMIX_PUPSCR (MXC_SRPG_MEGAMIX_BASE + 0x4)
  542. #define MXC_SRPG_MEGAMIX_PDNSCR (MXC_SRPG_MEGAMIX_BASE + 0x8)
  543. #define MXC_SRPGC_EMI_SRPGCR (MXC_SRPGC_EMI_BASE + 0x0)
  544. #define MXC_SRPGC_EMI_PUPSCR (MXC_SRPGC_EMI_BASE + 0x4)
  545. #define MXC_SRPGC_EMI_PDNSCR (MXC_SRPGC_EMI_BASE + 0x8)
  546. #endif /* __ARCH_ARM_MACH_MX51_CRM_REGS_H__ */