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 TOP_NR_CLK			49
62 
63 /* CMU_APM */
64 #define CLK_RCO_I3C_PMIC		1
65 #define OSCCLK_RCO_APM			2
66 #define CLK_RCO_APM__ALV		3
67 #define CLK_DLL_DCO			4
68 #define CLK_MOUT_APM_BUS_USER		5
69 #define CLK_MOUT_RCO_APM_I3C_USER	6
70 #define CLK_MOUT_RCO_APM_USER		7
71 #define CLK_MOUT_DLL_USER		8
72 #define CLK_MOUT_CLKCMU_CHUB_BUS	9
73 #define CLK_MOUT_APM_BUS		10
74 #define CLK_MOUT_APM_I3C		11
75 #define CLK_DOUT_CLKCMU_CHUB_BUS	12
76 #define CLK_DOUT_APM_BUS		13
77 #define CLK_DOUT_APM_I3C		14
78 #define CLK_GOUT_CLKCMU_CMGP_BUS	15
79 #define CLK_GOUT_CLKCMU_CHUB_BUS	16
80 #define CLK_GOUT_RTC_PCLK		17
81 #define CLK_GOUT_TOP_RTC_PCLK		18
82 #define CLK_GOUT_I3C_PCLK		19
83 #define CLK_GOUT_I3C_SCLK		20
84 #define CLK_GOUT_SPEEDY_PCLK		21
85 #define CLK_GOUT_GPIO_ALIVE_PCLK	22
86 #define CLK_GOUT_PMU_ALIVE_PCLK		23
87 #define CLK_GOUT_SYSREG_APM_PCLK	24
88 #define APM_NR_CLK			25
89 
90 /* CMU_CMGP */
91 #define CLK_RCO_CMGP			1
92 #define CLK_MOUT_CMGP_ADC		2
93 #define CLK_MOUT_CMGP_USI0		3
94 #define CLK_MOUT_CMGP_USI1		4
95 #define CLK_DOUT_CMGP_ADC		5
96 #define CLK_DOUT_CMGP_USI0		6
97 #define CLK_DOUT_CMGP_USI1		7
98 #define CLK_GOUT_CMGP_ADC_S0_PCLK	8
99 #define CLK_GOUT_CMGP_ADC_S1_PCLK	9
100 #define CLK_GOUT_CMGP_GPIO_PCLK		10
101 #define CLK_GOUT_CMGP_USI0_IPCLK	11
102 #define CLK_GOUT_CMGP_USI0_PCLK		12
103 #define CLK_GOUT_CMGP_USI1_IPCLK	13
104 #define CLK_GOUT_CMGP_USI1_PCLK		14
105 #define CLK_GOUT_SYSREG_CMGP_PCLK	15
106 #define CMGP_NR_CLK			16
107 
108 /* CMU_HSI */
109 #define CLK_MOUT_HSI_BUS_USER		1
110 #define CLK_MOUT_HSI_MMC_CARD_USER	2
111 #define CLK_MOUT_HSI_USB20DRD_USER	3
112 #define CLK_MOUT_HSI_RTC		4
113 #define CLK_GOUT_USB_RTC_CLK		5
114 #define CLK_GOUT_USB_REF_CLK		6
115 #define CLK_GOUT_USB_PHY_REF_CLK	7
116 #define CLK_GOUT_USB_PHY_ACLK		8
117 #define CLK_GOUT_USB_BUS_EARLY_CLK	9
118 #define CLK_GOUT_GPIO_HSI_PCLK		10
119 #define CLK_GOUT_MMC_CARD_ACLK		11
120 #define CLK_GOUT_MMC_CARD_SDCLKIN	12
121 #define CLK_GOUT_SYSREG_HSI_PCLK	13
122 #define HSI_NR_CLK			14
123 
124 /* CMU_PERI */
125 #define CLK_MOUT_PERI_BUS_USER		1
126 #define CLK_MOUT_PERI_UART_USER		2
127 #define CLK_MOUT_PERI_HSI2C_USER	3
128 #define CLK_MOUT_PERI_SPI_USER		4
129 #define CLK_DOUT_PERI_HSI2C0		5
130 #define CLK_DOUT_PERI_HSI2C1		6
131 #define CLK_DOUT_PERI_HSI2C2		7
132 #define CLK_DOUT_PERI_SPI0		8
133 #define CLK_GOUT_PERI_HSI2C0		9
134 #define CLK_GOUT_PERI_HSI2C1		10
135 #define CLK_GOUT_PERI_HSI2C2		11
136 #define CLK_GOUT_GPIO_PERI_PCLK		12
137 #define CLK_GOUT_HSI2C0_IPCLK		13
138 #define CLK_GOUT_HSI2C0_PCLK		14
139 #define CLK_GOUT_HSI2C1_IPCLK		15
140 #define CLK_GOUT_HSI2C1_PCLK		16
141 #define CLK_GOUT_HSI2C2_IPCLK		17
142 #define CLK_GOUT_HSI2C2_PCLK		18
143 #define CLK_GOUT_I2C0_PCLK		19
144 #define CLK_GOUT_I2C1_PCLK		20
145 #define CLK_GOUT_I2C2_PCLK		21
146 #define CLK_GOUT_I2C3_PCLK		22
147 #define CLK_GOUT_I2C4_PCLK		23
148 #define CLK_GOUT_I2C5_PCLK		24
149 #define CLK_GOUT_I2C6_PCLK		25
150 #define CLK_GOUT_MCT_PCLK		26
151 #define CLK_GOUT_PWM_MOTOR_PCLK		27
152 #define CLK_GOUT_SPI0_IPCLK		28
153 #define CLK_GOUT_SPI0_PCLK		29
154 #define CLK_GOUT_SYSREG_PERI_PCLK	30
155 #define CLK_GOUT_UART_IPCLK		31
156 #define CLK_GOUT_UART_PCLK		32
157 #define CLK_GOUT_WDT0_PCLK		33
158 #define CLK_GOUT_WDT1_PCLK		34
159 #define PERI_NR_CLK			35
160 
161 /* CMU_CORE */
162 #define CLK_MOUT_CORE_BUS_USER		1
163 #define CLK_MOUT_CORE_CCI_USER		2
164 #define CLK_MOUT_CORE_MMC_EMBD_USER	3
165 #define CLK_MOUT_CORE_SSS_USER		4
166 #define CLK_MOUT_CORE_GIC		5
167 #define CLK_DOUT_CORE_BUSP		6
168 #define CLK_GOUT_CCI_ACLK		7
169 #define CLK_GOUT_GIC_CLK		8
170 #define CLK_GOUT_MMC_EMBD_ACLK		9
171 #define CLK_GOUT_MMC_EMBD_SDCLKIN	10
172 #define CLK_GOUT_SSS_ACLK		11
173 #define CLK_GOUT_SSS_PCLK		12
174 #define CLK_GOUT_GPIO_CORE_PCLK		13
175 #define CLK_GOUT_SYSREG_CORE_PCLK	14
176 #define CORE_NR_CLK			15
177 
178 /* CMU_DPU */
179 #define CLK_MOUT_DPU_USER		1
180 #define CLK_DOUT_DPU_BUSP		2
181 #define CLK_GOUT_DPU_CMU_DPU_PCLK	3
182 #define CLK_GOUT_DPU_DECON0_ACLK	4
183 #define CLK_GOUT_DPU_DMA_ACLK		5
184 #define CLK_GOUT_DPU_DPP_ACLK		6
185 #define CLK_GOUT_DPU_PPMU_ACLK		7
186 #define CLK_GOUT_DPU_PPMU_PCLK		8
187 #define CLK_GOUT_DPU_SMMU_CLK		9
188 #define CLK_GOUT_DPU_SYSREG_PCLK	10
189 #define DPU_NR_CLK			11
190 
191 #endif /* _DT_BINDINGS_CLOCK_EXYNOS_850_H */
192