1/*	$NetBSD: exynos850.h,v 1.1.1.1 2026/01/18 05:21:29 skrll Exp $	*/
2
3/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
4/*
5 * Copyright (C) 2021 Linaro Ltd.
6 * Author: Sam Protsenko <semen.protsenko@linaro.org>
7 *
8 * Device Tree binding constants for Exynos850 clock controller.
9 */
10
11#ifndef _DT_BINDINGS_CLOCK_EXYNOS_850_H
12#define _DT_BINDINGS_CLOCK_EXYNOS_850_H
13
14/* CMU_TOP */
15#define CLK_FOUT_SHARED0_PLL		1
16#define CLK_FOUT_SHARED1_PLL		2
17#define CLK_FOUT_MMC_PLL		3
18#define CLK_MOUT_SHARED0_PLL		4
19#define CLK_MOUT_SHARED1_PLL		5
20#define CLK_MOUT_MMC_PLL		6
21#define CLK_MOUT_CORE_BUS		7
22#define CLK_MOUT_CORE_CCI		8
23#define CLK_MOUT_CORE_MMC_EMBD		9
24#define CLK_MOUT_CORE_SSS		10
25#define CLK_MOUT_DPU			11
26#define CLK_MOUT_HSI_BUS		12
27#define CLK_MOUT_HSI_MMC_CARD		13
28#define CLK_MOUT_HSI_USB20DRD		14
29#define CLK_MOUT_PERI_BUS		15
30#define CLK_MOUT_PERI_UART		16
31#define CLK_MOUT_PERI_IP		17
32#define CLK_DOUT_SHARED0_DIV3		18
33#define CLK_DOUT_SHARED0_DIV2		19
34#define CLK_DOUT_SHARED1_DIV3		20
35#define CLK_DOUT_SHARED1_DIV2		21
36#define CLK_DOUT_SHARED0_DIV4		22
37#define CLK_DOUT_SHARED1_DIV4		23
38#define CLK_DOUT_CORE_BUS		24
39#define CLK_DOUT_CORE_CCI		25
40#define CLK_DOUT_CORE_MMC_EMBD		26
41#define CLK_DOUT_CORE_SSS		27
42#define CLK_DOUT_DPU			28
43#define CLK_DOUT_HSI_BUS		29
44#define CLK_DOUT_HSI_MMC_CARD		30
45#define CLK_DOUT_HSI_USB20DRD		31
46#define CLK_DOUT_PERI_BUS		32
47#define CLK_DOUT_PERI_UART		33
48#define CLK_DOUT_PERI_IP		34
49#define CLK_GOUT_CORE_BUS		35
50#define CLK_GOUT_CORE_CCI		36
51#define CLK_GOUT_CORE_MMC_EMBD		37
52#define CLK_GOUT_CORE_SSS		38
53#define CLK_GOUT_DPU			39
54#define CLK_GOUT_HSI_BUS		40
55#define CLK_GOUT_HSI_MMC_CARD		41
56#define CLK_GOUT_HSI_USB20DRD		42
57#define CLK_GOUT_PERI_BUS		43
58#define CLK_GOUT_PERI_UART		44
59#define CLK_GOUT_PERI_IP		45
60#define CLK_MOUT_CLKCMU_APM_BUS		46
61#define CLK_DOUT_CLKCMU_APM_BUS		47
62#define CLK_GOUT_CLKCMU_APM_BUS		48
63#define CLK_MOUT_AUD			49
64#define CLK_GOUT_AUD			50
65#define CLK_DOUT_AUD			51
66#define CLK_MOUT_IS_BUS			52
67#define CLK_MOUT_IS_ITP			53
68#define CLK_MOUT_IS_VRA			54
69#define CLK_MOUT_IS_GDC			55
70#define CLK_GOUT_IS_BUS			56
71#define CLK_GOUT_IS_ITP			57
72#define CLK_GOUT_IS_VRA			58
73#define CLK_GOUT_IS_GDC			59
74#define CLK_DOUT_IS_BUS			60
75#define CLK_DOUT_IS_ITP			61
76#define CLK_DOUT_IS_VRA			62
77#define CLK_DOUT_IS_GDC			63
78#define CLK_MOUT_MFCMSCL_MFC		64
79#define CLK_MOUT_MFCMSCL_M2M		65
80#define CLK_MOUT_MFCMSCL_MCSC		66
81#define CLK_MOUT_MFCMSCL_JPEG		67
82#define CLK_GOUT_MFCMSCL_MFC		68
83#define CLK_GOUT_MFCMSCL_M2M		69
84#define CLK_GOUT_MFCMSCL_MCSC		70
85#define CLK_GOUT_MFCMSCL_JPEG		71
86#define CLK_DOUT_MFCMSCL_MFC		72
87#define CLK_DOUT_MFCMSCL_M2M		73
88#define CLK_DOUT_MFCMSCL_MCSC		74
89#define CLK_DOUT_MFCMSCL_JPEG		75
90#define CLK_MOUT_G3D_SWITCH		76
91#define CLK_GOUT_G3D_SWITCH		77
92#define CLK_DOUT_G3D_SWITCH		78
93#define CLK_MOUT_CPUCL0_DBG		79
94#define CLK_MOUT_CPUCL0_SWITCH		80
95#define CLK_GOUT_CPUCL0_DBG		81
96#define CLK_GOUT_CPUCL0_SWITCH		82
97#define CLK_DOUT_CPUCL0_DBG		83
98#define CLK_DOUT_CPUCL0_SWITCH		84
99#define CLK_MOUT_CPUCL1_DBG		85
100#define CLK_MOUT_CPUCL1_SWITCH		86
101#define CLK_GOUT_CPUCL1_DBG		87
102#define CLK_GOUT_CPUCL1_SWITCH		88
103#define CLK_DOUT_CPUCL1_DBG		89
104#define CLK_DOUT_CPUCL1_SWITCH		90
105
106/* CMU_APM */
107#define CLK_RCO_I3C_PMIC		1
108#define OSCCLK_RCO_APM			2
109#define CLK_RCO_APM__ALV		3
110#define CLK_DLL_DCO			4
111#define CLK_MOUT_APM_BUS_USER		5
112#define CLK_MOUT_RCO_APM_I3C_USER	6
113#define CLK_MOUT_RCO_APM_USER		7
114#define CLK_MOUT_DLL_USER		8
115#define CLK_MOUT_CLKCMU_CHUB_BUS	9
116#define CLK_MOUT_APM_BUS		10
117#define CLK_MOUT_APM_I3C		11
118#define CLK_DOUT_CLKCMU_CHUB_BUS	12
119#define CLK_DOUT_APM_BUS		13
120#define CLK_DOUT_APM_I3C		14
121#define CLK_GOUT_CLKCMU_CMGP_BUS	15
122#define CLK_GOUT_CLKCMU_CHUB_BUS	16
123#define CLK_GOUT_RTC_PCLK		17
124#define CLK_GOUT_TOP_RTC_PCLK		18
125#define CLK_GOUT_I3C_PCLK		19
126#define CLK_GOUT_I3C_SCLK		20
127#define CLK_GOUT_SPEEDY_PCLK		21
128#define CLK_GOUT_GPIO_ALIVE_PCLK	22
129#define CLK_GOUT_PMU_ALIVE_PCLK		23
130#define CLK_GOUT_SYSREG_APM_PCLK	24
131
132/* CMU_AUD */
133#define CLK_DOUT_AUD_AUDIF		1
134#define CLK_DOUT_AUD_BUSD		2
135#define CLK_DOUT_AUD_BUSP		3
136#define CLK_DOUT_AUD_CNT		4
137#define CLK_DOUT_AUD_CPU		5
138#define CLK_DOUT_AUD_CPU_ACLK		6
139#define CLK_DOUT_AUD_CPU_PCLKDBG	7
140#define CLK_DOUT_AUD_FM			8
141#define CLK_DOUT_AUD_FM_SPDY		9
142#define CLK_DOUT_AUD_MCLK		10
143#define CLK_DOUT_AUD_UAIF0		11
144#define CLK_DOUT_AUD_UAIF1		12
145#define CLK_DOUT_AUD_UAIF2		13
146#define CLK_DOUT_AUD_UAIF3		14
147#define CLK_DOUT_AUD_UAIF4		15
148#define CLK_DOUT_AUD_UAIF5		16
149#define CLK_DOUT_AUD_UAIF6		17
150#define CLK_FOUT_AUD_PLL		18
151#define CLK_GOUT_AUD_ABOX_ACLK		19
152#define CLK_GOUT_AUD_ASB_CCLK		20
153#define CLK_GOUT_AUD_CA32_CCLK		21
154#define CLK_GOUT_AUD_CNT_BCLK		22
155#define CLK_GOUT_AUD_CODEC_MCLK		23
156#define CLK_GOUT_AUD_DAP_CCLK		24
157#define CLK_GOUT_AUD_GPIO_PCLK		25
158#define CLK_GOUT_AUD_PPMU_ACLK		26
159#define CLK_GOUT_AUD_PPMU_PCLK		27
160#define CLK_GOUT_AUD_SPDY_BCLK		28
161#define CLK_GOUT_AUD_SYSMMU_CLK		29
162#define CLK_GOUT_AUD_SYSREG_PCLK	30
163#define CLK_GOUT_AUD_TZPC_PCLK		31
164#define CLK_GOUT_AUD_UAIF0_BCLK		32
165#define CLK_GOUT_AUD_UAIF1_BCLK		33
166#define CLK_GOUT_AUD_UAIF2_BCLK		34
167#define CLK_GOUT_AUD_UAIF3_BCLK		35
168#define CLK_GOUT_AUD_UAIF4_BCLK		36
169#define CLK_GOUT_AUD_UAIF5_BCLK		37
170#define CLK_GOUT_AUD_UAIF6_BCLK		38
171#define CLK_GOUT_AUD_WDT_PCLK		39
172#define CLK_MOUT_AUD_CPU		40
173#define CLK_MOUT_AUD_CPU_HCH		41
174#define CLK_MOUT_AUD_CPU_USER		42
175#define CLK_MOUT_AUD_FM			43
176#define CLK_MOUT_AUD_PLL		44
177#define CLK_MOUT_AUD_TICK_USB_USER	45
178#define CLK_MOUT_AUD_UAIF0		46
179#define CLK_MOUT_AUD_UAIF1		47
180#define CLK_MOUT_AUD_UAIF2		48
181#define CLK_MOUT_AUD_UAIF3		49
182#define CLK_MOUT_AUD_UAIF4		50
183#define CLK_MOUT_AUD_UAIF5		51
184#define CLK_MOUT_AUD_UAIF6		52
185#define IOCLK_AUDIOCDCLK0		53
186#define IOCLK_AUDIOCDCLK1		54
187#define IOCLK_AUDIOCDCLK2		55
188#define IOCLK_AUDIOCDCLK3		56
189#define IOCLK_AUDIOCDCLK4		57
190#define IOCLK_AUDIOCDCLK5		58
191#define IOCLK_AUDIOCDCLK6		59
192#define TICK_USB			60
193#define CLK_GOUT_AUD_CMU_AUD_PCLK	61
194
195/* CMU_CMGP */
196#define CLK_RCO_CMGP			1
197#define CLK_MOUT_CMGP_ADC		2
198#define CLK_MOUT_CMGP_USI0		3
199#define CLK_MOUT_CMGP_USI1		4
200#define CLK_DOUT_CMGP_ADC		5
201#define CLK_DOUT_CMGP_USI0		6
202#define CLK_DOUT_CMGP_USI1		7
203#define CLK_GOUT_CMGP_ADC_S0_PCLK	8
204#define CLK_GOUT_CMGP_ADC_S1_PCLK	9
205#define CLK_GOUT_CMGP_GPIO_PCLK		10
206#define CLK_GOUT_CMGP_USI0_IPCLK	11
207#define CLK_GOUT_CMGP_USI0_PCLK		12
208#define CLK_GOUT_CMGP_USI1_IPCLK	13
209#define CLK_GOUT_CMGP_USI1_PCLK		14
210#define CLK_GOUT_SYSREG_CMGP_PCLK	15
211
212/* CMU_CPUCL0 */
213#define CLK_FOUT_CPUCL0_PLL		1
214#define CLK_MOUT_PLL_CPUCL0		2
215#define CLK_MOUT_CPUCL0_SWITCH_USER	3
216#define CLK_MOUT_CPUCL0_DBG_USER	4
217#define CLK_MOUT_CPUCL0_PLL		5
218#define CLK_DOUT_CPUCL0_CPU		6
219#define CLK_DOUT_CPUCL0_CMUREF		7
220#define CLK_DOUT_CPUCL0_PCLK		8
221#define CLK_DOUT_CLUSTER0_ACLK		9
222#define CLK_DOUT_CLUSTER0_ATCLK		10
223#define CLK_DOUT_CLUSTER0_PCLKDBG	11
224#define CLK_DOUT_CLUSTER0_PERIPHCLK	12
225#define CLK_GOUT_CLUSTER0_ATCLK		13
226#define CLK_GOUT_CLUSTER0_PCLK		14
227#define CLK_GOUT_CLUSTER0_PERIPHCLK	15
228#define CLK_GOUT_CLUSTER0_SCLK		16
229#define CLK_GOUT_CPUCL0_CMU_CPUCL0_PCLK	17
230#define CLK_GOUT_CLUSTER0_CPU		18
231#define CLK_CLUSTER0_SCLK		19
232
233/* CMU_CPUCL1 */
234#define CLK_FOUT_CPUCL1_PLL		1
235#define CLK_MOUT_PLL_CPUCL1		2
236#define CLK_MOUT_CPUCL1_SWITCH_USER	3
237#define CLK_MOUT_CPUCL1_DBG_USER	4
238#define CLK_MOUT_CPUCL1_PLL		5
239#define CLK_DOUT_CPUCL1_CPU		6
240#define CLK_DOUT_CPUCL1_CMUREF		7
241#define CLK_DOUT_CPUCL1_PCLK		8
242#define CLK_DOUT_CLUSTER1_ACLK		9
243#define CLK_DOUT_CLUSTER1_ATCLK		10
244#define CLK_DOUT_CLUSTER1_PCLKDBG	11
245#define CLK_DOUT_CLUSTER1_PERIPHCLK	12
246#define CLK_GOUT_CLUSTER1_ATCLK		13
247#define CLK_GOUT_CLUSTER1_PCLK		14
248#define CLK_GOUT_CLUSTER1_PERIPHCLK	15
249#define CLK_GOUT_CLUSTER1_SCLK		16
250#define CLK_GOUT_CPUCL1_CMU_CPUCL1_PCLK	17
251#define CLK_GOUT_CLUSTER1_CPU		18
252#define CLK_CLUSTER1_SCLK		19
253
254/* CMU_G3D */
255#define CLK_FOUT_G3D_PLL		1
256#define CLK_MOUT_G3D_PLL		2
257#define CLK_MOUT_G3D_SWITCH_USER	3
258#define CLK_MOUT_G3D_BUSD		4
259#define CLK_DOUT_G3D_BUSP		5
260#define CLK_GOUT_G3D_CMU_G3D_PCLK	6
261#define CLK_GOUT_G3D_GPU_CLK		7
262#define CLK_GOUT_G3D_TZPC_PCLK		8
263#define CLK_GOUT_G3D_GRAY2BIN_CLK	9
264#define CLK_GOUT_G3D_BUSD_CLK		10
265#define CLK_GOUT_G3D_BUSP_CLK		11
266#define CLK_GOUT_G3D_SYSREG_PCLK	12
267
268/* CMU_HSI */
269#define CLK_MOUT_HSI_BUS_USER		1
270#define CLK_MOUT_HSI_MMC_CARD_USER	2
271#define CLK_MOUT_HSI_USB20DRD_USER	3
272#define CLK_MOUT_HSI_RTC		4
273#define CLK_GOUT_USB_RTC_CLK		5
274#define CLK_GOUT_USB_REF_CLK		6
275#define CLK_GOUT_USB_PHY_REF_CLK	7
276#define CLK_GOUT_USB_PHY_ACLK		8
277#define CLK_GOUT_USB_BUS_EARLY_CLK	9
278#define CLK_GOUT_GPIO_HSI_PCLK		10
279#define CLK_GOUT_MMC_CARD_ACLK		11
280#define CLK_GOUT_MMC_CARD_SDCLKIN	12
281#define CLK_GOUT_SYSREG_HSI_PCLK	13
282#define CLK_GOUT_HSI_PPMU_ACLK		14
283#define CLK_GOUT_HSI_PPMU_PCLK		15
284#define CLK_GOUT_HSI_CMU_HSI_PCLK	16
285
286/* CMU_IS */
287#define CLK_MOUT_IS_BUS_USER		1
288#define CLK_MOUT_IS_ITP_USER		2
289#define CLK_MOUT_IS_VRA_USER		3
290#define CLK_MOUT_IS_GDC_USER		4
291#define CLK_DOUT_IS_BUSP		5
292#define CLK_GOUT_IS_CMU_IS_PCLK		6
293#define CLK_GOUT_IS_CSIS0_ACLK		7
294#define CLK_GOUT_IS_CSIS1_ACLK		8
295#define CLK_GOUT_IS_CSIS2_ACLK		9
296#define CLK_GOUT_IS_TZPC_PCLK		10
297#define CLK_GOUT_IS_CSIS_DMA_CLK	11
298#define CLK_GOUT_IS_GDC_CLK		12
299#define CLK_GOUT_IS_IPP_CLK		13
300#define CLK_GOUT_IS_ITP_CLK		14
301#define CLK_GOUT_IS_MCSC_CLK		15
302#define CLK_GOUT_IS_VRA_CLK		16
303#define CLK_GOUT_IS_PPMU_IS0_ACLK	17
304#define CLK_GOUT_IS_PPMU_IS0_PCLK	18
305#define CLK_GOUT_IS_PPMU_IS1_ACLK	19
306#define CLK_GOUT_IS_PPMU_IS1_PCLK	20
307#define CLK_GOUT_IS_SYSMMU_IS0_CLK	21
308#define CLK_GOUT_IS_SYSMMU_IS1_CLK	22
309#define CLK_GOUT_IS_SYSREG_PCLK		23
310
311/* CMU_MFCMSCL */
312#define CLK_MOUT_MFCMSCL_MFC_USER		1
313#define CLK_MOUT_MFCMSCL_M2M_USER		2
314#define CLK_MOUT_MFCMSCL_MCSC_USER		3
315#define CLK_MOUT_MFCMSCL_JPEG_USER		4
316#define CLK_DOUT_MFCMSCL_BUSP			5
317#define CLK_GOUT_MFCMSCL_CMU_MFCMSCL_PCLK	6
318#define CLK_GOUT_MFCMSCL_TZPC_PCLK		7
319#define CLK_GOUT_MFCMSCL_JPEG_ACLK		8
320#define CLK_GOUT_MFCMSCL_M2M_ACLK		9
321#define CLK_GOUT_MFCMSCL_MCSC_CLK		10
322#define CLK_GOUT_MFCMSCL_MFC_ACLK		11
323#define CLK_GOUT_MFCMSCL_PPMU_ACLK		12
324#define CLK_GOUT_MFCMSCL_PPMU_PCLK		13
325#define CLK_GOUT_MFCMSCL_SYSMMU_CLK		14
326#define CLK_GOUT_MFCMSCL_SYSREG_PCLK		15
327
328/* CMU_PERI */
329#define CLK_MOUT_PERI_BUS_USER		1
330#define CLK_MOUT_PERI_UART_USER		2
331#define CLK_MOUT_PERI_HSI2C_USER	3
332#define CLK_MOUT_PERI_SPI_USER		4
333#define CLK_DOUT_PERI_HSI2C0		5
334#define CLK_DOUT_PERI_HSI2C1		6
335#define CLK_DOUT_PERI_HSI2C2		7
336#define CLK_DOUT_PERI_SPI0		8
337#define CLK_GOUT_PERI_HSI2C0		9
338#define CLK_GOUT_PERI_HSI2C1		10
339#define CLK_GOUT_PERI_HSI2C2		11
340#define CLK_GOUT_GPIO_PERI_PCLK		12
341#define CLK_GOUT_HSI2C0_IPCLK		13
342#define CLK_GOUT_HSI2C0_PCLK		14
343#define CLK_GOUT_HSI2C1_IPCLK		15
344#define CLK_GOUT_HSI2C1_PCLK		16
345#define CLK_GOUT_HSI2C2_IPCLK		17
346#define CLK_GOUT_HSI2C2_PCLK		18
347#define CLK_GOUT_I2C0_PCLK		19
348#define CLK_GOUT_I2C1_PCLK		20
349#define CLK_GOUT_I2C2_PCLK		21
350#define CLK_GOUT_I2C3_PCLK		22
351#define CLK_GOUT_I2C4_PCLK		23
352#define CLK_GOUT_I2C5_PCLK		24
353#define CLK_GOUT_I2C6_PCLK		25
354#define CLK_GOUT_MCT_PCLK		26
355#define CLK_GOUT_PWM_MOTOR_PCLK		27
356#define CLK_GOUT_SPI0_IPCLK		28
357#define CLK_GOUT_SPI0_PCLK		29
358#define CLK_GOUT_SYSREG_PERI_PCLK	30
359#define CLK_GOUT_UART_IPCLK		31
360#define CLK_GOUT_UART_PCLK		32
361#define CLK_GOUT_WDT0_PCLK		33
362#define CLK_GOUT_WDT1_PCLK		34
363#define CLK_GOUT_BUSIF_TMU_PCLK		35
364
365/* CMU_CORE */
366#define CLK_MOUT_CORE_BUS_USER		1
367#define CLK_MOUT_CORE_CCI_USER		2
368#define CLK_MOUT_CORE_MMC_EMBD_USER	3
369#define CLK_MOUT_CORE_SSS_USER		4
370#define CLK_MOUT_CORE_GIC		5
371#define CLK_DOUT_CORE_BUSP		6
372#define CLK_GOUT_CCI_ACLK		7
373#define CLK_GOUT_GIC_CLK		8
374#define CLK_GOUT_MMC_EMBD_ACLK		9
375#define CLK_GOUT_MMC_EMBD_SDCLKIN	10
376#define CLK_GOUT_SSS_ACLK		11
377#define CLK_GOUT_SSS_PCLK		12
378#define CLK_GOUT_GPIO_CORE_PCLK		13
379#define CLK_GOUT_SYSREG_CORE_PCLK	14
380#define CLK_GOUT_PDMA_CORE_ACLK		15
381#define CLK_GOUT_SPDMA_CORE_ACLK	16
382
383/* CMU_DPU */
384#define CLK_MOUT_DPU_USER		1
385#define CLK_DOUT_DPU_BUSP		2
386#define CLK_GOUT_DPU_CMU_DPU_PCLK	3
387#define CLK_GOUT_DPU_DECON0_ACLK	4
388#define CLK_GOUT_DPU_DMA_ACLK		5
389#define CLK_GOUT_DPU_DPP_ACLK		6
390#define CLK_GOUT_DPU_PPMU_ACLK		7
391#define CLK_GOUT_DPU_PPMU_PCLK		8
392#define CLK_GOUT_DPU_SMMU_CLK		9
393#define CLK_GOUT_DPU_SYSREG_PCLK	10
394#define DPU_NR_CLK			11
395
396#endif /* _DT_BINDINGS_CLOCK_EXYNOS_850_H */
397