ccm_regs.h 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892
  1. /*
  2. * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program; if not, write to the Free Software
  16. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. *
  18. */
  19. #ifndef __ARCH_ARM_MACH_MX6_CCM_REGS_H__
  20. #define __ARCH_ARM_MACH_MX6_CCM_REGS_H__
  21. struct imx_ccm_reg {
  22. u32 ccr; /* 0x0000 */
  23. u32 ccdr;
  24. u32 csr;
  25. u32 ccsr;
  26. u32 cacrr; /* 0x0010*/
  27. u32 cbcdr;
  28. u32 cbcmr;
  29. u32 cscmr1;
  30. u32 cscmr2; /* 0x0020 */
  31. u32 cscdr1;
  32. u32 cs1cdr;
  33. u32 cs2cdr;
  34. u32 cdcdr; /* 0x0030 */
  35. u32 chscdr;
  36. u32 cscdr2;
  37. u32 cscdr3;
  38. u32 cscdr4; /* 0x0040 */
  39. u32 resv0;
  40. u32 cdhipr;
  41. u32 cdcr;
  42. u32 ctor; /* 0x0050 */
  43. u32 clpcr;
  44. u32 cisr;
  45. u32 cimr;
  46. u32 ccosr; /* 0x0060 */
  47. u32 cgpr;
  48. u32 CCGR0;
  49. u32 CCGR1;
  50. u32 CCGR2; /* 0x0070 */
  51. u32 CCGR3;
  52. u32 CCGR4;
  53. u32 CCGR5;
  54. u32 CCGR6; /* 0x0080 */
  55. u32 CCGR7;
  56. u32 cmeor;
  57. u32 resv[0xfdd];
  58. u32 analog_pll_sys; /* 0x4000 */
  59. u32 analog_pll_sys_set;
  60. u32 analog_pll_sys_clr;
  61. u32 analog_pll_sys_tog;
  62. u32 analog_usb1_pll_480_ctrl; /* 0x4010 */
  63. u32 analog_usb1_pll_480_ctrl_set;
  64. u32 analog_usb1_pll_480_ctrl_clr;
  65. u32 analog_usb1_pll_480_ctrl_tog;
  66. u32 analog_reserved0[4];
  67. u32 analog_pll_528; /* 0x4030 */
  68. u32 analog_pll_528_set;
  69. u32 analog_pll_528_clr;
  70. u32 analog_pll_528_tog;
  71. u32 analog_pll_528_ss; /* 0x4040 */
  72. u32 analog_reserved1[3];
  73. u32 analog_pll_528_num; /* 0x4050 */
  74. u32 analog_reserved2[3];
  75. u32 analog_pll_528_denom; /* 0x4060 */
  76. u32 analog_reserved3[3];
  77. u32 analog_pll_audio; /* 0x4070 */
  78. u32 analog_pll_audio_set;
  79. u32 analog_pll_audio_clr;
  80. u32 analog_pll_audio_tog;
  81. u32 analog_pll_audio_num; /* 0x4080*/
  82. u32 analog_reserved4[3];
  83. u32 analog_pll_audio_denom; /* 0x4090 */
  84. u32 analog_reserved5[3];
  85. u32 analog_pll_video; /* 0x40a0 */
  86. u32 analog_pll_video_set;
  87. u32 analog_pll_video_clr;
  88. u32 analog_pll_video_tog;
  89. u32 analog_pll_video_num; /* 0x40b0 */
  90. u32 analog_reserved6[3];
  91. u32 analog_pll_vedio_denon; /* 0x40c0 */
  92. u32 analog_reserved7[7];
  93. u32 analog_pll_enet; /* 0x40e0 */
  94. u32 analog_pll_enet_set;
  95. u32 analog_pll_enet_clr;
  96. u32 analog_pll_enet_tog;
  97. u32 analog_pfd_480; /* 0x40f0 */
  98. u32 analog_pfd_480_set;
  99. u32 analog_pfd_480_clr;
  100. u32 analog_pfd_480_tog;
  101. u32 analog_pfd_528; /* 0x4100 */
  102. u32 analog_pfd_528_set;
  103. u32 analog_pfd_528_clr;
  104. u32 analog_pfd_528_tog;
  105. };
  106. /* Define the bits in register CCR */
  107. #define MXC_CCM_CCR_RBC_EN (1 << 27)
  108. #define MXC_CCM_CCR_REG_BYPASS_CNT_MASK (0x3F << 21)
  109. #define MXC_CCM_CCR_REG_BYPASS_CNT_OFFSET 21
  110. #define MXC_CCM_CCR_WB_COUNT_MASK 0x7
  111. #define MXC_CCM_CCR_WB_COUNT_OFFSET (1 << 16)
  112. #define MXC_CCM_CCR_COSC_EN (1 << 12)
  113. #define MXC_CCM_CCR_OSCNT_MASK 0xFF
  114. #define MXC_CCM_CCR_OSCNT_OFFSET 0
  115. /* Define the bits in register CCDR */
  116. #define MXC_CCM_CCDR_MMDC_CH1_HS_MASK (1 << 16)
  117. #define MXC_CCM_CCDR_MMDC_CH0_HS_MASK (1 << 17)
  118. /* Define the bits in register CSR */
  119. #define MXC_CCM_CSR_COSC_READY (1 << 5)
  120. #define MXC_CCM_CSR_REF_EN_B (1 << 0)
  121. /* Define the bits in register CCSR */
  122. #define MXC_CCM_CCSR_PDF_540M_AUTO_DIS (1 << 15)
  123. #define MXC_CCM_CCSR_PDF_720M_AUTO_DIS (1 << 14)
  124. #define MXC_CCM_CCSR_PDF_454M_AUTO_DIS (1 << 13)
  125. #define MXC_CCM_CCSR_PDF_508M_AUTO_DIS (1 << 12)
  126. #define MXC_CCM_CCSR_PDF_594M_AUTO_DIS (1 << 11)
  127. #define MXC_CCM_CCSR_PDF_352M_AUTO_DIS (1 << 10)
  128. #define MXC_CCM_CCSR_PDF_400M_AUTO_DIS (1 << 9)
  129. #define MXC_CCM_CCSR_STEP_SEL (1 << 8)
  130. #define MXC_CCM_CCSR_PLL1_SW_CLK_SEL (1 << 2)
  131. #define MXC_CCM_CCSR_PLL2_SW_CLK_SEL (1 << 1)
  132. #define MXC_CCM_CCSR_PLL3_SW_CLK_SEL (1 << 0)
  133. /* Define the bits in register CACRR */
  134. #define MXC_CCM_CACRR_ARM_PODF_OFFSET 0
  135. #define MXC_CCM_CACRR_ARM_PODF_MASK 0x7
  136. /* Define the bits in register CBCDR */
  137. #define MXC_CCM_CBCDR_PERIPH_CLK2_PODF_MASK (0x7 << 27)
  138. #define MXC_CCM_CBCDR_PERIPH_CLK2_PODF_OFFSET 27
  139. #define MXC_CCM_CBCDR_PERIPH2_CLK2_SEL (1 << 26)
  140. #define MXC_CCM_CBCDR_PERIPH_CLK_SEL (1 << 25)
  141. #define MXC_CCM_CBCDR_MMDC_CH0_PODF_MASK (0x7 << 19)
  142. #define MXC_CCM_CBCDR_MMDC_CH0_PODF_OFFSET 19
  143. #define MXC_CCM_CBCDR_AXI_PODF_MASK (0x7 << 16)
  144. #define MXC_CCM_CBCDR_AXI_PODF_OFFSET 16
  145. #define MXC_CCM_CBCDR_AHB_PODF_MASK (0x7 << 10)
  146. #define MXC_CCM_CBCDR_AHB_PODF_OFFSET 10
  147. #define MXC_CCM_CBCDR_IPG_PODF_MASK (0x3 << 8)
  148. #define MXC_CCM_CBCDR_IPG_PODF_OFFSET 8
  149. #define MXC_CCM_CBCDR_AXI_ALT_SEL (1 << 7)
  150. #define MXC_CCM_CBCDR_AXI_SEL (1 << 6)
  151. #define MXC_CCM_CBCDR_MMDC_CH1_PODF_MASK (0x7 << 3)
  152. #define MXC_CCM_CBCDR_MMDC_CH1_PODF_OFFSET 3
  153. #define MXC_CCM_CBCDR_PERIPH2_CLK2_PODF_MASK (0x7 << 0)
  154. #define MXC_CCM_CBCDR_PERIPH2_CLK2_PODF_OFFSET 0
  155. /* Define the bits in register CBCMR */
  156. #define MXC_CCM_CBCMR_GPU3D_SHADER_PODF_MASK (0x7 << 29)
  157. #define MXC_CCM_CBCMR_GPU3D_SHADER_PODF_OFFSET 29
  158. #define MXC_CCM_CBCMR_GPU3D_CORE_PODF_MASK (0x7 << 26)
  159. #define MXC_CCM_CBCMR_GPU3D_CORE_PODF_OFFSET 26
  160. #define MXC_CCM_CBCMR_GPU2D_CORE_PODF_MASK (0x7 << 23)
  161. #define MXC_CCM_CBCMR_GPU2D_CORE_PODF_OFFSET 23
  162. #define MXC_CCM_CBCMR_PRE_PERIPH2_CLK_SEL_MASK (0x3 << 21)
  163. #define MXC_CCM_CBCMR_PRE_PERIPH2_CLK_SEL_OFFSET 21
  164. #define MXC_CCM_CBCMR_PRE_PERIPH2_CLK2_SEL (1 << 20)
  165. #define MXC_CCM_CBCMR_PRE_PERIPH_CLK_SEL_MASK (0x3 << 18)
  166. #define MXC_CCM_CBCMR_PRE_PERIPH_CLK_SEL_OFFSET 18
  167. #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_MASK (0x3 << 16)
  168. #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_OFFSET 16
  169. #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_MASK (0x3 << 14)
  170. #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_OFFSET 14
  171. #define MXC_CCM_CBCMR_PERIPH_CLK2_SEL_MASK (0x3 << 12)
  172. #define MXC_CCM_CBCMR_PERIPH_CLK2_SEL_OFFSET 12
  173. #define MXC_CCM_CBCMR_VDOAXI_CLK_SEL (1 << 11)
  174. #define MXC_CCM_CBCMR_PCIE_AXI_CLK_SEL (1 << 10)
  175. #define MXC_CCM_CBCMR_GPU3D_SHADER_CLK_SEL_MASK (0x3 << 8)
  176. #define MXC_CCM_CBCMR_GPU3D_SHADER_CLK_SEL_OFFSET 8
  177. #define MXC_CCM_CBCMR_GPU3D_CORE_CLK_SEL_MASK (0x3 << 4)
  178. #define MXC_CCM_CBCMR_GPU3D_CORE_CLK_SEL_OFFSET 4
  179. #define MXC_CCM_CBCMR_GPU3D_AXI_CLK_SEL (1 << 1)
  180. #define MXC_CCM_CBCMR_GPU2D_AXI_CLK_SEL (1 << 0)
  181. /* Define the bits in register CSCMR1 */
  182. #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_MASK (0x3 << 29)
  183. #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_OFFSET 29
  184. #define MXC_CCM_CSCMR1_ACLK_EMI_MASK (0x3 << 27)
  185. #define MXC_CCM_CSCMR1_ACLK_EMI_OFFSET 27
  186. #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_MASK (0x7 << 23)
  187. #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_OFFSET 23
  188. #define MXC_CCM_CSCMR1_ACLK_EMI_PODF_MASK (0x7 << 20)
  189. #define MXC_CCM_CSCMR1_ACLK_EMI_PODF_OFFSET 20
  190. #define MXC_CCM_CSCMR1_USDHC4_CLK_SEL (1 << 19)
  191. #define MXC_CCM_CSCMR1_USDHC3_CLK_SEL (1 << 18)
  192. #define MXC_CCM_CSCMR1_USDHC2_CLK_SEL (1 << 17)
  193. #define MXC_CCM_CSCMR1_USDHC1_CLK_SEL (1 << 16)
  194. #define MXC_CCM_CSCMR1_SSI3_CLK_SEL_MASK (0x3 << 14)
  195. #define MXC_CCM_CSCMR1_SSI3_CLK_SEL_OFFSET 14
  196. #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_MASK (0x3 << 12)
  197. #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_OFFSET 12
  198. #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_MASK (0x3 << 10)
  199. #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_OFFSET 10
  200. #define MXC_CCM_CSCMR1_PERCLK_PODF_MASK 0x3F
  201. /* Define the bits in register CSCMR2 */
  202. #define MXC_CCM_CSCMR2_ESAI_PRE_SEL_MASK (0x3 << 19)
  203. #define MXC_CCM_CSCMR2_ESAI_PRE_SEL_OFFSET 19
  204. #define MXC_CCM_CSCMR2_LDB_DI1_IPU_DIV (1 << 11)
  205. #define MXC_CCM_CSCMR2_LDB_DI0_IPU_DIV (1 << 10)
  206. #define MXC_CCM_CSCMR2_CAN_CLK_SEL_MASK (0x3F << 2)
  207. #define MXC_CCM_CSCMR2_CAN_CLK_SEL_OFFSET 2
  208. /* Define the bits in register CSCDR1 */
  209. #define MXC_CCM_CSCDR1_VPU_AXI_PODF_MASK (0x7 << 25)
  210. #define MXC_CCM_CSCDR1_VPU_AXI_PODF_OFFSET 25
  211. #define MXC_CCM_CSCDR1_USDHC4_PODF_MASK (0x7 << 22)
  212. #define MXC_CCM_CSCDR1_USDHC4_PODF_OFFSET 22
  213. #define MXC_CCM_CSCDR1_USDHC3_PODF_MASK (0x7 << 19)
  214. #define MXC_CCM_CSCDR1_USDHC3_PODF_OFFSET 19
  215. #define MXC_CCM_CSCDR1_USDHC2_PODF_MASK (0x7 << 16)
  216. #define MXC_CCM_CSCDR1_USDHC2_PODF_OFFSET 16
  217. #define MXC_CCM_CSCDR1_USDHC1_PODF_MASK (0x7 << 11)
  218. #define MXC_CCM_CSCDR1_USDHC1_PODF_OFFSET 11
  219. #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_OFFSET 8
  220. #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK (0x7 << 8)
  221. #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET 6
  222. #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK (0x3 << 6)
  223. #define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK 0x3F
  224. #define MXC_CCM_CSCDR1_UART_CLK_PODF_OFFSET 0
  225. /* Define the bits in register CS1CDR */
  226. #define MXC_CCM_CS1CDR_ESAI_CLK_PODF_MASK (0x3F << 25)
  227. #define MXC_CCM_CS1CDR_ESAI_CLK_PODF_OFFSET 25
  228. #define MXC_CCM_CS1CDR_SSI3_CLK_PODF_MASK (0x3F << 16)
  229. #define MXC_CCM_CS1CDR_SSI3_CLK_PODF_OFFSET 16
  230. #define MXC_CCM_CS1CDR_ESAI_CLK_PRED_MASK (0x3 << 9)
  231. #define MXC_CCM_CS1CDR_ESAI_CLK_PRED_OFFSET 9
  232. #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_MASK (0x7 << 6)
  233. #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_OFFSET 6
  234. #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_MASK 0x3F
  235. #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_OFFSET 0
  236. /* Define the bits in register CS2CDR */
  237. #define MXC_CCM_CS2CDR_ENFC_CLK_PODF_MASK (0x3F << 21)
  238. #define MXC_CCM_CS2CDR_ENFC_CLK_PODF_OFFSET 21
  239. #define MXC_CCM_CS2CDR_ENFC_CLK_PRED_MASK (0x7 << 18)
  240. #define MXC_CCM_CS2CDR_ENFC_CLK_PRED_OFFSET 18
  241. #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK (0x3 << 16)
  242. #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET 16
  243. #define MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_MASK (0x7 << 12)
  244. #define MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_OFFSET 12
  245. #define MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_MASK (0x7 << 9)
  246. #define MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET 9
  247. #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_MASK (0x7 << 6)
  248. #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_OFFSET 6
  249. #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_MASK 0x3F
  250. #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_OFFSET 0
  251. /* Define the bits in register CDCDR */
  252. #define MXC_CCM_CDCDR_HSI_TX_PODF_MASK (0x7 << 29)
  253. #define MXC_CCM_CDCDR_HSI_TX_PODF_OFFSET 29
  254. #define MXC_CCM_CDCDR_HSI_TX_CLK_SEL (1 << 28)
  255. #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_MASK (0x7 << 25)
  256. #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_OFFSET 25
  257. #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_MASK (0x7 << 19)
  258. #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_OFFSET 19
  259. #define MXC_CCM_CDCDR_SPDIF0_CLK_SEL_MASK (0x3 << 20)
  260. #define MXC_CCM_CDCDR_SPDIF0_CLK_SEL_OFFSET 20
  261. #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_MASK (0x7 << 12)
  262. #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_OFFSET 12
  263. #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_MASK (0x7 << 9)
  264. #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_OFFSET 9
  265. #define MXC_CCM_CDCDR_SPDIF1_CLK_SEL_MASK (0x3 << 7)
  266. #define MXC_CCM_CDCDR_SPDIF1_CLK_SEL_OFFSET 7
  267. /* Define the bits in register CHSCCDR */
  268. #define MXC_CCM_CHSCCDR_IPU1_DI1_PRE_CLK_SEL_MASK (0x7 << 15)
  269. #define MXC_CCM_CHSCCDR_IPU1_DI1_PRE_CLK_SEL_OFFSET 15
  270. #define MXC_CCM_CHSCCDR_IPU1_DI1_PODF_MASK (0x7 << 12)
  271. #define MXC_CCM_CHSCCDR_IPU1_DI1_PODF_OFFSET 12
  272. #define MXC_CCM_CHSCCDR_IPU1_DI1_CLK_SEL_MASK (0x7 << 9)
  273. #define MXC_CCM_CHSCCDR_IPU1_DI1_CLK_SEL_OFFSET 9
  274. #define MXC_CCM_CHSCCDR_IPU1_DI0_PRE_CLK_SEL_MASK (0x7 << 6)
  275. #define MXC_CCM_CHSCCDR_IPU1_DI0_PRE_CLK_SEL_OFFSET 6
  276. #define MXC_CCM_CHSCCDR_IPU1_DI0_PODF_MASK (0x7 << 3)
  277. #define MXC_CCM_CHSCCDR_IPU1_DI0_PODF_OFFSET 3
  278. #define MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_MASK (0x7)
  279. #define MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_OFFSET 0
  280. /* Define the bits in register CSCDR2 */
  281. #define MXC_CCM_CSCDR2_ECSPI_CLK_PODF_MASK (0x3F << 19)
  282. #define MXC_CCM_CSCDR2_ECSPI_CLK_PODF_OFFSET 19
  283. #define MXC_CCM_CHSCCDR_IPU2_DI1_PRE_CLK_SEL_MASK (0x7 << 15)
  284. #define MXC_CCM_CHSCCDR_IPU2_DI1_PRE_CLK_SEL_OFFSET 15
  285. #define MXC_CCM_CHSCCDR_IPU2_DI1_PODF_MASK (0x7 << 12)
  286. #define MXC_CCM_CHSCCDR_IPU2_DI1_PODF_OFFSET 12
  287. #define MXC_CCM_CHSCCDR_IPU2_DI1_CLK_SEL_MASK (0x7 << 9)
  288. #define MXC_CCM_CHSCCDR_IPU2_DI1_CLK_SEL_OFFSET 9
  289. #define MXC_CCM_CHSCCDR_IPU2_DI0_PRE_CLK_SEL_MASK (0x7 << 6)
  290. #define MXC_CCM_CHSCCDR_IPU2_DI0_PRE_CLK_SEL_OFFSET 6
  291. #define MXC_CCM_CHSCCDR_IPU2_DI0_PODF_MASK (0x7 << 3)
  292. #define MXC_CCM_CHSCCDR_IPU2_DI0_PODF_OFFSET 3
  293. #define MXC_CCM_CHSCCDR_IPU2_DI0_CLK_SEL_MASK 0x7
  294. #define MXC_CCM_CHSCCDR_IPU2_DI0_CLK_SEL_OFFSET 0
  295. /* Define the bits in register CSCDR3 */
  296. #define MXC_CCM_CSCDR3_IPU2_HSP_PODF_MASK (0x7 << 16)
  297. #define MXC_CCM_CSCDR3_IPU2_HSP_PODF_OFFSET 16
  298. #define MXC_CCM_CSCDR3_IPU2_HSP_CLK_SEL_MASK (0x3 << 14)
  299. #define MXC_CCM_CSCDR3_IPU2_HSP_CLK_SEL_OFFSET 14
  300. #define MXC_CCM_CSCDR3_IPU1_HSP_PODF_MASK (0x7 << 11)
  301. #define MXC_CCM_CSCDR3_IPU1_HSP_PODF_OFFSET 11
  302. #define MXC_CCM_CSCDR3_IPU1_HSP_CLK_SEL_MASK (0x3 << 9)
  303. #define MXC_CCM_CSCDR3_IPU1_HSP_CLK_SEL_OFFSET 9
  304. /* Define the bits in register CDHIPR */
  305. #define MXC_CCM_CDHIPR_ARM_PODF_BUSY (1 << 16)
  306. #define MXC_CCM_CDHIPR_PERIPH_CLK_SEL_BUSY (1 << 5)
  307. #define MXC_CCM_CDHIPR_MMDC_CH0_PODF_BUSY (1 << 4)
  308. #define MXC_CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY (1 << 3)
  309. #define MXC_CCM_CDHIPR_MMDC_CH1_PODF_BUSY (1 << 2)
  310. #define MXC_CCM_CDHIPR_AHB_PODF_BUSY (1 << 1)
  311. #define MXC_CCM_CDHIPR_AXI_PODF_BUSY 1
  312. /* Define the bits in register CLPCR */
  313. #define MXC_CCM_CLPCR_MASK_L2CC_IDLE (1 << 27)
  314. #define MXC_CCM_CLPCR_MASK_SCU_IDLE (1 << 26)
  315. #define MXC_CCM_CLPCR_MASK_CORE3_WFI (1 << 25)
  316. #define MXC_CCM_CLPCR_MASK_CORE2_WFI (1 << 24)
  317. #define MXC_CCM_CLPCR_MASK_CORE1_WFI (1 << 23)
  318. #define MXC_CCM_CLPCR_MASK_CORE0_WFI (1 << 22)
  319. #define MXC_CCM_CLPCR_BYP_MMDC_CH1_LPM_HS (1 << 21)
  320. #define MXC_CCM_CLPCR_BYP_MMDC_CH0_LPM_HS (1 << 19)
  321. #define MXC_CCM_CLPCR_WB_CORE_AT_LPM (1 << 17)
  322. #define MXC_CCM_CLPCR_WB_PER_AT_LPM (1 << 17)
  323. #define MXC_CCM_CLPCR_COSC_PWRDOWN (1 << 11)
  324. #define MXC_CCM_CLPCR_STBY_COUNT_MASK (0x3 << 9)
  325. #define MXC_CCM_CLPCR_STBY_COUNT_OFFSET 9
  326. #define MXC_CCM_CLPCR_VSTBY (1 << 8)
  327. #define MXC_CCM_CLPCR_DIS_REF_OSC (1 << 7)
  328. #define MXC_CCM_CLPCR_SBYOS (1 << 6)
  329. #define MXC_CCM_CLPCR_ARM_CLK_DIS_ON_LPM (1 << 5)
  330. #define MXC_CCM_CLPCR_LPSR_CLK_SEL_MASK (0x3 << 3)
  331. #define MXC_CCM_CLPCR_LPSR_CLK_SEL_OFFSET 3
  332. #define MXC_CCM_CLPCR_BYPASS_PMIC_VFUNC_READY (1 << 2)
  333. #define MXC_CCM_CLPCR_LPM_MASK 0x3
  334. #define MXC_CCM_CLPCR_LPM_OFFSET 0
  335. /* Define the bits in register CISR */
  336. #define MXC_CCM_CISR_ARM_PODF_LOADED (1 << 26)
  337. #define MXC_CCM_CISR_MMDC_CH0_PODF_LOADED (1 << 23)
  338. #define MXC_CCM_CISR_PERIPH_CLK_SEL_LOADED (1 << 22)
  339. #define MXC_CCM_CISR_MMDC_CH1_PODF_LOADED (1 << 21)
  340. #define MXC_CCM_CISR_AHB_PODF_LOADED (1 << 20)
  341. #define MXC_CCM_CISR_PERIPH2_CLK_SEL_LOADED (1 << 19)
  342. #define MXC_CCM_CISR_AXI_PODF_LOADED (1 << 17)
  343. #define MXC_CCM_CISR_COSC_READY (1 << 6)
  344. #define MXC_CCM_CISR_LRF_PLL 1
  345. /* Define the bits in register CIMR */
  346. #define MXC_CCM_CIMR_MASK_ARM_PODF_LOADED (1 << 26)
  347. #define MXC_CCM_CIMR_MASK_MMDC_CH0_PODF_LOADED (1 << 23)
  348. #define MXC_CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED (1 << 22)
  349. #define MXC_CCM_CIMR_MASK_MMDC_CH1_PODF_LOADED (1 << 21)
  350. #define MXC_CCM_CIMR_MASK_AHB_PODF_LOADED (1 << 20)
  351. #define MXC_CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED (1 << 22)
  352. #define MXC_CCM_CIMR_MASK_AXI_PODF_LOADED (1 << 17)
  353. #define MXC_CCM_CIMR_MASK_COSC_READY (1 << 6)
  354. #define MXC_CCM_CIMR_MASK_LRF_PLL 1
  355. /* Define the bits in register CCOSR */
  356. #define MXC_CCM_CCOSR_CKO2_EN_OFFSET (1 << 24)
  357. #define MXC_CCM_CCOSR_CKO2_DIV_MASK (0x7 << 21)
  358. #define MXC_CCM_CCOSR_CKO2_DIV_OFFSET 21
  359. #define MXC_CCM_CCOSR_CKO2_SEL_OFFSET 16
  360. #define MXC_CCM_CCOSR_CKO2_SEL_MASK (0x1F << 16)
  361. #define MXC_CCM_CCOSR_CKOL_EN (0x1 << 7)
  362. #define MXC_CCM_CCOSR_CKOL_DIV_MASK (0x7 << 4)
  363. #define MXC_CCM_CCOSR_CKOL_DIV_OFFSET 4
  364. #define MXC_CCM_CCOSR_CKOL_SEL_MASK 0xF
  365. #define MXC_CCM_CCOSR_CKOL_SEL_OFFSET 0
  366. /* Define the bits in registers CGPR */
  367. #define MXC_CCM_CGPR_EFUSE_PROG_SUPPLY_GATE (1 << 4)
  368. #define MXC_CCM_CGPR_MMDC_EXT_CLK_DIS (1 << 2)
  369. #define MXC_CCM_CGPR_PMIC_DELAY_SCALER 1
  370. /* Define the bits in registers CCGRx */
  371. #define MXC_CCM_CCGR_CG_MASK 3
  372. #define MXC_CCM_CCGR0_CG15_OFFSET 30
  373. #define MXC_CCM_CCGR0_CG15_MASK (0x3 << 30)
  374. #define MXC_CCM_CCGR0_CG14_OFFSET 28
  375. #define MXC_CCM_CCGR0_CG14_MASK (0x3 << 28)
  376. #define MXC_CCM_CCGR0_CG13_OFFSET 26
  377. #define MXC_CCM_CCGR0_CG13_MASK (0x3 << 26)
  378. #define MXC_CCM_CCGR0_CG12_OFFSET 24
  379. #define MXC_CCM_CCGR0_CG12_MASK (0x3 << 24)
  380. #define MXC_CCM_CCGR0_CG11_OFFSET 22
  381. #define MXC_CCM_CCGR0_CG11_MASK (0x3 << 22)
  382. #define MXC_CCM_CCGR0_CG10_OFFSET 20
  383. #define MXC_CCM_CCGR0_CG10_MASK (0x3 << 20)
  384. #define MXC_CCM_CCGR0_CG9_OFFSET 18
  385. #define MXC_CCM_CCGR0_CG9_MASK (0x3 << 18)
  386. #define MXC_CCM_CCGR0_CG8_OFFSET 16
  387. #define MXC_CCM_CCGR0_CG8_MASK (0x3 << 16)
  388. #define MXC_CCM_CCGR0_CG7_OFFSET 14
  389. #define MXC_CCM_CCGR0_CG6_OFFSET 12
  390. #define MXC_CCM_CCGR0_CG5_OFFSET 10
  391. #define MXC_CCM_CCGR0_CG5_MASK (0x3 << 10)
  392. #define MXC_CCM_CCGR0_CG4_OFFSET 8
  393. #define MXC_CCM_CCGR0_CG4_MASK (0x3 << 8)
  394. #define MXC_CCM_CCGR0_CG3_OFFSET 6
  395. #define MXC_CCM_CCGR0_CG3_MASK (0x3 << 6)
  396. #define MXC_CCM_CCGR0_CG2_OFFSET 4
  397. #define MXC_CCM_CCGR0_CG2_MASK (0x3 << 4)
  398. #define MXC_CCM_CCGR0_CG1_OFFSET 2
  399. #define MXC_CCM_CCGR0_CG1_MASK (0x3 << 2)
  400. #define MXC_CCM_CCGR0_CG0_OFFSET 0
  401. #define MXC_CCM_CCGR0_CG0_MASK 3
  402. #define MXC_CCM_CCGR1_CG15_OFFSET 30
  403. #define MXC_CCM_CCGR1_CG14_OFFSET 28
  404. #define MXC_CCM_CCGR1_CG13_OFFSET 26
  405. #define MXC_CCM_CCGR1_CG12_OFFSET 24
  406. #define MXC_CCM_CCGR1_CG11_OFFSET 22
  407. #define MXC_CCM_CCGR1_CG10_OFFSET 20
  408. #define MXC_CCM_CCGR1_CG9_OFFSET 18
  409. #define MXC_CCM_CCGR1_CG8_OFFSET 16
  410. #define MXC_CCM_CCGR1_CG7_OFFSET 14
  411. #define MXC_CCM_CCGR1_CG6_OFFSET 12
  412. #define MXC_CCM_CCGR1_CG5_OFFSET 10
  413. #define MXC_CCM_CCGR1_CG4_OFFSET 8
  414. #define MXC_CCM_CCGR1_CG3_OFFSET 6
  415. #define MXC_CCM_CCGR1_CG2_OFFSET 4
  416. #define MXC_CCM_CCGR1_CG1_OFFSET 2
  417. #define MXC_CCM_CCGR1_CG0_OFFSET 0
  418. #define MXC_CCM_CCGR2_CG15_OFFSET 30
  419. #define MXC_CCM_CCGR2_CG14_OFFSET 28
  420. #define MXC_CCM_CCGR2_CG13_OFFSET 26
  421. #define MXC_CCM_CCGR2_CG12_OFFSET 24
  422. #define MXC_CCM_CCGR2_CG11_OFFSET 22
  423. #define MXC_CCM_CCGR2_CG10_OFFSET 20
  424. #define MXC_CCM_CCGR2_CG9_OFFSET 18
  425. #define MXC_CCM_CCGR2_CG8_OFFSET 16
  426. #define MXC_CCM_CCGR2_CG7_OFFSET 14
  427. #define MXC_CCM_CCGR2_CG6_OFFSET 12
  428. #define MXC_CCM_CCGR2_CG5_OFFSET 10
  429. #define MXC_CCM_CCGR2_CG4_OFFSET 8
  430. #define MXC_CCM_CCGR2_CG3_OFFSET 6
  431. #define MXC_CCM_CCGR2_CG2_OFFSET 4
  432. #define MXC_CCM_CCGR2_CG1_OFFSET 2
  433. #define MXC_CCM_CCGR2_CG0_OFFSET 0
  434. #define MXC_CCM_CCGR3_CG15_OFFSET 30
  435. #define MXC_CCM_CCGR3_CG14_OFFSET 28
  436. #define MXC_CCM_CCGR3_CG13_OFFSET 26
  437. #define MXC_CCM_CCGR3_CG12_OFFSET 24
  438. #define MXC_CCM_CCGR3_CG11_OFFSET 22
  439. #define MXC_CCM_CCGR3_CG10_OFFSET 20
  440. #define MXC_CCM_CCGR3_CG9_OFFSET 18
  441. #define MXC_CCM_CCGR3_CG8_OFFSET 16
  442. #define MXC_CCM_CCGR3_CG7_OFFSET 14
  443. #define MXC_CCM_CCGR3_CG6_OFFSET 12
  444. #define MXC_CCM_CCGR3_CG5_OFFSET 10
  445. #define MXC_CCM_CCGR3_CG4_OFFSET 8
  446. #define MXC_CCM_CCGR3_CG3_OFFSET 6
  447. #define MXC_CCM_CCGR3_CG2_OFFSET 4
  448. #define MXC_CCM_CCGR3_CG1_OFFSET 2
  449. #define MXC_CCM_CCGR3_CG0_OFFSET 0
  450. #define MXC_CCM_CCGR4_CG15_OFFSET 30
  451. #define MXC_CCM_CCGR4_CG14_OFFSET 28
  452. #define MXC_CCM_CCGR4_CG13_OFFSET 26
  453. #define MXC_CCM_CCGR4_CG12_OFFSET 24
  454. #define MXC_CCM_CCGR4_CG11_OFFSET 22
  455. #define MXC_CCM_CCGR4_CG10_OFFSET 20
  456. #define MXC_CCM_CCGR4_CG9_OFFSET 18
  457. #define MXC_CCM_CCGR4_CG8_OFFSET 16
  458. #define MXC_CCM_CCGR4_CG7_OFFSET 14
  459. #define MXC_CCM_CCGR4_CG6_OFFSET 12
  460. #define MXC_CCM_CCGR4_CG5_OFFSET 10
  461. #define MXC_CCM_CCGR4_CG4_OFFSET 8
  462. #define MXC_CCM_CCGR4_CG3_OFFSET 6
  463. #define MXC_CCM_CCGR4_CG2_OFFSET 4
  464. #define MXC_CCM_CCGR4_CG1_OFFSET 2
  465. #define MXC_CCM_CCGR4_CG0_OFFSET 0
  466. #define MXC_CCM_CCGR5_CG15_OFFSET 30
  467. #define MXC_CCM_CCGR5_CG14_OFFSET 28
  468. #define MXC_CCM_CCGR5_CG14_MASK (0x3 << 28)
  469. #define MXC_CCM_CCGR5_CG13_OFFSET 26
  470. #define MXC_CCM_CCGR5_CG13_MASK (0x3 << 26)
  471. #define MXC_CCM_CCGR5_CG12_OFFSET 24
  472. #define MXC_CCM_CCGR5_CG12_MASK (0x3 << 24)
  473. #define MXC_CCM_CCGR5_CG11_OFFSET 22
  474. #define MXC_CCM_CCGR5_CG11_MASK (0x3 << 22)
  475. #define MXC_CCM_CCGR5_CG10_OFFSET 20
  476. #define MXC_CCM_CCGR5_CG10_MASK (0x3 << 20)
  477. #define MXC_CCM_CCGR5_CG9_OFFSET 18
  478. #define MXC_CCM_CCGR5_CG9_MASK (0x3 << 18)
  479. #define MXC_CCM_CCGR5_CG8_OFFSET 16
  480. #define MXC_CCM_CCGR5_CG8_MASK (0x3 << 16)
  481. #define MXC_CCM_CCGR5_CG7_OFFSET 14
  482. #define MXC_CCM_CCGR5_CG7_MASK (0x3 << 14)
  483. #define MXC_CCM_CCGR5_CG6_OFFSET 12
  484. #define MXC_CCM_CCGR5_CG6_MASK (0x3 << 12)
  485. #define MXC_CCM_CCGR5_CG5_OFFSET 10
  486. #define MXC_CCM_CCGR5_CG4_OFFSET 8
  487. #define MXC_CCM_CCGR5_CG3_OFFSET 6
  488. #define MXC_CCM_CCGR5_CG2_OFFSET 4
  489. #define MXC_CCM_CCGR5_CG2_MASK (0x3 << 4)
  490. #define MXC_CCM_CCGR5_CG1_OFFSET 2
  491. #define MXC_CCM_CCGR5_CG0_OFFSET 0
  492. #define MXC_CCM_CCGR6_CG15_OFFSET 30
  493. #define MXC_CCM_CCGR6_CG14_OFFSET 28
  494. #define MXC_CCM_CCGR6_CG14_MASK (0x3 << 28)
  495. #define MXC_CCM_CCGR6_CG13_OFFSET 26
  496. #define MXC_CCM_CCGR6_CG13_MASK (0x3 << 26)
  497. #define MXC_CCM_CCGR6_CG12_OFFSET 24
  498. #define MXC_CCM_CCGR6_CG12_MASK (0x3 << 24)
  499. #define MXC_CCM_CCGR6_CG11_OFFSET 22
  500. #define MXC_CCM_CCGR6_CG11_MASK (0x3 << 22)
  501. #define MXC_CCM_CCGR6_CG10_OFFSET 20
  502. #define MXC_CCM_CCGR6_CG10_MASK (0x3 << 20)
  503. #define MXC_CCM_CCGR6_CG9_OFFSET 18
  504. #define MXC_CCM_CCGR6_CG9_MASK (0x3 << 18)
  505. #define MXC_CCM_CCGR6_CG8_OFFSET 16
  506. #define MXC_CCM_CCGR6_CG8_MASK (0x3 << 16)
  507. #define MXC_CCM_CCGR6_CG7_OFFSET 14
  508. #define MXC_CCM_CCGR6_CG7_MASK (0x3 << 14)
  509. #define MXC_CCM_CCGR6_CG6_OFFSET 12
  510. #define MXC_CCM_CCGR6_CG6_MASK (0x3 << 12)
  511. #define MXC_CCM_CCGR6_CG5_OFFSET 10
  512. #define MXC_CCM_CCGR6_CG4_OFFSET 8
  513. #define MXC_CCM_CCGR6_CG3_OFFSET 6
  514. #define MXC_CCM_CCGR6_CG2_OFFSET 4
  515. #define MXC_CCM_CCGR6_CG2_MASK (0x3 << 4)
  516. #define MXC_CCM_CCGR6_CG1_OFFSET 2
  517. #define MXC_CCM_CCGR6_CG0_OFFSET 0
  518. #define MXC_CCM_CCGR7_CG15_OFFSET 30
  519. #define MXC_CCM_CCGR7_CG14_OFFSET 28
  520. #define MXC_CCM_CCGR7_CG14_MASK (0x3 << 28)
  521. #define MXC_CCM_CCGR7_CG13_OFFSET 26
  522. #define MXC_CCM_CCGR7_CG13_MASK (0x3 << 26)
  523. #define MXC_CCM_CCGR7_CG12_OFFSET 24
  524. #define MXC_CCM_CCGR7_CG12_MASK (0x3 << 24)
  525. #define MXC_CCM_CCGR7_CG11_OFFSET 22
  526. #define MXC_CCM_CCGR7_CG11_MASK (0x3 << 22)
  527. #define MXC_CCM_CCGR7_CG10_OFFSET 20
  528. #define MXC_CCM_CCGR7_CG10_MASK (0x3 << 20)
  529. #define MXC_CCM_CCGR7_CG9_OFFSET 18
  530. #define MXC_CCM_CCGR7_CG9_MASK (0x3 << 18)
  531. #define MXC_CCM_CCGR7_CG8_OFFSET 16
  532. #define MXC_CCM_CCGR7_CG8_MASK (0x3 << 16)
  533. #define MXC_CCM_CCGR7_CG7_OFFSET 14
  534. #define MXC_CCM_CCGR7_CG7_MASK (0x3 << 14)
  535. #define MXC_CCM_CCGR7_CG6_OFFSET 12
  536. #define MXC_CCM_CCGR7_CG6_MASK (0x3 << 12)
  537. #define MXC_CCM_CCGR7_CG5_OFFSET 10
  538. #define MXC_CCM_CCGR7_CG4_OFFSET 8
  539. #define MXC_CCM_CCGR7_CG3_OFFSET 6
  540. #define MXC_CCM_CCGR7_CG2_OFFSET 4
  541. #define MXC_CCM_CCGR7_CG2_MASK (0x3 << 4)
  542. #define MXC_CCM_CCGR7_CG1_OFFSET 2
  543. #define MXC_CCM_CCGR7_CG0_OFFSET 0
  544. #define BM_ANADIG_PLL_SYS_LOCK 0x80000000
  545. #define BP_ANADIG_PLL_SYS_RSVD0 20
  546. #define BM_ANADIG_PLL_SYS_RSVD0 0x7FF00000
  547. #define BF_ANADIG_PLL_SYS_RSVD0(v) \
  548. (((v) << 20) & BM_ANADIG_PLL_SYS_RSVD0)
  549. #define BM_ANADIG_PLL_SYS_PLL_SEL 0x00080000
  550. #define BM_ANADIG_PLL_SYS_LVDS_24MHZ_SEL 0x00040000
  551. #define BM_ANADIG_PLL_SYS_LVDS_SEL 0x00020000
  552. #define BM_ANADIG_PLL_SYS_BYPASS 0x00010000
  553. #define BP_ANADIG_PLL_SYS_BYPASS_CLK_SRC 14
  554. #define BM_ANADIG_PLL_SYS_BYPASS_CLK_SRC 0x0000C000
  555. #define BF_ANADIG_PLL_SYS_BYPASS_CLK_SRC(v) \
  556. (((v) << 14) & BM_ANADIG_PLL_SYS_BYPASS_CLK_SRC)
  557. #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__OSC_24M 0x0
  558. #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__ANACLK_1 0x1
  559. #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__ANACLK_2 0x2
  560. #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__XOR 0x3
  561. #define BM_ANADIG_PLL_SYS_ENABLE 0x00002000
  562. #define BM_ANADIG_PLL_SYS_POWERDOWN 0x00001000
  563. #define BM_ANADIG_PLL_SYS_HOLD_RING_OFF 0x00000800
  564. #define BM_ANADIG_PLL_SYS_DOUBLE_CP 0x00000400
  565. #define BM_ANADIG_PLL_SYS_HALF_CP 0x00000200
  566. #define BM_ANADIG_PLL_SYS_DOUBLE_LF 0x00000100
  567. #define BM_ANADIG_PLL_SYS_HALF_LF 0x00000080
  568. #define BP_ANADIG_PLL_SYS_DIV_SELECT 0
  569. #define BM_ANADIG_PLL_SYS_DIV_SELECT 0x0000007F
  570. #define BF_ANADIG_PLL_SYS_DIV_SELECT(v) \
  571. (((v) << 0) & BM_ANADIG_PLL_SYS_DIV_SELECT)
  572. #define BM_ANADIG_USB1_PLL_480_CTRL_LOCK 0x80000000
  573. #define BP_ANADIG_USB1_PLL_480_CTRL_RSVD1 17
  574. #define BM_ANADIG_USB1_PLL_480_CTRL_RSVD1 0x7FFE0000
  575. #define BF_ANADIG_USB1_PLL_480_CTRL_RSVD1(v) \
  576. (((v) << 17) & BM_ANADIG_USB1_PLL_480_CTRL_RSVD1)
  577. #define BM_ANADIG_USB1_PLL_480_CTRL_BYPASS 0x00010000
  578. #define BP_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC 14
  579. #define BM_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC 0x0000C000
  580. #define BF_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC(v) \
  581. (((v) << 14) & BM_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC)
  582. #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__OSC_24M 0x0
  583. #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__ANACLK_1 0x1
  584. #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__ANACLK_2 0x2
  585. #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__XOR 0x3
  586. #define BM_ANADIG_USB1_PLL_480_CTRL_ENABLE 0x00002000
  587. #define BM_ANADIG_USB1_PLL_480_CTRL_POWER 0x00001000
  588. #define BM_ANADIG_USB1_PLL_480_CTRL_HOLD_RING_OFF 0x00000800
  589. #define BM_ANADIG_USB1_PLL_480_CTRL_DOUBLE_CP 0x00000400
  590. #define BM_ANADIG_USB1_PLL_480_CTRL_HALF_CP 0x00000200
  591. #define BM_ANADIG_USB1_PLL_480_CTRL_DOUBLE_LF 0x00000100
  592. #define BM_ANADIG_USB1_PLL_480_CTRL_HALF_LF 0x00000080
  593. #define BM_ANADIG_USB1_PLL_480_CTRL_EN_USB_CLKS 0x00000040
  594. #define BM_ANADIG_USB1_PLL_480_CTRL_RSVD0 0x00000020
  595. #define BP_ANADIG_USB1_PLL_480_CTRL_CONTROL0 2
  596. #define BM_ANADIG_USB1_PLL_480_CTRL_CONTROL0 0x0000001C
  597. #define BF_ANADIG_USB1_PLL_480_CTRL_CONTROL0(v) \
  598. (((v) << 2) & BM_ANADIG_USB1_PLL_480_CTRL_CONTROL0)
  599. #define BP_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT 0
  600. #define BM_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT 0x00000003
  601. #define BF_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT(v) \
  602. (((v) << 0) & BM_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT)
  603. #define BM_ANADIG_PLL_528_LOCK 0x80000000
  604. #define BP_ANADIG_PLL_528_RSVD1 19
  605. #define BM_ANADIG_PLL_528_RSVD1 0x7FF80000
  606. #define BF_ANADIG_PLL_528_RSVD1(v) \
  607. (((v) << 19) & BM_ANADIG_PLL_528_RSVD1)
  608. #define BM_ANADIG_PLL_528_PFD_OFFSET_EN 0x00040000
  609. #define BM_ANADIG_PLL_528_DITHER_ENABLE 0x00020000
  610. #define BM_ANADIG_PLL_528_BYPASS 0x00010000
  611. #define BP_ANADIG_PLL_528_BYPASS_CLK_SRC 14
  612. #define BM_ANADIG_PLL_528_BYPASS_CLK_SRC 0x0000C000
  613. #define BF_ANADIG_PLL_528_BYPASS_CLK_SRC(v) \
  614. (((v) << 14) & BM_ANADIG_PLL_528_BYPASS_CLK_SRC)
  615. #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__OSC_24M 0x0
  616. #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__ANACLK_1 0x1
  617. #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__ANACLK_2 0x2
  618. #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__XOR 0x3
  619. #define BM_ANADIG_PLL_528_ENABLE 0x00002000
  620. #define BM_ANADIG_PLL_528_POWERDOWN 0x00001000
  621. #define BM_ANADIG_PLL_528_HOLD_RING_OFF 0x00000800
  622. #define BM_ANADIG_PLL_528_DOUBLE_CP 0x00000400
  623. #define BM_ANADIG_PLL_528_HALF_CP 0x00000200
  624. #define BM_ANADIG_PLL_528_DOUBLE_LF 0x00000100
  625. #define BM_ANADIG_PLL_528_HALF_LF 0x00000080
  626. #define BP_ANADIG_PLL_528_RSVD0 1
  627. #define BM_ANADIG_PLL_528_RSVD0 0x0000007E
  628. #define BF_ANADIG_PLL_528_RSVD0(v) \
  629. (((v) << 1) & BM_ANADIG_PLL_528_RSVD0)
  630. #define BM_ANADIG_PLL_528_DIV_SELECT 0x00000001
  631. #define BP_ANADIG_PLL_528_SS_STOP 16
  632. #define BM_ANADIG_PLL_528_SS_STOP 0xFFFF0000
  633. #define BF_ANADIG_PLL_528_SS_STOP(v) \
  634. (((v) << 16) & BM_ANADIG_PLL_528_SS_STOP)
  635. #define BM_ANADIG_PLL_528_SS_ENABLE 0x00008000
  636. #define BP_ANADIG_PLL_528_SS_STEP 0
  637. #define BM_ANADIG_PLL_528_SS_STEP 0x00007FFF
  638. #define BF_ANADIG_PLL_528_SS_STEP(v) \
  639. (((v) << 0) & BM_ANADIG_PLL_528_SS_STEP)
  640. #define BP_ANADIG_PLL_528_NUM_RSVD0 30
  641. #define BM_ANADIG_PLL_528_NUM_RSVD0 0xC0000000
  642. #define BF_ANADIG_PLL_528_NUM_RSVD0(v) \
  643. (((v) << 30) & BM_ANADIG_PLL_528_NUM_RSVD0)
  644. #define BP_ANADIG_PLL_528_NUM_A 0
  645. #define BM_ANADIG_PLL_528_NUM_A 0x3FFFFFFF
  646. #define BF_ANADIG_PLL_528_NUM_A(v) \
  647. (((v) << 0) & BM_ANADIG_PLL_528_NUM_A)
  648. #define BP_ANADIG_PLL_528_DENOM_RSVD0 30
  649. #define BM_ANADIG_PLL_528_DENOM_RSVD0 0xC0000000
  650. #define BF_ANADIG_PLL_528_DENOM_RSVD0(v) \
  651. (((v) << 30) & BM_ANADIG_PLL_528_DENOM_RSVD0)
  652. #define BP_ANADIG_PLL_528_DENOM_B 0
  653. #define BM_ANADIG_PLL_528_DENOM_B 0x3FFFFFFF
  654. #define BF_ANADIG_PLL_528_DENOM_B(v) \
  655. (((v) << 0) & BM_ANADIG_PLL_528_DENOM_B)
  656. #define BM_ANADIG_PLL_AUDIO_LOCK 0x80000000
  657. #define BP_ANADIG_PLL_AUDIO_RSVD0 22
  658. #define BM_ANADIG_PLL_AUDIO_RSVD0 0x7FC00000
  659. #define BF_ANADIG_PLL_AUDIO_RSVD0(v) \
  660. (((v) << 22) & BM_ANADIG_PLL_AUDIO_RSVD0)
  661. #define BM_ANADIG_PLL_AUDIO_SSC_EN 0x00200000
  662. #define BP_ANADIG_PLL_AUDIO_TEST_DIV_SELECT 19
  663. #define BM_ANADIG_PLL_AUDIO_TEST_DIV_SELECT 0x00180000
  664. #define BF_ANADIG_PLL_AUDIO_TEST_DIV_SELECT(v) \
  665. (((v) << 19) & BM_ANADIG_PLL_AUDIO_TEST_DIV_SELECT)
  666. #define BM_ANADIG_PLL_AUDIO_PFD_OFFSET_EN 0x00040000
  667. #define BM_ANADIG_PLL_AUDIO_DITHER_ENABLE 0x00020000
  668. #define BM_ANADIG_PLL_AUDIO_BYPASS 0x00010000
  669. #define BP_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC 14
  670. #define BM_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC 0x0000C000
  671. #define BF_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC(v) \
  672. (((v) << 14) & BM_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC)
  673. #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__OSC_24M 0x0
  674. #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__ANACLK_1 0x1
  675. #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__ANACLK_2 0x2
  676. #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__XOR 0x3
  677. #define BM_ANADIG_PLL_AUDIO_ENABLE 0x00002000
  678. #define BM_ANADIG_PLL_AUDIO_POWERDOWN 0x00001000
  679. #define BM_ANADIG_PLL_AUDIO_HOLD_RING_OFF 0x00000800
  680. #define BM_ANADIG_PLL_AUDIO_DOUBLE_CP 0x00000400
  681. #define BM_ANADIG_PLL_AUDIO_HALF_CP 0x00000200
  682. #define BM_ANADIG_PLL_AUDIO_DOUBLE_LF 0x00000100
  683. #define BM_ANADIG_PLL_AUDIO_HALF_LF 0x00000080
  684. #define BP_ANADIG_PLL_AUDIO_DIV_SELECT 0
  685. #define BM_ANADIG_PLL_AUDIO_DIV_SELECT 0x0000007F
  686. #define BF_ANADIG_PLL_AUDIO_DIV_SELECT(v) \
  687. (((v) << 0) & BM_ANADIG_PLL_AUDIO_DIV_SELECT)
  688. #define BP_ANADIG_PLL_AUDIO_NUM_RSVD0 30
  689. #define BM_ANADIG_PLL_AUDIO_NUM_RSVD0 0xC0000000
  690. #define BF_ANADIG_PLL_AUDIO_NUM_RSVD0(v) \
  691. (((v) << 30) & BM_ANADIG_PLL_AUDIO_NUM_RSVD0)
  692. #define BP_ANADIG_PLL_AUDIO_NUM_A 0
  693. #define BM_ANADIG_PLL_AUDIO_NUM_A 0x3FFFFFFF
  694. #define BF_ANADIG_PLL_AUDIO_NUM_A(v) \
  695. (((v) << 0) & BM_ANADIG_PLL_AUDIO_NUM_A)
  696. #define BP_ANADIG_PLL_AUDIO_DENOM_RSVD0 30
  697. #define BM_ANADIG_PLL_AUDIO_DENOM_RSVD0 0xC0000000
  698. #define BF_ANADIG_PLL_AUDIO_DENOM_RSVD0(v) \
  699. (((v) << 30) & BM_ANADIG_PLL_AUDIO_DENOM_RSVD0)
  700. #define BP_ANADIG_PLL_AUDIO_DENOM_B 0
  701. #define BM_ANADIG_PLL_AUDIO_DENOM_B 0x3FFFFFFF
  702. #define BF_ANADIG_PLL_AUDIO_DENOM_B(v) \
  703. (((v) << 0) & BM_ANADIG_PLL_AUDIO_DENOM_B)
  704. #define BM_ANADIG_PLL_VIDEO_LOCK 0x80000000
  705. #define BP_ANADIG_PLL_VIDEO_RSVD0 22
  706. #define BM_ANADIG_PLL_VIDEO_RSVD0 0x7FC00000
  707. #define BF_ANADIG_PLL_VIDEO_RSVD0(v) \
  708. (((v) << 22) & BM_ANADIG_PLL_VIDEO_RSVD0)
  709. #define BM_ANADIG_PLL_VIDEO_SSC_EN 0x00200000
  710. #define BP_ANADIG_PLL_VIDEO_TEST_DIV_SELECT 19
  711. #define BM_ANADIG_PLL_VIDEO_TEST_DIV_SELECT 0x00180000
  712. #define BF_ANADIG_PLL_VIDEO_TEST_DIV_SELECT(v) \
  713. (((v) << 19) & BM_ANADIG_PLL_VIDEO_TEST_DIV_SELECT)
  714. #define BM_ANADIG_PLL_VIDEO_PFD_OFFSET_EN 0x00040000
  715. #define BM_ANADIG_PLL_VIDEO_DITHER_ENABLE 0x00020000
  716. #define BM_ANADIG_PLL_VIDEO_BYPASS 0x00010000
  717. #define BP_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC 14
  718. #define BM_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC 0x0000C000
  719. #define BF_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC(v) \
  720. (((v) << 14) & BM_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC)
  721. #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__OSC_24M 0x0
  722. #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__ANACLK_1 0x1
  723. #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__ANACLK_2 0x2
  724. #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__XOR 0x3
  725. #define BM_ANADIG_PLL_VIDEO_ENABLE 0x00002000
  726. #define BM_ANADIG_PLL_VIDEO_POWERDOWN 0x00001000
  727. #define BM_ANADIG_PLL_VIDEO_HOLD_RING_OFF 0x00000800
  728. #define BM_ANADIG_PLL_VIDEO_DOUBLE_CP 0x00000400
  729. #define BM_ANADIG_PLL_VIDEO_HALF_CP 0x00000200
  730. #define BM_ANADIG_PLL_VIDEO_DOUBLE_LF 0x00000100
  731. #define BM_ANADIG_PLL_VIDEO_HALF_LF 0x00000080
  732. #define BP_ANADIG_PLL_VIDEO_DIV_SELECT 0
  733. #define BM_ANADIG_PLL_VIDEO_DIV_SELECT 0x0000007F
  734. #define BF_ANADIG_PLL_VIDEO_DIV_SELECT(v) \
  735. (((v) << 0) & BM_ANADIG_PLL_VIDEO_DIV_SELECT)
  736. #define BP_ANADIG_PLL_VIDEO_NUM_RSVD0 30
  737. #define BM_ANADIG_PLL_VIDEO_NUM_RSVD0 0xC0000000
  738. #define BF_ANADIG_PLL_VIDEO_NUM_RSVD0(v) \
  739. (((v) << 30) & BM_ANADIG_PLL_VIDEO_NUM_RSVD0)
  740. #define BP_ANADIG_PLL_VIDEO_NUM_A 0
  741. #define BM_ANADIG_PLL_VIDEO_NUM_A 0x3FFFFFFF
  742. #define BF_ANADIG_PLL_VIDEO_NUM_A(v) \
  743. (((v) << 0) & BM_ANADIG_PLL_VIDEO_NUM_A)
  744. #define BP_ANADIG_PLL_VIDEO_DENOM_RSVD0 30
  745. #define BM_ANADIG_PLL_VIDEO_DENOM_RSVD0 0xC0000000
  746. #define BF_ANADIG_PLL_VIDEO_DENOM_RSVD0(v) \
  747. (((v) << 30) & BM_ANADIG_PLL_VIDEO_DENOM_RSVD0)
  748. #define BP_ANADIG_PLL_VIDEO_DENOM_B 0
  749. #define BM_ANADIG_PLL_VIDEO_DENOM_B 0x3FFFFFFF
  750. #define BF_ANADIG_PLL_VIDEO_DENOM_B(v) \
  751. (((v) << 0) & BM_ANADIG_PLL_VIDEO_DENOM_B)
  752. #define BM_ANADIG_PLL_ENET_LOCK 0x80000000
  753. #define BP_ANADIG_PLL_ENET_RSVD1 21
  754. #define BM_ANADIG_PLL_ENET_RSVD1 0x7FE00000
  755. #define BF_ANADIG_PLL_ENET_RSVD1(v) \
  756. (((v) << 21) & BM_ANADIG_PLL_ENET_RSVD1)
  757. #define BM_ANADIG_PLL_ENET_ENABLE_SATA 0x00100000
  758. #define BM_ANADIG_PLL_ENET_ENABLE_PCIE 0x00080000
  759. #define BM_ANADIG_PLL_ENET_PFD_OFFSET_EN 0x00040000
  760. #define BM_ANADIG_PLL_ENET_DITHER_ENABLE 0x00020000
  761. #define BM_ANADIG_PLL_ENET_BYPASS 0x00010000
  762. #define BP_ANADIG_PLL_ENET_BYPASS_CLK_SRC 14
  763. #define BM_ANADIG_PLL_ENET_BYPASS_CLK_SRC 0x0000C000
  764. #define BF_ANADIG_PLL_ENET_BYPASS_CLK_SRC(v) \
  765. (((v) << 14) & BM_ANADIG_PLL_ENET_BYPASS_CLK_SRC)
  766. #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__OSC_24M 0x0
  767. #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__ANACLK_1 0x1
  768. #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__ANACLK_2 0x2
  769. #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__XOR 0x3
  770. #define BM_ANADIG_PLL_ENET_ENABLE 0x00002000
  771. #define BM_ANADIG_PLL_ENET_POWERDOWN 0x00001000
  772. #define BM_ANADIG_PLL_ENET_HOLD_RING_OFF 0x00000800
  773. #define BM_ANADIG_PLL_ENET_DOUBLE_CP 0x00000400
  774. #define BM_ANADIG_PLL_ENET_HALF_CP 0x00000200
  775. #define BM_ANADIG_PLL_ENET_DOUBLE_LF 0x00000100
  776. #define BM_ANADIG_PLL_ENET_HALF_LF 0x00000080
  777. #define BP_ANADIG_PLL_ENET_RSVD0 2
  778. #define BM_ANADIG_PLL_ENET_RSVD0 0x0000007C
  779. #define BF_ANADIG_PLL_ENET_RSVD0(v) \
  780. (((v) << 2) & BM_ANADIG_PLL_ENET_RSVD0)
  781. #define BP_ANADIG_PLL_ENET_DIV_SELECT 0
  782. #define BM_ANADIG_PLL_ENET_DIV_SELECT 0x00000003
  783. #define BF_ANADIG_PLL_ENET_DIV_SELECT(v) \
  784. (((v) << 0) & BM_ANADIG_PLL_ENET_DIV_SELECT)
  785. #define BM_ANADIG_PFD_480_PFD3_CLKGATE 0x80000000
  786. #define BM_ANADIG_PFD_480_PFD3_STABLE 0x40000000
  787. #define BP_ANADIG_PFD_480_PFD3_FRAC 24
  788. #define BM_ANADIG_PFD_480_PFD3_FRAC 0x3F000000
  789. #define BF_ANADIG_PFD_480_PFD3_FRAC(v) \
  790. (((v) << 24) & BM_ANADIG_PFD_480_PFD3_FRAC)
  791. #define BM_ANADIG_PFD_480_PFD2_CLKGATE 0x00800000
  792. #define BM_ANADIG_PFD_480_PFD2_STABLE 0x00400000
  793. #define BP_ANADIG_PFD_480_PFD2_FRAC 16
  794. #define BM_ANADIG_PFD_480_PFD2_FRAC 0x003F0000
  795. #define BF_ANADIG_PFD_480_PFD2_FRAC(v) \
  796. (((v) << 16) & BM_ANADIG_PFD_480_PFD2_FRAC)
  797. #define BM_ANADIG_PFD_480_PFD1_CLKGATE 0x00008000
  798. #define BM_ANADIG_PFD_480_PFD1_STABLE 0x00004000
  799. #define BP_ANADIG_PFD_480_PFD1_FRAC 8
  800. #define BM_ANADIG_PFD_480_PFD1_FRAC 0x00003F00
  801. #define BF_ANADIG_PFD_480_PFD1_FRAC(v) \
  802. (((v) << 8) & BM_ANADIG_PFD_480_PFD1_FRAC)
  803. #define BM_ANADIG_PFD_480_PFD0_CLKGATE 0x00000080
  804. #define BM_ANADIG_PFD_480_PFD0_STABLE 0x00000040
  805. #define BP_ANADIG_PFD_480_PFD0_FRAC 0
  806. #define BM_ANADIG_PFD_480_PFD0_FRAC 0x0000003F
  807. #define BF_ANADIG_PFD_480_PFD0_FRAC(v) \
  808. (((v) << 0) & BM_ANADIG_PFD_480_PFD0_FRAC)
  809. #define BM_ANADIG_PFD_528_PFD3_CLKGATE 0x80000000
  810. #define BM_ANADIG_PFD_528_PFD3_STABLE 0x40000000
  811. #define BP_ANADIG_PFD_528_PFD3_FRAC 24
  812. #define BM_ANADIG_PFD_528_PFD3_FRAC 0x3F000000
  813. #define BF_ANADIG_PFD_528_PFD3_FRAC(v) \
  814. (((v) << 24) & BM_ANADIG_PFD_528_PFD3_FRAC)
  815. #define BM_ANADIG_PFD_528_PFD2_CLKGATE 0x00800000
  816. #define BM_ANADIG_PFD_528_PFD2_STABLE 0x00400000
  817. #define BP_ANADIG_PFD_528_PFD2_FRAC 16
  818. #define BM_ANADIG_PFD_528_PFD2_FRAC 0x003F0000
  819. #define BF_ANADIG_PFD_528_PFD2_FRAC(v) \
  820. (((v) << 16) & BM_ANADIG_PFD_528_PFD2_FRAC)
  821. #define BM_ANADIG_PFD_528_PFD1_CLKGATE 0x00008000
  822. #define BM_ANADIG_PFD_528_PFD1_STABLE 0x00004000
  823. #define BP_ANADIG_PFD_528_PFD1_FRAC 8
  824. #define BM_ANADIG_PFD_528_PFD1_FRAC 0x00003F00
  825. #define BF_ANADIG_PFD_528_PFD1_FRAC(v) \
  826. (((v) << 8) & BM_ANADIG_PFD_528_PFD1_FRAC)
  827. #define BM_ANADIG_PFD_528_PFD0_CLKGATE 0x00000080
  828. #define BM_ANADIG_PFD_528_PFD0_STABLE 0x00000040
  829. #define BP_ANADIG_PFD_528_PFD0_FRAC 0
  830. #define BM_ANADIG_PFD_528_PFD0_FRAC 0x0000003F
  831. #define BF_ANADIG_PFD_528_PFD0_FRAC(v) \
  832. (((v) << 0) & BM_ANADIG_PFD_528_PFD0_FRAC)
  833. #define PLL2_PFD0_FREQ 352000000
  834. #define PLL2_PFD1_FREQ 594000000
  835. #define PLL2_PFD2_FREQ 400000000
  836. #define PLL2_PFD2_DIV_FREQ 200000000
  837. #define PLL3_PFD0_FREQ 720000000
  838. #define PLL3_PFD1_FREQ 540000000
  839. #define PLL3_PFD2_FREQ 508200000
  840. #define PLL3_PFD3_FREQ 454700000
  841. #define PLL3_80M 80000000
  842. #define PLL3_60M 60000000
  843. #endif /*__ARCH_ARM_MACH_MX6_CCM_REGS_H__ */