2 * Copyright (c) 2015 Rockchip Electronics Co. Ltd.
3 * Author: Xing Zheng <zhengxing@rock-chips.com>
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.
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.
16 #ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3399_H
17 #define _DT_BINDINGS_CLK_ROCKCHIP_RK3399_H
31 /* sclk gates (special clocks) */
32 #define SCLK_GPU_CORE 64
42 #define SCLK_SARADC 75
43 #define SCLK_NANDC0 76
49 #define SCLK_SPDIF_8CH 82
50 #define SCLK_I2S0_8CH 83
51 #define SCLK_I2S1_8CH 84
52 #define SCLK_I2S2_8CH 85
53 #define SCLK_TIMER00 86
54 #define SCLK_TIMER01 87
55 #define SCLK_TIMER02 88
56 #define SCLK_TIMER03 89
57 #define SCLK_TIMER04 90
58 #define SCLK_TIMER05 91
59 #define SCLK_TIMER06 92
60 #define SCLK_TIMER07 93
61 #define SCLK_TIMER08 94
62 #define SCLK_TIMER09 95
63 #define SCLK_TIMER10 96
64 #define SCLK_TIMER11 97
65 #define SCLK_HSICPHY480M 98
66 #define SCLK_HSICPHY12M 99
67 #define SCLK_MACREF 100
68 #define SCLK_VOPB_PWM 101
69 #define SCLK_VOPL_PWM 102
70 #define SCLK_EDP_24M 104
75 #define SCLK_HDMI_HDCP 109
76 #define SCLK_HDMI_CEC 110
77 #define SCLK_HEVC_CABAC 111
78 #define SCLK_HEVC_CORE 112
79 #define SCLK_I2S_8CH_OUT 113
80 #define SCLK_SDMMC_DRV 114
81 #define SCLK_SDIO0_DRV 115
82 #define SCLK_SDIO1_DRV 116
83 #define SCLK_EMMC_DRV 117
84 #define SCLK_SDMMC_SAMPLE 118
85 #define SCLK_SDIO0_SAMPLE 119
86 #define SCLK_SDIO1_SAMPLE 120
87 #define SCLK_EMMC_SAMPLE 121
88 #define SCLK_USBPHY480M 122
89 #define SCLK_PVTM_CORE_L 123
90 #define SCLK_PVTM_CORE_B 124
91 #define SCLK_PVTM_GPU 125
92 #define SCLK_PVTM_PMU 126
94 #define SCLK_MAC_RX 128
95 #define SCLK_MAC_TX 129
97 #define SCLK_MACREF_OUT 131
98 #define SCLK_USB2_PHY0_REF 132
99 #define SCLK_USB2_PHY1_REF 133
100 #define SCLK_USB3_OTG0_REF 134
101 #define SCLK_USB3_OTG1_REF 135
102 #define SCLK_USB3_OTG0_SUSPEND 136
103 #define SCLK_USB3_OTG1_SUSPEND 137
104 #define SCLK_CRYPTO 138
105 #define SCLK_CRYPTO1 139
107 #define DCLK_VOPB 170
108 #define DCLK_VOPL 171
109 #define MCLK_CRYPTO 172
110 #define MCLK_CRYPTO1 173
113 #define ACLK_GPU_MEM 192
114 #define ACLK_GPU_CFG 193
115 #define ACLK_DMAC_BUS 194
116 #define ACLK_DMAC_PERI 195
117 #define ACLK_PERI_MMU 196
118 #define ACLK_GMAC 197
119 #define ACLK_VOPB 198
120 #define ACLK_VOPL 199
122 #define ACLK_HDCP 201
124 #define ACLK_VIO0_NOC 203
127 #define ACLK_VIO1_NOC 206
128 #define ACLK_VIDEO 208
130 #define ACLK_PERI 210
131 #define ACLK_EMMC_GPLL 211
132 #define ACLK_EMMC_CPLL 212
133 #define ACLK_EMMC_CORE 213
134 #define ACLK_EMMC_NIU 214
135 #define ACLK_EMMC_GRF 215
136 #define ACLK_USB3_OTG0 216
137 #define ACLK_USB3_OTG1 217
138 #define ACLK_USB3_GRF 218
141 #define PCLK_GPIO0 320
142 #define PCLK_GPIO1 321
143 #define PCLK_GPIO2 322
144 #define PCLK_GPIO3 323
145 #define PCLK_GPIO4 324
146 #define PCLK_PMUGRF 325
147 #define PCLK_MAILBOX 326
149 #define PCLK_SGRF 330
151 #define PCLK_I2C0 332
152 #define PCLK_I2C1 333
153 #define PCLK_I2C2 334
154 #define PCLK_I2C3 335
155 #define PCLK_I2C4 336
156 #define PCLK_I2C5 337
157 #define PCLK_SPI0 338
158 #define PCLK_SPI1 339
159 #define PCLK_SPI2 340
160 #define PCLK_UART0 341
161 #define PCLK_UART1 342
162 #define PCLK_UART2 343
163 #define PCLK_UART3 344
164 #define PCLK_UART4 345
165 #define PCLK_TSADC 346
166 #define PCLK_SARADC 347
168 #define PCLK_GMAC 349
169 #define PCLK_PWM0 350
170 #define PCLK_PWM1 351
171 #define PCLK_TIMER0 353
172 #define PCLK_TIMER1 354
173 #define PCLK_EDP_CTRL 355
174 #define PCLK_MIPI_DSI0 356
175 #define PCLK_MIPI_CSI 358
176 #define PCLK_HDCP 359
177 #define PCLK_HDMI_CTRL 360
178 #define PCLK_VIO_H2P 361
180 #define PCLK_PERI 363
181 #define PCLK_DDRUPCTL 364
182 #define PCLK_DDRPHY 365
189 #define HCLK_HOST0 450
190 #define HCLK_HOST1 451
191 #define HCLK_HSIC 452
192 #define HCLK_NANDC0 453
194 #define HCLK_SDMMC 456
195 #define HCLK_SDIO0 457
196 #define HCLK_EMMC 459
197 #define HCLK_HSADC 460
198 #define HCLK_CRYPTO 461
199 #define HCLK_I2S0_8CH 462
200 #define HCLK_I2S1_8CH 463
201 #define HCLK_I2S2_8CH 464
202 #define HCLK_SPDIF 465
203 #define HCLK_VOPB 466
204 #define HCLK_VOPL 467
209 #define HCLK_VIO_AHB_ARBI 472
210 #define HCLK_VIO_NOC 473
212 #define HCLK_VIO_H2P 475
213 #define HCLK_VIO_HDCPMMU 476
214 #define HCLK_VIDEO 477
216 #define HCLK_PERI 479
218 /* pmu-clocks indices */
219 #define SCLK_CM0S 500
220 #define SCLK_SPI5 501
221 #define SCLK_TIMER12 502
222 #define SCLK_TIMER13 503
223 #define SCLK_UART 504
225 #define CLK_NR_CLKS (SCLK_UART + 1)
227 /* soft-reset indices */
229 /* cru_softrst_con0 */
230 #define SRST_CORE_L0 0
231 #define SRST_CORE_B0 1
232 #define SRST_CORE_PO_L0 2
233 #define SRST_CORE_PO_B0 3
239 #define SRST_A_CCIM0_NIU 9
240 #define SRST_A_CCIM1_NIU 10
241 #define SRST_DBG_NIU 11
243 /* cru_softrst_con1 */
244 #define SRST_CORE_L0_T 16
245 #define SRST_CORE_L1 17
246 #define SRST_CORE_L2 18
247 #define SRST_CORE_L3 19
248 #define SRST_CORE_PO_L0_T 20
249 #define SRST_CORE_PO_L1 21
250 #define SRST_CORE_PO_L2 22
251 #define SRST_CORE_PO_L3 23
252 #define SRST_A_ADB400_GIC2_CORE_L 24
253 #define SRST_A_ADB400_CORE_L_GIC2 25
254 #define SRST_P_DBG_L 26
255 #define SRST_SOC_DBG_L 27
256 #define SRST_L2_L_T 28
257 #define SRST_ADB_L_T 29
258 #define SRST_A_RKREF_L 30
259 #define SRST_PVTM_CORE_L 31
261 /* cru_softrst_con2 */
262 #define SRST_CORE_B0_T 32
263 #define SRST_CORE_B1 33
264 #define SRST_CORE_PO_B0_T 36
265 #define SRST_CORE_PO_B1 37
266 #define SRST_A_ADB400_GIC2_CORE_B 40
267 #define SRST_A_ADB400_CORE_B_GIC2 41
268 #define SRST_P_DBG_B 42
269 #define SRST_L2_B_T 43
270 #define SRST_SOC_DBG_B 44
271 #define SRST_ADB_B_T 45
272 #define SRST_A_RKREF_B 46
273 #define SRST_PVTM_CORE_B 47
275 /* cru_softrst_con3 */
276 #define SRST_A_CCI_T 50
277 #define SRST_A_CCIM0_NIU_T 51
278 #define SRST_A_CCIM1_NIU_T 52
279 #define SRST_A_ADB400M_PD_CORE_B_T 53
280 #define SRST_A_ADB400M_PD_CORE_L_T 54
281 #define SRST_DBG_NIU_T 55
282 #define SRST_DBG_CXCS 56
283 #define SRST_CCI_TRACE 57
284 #define SRST_P_CCI_GRF 58
286 /* cru_softrst_con4 */
287 #define SRST_A_CENTER_MAIN_NIU 64
288 #define SRST_A_CENTER_PERI_NIU 65
289 #define SRST_P_CENTER_MAIN 66
290 #define SRST_P_DDRMAON 67
291 #define SRST_P_CIC 68
292 #define SRST_P_CENTER_SGRF 69
293 #define SRST_DDR0_MSCH 70
294 #define SRST_DDRCFG0_MSCH 71
296 #define SRST_DDRPHY0 73
297 #define SRST_DDR1_MSCH 74
298 #define SRST_DDRCFG1_MSCH 75
300 #define SRST_DDRPHY1 77
301 #define SRST_DDR_CIC 78
302 #define SRST_PVTM_DDR 79
304 /* cru_softrst_con5 */
305 #define SRST_A_VCODEC_NIU 80
306 #define SRST_A_VCODEC 81
307 #define SRST_H_VCODEC_NIU 82
308 #define SRST_H_VCODEC 83
309 #define SRST_A_VDU_NIU 88
310 #define SRST_A_VDU 89
311 #define SRST_H_VDU_NIU 90
312 #define SRST_H_VDU 91
313 #define SRST_VDU_CORE 92
314 #define SRST_VDU_CA 93
316 /* cru_softrst_con6 */
317 #define SRST_A_IEP_NIU 96
318 #define SRST_A_VOP_IEP 97
319 #define SRST_A_IEP 98
320 #define SRST_H_IEP_NIU 99
321 #define SRST_H_IEP 100
322 #define SRST_A_RGA_NIU 102
323 #define SRST_A_RGA 103
324 #define SRST_H_RGA_NIU 104
325 #define SRST_H_RGA 105
326 #define SRST_RGA_CORE 106
327 #define SRST_EMMC_NIU 108
328 #define SRST_EMMC 109
329 #define SRST_EMMC_GRF 110
330 #define SRST_EMMCPHY_SYSRX 111
332 /* cru_softrst_con7 */
333 #define SRST_A_PERIHP_NIU 112
334 #define SRST_A_PERIHP_GRF 113
335 #define SRST_H_PERIHP_NIU 114
336 #define SRST_USBHOST0 115
337 #define SRST_HOSTC0_AUX 116
338 #define SRST_HOSTC0_ARB 117
339 #define SRST_USBHOST1 118
340 #define SRST_HOSTC1_AUX 119
341 #define SRST_HOSTC1_ARB 120
342 #define SRST_SDIO0 121
343 #define SRST_SDMMC 122
344 #define SRST_HSIC 123
345 #define SRST_HSIC_AUX 124
346 #define SRST_AHB1TOM 125
347 #define SRST_P_PERIHP_NIU 126
348 #define SRST_HSICPHY 127
350 /* cru_softrst_con8 */
351 #define SRST_A_PCIE 128
352 #define SRST_P_PCIE 129
353 #define SRST_PCIE_CORE 130
354 #define SRST_PCIE_MGMT 131
355 #define SRST_PCIE_MGMT_STICKY 132
356 #define SRST_PCIE_PIPE 133
357 #define SRST_PCIE_PM 134
358 #define SRST_PCIEPHY 135
359 #define SRST_A_GMAC_NIU 136
360 #define SRST_A_GMAC 137
361 #define SRST_P_GMAC_NIU 138
362 #define SRST_P_GMAC 139
363 #define SRST_P_GMAC_GRF 140
364 #define SRST_HSICPHY_POR 142
365 #define SRST_HSICPHY_UTMI 143
367 /* cru_softrst_con9 */
368 #define SRST_USB2PHY0_POR 144
369 #define SRST_USB2PHY0_UTMI_PORT0 145
370 #define SRST_USB2PHY0_UTMI_PORT1 146
371 #define SRST_USB2PHY0_EHCIPHY 147
372 #define SRST_UPHY0_PIPE_L00 148
373 #define SRST_UPHY0 149
374 #define SRST_UPHY0_TCPDPWRUP 150
375 #define SRST_USB2PHY1_POR 152
376 #define SRST_USB2PHY1_UTMI_PORT0 153
377 #define SRST_USB2PHY1_UTMI_PORT1 154
378 #define SRST_USB2PHY1_EHCIPHY 155
379 #define SRST_UPHY1_PIPE_L00 156
380 #define SRST_UPHY1 157
381 #define SRST_UPHY1_TCPDPWRUP 158
383 /* cru_softrst_con10 */
384 #define SRST_A_PERILP0_NIU 160
385 #define SRST_A_DCF 161
386 #define SRST_GIC500 162
387 #define SRST_DMAC0_PERILP0 163
388 #define SRST_DMAC1_PERILP0 164
389 #define SRST_TZMA 165
390 #define SRST_INTMEM 166
391 #define SRST_ADB400_MST0 167
392 #define SRST_ADB400_MST1 168
393 #define SRST_ADB400_SLV0 169
394 #define SRST_ADB400_SLV1 170
395 #define SRST_H_PERILP0 171
396 #define SRST_H_PERILP0_NIU 172
398 #define SRST_CRYPTO_S 174
399 #define SRST_CRYPTO_M 175
401 /* cru_softrst_con11 */
402 #define SRST_P_DCF 176
403 #define SRST_CM0S_NIU 177
404 #define SRST_CM0S 178
405 #define SRST_CM0S_DBG 179
406 #define SRST_CM0S_PO 180
407 #define SRST_CRYPTO 181
408 #define SRST_P_PERILP1_SGRF 182
409 #define SRST_P_PERILP1_GRF 183
410 #define SRST_CRYPTO1_S 184
411 #define SRST_CRYPTO1_M 185
412 #define SRST_CRYPTO1 186
413 #define SRST_GIC_NIU 188
414 #define SRST_SD_NIU 189
415 #define SRST_SDIOAUDIO_BRG 190
417 /* cru_softrst_con12 */
418 #define SRST_H_PERILP1 192
419 #define SRST_H_PERILP1_NIU 193
420 #define SRST_H_I2S0_8CH 194
421 #define SRST_H_I2S1_8CH 195
422 #define SRST_H_I2S2_8CH 196
423 #define SRST_H_SPDIF_8CH 197
424 #define SRST_P_PERILP1_NIU 198
425 #define SRST_P_EFUSE_1024 199
426 #define SRST_P_EFUSE_1024S 200
427 #define SRST_P_I2C0 201
428 #define SRST_P_I2C1 202
429 #define SRST_P_I2C2 203
430 #define SRST_P_I2C3 204
431 #define SRST_P_I2C4 205
432 #define SRST_P_I2C5 206
433 #define SRST_P_MAILBOX0 207
435 /* cru_softrst_con13 */
436 #define SRST_P_UART0 208
437 #define SRST_P_UART1 209
438 #define SRST_P_UART2 210
439 #define SRST_P_UART3 211
440 #define SRST_P_SARADC 212
441 #define SRST_P_TSADC 213
442 #define SRST_P_SPI0 214
443 #define SRST_P_SPI1 215
444 #define SRST_P_SPI2 216
445 #define SRST_P_SPI3 217
446 #define SRST_P_SPI4 218
447 #define SRST_SPI0 219
448 #define SRST_SPI1 220
449 #define SRST_SPI2 221
450 #define SRST_SPI3 222
451 #define SRST_SPI4 223
453 /* cru_softrst_con14 */
454 #define SRST_I2S0_8CH 224
455 #define SRST_I2S1_8CH 225
456 #define SRST_I2S2_8CH 226
457 #define SRST_SPDIF_8CH 227
458 #define SRST_UART0 228
459 #define SRST_UART1 229
460 #define SRST_UART2 230
461 #define SRST_UART3 231
462 #define SRST_TSADC 232
463 #define SRST_I2C0 233
464 #define SRST_I2C1 234
465 #define SRST_I2C2 235
466 #define SRST_I2C3 236
467 #define SRST_I2C4 237
468 #define SRST_I2C5 238
469 #define SRST_SDIOAUDIO_NIU 239
471 /* cru_softrst_con15 */
472 #define SRST_A_VIO_NIU 240
473 #define SRST_A_HDCP_NIU 241
474 #define SRST_A_HDCP 242
475 #define SRST_H_HDCP_NIU 243
476 #define SRST_H_HDCP 244
477 #define SRST_P_HDCP_NIU 245
478 #define SRST_P_HDCP 246
479 #define SRST_P_HDMI_CTRL 247
480 #define SRST_P_DP_CTRL 248
481 #define SRST_S_DP_CTRL 249
482 #define SRST_C_DP_CTRL 250
483 #define SRST_P_MIPI_DSI0 251
484 #define SRST_P_MIPI_DSI1 252
485 #define SRST_DP_CORE 253
486 #define SRST_DP_I2S 254
487 #define SRST_DP_VIF 255
489 /* cru_softrst_con16 */
490 #define SRST_GASKET 256
491 #define SRST_VIO_SGRF 257
492 #define SRST_VIO_GRF 258
493 #define SRST_DPTX_SPDIF_REC 259
494 #define SRST_HDMI_CTRL 260
495 #define SRST_HDCP_CTRL 261
496 #define SRST_A_ISP0_NIU 262
497 #define SRST_A_ISP1_NIU 263
498 #define SRST_A_ISP0 264
499 #define SRST_A_ISP1 265
500 #define SRST_H_ISP0_NIU 266
501 #define SRST_H_ISP1_NIU 267
502 #define SRST_H_ISP0 268
503 #define SRST_H_ISP1 269
504 #define SRST_ISP0 270
505 #define SRST_ISP1 271
507 /* cru_softrst_con17 */
508 #define SRST_A_VOP0_NIU 272
509 #define SRST_A_VOP1_NIU 273
510 #define SRST_A_VOP0 274
511 #define SRST_A_VOP1 275
512 #define SRST_H_VOP0_NIU 276
513 #define SRST_H_VOP1_NIU 277
514 #define SRST_H_VOP0 278
515 #define SRST_H_VOP1 279
516 #define SRST_D_VOP0 280
517 #define SRST_D_VOP1 281
518 #define SRST_VOP0_PWM 282
519 #define SRST_VOP1_PWM 283
520 #define SRST_P_EDP_NIU 284
521 #define SRST_P_EDP_CTRL 285
523 /* cru_softrst_con18 */
524 #define SRST_A_GPU 288
525 #define SRST_A_GPU_NIU 289
526 #define SRST_A_GPU_GRF 290
527 #define SRST_PVTM_GPU 291
528 #define SRST_A_USB3_NIU 292
529 #define SRST_A_USB3_OTG0 293
530 #define SRST_A_USB3_OTG1 294
531 #define SRST_A_USB3_GRF 295
533 #define SRST_PVTM_PMU 297
535 /* cru_softrst_con19 */
536 #define SRST_P_TIMER0_5 304
537 #define SRST_TIMER0 305
538 #define SRST_TIMER1 306
539 #define SRST_TIMER2 307
540 #define SRST_TIMER3 308
541 #define SRST_TIMER4 309
542 #define SRST_TIME5 310
543 #define SRST_P_TIMER6_11 311
544 #define SRST_TIMER6 312
545 #define SRST_TIMER7 313
546 #define SRST_TIMER8 314
547 #define SRST_TIMER9 315
548 #define SRST_TIMER10 316
549 #define SRST_TIMER11 317
550 #define SRST_P_INTR_ARB_PMU 318
551 #define SRST_P_ALIVE_SGRF 319
553 /* cru_softrst_con20 */
554 #define SRST_P_GPIO2 320
555 #define SRST_P_GPIO3 321
556 #define SRST_P_GPIO4 322
557 #define SRST_P_GRF 323
558 #define SRST_P_ALIVE_NIU 324
559 #define SRST_P_WDT0 325
560 #define SRST_P_WDT1 326
561 #define SRST_P_INTR_ARB 327
562 #define SRST_P_UPHY0_DPTX 328
563 #define SRST_P_UPHY1_DPTX 329
564 #define SRST_P_UPHY0_APB 330
565 #define SRST_P_UPHY1_APB 331
566 #define SRST_P_UPHY0_TCPHY 332
567 #define SRST_P_UPHY1_TCPHY 333
568 #define SRST_P_UPHY0_TCPDCTRL 334
569 #define SRST_P_UPHY1_TCPDCTRL 335
571 /* pmu soft-reset indices */
573 /* pmu_cru_softrst_con0 */
575 #define SRST_P_INTMEN 1
576 #define SRST_H_CM0S 2
577 #define SRST_H_CM0S_NIU 3
578 #define SRST_DBG_CM0S 4
579 #define SRST_PO_CM0S 5
580 #define SRST_P_SPI6 6
582 #define SRST_P_TIMER_0_1 8
583 #define SRST_P_TIMER_0 9
584 #define SRST_P_TIMER_1 10
585 #define SRST_P_UART4 11
586 #define SRST_UART4 12
587 #define SRST_P_WDT 13
589 /* pmu_cru_softrst_con1 */
590 #define SRST_P_I2C6 16
591 #define SRST_P_I2C7 17
592 #define SRST_P_I2C8 18
593 #define SRST_P_MAILBOX 19
594 #define SRST_P_RKPWM 20
595 #define SRST_P_PMUGRF 21
596 #define SRST_P_SGRF 22
597 #define SRST_P_GPIO0 23
598 #define SRST_P_GPIO1 24
599 #define SRST_P_CRU 25
600 #define SRST_P_INTR 26