1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (c) 2016 Rockchip Electronics Co. Ltd.
4 * Author: Elaine <zhangqing@rock-chips.com>
5 */
6
7#ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3328_H
8#define _DT_BINDINGS_CLK_ROCKCHIP_RK3328_H
9
10/* core clocks */
11#define PLL_APLL 1
12#define PLL_DPLL 2
13#define PLL_CPLL 3
14#define PLL_GPLL 4
15#define PLL_NPLL 5
16#define ARMCLK 6
17
18/* sclk gates (special clocks) */
19#define SCLK_RTC32K 30
20#define SCLK_SDMMC_EXT 31
21#define SCLK_SPI 32
22#define SCLK_SDMMC 33
23#define SCLK_SDIO 34
24#define SCLK_EMMC 35
25#define SCLK_TSADC 36
26#define SCLK_SARADC 37
27#define SCLK_UART0 38
28#define SCLK_UART1 39
29#define SCLK_UART2 40
30#define SCLK_I2S0 41
31#define SCLK_I2S1 42
32#define SCLK_I2S2 43
33#define SCLK_I2S1_OUT 44
34#define SCLK_I2S2_OUT 45
35#define SCLK_SPDIF 46
36#define SCLK_TIMER0 47
37#define SCLK_TIMER1 48
38#define SCLK_TIMER2 49
39#define SCLK_TIMER3 50
40#define SCLK_TIMER4 51
41#define SCLK_TIMER5 52
42#define SCLK_WIFI 53
43#define SCLK_CIF_OUT 54
44#define SCLK_I2C0 55
45#define SCLK_I2C1 56
46#define SCLK_I2C2 57
47#define SCLK_I2C3 58
48#define SCLK_CRYPTO 59
49#define SCLK_PWM 60
50#define SCLK_PDM 61
51#define SCLK_EFUSE 62
52#define SCLK_OTP 63
53#define SCLK_DDRCLK 64
54#define SCLK_VDEC_CABAC 65
55#define SCLK_VDEC_CORE 66
56#define SCLK_VENC_DSP 67
57#define SCLK_VENC_CORE 68
58#define SCLK_RGA 69
59#define SCLK_HDMI_SFC 70
60#define SCLK_HDMI_CEC 71
61#define SCLK_USB3_REF 72
62#define SCLK_USB3_SUSPEND 73
63#define SCLK_SDMMC_DRV 74
64#define SCLK_SDIO_DRV 75
65#define SCLK_EMMC_DRV 76
66#define SCLK_SDMMC_EXT_DRV 77
67#define SCLK_SDMMC_SAMPLE 78
68#define SCLK_SDIO_SAMPLE 79
69#define SCLK_EMMC_SAMPLE 80
70#define SCLK_SDMMC_EXT_SAMPLE 81
71#define SCLK_VOP 82
72#define SCLK_MAC2PHY_RXTX 83
73#define SCLK_MAC2PHY_SRC 84
74#define SCLK_MAC2PHY_REF 85
75#define SCLK_MAC2PHY_OUT 86
76#define SCLK_MAC2IO_RX 87
77#define SCLK_MAC2IO_TX 88
78#define SCLK_MAC2IO_REFOUT 89
79#define SCLK_MAC2IO_REF 90
80#define SCLK_MAC2IO_OUT 91
81#define SCLK_TSP 92
82#define SCLK_HSADC_TSP 93
83#define SCLK_USB3PHY_REF 94
84#define SCLK_REF_USB3OTG 95
85#define SCLK_USB3OTG_REF 96
86#define SCLK_USB3OTG_SUSPEND 97
87#define SCLK_REF_USB3OTG_SRC 98
88#define SCLK_MAC2IO_SRC 99
89#define SCLK_MAC2IO 100
90#define SCLK_MAC2PHY 101
91#define SCLK_MAC2IO_EXT 102
92
93/* dclk gates */
94#define DCLK_LCDC 120
95#define DCLK_HDMIPHY 121
96#define HDMIPHY 122
97#define USB480M 123
98#define DCLK_LCDC_SRC 124
99
100/* aclk gates */
101#define ACLK_AXISRAM 130
102#define ACLK_VOP_PRE 131
103#define ACLK_USB3OTG 132
104#define ACLK_RGA_PRE 133
105#define ACLK_DMAC 134
106#define ACLK_GPU 135
107#define ACLK_BUS_PRE 136
108#define ACLK_PERI_PRE 137
109#define ACLK_RKVDEC_PRE 138
110#define ACLK_RKVDEC 139
111#define ACLK_RKVENC 140
112#define ACLK_VPU_PRE 141
113#define ACLK_VIO_PRE 142
114#define ACLK_VPU 143
115#define ACLK_VIO 144
116#define ACLK_VOP 145
117#define ACLK_GMAC 146
118#define ACLK_H265 147
119#define ACLK_H264 148
120#define ACLK_MAC2PHY 149
121#define ACLK_MAC2IO 150
122#define ACLK_DCF 151
123#define ACLK_TSP 152
124#define ACLK_PERI 153
125#define ACLK_RGA 154
126#define ACLK_IEP 155
127#define ACLK_CIF 156
128#define ACLK_HDCP 157
129
130/* pclk gates */
131#define PCLK_GPIO0 200
132#define PCLK_GPIO1 201
133#define PCLK_GPIO2 202
134#define PCLK_GPIO3 203
135#define PCLK_GRF 204
136#define PCLK_I2C0 205
137#define PCLK_I2C1 206
138#define PCLK_I2C2 207
139#define PCLK_I2C3 208
140#define PCLK_SPI 209
141#define PCLK_UART0 210
142#define PCLK_UART1 211
143#define PCLK_UART2 212
144#define PCLK_TSADC 213
145#define PCLK_PWM 214
146#define PCLK_TIMER 215
147#define PCLK_BUS_PRE 216
148#define PCLK_PERI_PRE 217
149#define PCLK_HDMI_CTRL 218
150#define PCLK_HDMI_PHY 219
151#define PCLK_GMAC 220
152#define PCLK_H265 221
153#define PCLK_MAC2PHY 222
154#define PCLK_MAC2IO 223
155#define PCLK_USB3PHY_OTG 224
156#define PCLK_USB3PHY_PIPE 225
157#define PCLK_USB3_GRF 226
158#define PCLK_USB2_GRF 227
159#define PCLK_HDMIPHY 228
160#define PCLK_DDR 229
161#define PCLK_PERI 230
162#define PCLK_HDMI 231
163#define PCLK_HDCP 232
164#define PCLK_DCF 233
165#define PCLK_SARADC 234
166#define PCLK_ACODECPHY 235
167#define PCLK_WDT 236
168
169/* hclk gates */
170#define HCLK_PERI 308
171#define HCLK_TSP 309
172#define HCLK_GMAC 310
173#define HCLK_I2S0_8CH 311
174#define HCLK_I2S1_8CH 312
175#define HCLK_I2S2_2CH 313
176#define HCLK_SPDIF_8CH 314
177#define HCLK_VOP 315
178#define HCLK_NANDC 316
179#define HCLK_SDMMC 317
180#define HCLK_SDIO 318
181#define HCLK_EMMC 319
182#define HCLK_SDMMC_EXT 320
183#define HCLK_RKVDEC_PRE 321
184#define HCLK_RKVDEC 322
185#define HCLK_RKVENC 323
186#define HCLK_VPU_PRE 324
187#define HCLK_VIO_PRE 325
188#define HCLK_VPU 326
189#define HCLK_BUS_PRE 328
190#define HCLK_PERI_PRE 329
191#define HCLK_H264 330
192#define HCLK_CIF 331
193#define HCLK_OTG_PMU 332
194#define HCLK_OTG 333
195#define HCLK_HOST0 334
196#define HCLK_HOST0_ARB 335
197#define HCLK_CRYPTO_MST 336
198#define HCLK_CRYPTO_SLV 337
199#define HCLK_PDM 338
200#define HCLK_IEP 339
201#define HCLK_RGA 340
202#define HCLK_HDCP 341
203
204#define CLK_NR_CLKS (HCLK_HDCP + 1)
205
206/* soft-reset indices */
207#define SRST_CORE0_PO 0
208#define SRST_CORE1_PO 1
209#define SRST_CORE2_PO 2
210#define SRST_CORE3_PO 3
211#define SRST_CORE0 4
212#define SRST_CORE1 5
213#define SRST_CORE2 6
214#define SRST_CORE3 7
215#define SRST_CORE0_DBG 8
216#define SRST_CORE1_DBG 9
217#define SRST_CORE2_DBG 10
218#define SRST_CORE3_DBG 11
219#define SRST_TOPDBG 12
220#define SRST_CORE_NIU 13
221#define SRST_STRC_A 14
222#define SRST_L2C 15
223
224#define SRST_A53_GIC 18
225#define SRST_DAP 19
226#define SRST_PMU_P 21
227#define SRST_EFUSE 22
228#define SRST_BUSSYS_H 23
229#define SRST_BUSSYS_P 24
230#define SRST_SPDIF 25
231#define SRST_INTMEM 26
232#define SRST_ROM 27
233#define SRST_GPIO0 28
234#define SRST_GPIO1 29
235#define SRST_GPIO2 30
236#define SRST_GPIO3 31
237
238#define SRST_I2S0 32
239#define SRST_I2S1 33
240#define SRST_I2S2 34
241#define SRST_I2S0_H 35
242#define SRST_I2S1_H 36
243#define SRST_I2S2_H 37
244#define SRST_UART0 38
245#define SRST_UART1 39
246#define SRST_UART2 40
247#define SRST_UART0_P 41
248#define SRST_UART1_P 42
249#define SRST_UART2_P 43
250#define SRST_I2C0 44
251#define SRST_I2C1 45
252#define SRST_I2C2 46
253#define SRST_I2C3 47
254
255#define SRST_I2C0_P 48
256#define SRST_I2C1_P 49
257#define SRST_I2C2_P 50
258#define SRST_I2C3_P 51
259#define SRST_EFUSE_SE_P 52
260#define SRST_EFUSE_NS_P 53
261#define SRST_PWM0 54
262#define SRST_PWM0_P 55
263#define SRST_DMA 56
264#define SRST_TSP_A 57
265#define SRST_TSP_H 58
266#define SRST_TSP 59
267#define SRST_TSP_HSADC 60
268#define SRST_DCF_A 61
269#define SRST_DCF_P 62
270
271#define SRST_SCR 64
272#define SRST_SPI 65
273#define SRST_TSADC 66
274#define SRST_TSADC_P 67
275#define SRST_CRYPTO 68
276#define SRST_SGRF 69
277#define SRST_GRF 70
278#define SRST_USB_GRF 71
279#define SRST_TIMER_6CH_P 72
280#define SRST_TIMER0 73
281#define SRST_TIMER1 74
282#define SRST_TIMER2 75
283#define SRST_TIMER3 76
284#define SRST_TIMER4 77
285#define SRST_TIMER5 78
286#define SRST_USB3GRF 79
287
288#define SRST_PHYNIU 80
289#define SRST_HDMIPHY 81
290#define SRST_VDAC 82
291#define SRST_ACODEC_p 83
292#define SRST_SARADC 85
293#define SRST_SARADC_P 86
294#define SRST_GRF_DDR 87
295#define SRST_DFIMON 88
296#define SRST_MSCH 89
297#define SRST_DDRMSCH 91
298#define SRST_DDRCTRL 92
299#define SRST_DDRCTRL_P 93
300#define SRST_DDRPHY 94
301#define SRST_DDRPHY_P 95
302
303#define SRST_GMAC_NIU_A 96
304#define SRST_GMAC_NIU_P 97
305#define SRST_GMAC2PHY_A 98
306#define SRST_GMAC2IO_A 99
307#define SRST_MACPHY 100
308#define SRST_OTP_PHY 101
309#define SRST_GPU_A 102
310#define SRST_GPU_NIU_A 103
311#define SRST_SDMMCEXT 104
312#define SRST_PERIPH_NIU_A 105
313#define SRST_PERIHP_NIU_H 106
314#define SRST_PERIHP_P 107
315#define SRST_PERIPHSYS_H 108
316#define SRST_MMC0 109
317#define SRST_SDIO 110
318#define SRST_EMMC 111
319
320#define SRST_USB2OTG_H 112
321#define SRST_USB2OTG 113
322#define SRST_USB2OTG_ADP 114
323#define SRST_USB2HOST_H 115
324#define SRST_USB2HOST_ARB 116
325#define SRST_USB2HOST_AUX 117
326#define SRST_USB2HOST_EHCIPHY 118
327#define SRST_USB2HOST_UTMI 119
328#define SRST_USB3OTG 120
329#define SRST_USBPOR 121
330#define SRST_USB2OTG_UTMI 122
331#define SRST_USB2HOST_PHY_UTMI 123
332#define SRST_USB3OTG_UTMI 124
333#define SRST_USB3PHY_U2 125
334#define SRST_USB3PHY_U3 126
335#define SRST_USB3PHY_PIPE 127
336
337#define SRST_VIO_A 128
338#define SRST_VIO_BUS_H 129
339#define SRST_VIO_H2P_H 130
340#define SRST_VIO_ARBI_H 131
341#define SRST_VOP_NIU_A 132
342#define SRST_VOP_A 133
343#define SRST_VOP_H 134
344#define SRST_VOP_D 135
345#define SRST_RGA 136
346#define SRST_RGA_NIU_A 137
347#define SRST_RGA_A 138
348#define SRST_RGA_H 139
349#define SRST_IEP_A 140
350#define SRST_IEP_H 141
351#define SRST_HDMI 142
352#define SRST_HDMI_P 143
353
354#define SRST_HDCP_A 144
355#define SRST_HDCP 145
356#define SRST_HDCP_H 146
357#define SRST_CIF_A 147
358#define SRST_CIF_H 148
359#define SRST_CIF_P 149
360#define SRST_OTP_P 150
361#define SRST_OTP_SBPI 151
362#define SRST_OTP_USER 152
363#define SRST_DDRCTRL_A 153
364#define SRST_DDRSTDY_P 154
365#define SRST_DDRSTDY 155
366#define SRST_PDM_H 156
367#define SRST_PDM 157
368#define SRST_USB3PHY_OTG_P 158
369#define SRST_USB3PHY_PIPE_P 159
370
371#define SRST_VCODEC_A 160
372#define SRST_VCODEC_NIU_A 161
373#define SRST_VCODEC_H 162
374#define SRST_VCODEC_NIU_H 163
375#define SRST_VDEC_A 164
376#define SRST_VDEC_NIU_A 165
377#define SRST_VDEC_H 166
378#define SRST_VDEC_NIU_H 167
379#define SRST_VDEC_CORE 168
380#define SRST_VDEC_CABAC 169
381#define SRST_DDRPHYDIV 175
382
383#define SRST_RKVENC_NIU_A 176
384#define SRST_RKVENC_NIU_H 177
385#define SRST_RKVENC_H265_A 178
386#define SRST_RKVENC_H265_P 179
387#define SRST_RKVENC_H265_CORE 180
388#define SRST_RKVENC_H265_DSP 181
389#define SRST_RKVENC_H264_A 182
390#define SRST_RKVENC_H264_H 183
391#define SRST_RKVENC_INTMEM 184
392
393#endif
394

source code of linux/include/dt-bindings/clock/rk3328-cru.h