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