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

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