rk3288-cru.h 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. /*
  2. * Copyright (c) 2014 MundoReader S.L.
  3. * Author: Heiko Stuebner <heiko@sntech.de>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. */
  15. /* core clocks */
  16. #define PLL_APLL 1
  17. #define PLL_DPLL 2
  18. #define PLL_CPLL 3
  19. #define PLL_GPLL 4
  20. #define PLL_NPLL 5
  21. /* sclk gates (special clocks) */
  22. #define SCLK_GPU 64
  23. #define SCLK_SPI0 65
  24. #define SCLK_SPI1 66
  25. #define SCLK_SPI2 67
  26. #define SCLK_SDMMC 68
  27. #define SCLK_SDIO0 69
  28. #define SCLK_SDIO1 70
  29. #define SCLK_EMMC 71
  30. #define SCLK_TSADC 72
  31. #define SCLK_SARADC 73
  32. #define SCLK_PS2C 74
  33. #define SCLK_NANDC0 75
  34. #define SCLK_NANDC1 76
  35. #define SCLK_UART0 77
  36. #define SCLK_UART1 78
  37. #define SCLK_UART2 79
  38. #define SCLK_UART3 80
  39. #define SCLK_UART4 81
  40. #define SCLK_I2S0 82
  41. #define SCLK_SPDIF 83
  42. #define SCLK_SPDIF8CH 84
  43. #define SCLK_TIMER0 85
  44. #define SCLK_TIMER1 86
  45. #define SCLK_TIMER2 87
  46. #define SCLK_TIMER3 88
  47. #define SCLK_TIMER4 89
  48. #define SCLK_TIMER5 90
  49. #define SCLK_TIMER6 91
  50. #define SCLK_HSADC 92
  51. #define SCLK_OTGPHY0 93
  52. #define SCLK_OTGPHY1 94
  53. #define SCLK_OTGPHY2 95
  54. #define SCLK_OTG_ADP 96
  55. #define SCLK_HSICPHY480M 97
  56. #define SCLK_HSICPHY12M 98
  57. #define SCLK_MACREF 99
  58. #define SCLK_LCDC_PWM0 100
  59. #define SCLK_LCDC_PWM1 101
  60. #define SCLK_MAC_RX 102
  61. #define SCLK_MAC_TX 103
  62. #define DCLK_VOP0 190
  63. #define DCLK_VOP1 191
  64. /* aclk gates */
  65. #define ACLK_GPU 192
  66. #define ACLK_DMAC1 193
  67. #define ACLK_DMAC2 194
  68. #define ACLK_MMU 195
  69. #define ACLK_GMAC 196
  70. #define ACLK_VOP0 197
  71. #define ACLK_VOP1 198
  72. #define ACLK_CRYPTO 199
  73. #define ACLK_RGA 200
  74. /* pclk gates */
  75. #define PCLK_GPIO0 320
  76. #define PCLK_GPIO1 321
  77. #define PCLK_GPIO2 322
  78. #define PCLK_GPIO3 323
  79. #define PCLK_GPIO4 324
  80. #define PCLK_GPIO5 325
  81. #define PCLK_GPIO6 326
  82. #define PCLK_GPIO7 327
  83. #define PCLK_GPIO8 328
  84. #define PCLK_GRF 329
  85. #define PCLK_SGRF 330
  86. #define PCLK_PMU 331
  87. #define PCLK_I2C0 332
  88. #define PCLK_I2C1 333
  89. #define PCLK_I2C2 334
  90. #define PCLK_I2C3 335
  91. #define PCLK_I2C4 336
  92. #define PCLK_I2C5 337
  93. #define PCLK_SPI0 338
  94. #define PCLK_SPI1 339
  95. #define PCLK_SPI2 340
  96. #define PCLK_UART0 341
  97. #define PCLK_UART1 342
  98. #define PCLK_UART2 343
  99. #define PCLK_UART3 344
  100. #define PCLK_UART4 345
  101. #define PCLK_TSADC 346
  102. #define PCLK_SARADC 347
  103. #define PCLK_SIM 348
  104. #define PCLK_GMAC 349
  105. #define PCLK_PWM 350
  106. #define PCLK_RKPWM 351
  107. #define PCLK_PS2C 352
  108. #define PCLK_TIMER 353
  109. #define PCLK_TZPC 354
  110. /* hclk gates */
  111. #define HCLK_GPS 448
  112. #define HCLK_OTG0 449
  113. #define HCLK_USBHOST0 450
  114. #define HCLK_USBHOST1 451
  115. #define HCLK_HSIC 452
  116. #define HCLK_NANDC0 453
  117. #define HCLK_NANDC1 454
  118. #define HCLK_TSP 455
  119. #define HCLK_SDMMC 456
  120. #define HCLK_SDIO0 457
  121. #define HCLK_SDIO1 458
  122. #define HCLK_EMMC 459
  123. #define HCLK_HSADC 460
  124. #define HCLK_CRYPTO 461
  125. #define HCLK_I2S0 462
  126. #define HCLK_SPDIF 463
  127. #define HCLK_SPDIF8CH 464
  128. #define HCLK_VOP0 465
  129. #define HCLK_VOP1 466
  130. #define HCLK_ROM 467
  131. #define HCLK_IEP 468
  132. #define HCLK_ISP 469
  133. #define HCLK_RGA 470
  134. #define CLK_NR_CLKS (HCLK_RGA + 1)
  135. /* soft-reset indices */
  136. #define SRST_CORE0 0
  137. #define SRST_CORE1 1
  138. #define SRST_CORE2 2
  139. #define SRST_CORE3 3
  140. #define SRST_CORE0_PO 4
  141. #define SRST_CORE1_PO 5
  142. #define SRST_CORE2_PO 6
  143. #define SRST_CORE3_PO 7
  144. #define SRST_PDCORE_STRSYS 8
  145. #define SRST_PDBUS_STRSYS 9
  146. #define SRST_L2C 10
  147. #define SRST_TOPDBG 11
  148. #define SRST_CORE0_DBG 12
  149. #define SRST_CORE1_DBG 13
  150. #define SRST_CORE2_DBG 14
  151. #define SRST_CORE3_DBG 15
  152. #define SRST_PDBUG_AHB_ARBITOR 16
  153. #define SRST_EFUSE256 17
  154. #define SRST_DMAC1 18
  155. #define SRST_INTMEM 19
  156. #define SRST_ROM 20
  157. #define SRST_SPDIF8CH 21
  158. #define SRST_TIMER 22
  159. #define SRST_I2S0 23
  160. #define SRST_SPDIF 24
  161. #define SRST_TIMER0 25
  162. #define SRST_TIMER1 26
  163. #define SRST_TIMER2 27
  164. #define SRST_TIMER3 28
  165. #define SRST_TIMER4 29
  166. #define SRST_TIMER5 30
  167. #define SRST_EFUSE 31
  168. #define SRST_GPIO0 32
  169. #define SRST_GPIO1 33
  170. #define SRST_GPIO2 34
  171. #define SRST_GPIO3 35
  172. #define SRST_GPIO4 36
  173. #define SRST_GPIO5 37
  174. #define SRST_GPIO6 38
  175. #define SRST_GPIO7 39
  176. #define SRST_GPIO8 40
  177. #define SRST_I2C0 42
  178. #define SRST_I2C1 43
  179. #define SRST_I2C2 44
  180. #define SRST_I2C3 45
  181. #define SRST_I2C4 46
  182. #define SRST_I2C5 47
  183. #define SRST_DWPWM 48
  184. #define SRST_MMC_PERI 49
  185. #define SRST_PERIPH_MMU 50
  186. #define SRST_DAP 51
  187. #define SRST_DAP_SYS 52
  188. #define SRST_TPIU 53
  189. #define SRST_PMU_APB 54
  190. #define SRST_GRF 55
  191. #define SRST_PMU 56
  192. #define SRST_PERIPH_AXI 57
  193. #define SRST_PERIPH_AHB 58
  194. #define SRST_PERIPH_APB 59
  195. #define SRST_PERIPH_NIU 60
  196. #define SRST_PDPERI_AHB_ARBI 61
  197. #define SRST_EMEM 62
  198. #define SRST_USB_PERI 63
  199. #define SRST_DMAC2 64
  200. #define SRST_MAC 66
  201. #define SRST_GPS 67
  202. #define SRST_RKPWM 69
  203. #define SRST_CCP 71
  204. #define SRST_USBHOST0 72
  205. #define SRST_HSIC 73
  206. #define SRST_HSIC_AUX 74
  207. #define SRST_HSIC_PHY 75
  208. #define SRST_HSADC 76
  209. #define SRST_NANDC0 77
  210. #define SRST_NANDC1 78
  211. #define SRST_TZPC 80
  212. #define SRST_SPI0 83
  213. #define SRST_SPI1 84
  214. #define SRST_SPI2 85
  215. #define SRST_SARADC 87
  216. #define SRST_PDALIVE_NIU 88
  217. #define SRST_PDPMU_INTMEM 89
  218. #define SRST_PDPMU_NIU 90
  219. #define SRST_SGRF 91
  220. #define SRST_VIO_ARBI 96
  221. #define SRST_RGA_NIU 97
  222. #define SRST_VIO0_NIU_AXI 98
  223. #define SRST_VIO_NIU_AHB 99
  224. #define SRST_LCDC0_AXI 100
  225. #define SRST_LCDC0_AHB 101
  226. #define SRST_LCDC0_DCLK 102
  227. #define SRST_VIO1_NIU_AXI 103
  228. #define SRST_VIP 104
  229. #define SRST_RGA_CORE 105
  230. #define SRST_IEP_AXI 106
  231. #define SRST_IEP_AHB 107
  232. #define SRST_RGA_AXI 108
  233. #define SRST_RGA_AHB 109
  234. #define SRST_ISP 110
  235. #define SRST_EDP 111
  236. #define SRST_VCODEC_AXI 112
  237. #define SRST_VCODEC_AHB 113
  238. #define SRST_VIO_H2P 114
  239. #define SRST_MIPIDSI0 115
  240. #define SRST_MIPIDSI1 116
  241. #define SRST_MIPICSI 117
  242. #define SRST_LVDS_PHY 118
  243. #define SRST_LVDS_CON 119
  244. #define SRST_GPU 120
  245. #define SRST_HDMI 121
  246. #define SRST_CORE_PVTM 124
  247. #define SRST_GPU_PVTM 125
  248. #define SRST_MMC0 128
  249. #define SRST_SDIO0 129
  250. #define SRST_SDIO1 130
  251. #define SRST_EMMC 131
  252. #define SRST_USBOTG_AHB 132
  253. #define SRST_USBOTG_PHY 133
  254. #define SRST_USBOTG_CON 134
  255. #define SRST_USBHOST0_AHB 135
  256. #define SRST_USBHOST0_PHY 136
  257. #define SRST_USBHOST0_CON 137
  258. #define SRST_USBHOST1_AHB 138
  259. #define SRST_USBHOST1_PHY 139
  260. #define SRST_USBHOST1_CON 140
  261. #define SRST_USB_ADP 141
  262. #define SRST_ACC_EFUSE 142