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/* CMU_BUSMC */
170#define CLK_MOUT_BUSMC_BUS_USER 1
171#define CLK_DOUT_BUSMC_BUSP 2
172#define CLK_GOUT_BUSMC_PDMA0_PCLK 3
173#define CLK_GOUT_BUSMC_SPDMA_PCLK 4
174
175/* CMU_CORE */
176#define CLK_MOUT_CORE_BUS_USER 1
177#define CLK_DOUT_CORE_BUSP 2
178#define CLK_GOUT_CORE_CCI_CLK 3
179#define CLK_GOUT_CORE_CCI_PCLK 4
180#define CLK_GOUT_CORE_CMU_CORE_PCLK 5
181
182/* CMU_FSYS0 */
183#define CLK_MOUT_FSYS0_BUS_USER 1
184#define CLK_MOUT_FSYS0_PCIE_USER 2
185#define CLK_GOUT_FSYS0_BUS_PCLK 3
186
187#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_REFCLK 4
188#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_REFCLK 5
189#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_DBI_ACLK 6
190#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_MSTR_ACLK 7
191#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X1_SLV_ACLK 8
192#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_DBI_ACLK 9
193#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_MSTR_ACLK 10
194#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_SLV_ACLK 11
195#define CLK_GOUT_FSYS0_PCIE_GEN3_2L0_X2_PIPE_CLK 12
196#define CLK_GOUT_FSYS0_PCIE_GEN3A_2L0_CLK 13
197#define CLK_GOUT_FSYS0_PCIE_GEN3B_2L0_CLK 14
198
199#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_REFCLK 15
200#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_REFCLK 16
201#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_DBI_ACLK 17
202#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_MSTR_ACLK 18
203#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X1_SLV_ACLK 19
204#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_DBI_ACLK 20
205#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_MSTR_ACLK 21
206#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_SLV_ACLK 22
207#define CLK_GOUT_FSYS0_PCIE_GEN3_2L1_X2_PIPE_CLK 23
208#define CLK_GOUT_FSYS0_PCIE_GEN3A_2L1_CLK 24
209#define CLK_GOUT_FSYS0_PCIE_GEN3B_2L1_CLK 25
210
211#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_REFCLK 26
212#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_REFCLK 27
213#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_DBI_ACLK 28
214#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_MSTR_ACLK 29
215#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X2_SLV_ACLK 30
216#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_DBI_ACLK 31
217#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_MSTR_ACLK 32
218#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_SLV_ACLK 33
219#define CLK_GOUT_FSYS0_PCIE_GEN3_4L_X4_PIPE_CLK 34
220#define CLK_GOUT_FSYS0_PCIE_GEN3A_4L_CLK 35
221#define CLK_GOUT_FSYS0_PCIE_GEN3B_4L_CLK 36
222
223/* CMU_FSYS1 */
224#define FOUT_MMC_PLL 1
225
226#define CLK_MOUT_FSYS1_BUS_USER 2
227#define CLK_MOUT_FSYS1_MMC_PLL 3
228#define CLK_MOUT_FSYS1_MMC_CARD_USER 4
229#define CLK_MOUT_FSYS1_USBDRD_USER 5
230#define CLK_MOUT_FSYS1_MMC_CARD 6
231
232#define CLK_DOUT_FSYS1_MMC_CARD 7
233
234#define CLK_GOUT_FSYS1_PCLK 8
235#define CLK_GOUT_FSYS1_MMC_CARD_SDCLKIN 9
236#define CLK_GOUT_FSYS1_MMC_CARD_ACLK 10
237#define CLK_GOUT_FSYS1_USB20DRD_0_REFCLK 11
238#define CLK_GOUT_FSYS1_USB20DRD_1_REFCLK 12
239#define CLK_GOUT_FSYS1_USB30DRD_0_REFCLK 13
240#define CLK_GOUT_FSYS1_USB30DRD_1_REFCLK 14
241#define CLK_GOUT_FSYS1_USB20_0_ACLK 15
242#define CLK_GOUT_FSYS1_USB20_1_ACLK 16
243#define CLK_GOUT_FSYS1_USB30_0_ACLK 17
244#define CLK_GOUT_FSYS1_USB30_1_ACLK 18
245
246/* CMU_FSYS2 */
247#define CLK_MOUT_FSYS2_BUS_USER 1
248#define CLK_MOUT_FSYS2_UFS_EMBD_USER 2
249#define CLK_MOUT_FSYS2_ETHERNET_USER 3
250#define CLK_GOUT_FSYS2_UFS_EMBD0_ACLK 4
251#define CLK_GOUT_FSYS2_UFS_EMBD0_UNIPRO 5
252#define CLK_GOUT_FSYS2_UFS_EMBD1_ACLK 6
253#define CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO 7
254
255/* CMU_PERIC0 */
256#define CLK_MOUT_PERIC0_BUS_USER 1
257#define CLK_MOUT_PERIC0_IP_USER 2
258#define CLK_MOUT_PERIC0_USI00_USI 3
259#define CLK_MOUT_PERIC0_USI01_USI 4
260#define CLK_MOUT_PERIC0_USI02_USI 5
261#define CLK_MOUT_PERIC0_USI03_USI 6
262#define CLK_MOUT_PERIC0_USI04_USI 7
263#define CLK_MOUT_PERIC0_USI05_USI 8
264#define CLK_MOUT_PERIC0_USI_I2C 9
265
266#define CLK_DOUT_PERIC0_USI00_USI 10
267#define CLK_DOUT_PERIC0_USI01_USI 11
268#define CLK_DOUT_PERIC0_USI02_USI 12
269#define CLK_DOUT_PERIC0_USI03_USI 13
270#define CLK_DOUT_PERIC0_USI04_USI 14
271#define CLK_DOUT_PERIC0_USI05_USI 15
272#define CLK_DOUT_PERIC0_USI_I2C 16
273
274#define CLK_GOUT_PERIC0_IPCLK_0 20
275#define CLK_GOUT_PERIC0_IPCLK_1 21
276#define CLK_GOUT_PERIC0_IPCLK_2 22
277#define CLK_GOUT_PERIC0_IPCLK_3 23
278#define CLK_GOUT_PERIC0_IPCLK_4 24
279#define CLK_GOUT_PERIC0_IPCLK_5 25
280#define CLK_GOUT_PERIC0_IPCLK_6 26
281#define CLK_GOUT_PERIC0_IPCLK_7 27
282#define CLK_GOUT_PERIC0_IPCLK_8 28
283#define CLK_GOUT_PERIC0_IPCLK_9 29
284#define CLK_GOUT_PERIC0_IPCLK_10 30
285#define CLK_GOUT_PERIC0_IPCLK_11 31
286#define CLK_GOUT_PERIC0_PCLK_0 32
287#define CLK_GOUT_PERIC0_PCLK_1 33
288#define CLK_GOUT_PERIC0_PCLK_2 34
289#define CLK_GOUT_PERIC0_PCLK_3 35
290#define CLK_GOUT_PERIC0_PCLK_4 36
291#define CLK_GOUT_PERIC0_PCLK_5 37
292#define CLK_GOUT_PERIC0_PCLK_6 38
293#define CLK_GOUT_PERIC0_PCLK_7 39
294#define CLK_GOUT_PERIC0_PCLK_8 40
295#define CLK_GOUT_PERIC0_PCLK_9 41
296#define CLK_GOUT_PERIC0_PCLK_10 42
297#define CLK_GOUT_PERIC0_PCLK_11 43
298
299/* CMU_PERIC1 */
300#define CLK_MOUT_PERIC1_BUS_USER 1
301#define CLK_MOUT_PERIC1_IP_USER 2
302#define CLK_MOUT_PERIC1_USI06_USI 3
303#define CLK_MOUT_PERIC1_USI07_USI 4
304#define CLK_MOUT_PERIC1_USI08_USI 5
305#define CLK_MOUT_PERIC1_USI09_USI 6
306#define CLK_MOUT_PERIC1_USI10_USI 7
307#define CLK_MOUT_PERIC1_USI11_USI 8
308#define CLK_MOUT_PERIC1_USI_I2C 9
309
310#define CLK_DOUT_PERIC1_USI06_USI 10
311#define CLK_DOUT_PERIC1_USI07_USI 11
312#define CLK_DOUT_PERIC1_USI08_USI 12
313#define CLK_DOUT_PERIC1_USI09_USI 13
314#define CLK_DOUT_PERIC1_USI10_USI 14
315#define CLK_DOUT_PERIC1_USI11_USI 15
316#define CLK_DOUT_PERIC1_USI_I2C 16
317
318#define CLK_GOUT_PERIC1_IPCLK_0 20
319#define CLK_GOUT_PERIC1_IPCLK_1 21
320#define CLK_GOUT_PERIC1_IPCLK_2 22
321#define CLK_GOUT_PERIC1_IPCLK_3 23
322#define CLK_GOUT_PERIC1_IPCLK_4 24
323#define CLK_GOUT_PERIC1_IPCLK_5 25
324#define CLK_GOUT_PERIC1_IPCLK_6 26
325#define CLK_GOUT_PERIC1_IPCLK_7 27
326#define CLK_GOUT_PERIC1_IPCLK_8 28
327#define CLK_GOUT_PERIC1_IPCLK_9 29
328#define CLK_GOUT_PERIC1_IPCLK_10 30
329#define CLK_GOUT_PERIC1_IPCLK_11 31
330#define CLK_GOUT_PERIC1_PCLK_0 32
331#define CLK_GOUT_PERIC1_PCLK_1 33
332#define CLK_GOUT_PERIC1_PCLK_2 34
333#define CLK_GOUT_PERIC1_PCLK_3 35
334#define CLK_GOUT_PERIC1_PCLK_4 36
335#define CLK_GOUT_PERIC1_PCLK_5 37
336#define CLK_GOUT_PERIC1_PCLK_6 38
337#define CLK_GOUT_PERIC1_PCLK_7 39
338#define CLK_GOUT_PERIC1_PCLK_8 40
339#define CLK_GOUT_PERIC1_PCLK_9 41
340#define CLK_GOUT_PERIC1_PCLK_10 42
341#define CLK_GOUT_PERIC1_PCLK_11 43
342
343/* CMU_PERIS */
344#define CLK_MOUT_PERIS_BUS_USER 1
345#define CLK_GOUT_SYSREG_PERIS_PCLK 2
346#define CLK_GOUT_WDT_CLUSTER0 3
347#define CLK_GOUT_WDT_CLUSTER1 4
348
349#endif /* _DT_BINDINGS_CLOCK_EXYNOSAUTOV9_H */
350

source code of linux/include/dt-bindings/clock/samsung,exynosautov9.h