1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2 /*
3  * Copyright (c) 2022 Samsung Electronics Co., Ltd.
4  * Author: Chanho Park <chanho61.park@samsung.com>
5  *
6  * Device Tree binding constants for Exynos Auto V9 clock controller.
7  */
8 
9 #ifndef _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H
10 #define _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H
11 
12 /* CMU_TOP */
13 #define FOUT_SHARED0_PLL		1
14 #define FOUT_SHARED1_PLL		2
15 #define FOUT_SHARED2_PLL		3
16 #define FOUT_SHARED3_PLL		4
17 #define FOUT_SHARED4_PLL		5
18 
19 /* MUX in CMU_TOP */
20 #define MOUT_SHARED0_PLL		6
21 #define MOUT_SHARED1_PLL		7
22 #define MOUT_SHARED2_PLL		8
23 #define MOUT_SHARED3_PLL		9
24 #define MOUT_SHARED4_PLL		10
25 #define MOUT_CLKCMU_CMU_BOOST		11
26 #define MOUT_CLKCMU_CMU_CMUREF		12
27 #define MOUT_CLKCMU_ACC_BUS		13
28 #define MOUT_CLKCMU_APM_BUS		14
29 #define MOUT_CLKCMU_AUD_CPU		15
30 #define MOUT_CLKCMU_AUD_BUS		16
31 #define MOUT_CLKCMU_BUSC_BUS		17
32 #define MOUT_CLKCMU_BUSMC_BUS		19
33 #define MOUT_CLKCMU_CORE_BUS		20
34 #define MOUT_CLKCMU_CPUCL0_SWITCH	21
35 #define MOUT_CLKCMU_CPUCL0_CLUSTER	22
36 #define MOUT_CLKCMU_CPUCL1_SWITCH	24
37 #define MOUT_CLKCMU_CPUCL1_CLUSTER	25
38 #define MOUT_CLKCMU_DPTX_BUS		26
39 #define MOUT_CLKCMU_DPTX_DPGTC		27
40 #define MOUT_CLKCMU_DPUM_BUS		28
41 #define MOUT_CLKCMU_DPUS0_BUS		29
42 #define MOUT_CLKCMU_DPUS1_BUS		30
43 #define MOUT_CLKCMU_FSYS0_BUS		31
44 #define MOUT_CLKCMU_FSYS0_PCIE		32
45 #define MOUT_CLKCMU_FSYS1_BUS		33
46 #define MOUT_CLKCMU_FSYS1_USBDRD	34
47 #define MOUT_CLKCMU_FSYS1_MMC_CARD	35
48 #define MOUT_CLKCMU_FSYS2_BUS		36
49 #define MOUT_CLKCMU_FSYS2_UFS_EMBD	37
50 #define MOUT_CLKCMU_FSYS2_ETHERNET	38
51 #define MOUT_CLKCMU_G2D_G2D		39
52 #define MOUT_CLKCMU_G2D_MSCL		40
53 #define MOUT_CLKCMU_G3D00_SWITCH	41
54 #define MOUT_CLKCMU_G3D01_SWITCH	42
55 #define MOUT_CLKCMU_G3D1_SWITCH		43
56 #define MOUT_CLKCMU_ISPB_BUS		44
57 #define MOUT_CLKCMU_MFC_MFC		45
58 #define MOUT_CLKCMU_MFC_WFD		46
59 #define MOUT_CLKCMU_MIF_SWITCH		47
60 #define MOUT_CLKCMU_MIF_BUSP		48
61 #define MOUT_CLKCMU_NPU_BUS		49
62 #define MOUT_CLKCMU_PERIC0_BUS		50
63 #define MOUT_CLKCMU_PERIC0_IP		51
64 #define MOUT_CLKCMU_PERIC1_BUS		52
65 #define MOUT_CLKCMU_PERIC1_IP		53
66 #define MOUT_CLKCMU_PERIS_BUS		54
67 
68 /* DIV in CMU_TOP */
69 #define DOUT_SHARED0_DIV3		101
70 #define DOUT_SHARED0_DIV2		102
71 #define DOUT_SHARED1_DIV3		103
72 #define DOUT_SHARED1_DIV2		104
73 #define DOUT_SHARED1_DIV4		105
74 #define DOUT_SHARED2_DIV3		106
75 #define DOUT_SHARED2_DIV2		107
76 #define DOUT_SHARED2_DIV4		108
77 #define DOUT_SHARED4_DIV2		109
78 #define DOUT_SHARED4_DIV4		110
79 #define DOUT_CLKCMU_CMU_BOOST		111
80 #define DOUT_CLKCMU_ACC_BUS		112
81 #define DOUT_CLKCMU_APM_BUS		113
82 #define DOUT_CLKCMU_AUD_CPU		114
83 #define DOUT_CLKCMU_AUD_BUS		115
84 #define DOUT_CLKCMU_BUSC_BUS		116
85 #define DOUT_CLKCMU_BUSMC_BUS		118
86 #define DOUT_CLKCMU_CORE_BUS		119
87 #define DOUT_CLKCMU_CPUCL0_SWITCH	120
88 #define DOUT_CLKCMU_CPUCL0_CLUSTER	121
89 #define DOUT_CLKCMU_CPUCL1_SWITCH	123
90 #define DOUT_CLKCMU_CPUCL1_CLUSTER	124
91 #define DOUT_CLKCMU_DPTX_BUS		125
92 #define DOUT_CLKCMU_DPTX_DPGTC		126
93 #define DOUT_CLKCMU_DPUM_BUS		127
94 #define DOUT_CLKCMU_DPUS0_BUS		128
95 #define DOUT_CLKCMU_DPUS1_BUS		129
96 #define DOUT_CLKCMU_FSYS0_BUS		130
97 #define DOUT_CLKCMU_FSYS0_PCIE		131
98 #define DOUT_CLKCMU_FSYS1_BUS		132
99 #define DOUT_CLKCMU_FSYS1_USBDRD	133
100 #define DOUT_CLKCMU_FSYS2_BUS		134
101 #define DOUT_CLKCMU_FSYS2_UFS_EMBD	135
102 #define DOUT_CLKCMU_FSYS2_ETHERNET	136
103 #define DOUT_CLKCMU_G2D_G2D		137
104 #define DOUT_CLKCMU_G2D_MSCL		138
105 #define DOUT_CLKCMU_G3D00_SWITCH	139
106 #define DOUT_CLKCMU_G3D01_SWITCH	140
107 #define DOUT_CLKCMU_G3D1_SWITCH		141
108 #define DOUT_CLKCMU_ISPB_BUS		142
109 #define DOUT_CLKCMU_MFC_MFC		143
110 #define DOUT_CLKCMU_MFC_WFD		144
111 #define DOUT_CLKCMU_MIF_SWITCH		145
112 #define DOUT_CLKCMU_MIF_BUSP		146
113 #define DOUT_CLKCMU_NPU_BUS		147
114 #define DOUT_CLKCMU_PERIC0_BUS		148
115 #define DOUT_CLKCMU_PERIC0_IP		149
116 #define DOUT_CLKCMU_PERIC1_BUS		150
117 #define DOUT_CLKCMU_PERIC1_IP		151
118 #define DOUT_CLKCMU_PERIS_BUS		152
119 
120 /* GAT in CMU_TOP */
121 #define GOUT_CLKCMU_CMU_BOOST		201
122 #define GOUT_CLKCMU_CPUCL0_BOOST	202
123 #define GOUT_CLKCMU_CPUCL1_BOOST	203
124 #define GOUT_CLKCMU_CORE_BOOST		204
125 #define GOUT_CLKCMU_BUSC_BOOST		205
126 #define GOUT_CLKCMU_BUSMC_BOOST		206
127 #define GOUT_CLKCMU_MIF_BOOST		207
128 #define GOUT_CLKCMU_ACC_BUS		208
129 #define GOUT_CLKCMU_APM_BUS		209
130 #define GOUT_CLKCMU_AUD_CPU		210
131 #define GOUT_CLKCMU_AUD_BUS		211
132 #define GOUT_CLKCMU_BUSC_BUS		212
133 #define GOUT_CLKCMU_BUSMC_BUS		214
134 #define GOUT_CLKCMU_CORE_BUS		215
135 #define GOUT_CLKCMU_CPUCL0_SWITCH	216
136 #define GOUT_CLKCMU_CPUCL0_CLUSTER	217
137 #define GOUT_CLKCMU_CPUCL1_SWITCH	219
138 #define GOUT_CLKCMU_CPUCL1_CLUSTER	220
139 #define GOUT_CLKCMU_DPTX_BUS		221
140 #define GOUT_CLKCMU_DPTX_DPGTC		222
141 #define GOUT_CLKCMU_DPUM_BUS		223
142 #define GOUT_CLKCMU_DPUS0_BUS		224
143 #define GOUT_CLKCMU_DPUS1_BUS		225
144 #define GOUT_CLKCMU_FSYS0_BUS		226
145 #define GOUT_CLKCMU_FSYS0_PCIE		227
146 #define GOUT_CLKCMU_FSYS1_BUS		228
147 #define GOUT_CLKCMU_FSYS1_USBDRD	229
148 #define GOUT_CLKCMU_FSYS1_MMC_CARD	230
149 #define GOUT_CLKCMU_FSYS2_BUS		231
150 #define GOUT_CLKCMU_FSYS2_UFS_EMBD	232
151 #define GOUT_CLKCMU_FSYS2_ETHERNET	233
152 #define GOUT_CLKCMU_G2D_G2D		234
153 #define GOUT_CLKCMU_G2D_MSCL		235
154 #define GOUT_CLKCMU_G3D00_SWITCH	236
155 #define GOUT_CLKCMU_G3D01_SWITCH	237
156 #define GOUT_CLKCMU_G3D1_SWITCH		238
157 #define GOUT_CLKCMU_ISPB_BUS		239
158 #define GOUT_CLKCMU_MFC_MFC		240
159 #define GOUT_CLKCMU_MFC_WFD		241
160 #define GOUT_CLKCMU_MIF_SWITCH		242
161 #define GOUT_CLKCMU_MIF_BUSP		243
162 #define GOUT_CLKCMU_NPU_BUS		244
163 #define GOUT_CLKCMU_PERIC0_BUS		245
164 #define GOUT_CLKCMU_PERIC0_IP		246
165 #define GOUT_CLKCMU_PERIC1_BUS		247
166 #define GOUT_CLKCMU_PERIC1_IP		248
167 #define GOUT_CLKCMU_PERIS_BUS		249
168 
169 #define TOP_NR_CLK			250
170 
171 /* CMU_BUSMC */
172 #define CLK_MOUT_BUSMC_BUS_USER		1
173 #define CLK_DOUT_BUSMC_BUSP		2
174 #define CLK_GOUT_BUSMC_PDMA0_PCLK	3
175 #define CLK_GOUT_BUSMC_SPDMA_PCLK	4
176 
177 #define BUSMC_NR_CLK			5
178 
179 /* CMU_CORE */
180 #define CLK_MOUT_CORE_BUS_USER		1
181 #define CLK_DOUT_CORE_BUSP		2
182 #define CLK_GOUT_CORE_CCI_CLK		3
183 #define CLK_GOUT_CORE_CCI_PCLK		4
184 #define CLK_GOUT_CORE_CMU_CORE_PCLK	5
185 
186 #define CORE_NR_CLK			6
187 
188 /* CMU_FSYS0 */
189 #define CLK_MOUT_FSYS0_BUS_USER		1
190 #define CLK_MOUT_FSYS0_PCIE_USER	2
191 #define CLK_GOUT_FSYS0_BUS_PCLK		3
192 
193 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_REFCLK		4
194 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_REFCLK		5
195 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_DBI_ACLK	6
196 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_MSTR_ACLK	7
197 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_SLV_ACLK	8
198 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_DBI_ACLK	9
199 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_MSTR_ACLK	10
200 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_SLV_ACLK	11
201 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_PIPE_CLK	12
202 #define CLK_GOUT_FSYS0_PCIE_GEN3A_2L0_CLK		13
203 #define CLK_GOUT_FSYS0_PCIE_GEN3B_2L0_CLK		14
204 
205 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_REFCLK		15
206 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_REFCLK		16
207 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_DBI_ACLK	17
208 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_MSTR_ACLK	18
209 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_SLV_ACLK	19
210 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_DBI_ACLK	20
211 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_MSTR_ACLK	21
212 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_SLV_ACLK	22
213 #define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_PIPE_CLK	23
214 #define CLK_GOUT_FSYS0_PCIE_GEN3A_2L1_CLK		24
215 #define CLK_GOUT_FSYS0_PCIE_GEN3B_2L1_CLK		25
216 
217 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_REFCLK		26
218 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_REFCLK		27
219 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_DBI_ACLK		28
220 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_MSTR_ACLK	29
221 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_SLV_ACLK		30
222 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_DBI_ACLK		31
223 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_MSTR_ACLK	32
224 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_SLV_ACLK		33
225 #define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_PIPE_CLK		34
226 #define CLK_GOUT_FSYS0_PCIE_GEN3A_4L_CLK		35
227 #define CLK_GOUT_FSYS0_PCIE_GEN3B_4L_CLK		36
228 
229 #define FSYS0_NR_CLK			37
230 
231 /* CMU_FSYS1 */
232 #define FOUT_MMC_PLL				1
233 
234 #define CLK_MOUT_FSYS1_BUS_USER			2
235 #define CLK_MOUT_FSYS1_MMC_PLL			3
236 #define CLK_MOUT_FSYS1_MMC_CARD_USER		4
237 #define CLK_MOUT_FSYS1_USBDRD_USER		5
238 #define CLK_MOUT_FSYS1_MMC_CARD			6
239 
240 #define CLK_DOUT_FSYS1_MMC_CARD			7
241 
242 #define CLK_GOUT_FSYS1_PCLK			8
243 #define CLK_GOUT_FSYS1_MMC_CARD_SDCLKIN		9
244 #define CLK_GOUT_FSYS1_MMC_CARD_ACLK		10
245 #define CLK_GOUT_FSYS1_USB20DRD_0_REFCLK	11
246 #define CLK_GOUT_FSYS1_USB20DRD_1_REFCLK	12
247 #define CLK_GOUT_FSYS1_USB30DRD_0_REFCLK	13
248 #define CLK_GOUT_FSYS1_USB30DRD_1_REFCLK	14
249 #define CLK_GOUT_FSYS1_USB20_0_ACLK		15
250 #define CLK_GOUT_FSYS1_USB20_1_ACLK		16
251 #define CLK_GOUT_FSYS1_USB30_0_ACLK		17
252 #define CLK_GOUT_FSYS1_USB30_1_ACLK		18
253 
254 #define FSYS1_NR_CLK				19
255 
256 /* CMU_FSYS2 */
257 #define CLK_MOUT_FSYS2_BUS_USER		1
258 #define CLK_MOUT_FSYS2_UFS_EMBD_USER	2
259 #define CLK_MOUT_FSYS2_ETHERNET_USER	3
260 #define CLK_GOUT_FSYS2_UFS_EMBD0_ACLK	4
261 #define CLK_GOUT_FSYS2_UFS_EMBD0_UNIPRO	5
262 #define CLK_GOUT_FSYS2_UFS_EMBD1_ACLK	6
263 #define CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO	7
264 
265 #define FSYS2_NR_CLK			8
266 
267 /* CMU_PERIC0 */
268 #define CLK_MOUT_PERIC0_BUS_USER	1
269 #define CLK_MOUT_PERIC0_IP_USER		2
270 #define CLK_MOUT_PERIC0_USI00_USI	3
271 #define CLK_MOUT_PERIC0_USI01_USI	4
272 #define CLK_MOUT_PERIC0_USI02_USI	5
273 #define CLK_MOUT_PERIC0_USI03_USI	6
274 #define CLK_MOUT_PERIC0_USI04_USI	7
275 #define CLK_MOUT_PERIC0_USI05_USI	8
276 #define CLK_MOUT_PERIC0_USI_I2C		9
277 
278 #define CLK_DOUT_PERIC0_USI00_USI	10
279 #define CLK_DOUT_PERIC0_USI01_USI	11
280 #define CLK_DOUT_PERIC0_USI02_USI	12
281 #define CLK_DOUT_PERIC0_USI03_USI	13
282 #define CLK_DOUT_PERIC0_USI04_USI	14
283 #define CLK_DOUT_PERIC0_USI05_USI	15
284 #define CLK_DOUT_PERIC0_USI_I2C		16
285 
286 #define CLK_GOUT_PERIC0_IPCLK_0		20
287 #define CLK_GOUT_PERIC0_IPCLK_1		21
288 #define CLK_GOUT_PERIC0_IPCLK_2		22
289 #define CLK_GOUT_PERIC0_IPCLK_3		23
290 #define CLK_GOUT_PERIC0_IPCLK_4		24
291 #define CLK_GOUT_PERIC0_IPCLK_5		25
292 #define CLK_GOUT_PERIC0_IPCLK_6		26
293 #define CLK_GOUT_PERIC0_IPCLK_7		27
294 #define CLK_GOUT_PERIC0_IPCLK_8		28
295 #define CLK_GOUT_PERIC0_IPCLK_9		29
296 #define CLK_GOUT_PERIC0_IPCLK_10	30
297 #define CLK_GOUT_PERIC0_IPCLK_11	31
298 #define CLK_GOUT_PERIC0_PCLK_0		32
299 #define CLK_GOUT_PERIC0_PCLK_1		33
300 #define CLK_GOUT_PERIC0_PCLK_2		34
301 #define CLK_GOUT_PERIC0_PCLK_3		35
302 #define CLK_GOUT_PERIC0_PCLK_4		36
303 #define CLK_GOUT_PERIC0_PCLK_5		37
304 #define CLK_GOUT_PERIC0_PCLK_6		38
305 #define CLK_GOUT_PERIC0_PCLK_7		39
306 #define CLK_GOUT_PERIC0_PCLK_8		40
307 #define CLK_GOUT_PERIC0_PCLK_9		41
308 #define CLK_GOUT_PERIC0_PCLK_10		42
309 #define CLK_GOUT_PERIC0_PCLK_11		43
310 
311 #define PERIC0_NR_CLK			44
312 
313 /* CMU_PERIC1 */
314 #define CLK_MOUT_PERIC1_BUS_USER	1
315 #define CLK_MOUT_PERIC1_IP_USER		2
316 #define CLK_MOUT_PERIC1_USI06_USI	3
317 #define CLK_MOUT_PERIC1_USI07_USI	4
318 #define CLK_MOUT_PERIC1_USI08_USI	5
319 #define CLK_MOUT_PERIC1_USI09_USI	6
320 #define CLK_MOUT_PERIC1_USI10_USI	7
321 #define CLK_MOUT_PERIC1_USI11_USI	8
322 #define CLK_MOUT_PERIC1_USI_I2C		9
323 
324 #define CLK_DOUT_PERIC1_USI06_USI	10
325 #define CLK_DOUT_PERIC1_USI07_USI	11
326 #define CLK_DOUT_PERIC1_USI08_USI	12
327 #define CLK_DOUT_PERIC1_USI09_USI	13
328 #define CLK_DOUT_PERIC1_USI10_USI	14
329 #define CLK_DOUT_PERIC1_USI11_USI	15
330 #define CLK_DOUT_PERIC1_USI_I2C		16
331 
332 #define CLK_GOUT_PERIC1_IPCLK_0		20
333 #define CLK_GOUT_PERIC1_IPCLK_1		21
334 #define CLK_GOUT_PERIC1_IPCLK_2		22
335 #define CLK_GOUT_PERIC1_IPCLK_3		23
336 #define CLK_GOUT_PERIC1_IPCLK_4		24
337 #define CLK_GOUT_PERIC1_IPCLK_5		25
338 #define CLK_GOUT_PERIC1_IPCLK_6		26
339 #define CLK_GOUT_PERIC1_IPCLK_7		27
340 #define CLK_GOUT_PERIC1_IPCLK_8		28
341 #define CLK_GOUT_PERIC1_IPCLK_9		29
342 #define CLK_GOUT_PERIC1_IPCLK_10	30
343 #define CLK_GOUT_PERIC1_IPCLK_11	31
344 #define CLK_GOUT_PERIC1_PCLK_0		32
345 #define CLK_GOUT_PERIC1_PCLK_1		33
346 #define CLK_GOUT_PERIC1_PCLK_2		34
347 #define CLK_GOUT_PERIC1_PCLK_3		35
348 #define CLK_GOUT_PERIC1_PCLK_4		36
349 #define CLK_GOUT_PERIC1_PCLK_5		37
350 #define CLK_GOUT_PERIC1_PCLK_6		38
351 #define CLK_GOUT_PERIC1_PCLK_7		39
352 #define CLK_GOUT_PERIC1_PCLK_8		40
353 #define CLK_GOUT_PERIC1_PCLK_9		41
354 #define CLK_GOUT_PERIC1_PCLK_10		42
355 #define CLK_GOUT_PERIC1_PCLK_11		43
356 
357 #define PERIC1_NR_CLK			44
358 
359 /* CMU_PERIS */
360 #define CLK_MOUT_PERIS_BUS_USER		1
361 #define CLK_GOUT_SYSREG_PERIS_PCLK	2
362 #define CLK_GOUT_WDT_CLUSTER0		3
363 #define CLK_GOUT_WDT_CLUSTER1		4
364 
365 #define PERIS_NR_CLK			5
366 
367 #endif /* _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H */
368