xref: /linux/include/dt-bindings/clock/rockchip,rk3506-cru.h (revision ba65a4e7120a616d9c592750d9147f6dcafedffa)
1*84898f8eSFinley Xiao /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2*84898f8eSFinley Xiao /*
3*84898f8eSFinley Xiao  * Copyright (c) 2023-2025 Rockchip Electronics Co., Ltd.
4*84898f8eSFinley Xiao  * Author: Finley Xiao <finley.xiao@rock-chips.com>
5*84898f8eSFinley Xiao  */
6*84898f8eSFinley Xiao 
7*84898f8eSFinley Xiao #ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3506_H
8*84898f8eSFinley Xiao #define _DT_BINDINGS_CLK_ROCKCHIP_RK3506_H
9*84898f8eSFinley Xiao 
10*84898f8eSFinley Xiao /* cru plls */
11*84898f8eSFinley Xiao #define PLL_GPLL			0
12*84898f8eSFinley Xiao #define PLL_V0PLL			1
13*84898f8eSFinley Xiao #define PLL_V1PLL			2
14*84898f8eSFinley Xiao 
15*84898f8eSFinley Xiao /* cru-clocks indices */
16*84898f8eSFinley Xiao #define ARMCLK				3
17*84898f8eSFinley Xiao #define CLK_DDR				4
18*84898f8eSFinley Xiao #define XIN24M_GATE			5
19*84898f8eSFinley Xiao #define CLK_GPLL_GATE			6
20*84898f8eSFinley Xiao #define CLK_V0PLL_GATE			7
21*84898f8eSFinley Xiao #define CLK_V1PLL_GATE			8
22*84898f8eSFinley Xiao #define CLK_GPLL_DIV			9
23*84898f8eSFinley Xiao #define CLK_GPLL_DIV_100M		10
24*84898f8eSFinley Xiao #define CLK_V0PLL_DIV			11
25*84898f8eSFinley Xiao #define CLK_V1PLL_DIV			12
26*84898f8eSFinley Xiao #define CLK_INT_VOICE_MATRIX0		13
27*84898f8eSFinley Xiao #define CLK_INT_VOICE_MATRIX1		14
28*84898f8eSFinley Xiao #define CLK_INT_VOICE_MATRIX2		15
29*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX0_MUX	16
30*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX1_MUX	17
31*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX0_MUX	18
32*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX1_MUX	19
33*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX0_MUX	20
34*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX1_MUX	21
35*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX2_MUX	22
36*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX0		23
37*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX1		24
38*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX0		25
39*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX1		26
40*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX0		27
41*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX1		28
42*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX2		29
43*84898f8eSFinley Xiao #define CLK_REF_USBPHY_TOP		30
44*84898f8eSFinley Xiao #define CLK_REF_DPHY_TOP		31
45*84898f8eSFinley Xiao #define ACLK_CORE_ROOT			32
46*84898f8eSFinley Xiao #define PCLK_CORE_ROOT			33
47*84898f8eSFinley Xiao #define PCLK_DBG			34
48*84898f8eSFinley Xiao #define PCLK_CORE_GRF			35
49*84898f8eSFinley Xiao #define PCLK_CORE_CRU			36
50*84898f8eSFinley Xiao #define CLK_CORE_EMA_DETECT		37
51*84898f8eSFinley Xiao #define CLK_REF_PVTPLL_CORE		38
52*84898f8eSFinley Xiao #define PCLK_GPIO1			39
53*84898f8eSFinley Xiao #define DBCLK_GPIO1			40
54*84898f8eSFinley Xiao #define ACLK_CORE_PERI_ROOT		41
55*84898f8eSFinley Xiao #define HCLK_CORE_PERI_ROOT		42
56*84898f8eSFinley Xiao #define PCLK_CORE_PERI_ROOT		43
57*84898f8eSFinley Xiao #define CLK_DSMC			44
58*84898f8eSFinley Xiao #define ACLK_DSMC			45
59*84898f8eSFinley Xiao #define PCLK_DSMC			46
60*84898f8eSFinley Xiao #define CLK_FLEXBUS_TX			47
61*84898f8eSFinley Xiao #define CLK_FLEXBUS_RX			48
62*84898f8eSFinley Xiao #define ACLK_FLEXBUS			49
63*84898f8eSFinley Xiao #define HCLK_FLEXBUS			50
64*84898f8eSFinley Xiao #define ACLK_DSMC_SLV			51
65*84898f8eSFinley Xiao #define HCLK_DSMC_SLV			52
66*84898f8eSFinley Xiao #define ACLK_BUS_ROOT			53
67*84898f8eSFinley Xiao #define HCLK_BUS_ROOT			54
68*84898f8eSFinley Xiao #define PCLK_BUS_ROOT			55
69*84898f8eSFinley Xiao #define ACLK_SYSRAM			56
70*84898f8eSFinley Xiao #define HCLK_SYSRAM			57
71*84898f8eSFinley Xiao #define ACLK_DMAC0			58
72*84898f8eSFinley Xiao #define ACLK_DMAC1			59
73*84898f8eSFinley Xiao #define HCLK_M0				60
74*84898f8eSFinley Xiao #define PCLK_BUS_GRF			61
75*84898f8eSFinley Xiao #define PCLK_TIMER			62
76*84898f8eSFinley Xiao #define CLK_TIMER0_CH0			63
77*84898f8eSFinley Xiao #define CLK_TIMER0_CH1			64
78*84898f8eSFinley Xiao #define CLK_TIMER0_CH2			65
79*84898f8eSFinley Xiao #define CLK_TIMER0_CH3			66
80*84898f8eSFinley Xiao #define CLK_TIMER0_CH4			67
81*84898f8eSFinley Xiao #define CLK_TIMER0_CH5			68
82*84898f8eSFinley Xiao #define PCLK_WDT0			69
83*84898f8eSFinley Xiao #define TCLK_WDT0			70
84*84898f8eSFinley Xiao #define PCLK_WDT1			71
85*84898f8eSFinley Xiao #define TCLK_WDT1			72
86*84898f8eSFinley Xiao #define PCLK_MAILBOX			73
87*84898f8eSFinley Xiao #define PCLK_INTMUX			74
88*84898f8eSFinley Xiao #define PCLK_SPINLOCK			75
89*84898f8eSFinley Xiao #define PCLK_DDRC			76
90*84898f8eSFinley Xiao #define HCLK_DDRPHY			77
91*84898f8eSFinley Xiao #define PCLK_DDRMON			78
92*84898f8eSFinley Xiao #define CLK_DDRMON_OSC			79
93*84898f8eSFinley Xiao #define PCLK_STDBY			80
94*84898f8eSFinley Xiao #define HCLK_USBOTG0			81
95*84898f8eSFinley Xiao #define HCLK_USBOTG0_PMU		82
96*84898f8eSFinley Xiao #define CLK_USBOTG0_ADP			83
97*84898f8eSFinley Xiao #define HCLK_USBOTG1			84
98*84898f8eSFinley Xiao #define HCLK_USBOTG1_PMU		85
99*84898f8eSFinley Xiao #define CLK_USBOTG1_ADP			86
100*84898f8eSFinley Xiao #define PCLK_USBPHY			87
101*84898f8eSFinley Xiao #define ACLK_DMA2DDR			88
102*84898f8eSFinley Xiao #define PCLK_DMA2DDR			89
103*84898f8eSFinley Xiao #define STCLK_M0			90
104*84898f8eSFinley Xiao #define CLK_DDRPHY			91
105*84898f8eSFinley Xiao #define CLK_DDRC_SRC			92
106*84898f8eSFinley Xiao #define ACLK_DDRC_0			93
107*84898f8eSFinley Xiao #define ACLK_DDRC_1			94
108*84898f8eSFinley Xiao #define CLK_DDRC			95
109*84898f8eSFinley Xiao #define CLK_DDRMON			96
110*84898f8eSFinley Xiao #define HCLK_LSPERI_ROOT		97
111*84898f8eSFinley Xiao #define PCLK_LSPERI_ROOT		98
112*84898f8eSFinley Xiao #define PCLK_UART0			99
113*84898f8eSFinley Xiao #define PCLK_UART1			100
114*84898f8eSFinley Xiao #define PCLK_UART2			101
115*84898f8eSFinley Xiao #define PCLK_UART3			102
116*84898f8eSFinley Xiao #define PCLK_UART4			103
117*84898f8eSFinley Xiao #define SCLK_UART0			104
118*84898f8eSFinley Xiao #define SCLK_UART1			105
119*84898f8eSFinley Xiao #define SCLK_UART2			106
120*84898f8eSFinley Xiao #define SCLK_UART3			107
121*84898f8eSFinley Xiao #define SCLK_UART4			108
122*84898f8eSFinley Xiao #define PCLK_I2C0			109
123*84898f8eSFinley Xiao #define CLK_I2C0			110
124*84898f8eSFinley Xiao #define PCLK_I2C1			111
125*84898f8eSFinley Xiao #define CLK_I2C1			112
126*84898f8eSFinley Xiao #define PCLK_I2C2			113
127*84898f8eSFinley Xiao #define CLK_I2C2			114
128*84898f8eSFinley Xiao #define PCLK_PWM1			115
129*84898f8eSFinley Xiao #define CLK_PWM1			116
130*84898f8eSFinley Xiao #define CLK_OSC_PWM1			117
131*84898f8eSFinley Xiao #define CLK_RC_PWM1			118
132*84898f8eSFinley Xiao #define CLK_FREQ_PWM1			119
133*84898f8eSFinley Xiao #define CLK_COUNTER_PWM1		120
134*84898f8eSFinley Xiao #define PCLK_SPI0			121
135*84898f8eSFinley Xiao #define CLK_SPI0			122
136*84898f8eSFinley Xiao #define PCLK_SPI1			123
137*84898f8eSFinley Xiao #define CLK_SPI1			124
138*84898f8eSFinley Xiao #define PCLK_GPIO2			125
139*84898f8eSFinley Xiao #define DBCLK_GPIO2			126
140*84898f8eSFinley Xiao #define PCLK_GPIO3			127
141*84898f8eSFinley Xiao #define DBCLK_GPIO3			128
142*84898f8eSFinley Xiao #define PCLK_GPIO4			129
143*84898f8eSFinley Xiao #define DBCLK_GPIO4			130
144*84898f8eSFinley Xiao #define HCLK_CAN0			131
145*84898f8eSFinley Xiao #define CLK_CAN0			132
146*84898f8eSFinley Xiao #define HCLK_CAN1			133
147*84898f8eSFinley Xiao #define CLK_CAN1			134
148*84898f8eSFinley Xiao #define HCLK_PDM			135
149*84898f8eSFinley Xiao #define MCLK_PDM			136
150*84898f8eSFinley Xiao #define CLKOUT_PDM			137
151*84898f8eSFinley Xiao #define MCLK_SPDIFTX			138
152*84898f8eSFinley Xiao #define HCLK_SPDIFTX			139
153*84898f8eSFinley Xiao #define HCLK_SPDIFRX			140
154*84898f8eSFinley Xiao #define MCLK_SPDIFRX			141
155*84898f8eSFinley Xiao #define MCLK_SAI0			142
156*84898f8eSFinley Xiao #define HCLK_SAI0			143
157*84898f8eSFinley Xiao #define MCLK_OUT_SAI0			144
158*84898f8eSFinley Xiao #define MCLK_SAI1			145
159*84898f8eSFinley Xiao #define HCLK_SAI1			146
160*84898f8eSFinley Xiao #define MCLK_OUT_SAI1			147
161*84898f8eSFinley Xiao #define HCLK_ASRC0			148
162*84898f8eSFinley Xiao #define CLK_ASRC0			149
163*84898f8eSFinley Xiao #define HCLK_ASRC1			150
164*84898f8eSFinley Xiao #define CLK_ASRC1			151
165*84898f8eSFinley Xiao #define PCLK_CRU			152
166*84898f8eSFinley Xiao #define PCLK_PMU_ROOT			153
167*84898f8eSFinley Xiao #define MCLK_ASRC0			154
168*84898f8eSFinley Xiao #define MCLK_ASRC1			155
169*84898f8eSFinley Xiao #define MCLK_ASRC2			156
170*84898f8eSFinley Xiao #define MCLK_ASRC3			157
171*84898f8eSFinley Xiao #define LRCK_ASRC0_SRC			158
172*84898f8eSFinley Xiao #define LRCK_ASRC0_DST			159
173*84898f8eSFinley Xiao #define LRCK_ASRC1_SRC			160
174*84898f8eSFinley Xiao #define LRCK_ASRC1_DST			161
175*84898f8eSFinley Xiao #define ACLK_HSPERI_ROOT		162
176*84898f8eSFinley Xiao #define HCLK_HSPERI_ROOT		163
177*84898f8eSFinley Xiao #define PCLK_HSPERI_ROOT		164
178*84898f8eSFinley Xiao #define CCLK_SRC_SDMMC			165
179*84898f8eSFinley Xiao #define HCLK_SDMMC			166
180*84898f8eSFinley Xiao #define HCLK_FSPI			167
181*84898f8eSFinley Xiao #define SCLK_FSPI			168
182*84898f8eSFinley Xiao #define PCLK_SPI2			169
183*84898f8eSFinley Xiao #define ACLK_MAC0			170
184*84898f8eSFinley Xiao #define ACLK_MAC1			171
185*84898f8eSFinley Xiao #define PCLK_MAC0			172
186*84898f8eSFinley Xiao #define PCLK_MAC1			173
187*84898f8eSFinley Xiao #define CLK_MAC_ROOT			174
188*84898f8eSFinley Xiao #define CLK_MAC0			175
189*84898f8eSFinley Xiao #define CLK_MAC1			176
190*84898f8eSFinley Xiao #define MCLK_SAI2			177
191*84898f8eSFinley Xiao #define HCLK_SAI2			178
192*84898f8eSFinley Xiao #define MCLK_OUT_SAI2			179
193*84898f8eSFinley Xiao #define MCLK_SAI3_SRC			180
194*84898f8eSFinley Xiao #define HCLK_SAI3			181
195*84898f8eSFinley Xiao #define MCLK_SAI3			182
196*84898f8eSFinley Xiao #define MCLK_OUT_SAI3			183
197*84898f8eSFinley Xiao #define MCLK_SAI4_SRC			184
198*84898f8eSFinley Xiao #define HCLK_SAI4			185
199*84898f8eSFinley Xiao #define MCLK_SAI4			186
200*84898f8eSFinley Xiao #define HCLK_DSM			187
201*84898f8eSFinley Xiao #define MCLK_DSM			188
202*84898f8eSFinley Xiao #define PCLK_AUDIO_ADC			189
203*84898f8eSFinley Xiao #define MCLK_AUDIO_ADC			190
204*84898f8eSFinley Xiao #define MCLK_AUDIO_ADC_DIV4		191
205*84898f8eSFinley Xiao #define PCLK_SARADC			192
206*84898f8eSFinley Xiao #define CLK_SARADC			193
207*84898f8eSFinley Xiao #define PCLK_OTPC_NS			194
208*84898f8eSFinley Xiao #define CLK_SBPI_OTPC_NS		195
209*84898f8eSFinley Xiao #define CLK_USER_OTPC_NS		196
210*84898f8eSFinley Xiao #define PCLK_UART5			197
211*84898f8eSFinley Xiao #define SCLK_UART5			198
212*84898f8eSFinley Xiao #define PCLK_GPIO234_IOC		199
213*84898f8eSFinley Xiao #define CLK_MAC_PTP_ROOT		200
214*84898f8eSFinley Xiao #define CLK_MAC0_PTP			201
215*84898f8eSFinley Xiao #define CLK_MAC1_PTP			202
216*84898f8eSFinley Xiao #define CLK_SPI2			203
217*84898f8eSFinley Xiao #define ACLK_VIO_ROOT			204
218*84898f8eSFinley Xiao #define HCLK_VIO_ROOT			205
219*84898f8eSFinley Xiao #define PCLK_VIO_ROOT			206
220*84898f8eSFinley Xiao #define HCLK_RGA			207
221*84898f8eSFinley Xiao #define ACLK_RGA			208
222*84898f8eSFinley Xiao #define CLK_CORE_RGA			209
223*84898f8eSFinley Xiao #define ACLK_VOP			210
224*84898f8eSFinley Xiao #define HCLK_VOP			211
225*84898f8eSFinley Xiao #define DCLK_VOP			212
226*84898f8eSFinley Xiao #define PCLK_DPHY			213
227*84898f8eSFinley Xiao #define PCLK_DSI_HOST			214
228*84898f8eSFinley Xiao #define PCLK_TSADC			215
229*84898f8eSFinley Xiao #define CLK_TSADC			216
230*84898f8eSFinley Xiao #define CLK_TSADC_TSEN			217
231*84898f8eSFinley Xiao #define PCLK_GPIO1_IOC			218
232*84898f8eSFinley Xiao #define PCLK_OTPC_S			219
233*84898f8eSFinley Xiao #define CLK_SBPI_OTPC_S			220
234*84898f8eSFinley Xiao #define CLK_USER_OTPC_S			221
235*84898f8eSFinley Xiao #define PCLK_OTP_MASK			222
236*84898f8eSFinley Xiao #define PCLK_KEYREADER			223
237*84898f8eSFinley Xiao #define HCLK_BOOTROM			224
238*84898f8eSFinley Xiao #define PCLK_DDR_SERVICE		225
239*84898f8eSFinley Xiao #define HCLK_CRYPTO_S			226
240*84898f8eSFinley Xiao #define HCLK_KEYLAD			227
241*84898f8eSFinley Xiao #define CLK_CORE_CRYPTO			228
242*84898f8eSFinley Xiao #define CLK_PKA_CRYPTO			229
243*84898f8eSFinley Xiao #define CLK_CORE_CRYPTO_S		230
244*84898f8eSFinley Xiao #define CLK_PKA_CRYPTO_S		231
245*84898f8eSFinley Xiao #define ACLK_CRYPTO_S			232
246*84898f8eSFinley Xiao #define HCLK_RNG_S			233
247*84898f8eSFinley Xiao #define CLK_CORE_CRYPTO_NS		234
248*84898f8eSFinley Xiao #define CLK_PKA_CRYPTO_NS		235
249*84898f8eSFinley Xiao #define ACLK_CRYPTO_NS			236
250*84898f8eSFinley Xiao #define HCLK_CRYPTO_NS			237
251*84898f8eSFinley Xiao #define HCLK_RNG			238
252*84898f8eSFinley Xiao #define CLK_PMU				239
253*84898f8eSFinley Xiao #define PCLK_PMU			240
254*84898f8eSFinley Xiao #define CLK_PMU_32K			241
255*84898f8eSFinley Xiao #define PCLK_PMU_CRU			242
256*84898f8eSFinley Xiao #define PCLK_PMU_GRF			243
257*84898f8eSFinley Xiao #define PCLK_GPIO0_IOC			244
258*84898f8eSFinley Xiao #define PCLK_GPIO0			245
259*84898f8eSFinley Xiao #define DBCLK_GPIO0			246
260*84898f8eSFinley Xiao #define PCLK_GPIO1_SHADOW		247
261*84898f8eSFinley Xiao #define DBCLK_GPIO1_SHADOW		248
262*84898f8eSFinley Xiao #define PCLK_PMU_HP_TIMER		249
263*84898f8eSFinley Xiao #define CLK_PMU_HP_TIMER		250
264*84898f8eSFinley Xiao #define CLK_PMU_HP_TIMER_32K		251
265*84898f8eSFinley Xiao #define PCLK_PWM0			252
266*84898f8eSFinley Xiao #define CLK_PWM0			253
267*84898f8eSFinley Xiao #define CLK_OSC_PWM0			254
268*84898f8eSFinley Xiao #define CLK_RC_PWM0			255
269*84898f8eSFinley Xiao #define CLK_MAC_OUT			256
270*84898f8eSFinley Xiao #define CLK_REF_OUT0			257
271*84898f8eSFinley Xiao #define CLK_REF_OUT1			258
272*84898f8eSFinley Xiao #define CLK_32K_FRAC			259
273*84898f8eSFinley Xiao #define CLK_32K_RC			260
274*84898f8eSFinley Xiao #define CLK_32K				261
275*84898f8eSFinley Xiao #define CLK_32K_PMU			262
276*84898f8eSFinley Xiao #define PCLK_TOUCH_KEY			263
277*84898f8eSFinley Xiao #define CLK_TOUCH_KEY			264
278*84898f8eSFinley Xiao #define CLK_REF_PHY_PLL			265
279*84898f8eSFinley Xiao #define CLK_REF_PHY_PMU_MUX		266
280*84898f8eSFinley Xiao #define CLK_WIFI_OUT			267
281*84898f8eSFinley Xiao #define CLK_V0PLL_REF			268
282*84898f8eSFinley Xiao #define CLK_V1PLL_REF			269
283*84898f8eSFinley Xiao #define CLK_32K_FRAC_MUX		270
284*84898f8eSFinley Xiao 
285*84898f8eSFinley Xiao #endif
286