xref: /linux/include/dt-bindings/clock/spacemit,k1-syscon.h (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2 /*
3  * Copyright (C) 2024-2025 Haylen Chu <heylenay@outlook.com>
4  */
5 
6 #ifndef _DT_BINDINGS_SPACEMIT_CCU_H_
7 #define _DT_BINDINGS_SPACEMIT_CCU_H_
8 
9 /* APBS (PLL) clocks */
10 #define CLK_PLL1		0
11 #define CLK_PLL2		1
12 #define CLK_PLL3		2
13 #define CLK_PLL1_D2		3
14 #define CLK_PLL1_D3		4
15 #define CLK_PLL1_D4		5
16 #define CLK_PLL1_D5		6
17 #define CLK_PLL1_D6		7
18 #define CLK_PLL1_D7		8
19 #define CLK_PLL1_D8		9
20 #define CLK_PLL1_D11		10
21 #define CLK_PLL1_D13		11
22 #define CLK_PLL1_D23		12
23 #define CLK_PLL1_D64		13
24 #define CLK_PLL1_D10_AUD	14
25 #define CLK_PLL1_D100_AUD	15
26 #define CLK_PLL2_D1		16
27 #define CLK_PLL2_D2		17
28 #define CLK_PLL2_D3		18
29 #define CLK_PLL2_D4		19
30 #define CLK_PLL2_D5		20
31 #define CLK_PLL2_D6		21
32 #define CLK_PLL2_D7		22
33 #define CLK_PLL2_D8		23
34 #define CLK_PLL3_D1		24
35 #define CLK_PLL3_D2		25
36 #define CLK_PLL3_D3		26
37 #define CLK_PLL3_D4		27
38 #define CLK_PLL3_D5		28
39 #define CLK_PLL3_D6		29
40 #define CLK_PLL3_D7		30
41 #define CLK_PLL3_D8		31
42 #define CLK_PLL3_80		32
43 #define CLK_PLL3_40		33
44 #define CLK_PLL3_20		34
45 
46 /* MPMU clocks */
47 #define CLK_PLL1_307P2		0
48 #define CLK_PLL1_76P8		1
49 #define CLK_PLL1_61P44		2
50 #define CLK_PLL1_153P6		3
51 #define CLK_PLL1_102P4		4
52 #define CLK_PLL1_51P2		5
53 #define CLK_PLL1_51P2_AP	6
54 #define CLK_PLL1_57P6		7
55 #define CLK_PLL1_25P6		8
56 #define CLK_PLL1_12P8		9
57 #define CLK_PLL1_12P8_WDT	10
58 #define CLK_PLL1_6P4		11
59 #define CLK_PLL1_3P2		12
60 #define CLK_PLL1_1P6		13
61 #define CLK_PLL1_0P8		14
62 #define CLK_PLL1_409P6		15
63 #define CLK_PLL1_204P8		16
64 #define CLK_PLL1_491		17
65 #define CLK_PLL1_245P76		18
66 #define CLK_PLL1_614		19
67 #define CLK_PLL1_47P26		20
68 #define CLK_PLL1_31P5		21
69 #define CLK_PLL1_819		22
70 #define CLK_PLL1_1228		23
71 #define CLK_SLOW_UART		24
72 #define CLK_SLOW_UART1		25
73 #define CLK_SLOW_UART2		26
74 #define CLK_WDT			27
75 #define CLK_RIPC		28
76 #define CLK_I2S_SYSCLK		29
77 #define CLK_I2S_BCLK		30
78 #define CLK_APB			31
79 #define CLK_WDT_BUS		32
80 
81 /* MPMU resets */
82 #define RESET_WDT		0
83 
84 /* APBC clocks */
85 #define CLK_UART0		0
86 #define CLK_UART2		1
87 #define CLK_UART3		2
88 #define CLK_UART4		3
89 #define CLK_UART5		4
90 #define CLK_UART6		5
91 #define CLK_UART7		6
92 #define CLK_UART8		7
93 #define CLK_UART9		8
94 #define CLK_GPIO		9
95 #define CLK_PWM0		10
96 #define CLK_PWM1		11
97 #define CLK_PWM2		12
98 #define CLK_PWM3		13
99 #define CLK_PWM4		14
100 #define CLK_PWM5		15
101 #define CLK_PWM6		16
102 #define CLK_PWM7		17
103 #define CLK_PWM8		18
104 #define CLK_PWM9		19
105 #define CLK_PWM10		20
106 #define CLK_PWM11		21
107 #define CLK_PWM12		22
108 #define CLK_PWM13		23
109 #define CLK_PWM14		24
110 #define CLK_PWM15		25
111 #define CLK_PWM16		26
112 #define CLK_PWM17		27
113 #define CLK_PWM18		28
114 #define CLK_PWM19		29
115 #define CLK_SSP3		30
116 #define CLK_RTC			31
117 #define CLK_TWSI0		32
118 #define CLK_TWSI1		33
119 #define CLK_TWSI2		34
120 #define CLK_TWSI4		35
121 #define CLK_TWSI5		36
122 #define CLK_TWSI6		37
123 #define CLK_TWSI7		38
124 #define CLK_TWSI8		39
125 #define CLK_TIMERS1		40
126 #define CLK_TIMERS2		41
127 #define CLK_AIB			42
128 #define CLK_ONEWIRE		43
129 #define CLK_SSPA0		44
130 #define CLK_SSPA1		45
131 #define CLK_DRO			46
132 #define CLK_IR			47
133 #define CLK_TSEN		48
134 #define CLK_IPC_AP2AUD		49
135 #define CLK_CAN0		50
136 #define CLK_CAN0_BUS		51
137 #define CLK_UART0_BUS		52
138 #define CLK_UART2_BUS		53
139 #define CLK_UART3_BUS		54
140 #define CLK_UART4_BUS		55
141 #define CLK_UART5_BUS		56
142 #define CLK_UART6_BUS		57
143 #define CLK_UART7_BUS		58
144 #define CLK_UART8_BUS		59
145 #define CLK_UART9_BUS		60
146 #define CLK_GPIO_BUS		61
147 #define CLK_PWM0_BUS		62
148 #define CLK_PWM1_BUS		63
149 #define CLK_PWM2_BUS		64
150 #define CLK_PWM3_BUS		65
151 #define CLK_PWM4_BUS		66
152 #define CLK_PWM5_BUS		67
153 #define CLK_PWM6_BUS		68
154 #define CLK_PWM7_BUS		69
155 #define CLK_PWM8_BUS		70
156 #define CLK_PWM9_BUS		71
157 #define CLK_PWM10_BUS		72
158 #define CLK_PWM11_BUS		73
159 #define CLK_PWM12_BUS		74
160 #define CLK_PWM13_BUS		75
161 #define CLK_PWM14_BUS		76
162 #define CLK_PWM15_BUS		77
163 #define CLK_PWM16_BUS		78
164 #define CLK_PWM17_BUS		79
165 #define CLK_PWM18_BUS		80
166 #define CLK_PWM19_BUS		81
167 #define CLK_SSP3_BUS		82
168 #define CLK_RTC_BUS		83
169 #define CLK_TWSI0_BUS		84
170 #define CLK_TWSI1_BUS		85
171 #define CLK_TWSI2_BUS		86
172 #define CLK_TWSI4_BUS		87
173 #define CLK_TWSI5_BUS		88
174 #define CLK_TWSI6_BUS		89
175 #define CLK_TWSI7_BUS		90
176 #define CLK_TWSI8_BUS		91
177 #define CLK_TIMERS1_BUS		92
178 #define CLK_TIMERS2_BUS		93
179 #define CLK_AIB_BUS		94
180 #define CLK_ONEWIRE_BUS		95
181 #define CLK_SSPA0_BUS		96
182 #define CLK_SSPA1_BUS		97
183 #define CLK_TSEN_BUS		98
184 #define CLK_IPC_AP2AUD_BUS	99
185 
186 /* APBC resets */
187 #define RESET_UART0		0
188 #define RESET_UART2		1
189 #define RESET_UART3		2
190 #define RESET_UART4		3
191 #define RESET_UART5		4
192 #define RESET_UART6		5
193 #define RESET_UART7		6
194 #define RESET_UART8		7
195 #define RESET_UART9		8
196 #define RESET_GPIO		9
197 #define RESET_PWM0		10
198 #define RESET_PWM1		11
199 #define RESET_PWM2		12
200 #define RESET_PWM3		13
201 #define RESET_PWM4		14
202 #define RESET_PWM5		15
203 #define RESET_PWM6		16
204 #define RESET_PWM7		17
205 #define RESET_PWM8		18
206 #define RESET_PWM9		19
207 #define RESET_PWM10		20
208 #define RESET_PWM11		21
209 #define RESET_PWM12		22
210 #define RESET_PWM13		23
211 #define RESET_PWM14		24
212 #define RESET_PWM15		25
213 #define RESET_PWM16		26
214 #define RESET_PWM17		27
215 #define RESET_PWM18		28
216 #define RESET_PWM19		29
217 #define RESET_SSP3		30
218 #define RESET_RTC		31
219 #define RESET_TWSI0		32
220 #define RESET_TWSI1		33
221 #define RESET_TWSI2		34
222 #define RESET_TWSI4		35
223 #define RESET_TWSI5		36
224 #define RESET_TWSI6		37
225 #define RESET_TWSI7		38
226 #define RESET_TWSI8		39
227 #define RESET_TIMERS1		40
228 #define RESET_TIMERS2		41
229 #define RESET_AIB		42
230 #define RESET_ONEWIRE		43
231 #define RESET_SSPA0		44
232 #define RESET_SSPA1		45
233 #define RESET_DRO		46
234 #define RESET_IR		47
235 #define RESET_TSEN		48
236 #define RESET_IPC_AP2AUD	49
237 #define RESET_CAN0		50
238 
239 /* APMU clocks */
240 #define CLK_CCI550		0
241 #define CLK_CPU_C0_HI		1
242 #define CLK_CPU_C0_CORE		2
243 #define CLK_CPU_C0_ACE		3
244 #define CLK_CPU_C0_TCM		4
245 #define CLK_CPU_C1_HI		5
246 #define CLK_CPU_C1_CORE		6
247 #define CLK_CPU_C1_ACE		7
248 #define CLK_CCIC_4X		8
249 #define CLK_CCIC1PHY		9
250 #define CLK_SDH_AXI		10
251 #define CLK_SDH0		11
252 #define CLK_SDH1		12
253 #define CLK_SDH2		13
254 #define CLK_USB_P1		14
255 #define CLK_USB_AXI		15
256 #define CLK_USB30		16
257 #define CLK_QSPI		17
258 #define CLK_QSPI_BUS		18
259 #define CLK_DMA			19
260 #define CLK_AES			20
261 #define CLK_VPU			21
262 #define CLK_GPU			22
263 #define CLK_EMMC		23
264 #define CLK_EMMC_X		24
265 #define CLK_AUDIO		25
266 #define CLK_HDMI		26
267 #define CLK_PMUA_ACLK		27
268 #define CLK_PCIE0_MASTER	28
269 #define CLK_PCIE0_SLAVE		29
270 #define CLK_PCIE0_DBI		30
271 #define CLK_PCIE1_MASTER	31
272 #define CLK_PCIE1_SLAVE		32
273 #define CLK_PCIE1_DBI		33
274 #define CLK_PCIE2_MASTER	34
275 #define CLK_PCIE2_SLAVE		35
276 #define CLK_PCIE2_DBI		36
277 #define CLK_EMAC0_BUS		37
278 #define CLK_EMAC0_PTP		38
279 #define CLK_EMAC1_BUS		39
280 #define CLK_EMAC1_PTP		40
281 #define CLK_JPG			41
282 #define CLK_CCIC2PHY		42
283 #define CLK_CCIC3PHY		43
284 #define CLK_CSI			44
285 #define CLK_CAMM0		45
286 #define CLK_CAMM1		46
287 #define CLK_CAMM2		47
288 #define CLK_ISP_CPP		48
289 #define CLK_ISP_BUS		49
290 #define CLK_ISP			50
291 #define CLK_DPU_MCLK		51
292 #define CLK_DPU_ESC		52
293 #define CLK_DPU_BIT		53
294 #define CLK_DPU_PXCLK		54
295 #define CLK_DPU_HCLK		55
296 #define CLK_DPU_SPI		56
297 #define CLK_DPU_SPI_HBUS	57
298 #define CLK_DPU_SPIBUS		58
299 #define CLK_DPU_SPI_ACLK	59
300 #define CLK_V2D			60
301 #define CLK_EMMC_BUS		61
302 
303 /* APMU resets */
304 #define RESET_CCIC_4X		0
305 #define RESET_CCIC1_PHY		1
306 #define RESET_SDH_AXI		2
307 #define RESET_SDH0		3
308 #define RESET_SDH1		4
309 #define RESET_SDH2		5
310 #define RESET_USBP1_AXI		6
311 #define RESET_USB_AXI		7
312 #define RESET_USB30_AHB		8
313 #define RESET_USB30_VCC		9
314 #define RESET_USB30_PHY		10
315 #define RESET_QSPI		11
316 #define RESET_QSPI_BUS		12
317 #define RESET_DMA		13
318 #define RESET_AES		14
319 #define RESET_VPU		15
320 #define RESET_GPU		16
321 #define RESET_EMMC		17
322 #define RESET_EMMC_X		18
323 #define RESET_AUDIO_SYS		19
324 #define RESET_AUDIO_MCU		20
325 #define RESET_AUDIO_APMU	21
326 #define RESET_HDMI		22
327 #define RESET_PCIE0_MASTER	23
328 #define RESET_PCIE0_SLAVE	24
329 #define RESET_PCIE0_DBI		25
330 #define RESET_PCIE0_GLOBAL	26
331 #define RESET_PCIE1_MASTER	27
332 #define RESET_PCIE1_SLAVE	28
333 #define RESET_PCIE1_DBI		29
334 #define RESET_PCIE1_GLOBAL	30
335 #define RESET_PCIE2_MASTER	31
336 #define RESET_PCIE2_SLAVE	32
337 #define RESET_PCIE2_DBI		33
338 #define RESET_PCIE2_GLOBAL	34
339 #define RESET_EMAC0		35
340 #define RESET_EMAC1		36
341 #define RESET_JPG		37
342 #define RESET_CCIC2PHY		38
343 #define RESET_CCIC3PHY		39
344 #define RESET_CSI		40
345 #define RESET_ISP_CPP		41
346 #define RESET_ISP_BUS		42
347 #define RESET_ISP		43
348 #define RESET_ISP_CI		44
349 #define RESET_DPU_MCLK		45
350 #define RESET_DPU_ESC		46
351 #define RESET_DPU_HCLK		47
352 #define RESET_DPU_SPIBUS	48
353 #define RESET_DPU_SPI_HBUS	49
354 #define RESET_V2D		50
355 #define RESET_MIPI		51
356 #define RESET_MC		52
357 
358 /*	RCPU resets	*/
359 #define RESET_RCPU_SSP0		0
360 #define RESET_RCPU_I2C0		1
361 #define RESET_RCPU_UART1	2
362 #define RESET_RCPU_IR		3
363 #define RESET_RCPU_CAN		4
364 #define RESET_RCPU_UART0	5
365 #define RESET_RCPU_HDMI_AUDIO	6
366 
367 /*	RCPU2 resets	*/
368 #define RESET_RCPU2_PWM0	0
369 #define RESET_RCPU2_PWM1	1
370 #define RESET_RCPU2_PWM2	2
371 #define RESET_RCPU2_PWM3	3
372 #define RESET_RCPU2_PWM4	4
373 #define RESET_RCPU2_PWM5	5
374 #define RESET_RCPU2_PWM6	6
375 #define RESET_RCPU2_PWM7	7
376 #define RESET_RCPU2_PWM8	8
377 #define RESET_RCPU2_PWM9	9
378 
379 /*	APBC2 resets	*/
380 #define RESET_APBC2_UART1	0
381 #define RESET_APBC2_SSP2	1
382 #define RESET_APBC2_TWSI3	2
383 #define RESET_APBC2_RTC		3
384 #define RESET_APBC2_TIMERS0	4
385 #define RESET_APBC2_KPC		5
386 #define RESET_APBC2_GPIO	6
387 
388 #endif /* _DT_BINDINGS_SPACEMIT_CCU_H_ */
389