1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright 2016 Freescale Semiconductor, Inc.
4 * Copyright 2017 NXP
5 */
6
7#ifndef __DT_BINDINGS_CLOCK_IMX8MQ_H
8#define __DT_BINDINGS_CLOCK_IMX8MQ_H
9
10#define IMX8MQ_CLK_DUMMY 0
11#define IMX8MQ_CLK_32K 1
12#define IMX8MQ_CLK_25M 2
13#define IMX8MQ_CLK_27M 3
14#define IMX8MQ_CLK_EXT1 4
15#define IMX8MQ_CLK_EXT2 5
16#define IMX8MQ_CLK_EXT3 6
17#define IMX8MQ_CLK_EXT4 7
18
19/* ANAMIX PLL clocks */
20/* FRAC PLLs */
21/* ARM PLL */
22#define IMX8MQ_ARM_PLL_REF_SEL 8
23#define IMX8MQ_ARM_PLL_REF_DIV 9
24#define IMX8MQ_ARM_PLL 10
25#define IMX8MQ_ARM_PLL_BYPASS 11
26#define IMX8MQ_ARM_PLL_OUT 12
27
28/* GPU PLL */
29#define IMX8MQ_GPU_PLL_REF_SEL 13
30#define IMX8MQ_GPU_PLL_REF_DIV 14
31#define IMX8MQ_GPU_PLL 15
32#define IMX8MQ_GPU_PLL_BYPASS 16
33#define IMX8MQ_GPU_PLL_OUT 17
34
35/* VPU PLL */
36#define IMX8MQ_VPU_PLL_REF_SEL 18
37#define IMX8MQ_VPU_PLL_REF_DIV 19
38#define IMX8MQ_VPU_PLL 20
39#define IMX8MQ_VPU_PLL_BYPASS 21
40#define IMX8MQ_VPU_PLL_OUT 22
41
42/* AUDIO PLL1 */
43#define IMX8MQ_AUDIO_PLL1_REF_SEL 23
44#define IMX8MQ_AUDIO_PLL1_REF_DIV 24
45#define IMX8MQ_AUDIO_PLL1 25
46#define IMX8MQ_AUDIO_PLL1_BYPASS 26
47#define IMX8MQ_AUDIO_PLL1_OUT 27
48
49/* AUDIO PLL2 */
50#define IMX8MQ_AUDIO_PLL2_REF_SEL 28
51#define IMX8MQ_AUDIO_PLL2_REF_DIV 29
52#define IMX8MQ_AUDIO_PLL2 30
53#define IMX8MQ_AUDIO_PLL2_BYPASS 31
54#define IMX8MQ_AUDIO_PLL2_OUT 32
55
56/* VIDEO PLL1 */
57#define IMX8MQ_VIDEO_PLL1_REF_SEL 33
58#define IMX8MQ_VIDEO_PLL1_REF_DIV 34
59#define IMX8MQ_VIDEO_PLL1 35
60#define IMX8MQ_VIDEO_PLL1_BYPASS 36
61#define IMX8MQ_VIDEO_PLL1_OUT 37
62
63/* SYS1 PLL */
64#define IMX8MQ_SYS1_PLL1_REF_SEL 38
65#define IMX8MQ_SYS1_PLL1_REF_DIV 39
66#define IMX8MQ_SYS1_PLL1 40
67#define IMX8MQ_SYS1_PLL1_OUT 41
68#define IMX8MQ_SYS1_PLL1_OUT_DIV 42
69#define IMX8MQ_SYS1_PLL2 43
70#define IMX8MQ_SYS1_PLL2_DIV 44
71#define IMX8MQ_SYS1_PLL2_OUT 45
72
73/* SYS2 PLL */
74#define IMX8MQ_SYS2_PLL1_REF_SEL 46
75#define IMX8MQ_SYS2_PLL1_REF_DIV 47
76#define IMX8MQ_SYS2_PLL1 48
77#define IMX8MQ_SYS2_PLL1_OUT 49
78#define IMX8MQ_SYS2_PLL1_OUT_DIV 50
79#define IMX8MQ_SYS2_PLL2 51
80#define IMX8MQ_SYS2_PLL2_DIV 52
81#define IMX8MQ_SYS2_PLL2_OUT 53
82
83/* SYS3 PLL */
84#define IMX8MQ_SYS3_PLL1_REF_SEL 54
85#define IMX8MQ_SYS3_PLL1_REF_DIV 55
86#define IMX8MQ_SYS3_PLL1 56
87#define IMX8MQ_SYS3_PLL1_OUT 57
88#define IMX8MQ_SYS3_PLL1_OUT_DIV 58
89#define IMX8MQ_SYS3_PLL2 59
90#define IMX8MQ_SYS3_PLL2_DIV 60
91#define IMX8MQ_SYS3_PLL2_OUT 61
92
93/* DRAM PLL */
94#define IMX8MQ_DRAM_PLL1_REF_SEL 62
95#define IMX8MQ_DRAM_PLL1_REF_DIV 63
96#define IMX8MQ_DRAM_PLL1 64
97#define IMX8MQ_DRAM_PLL1_OUT 65
98#define IMX8MQ_DRAM_PLL1_OUT_DIV 66
99#define IMX8MQ_DRAM_PLL2 67
100#define IMX8MQ_DRAM_PLL2_DIV 68
101#define IMX8MQ_DRAM_PLL2_OUT 69
102
103/* SYS PLL DIV */
104#define IMX8MQ_SYS1_PLL_40M 70
105#define IMX8MQ_SYS1_PLL_80M 71
106#define IMX8MQ_SYS1_PLL_100M 72
107#define IMX8MQ_SYS1_PLL_133M 73
108#define IMX8MQ_SYS1_PLL_160M 74
109#define IMX8MQ_SYS1_PLL_200M 75
110#define IMX8MQ_SYS1_PLL_266M 76
111#define IMX8MQ_SYS1_PLL_400M 77
112#define IMX8MQ_SYS1_PLL_800M 78
113
114#define IMX8MQ_SYS2_PLL_50M 79
115#define IMX8MQ_SYS2_PLL_100M 80
116#define IMX8MQ_SYS2_PLL_125M 81
117#define IMX8MQ_SYS2_PLL_166M 82
118#define IMX8MQ_SYS2_PLL_200M 83
119#define IMX8MQ_SYS2_PLL_250M 84
120#define IMX8MQ_SYS2_PLL_333M 85
121#define IMX8MQ_SYS2_PLL_500M 86
122#define IMX8MQ_SYS2_PLL_1000M 87
123
124/* CCM ROOT clocks */
125/* A53 */
126#define IMX8MQ_CLK_A53_SRC 88
127#define IMX8MQ_CLK_A53_CG 89
128#define IMX8MQ_CLK_A53_DIV 90
129/* M4 */
130#define IMX8MQ_CLK_M4_SRC 91
131#define IMX8MQ_CLK_M4_CG 92
132#define IMX8MQ_CLK_M4_DIV 93
133/* VPU */
134#define IMX8MQ_CLK_VPU_SRC 94
135#define IMX8MQ_CLK_VPU_CG 95
136#define IMX8MQ_CLK_VPU_DIV 96
137/* GPU CORE */
138#define IMX8MQ_CLK_GPU_CORE_SRC 97
139#define IMX8MQ_CLK_GPU_CORE_CG 98
140#define IMX8MQ_CLK_GPU_CORE_DIV 99
141/* GPU SHADER */
142#define IMX8MQ_CLK_GPU_SHADER_SRC 100
143#define IMX8MQ_CLK_GPU_SHADER_CG 101
144#define IMX8MQ_CLK_GPU_SHADER_DIV 102
145
146/* BUS TYPE */
147/* MAIN AXI */
148#define IMX8MQ_CLK_MAIN_AXI 103
149/* ENET AXI */
150#define IMX8MQ_CLK_ENET_AXI 104
151/* NAND_USDHC_BUS */
152#define IMX8MQ_CLK_NAND_USDHC_BUS 105
153/* VPU BUS */
154#define IMX8MQ_CLK_VPU_BUS 106
155/* DISP_AXI */
156#define IMX8MQ_CLK_DISP_AXI 107
157/* DISP APB */
158#define IMX8MQ_CLK_DISP_APB 108
159/* DISP RTRM */
160#define IMX8MQ_CLK_DISP_RTRM 109
161/* USB_BUS */
162#define IMX8MQ_CLK_USB_BUS 110
163/* GPU_AXI */
164#define IMX8MQ_CLK_GPU_AXI 111
165/* GPU_AHB */
166#define IMX8MQ_CLK_GPU_AHB 112
167/* NOC */
168#define IMX8MQ_CLK_NOC 113
169/* NOC_APB */
170#define IMX8MQ_CLK_NOC_APB 115
171
172/* AHB */
173#define IMX8MQ_CLK_AHB 116
174/* AUDIO AHB */
175#define IMX8MQ_CLK_AUDIO_AHB 117
176
177/* DRAM_ALT */
178#define IMX8MQ_CLK_DRAM_ALT 118
179/* DRAM APB */
180#define IMX8MQ_CLK_DRAM_APB 119
181/* VPU_G1 */
182#define IMX8MQ_CLK_VPU_G1 120
183/* VPU_G2 */
184#define IMX8MQ_CLK_VPU_G2 121
185/* DISP_DTRC */
186#define IMX8MQ_CLK_DISP_DTRC 122
187/* DISP_DC8000 */
188#define IMX8MQ_CLK_DISP_DC8000 123
189/* PCIE_CTRL */
190#define IMX8MQ_CLK_PCIE1_CTRL 124
191/* PCIE_PHY */
192#define IMX8MQ_CLK_PCIE1_PHY 125
193/* PCIE_AUX */
194#define IMX8MQ_CLK_PCIE1_AUX 126
195/* DC_PIXEL */
196#define IMX8MQ_CLK_DC_PIXEL 127
197/* LCDIF_PIXEL */
198#define IMX8MQ_CLK_LCDIF_PIXEL 128
199/* SAI1~6 */
200#define IMX8MQ_CLK_SAI1 129
201
202#define IMX8MQ_CLK_SAI2 130
203
204#define IMX8MQ_CLK_SAI3 131
205
206#define IMX8MQ_CLK_SAI4 132
207
208#define IMX8MQ_CLK_SAI5 133
209
210#define IMX8MQ_CLK_SAI6 134
211/* SPDIF1 */
212#define IMX8MQ_CLK_SPDIF1 135
213/* SPDIF2 */
214#define IMX8MQ_CLK_SPDIF2 136
215/* ENET_REF */
216#define IMX8MQ_CLK_ENET_REF 137
217/* ENET_TIMER */
218#define IMX8MQ_CLK_ENET_TIMER 138
219/* ENET_PHY */
220#define IMX8MQ_CLK_ENET_PHY_REF 139
221/* NAND */
222#define IMX8MQ_CLK_NAND 140
223/* QSPI */
224#define IMX8MQ_CLK_QSPI 141
225/* USDHC1 */
226#define IMX8MQ_CLK_USDHC1 142
227/* USDHC2 */
228#define IMX8MQ_CLK_USDHC2 143
229/* I2C1 */
230#define IMX8MQ_CLK_I2C1 144
231/* I2C2 */
232#define IMX8MQ_CLK_I2C2 145
233/* I2C3 */
234#define IMX8MQ_CLK_I2C3 146
235/* I2C4 */
236#define IMX8MQ_CLK_I2C4 147
237/* UART1 */
238#define IMX8MQ_CLK_UART1 148
239/* UART2 */
240#define IMX8MQ_CLK_UART2 149
241/* UART3 */
242#define IMX8MQ_CLK_UART3 150
243/* UART4 */
244#define IMX8MQ_CLK_UART4 151
245/* USB_CORE_REF */
246#define IMX8MQ_CLK_USB_CORE_REF 152
247/* USB_PHY_REF */
248#define IMX8MQ_CLK_USB_PHY_REF 153
249/* ECSPI1 */
250#define IMX8MQ_CLK_ECSPI1 154
251/* ECSPI2 */
252#define IMX8MQ_CLK_ECSPI2 155
253/* PWM1 */
254#define IMX8MQ_CLK_PWM1 156
255/* PWM2 */
256#define IMX8MQ_CLK_PWM2 157
257/* PWM3 */
258#define IMX8MQ_CLK_PWM3 158
259/* PWM4 */
260#define IMX8MQ_CLK_PWM4 159
261/* GPT1 */
262#define IMX8MQ_CLK_GPT1 160
263/* WDOG */
264#define IMX8MQ_CLK_WDOG 161
265/* WRCLK */
266#define IMX8MQ_CLK_WRCLK 162
267/* DSI_CORE */
268#define IMX8MQ_CLK_DSI_CORE 163
269/* DSI_PHY */
270#define IMX8MQ_CLK_DSI_PHY_REF 164
271/* DSI_DBI */
272#define IMX8MQ_CLK_DSI_DBI 165
273/*DSI_ESC */
274#define IMX8MQ_CLK_DSI_ESC 166
275/* CSI1_CORE */
276#define IMX8MQ_CLK_CSI1_CORE 167
277/* CSI1_PHY */
278#define IMX8MQ_CLK_CSI1_PHY_REF 168
279/* CSI_ESC */
280#define IMX8MQ_CLK_CSI1_ESC 169
281/* CSI2_CORE */
282#define IMX8MQ_CLK_CSI2_CORE 170
283/* CSI2_PHY */
284#define IMX8MQ_CLK_CSI2_PHY_REF 171
285/* CSI2_ESC */
286#define IMX8MQ_CLK_CSI2_ESC 172
287/* PCIE2_CTRL */
288#define IMX8MQ_CLK_PCIE2_CTRL 173
289/* PCIE2_PHY */
290#define IMX8MQ_CLK_PCIE2_PHY 174
291/* PCIE2_AUX */
292#define IMX8MQ_CLK_PCIE2_AUX 175
293/* ECSPI3 */
294#define IMX8MQ_CLK_ECSPI3 176
295
296/* CCGR clocks */
297#define IMX8MQ_CLK_A53_ROOT 177
298#define IMX8MQ_CLK_DRAM_ROOT 178
299#define IMX8MQ_CLK_ECSPI1_ROOT 179
300#define IMX8MQ_CLK_ECSPI2_ROOT 180
301#define IMX8MQ_CLK_ECSPI3_ROOT 181
302#define IMX8MQ_CLK_ENET1_ROOT 182
303#define IMX8MQ_CLK_GPT1_ROOT 183
304#define IMX8MQ_CLK_I2C1_ROOT 184
305#define IMX8MQ_CLK_I2C2_ROOT 185
306#define IMX8MQ_CLK_I2C3_ROOT 186
307#define IMX8MQ_CLK_I2C4_ROOT 187
308#define IMX8MQ_CLK_M4_ROOT 188
309#define IMX8MQ_CLK_PCIE1_ROOT 189
310#define IMX8MQ_CLK_PCIE2_ROOT 190
311#define IMX8MQ_CLK_PWM1_ROOT 191
312#define IMX8MQ_CLK_PWM2_ROOT 192
313#define IMX8MQ_CLK_PWM3_ROOT 193
314#define IMX8MQ_CLK_PWM4_ROOT 194
315#define IMX8MQ_CLK_QSPI_ROOT 195
316#define IMX8MQ_CLK_SAI1_ROOT 196
317#define IMX8MQ_CLK_SAI2_ROOT 197
318#define IMX8MQ_CLK_SAI3_ROOT 198
319#define IMX8MQ_CLK_SAI4_ROOT 199
320#define IMX8MQ_CLK_SAI5_ROOT 200
321#define IMX8MQ_CLK_SAI6_ROOT 201
322#define IMX8MQ_CLK_UART1_ROOT 202
323#define IMX8MQ_CLK_UART2_ROOT 203
324#define IMX8MQ_CLK_UART3_ROOT 204
325#define IMX8MQ_CLK_UART4_ROOT 205
326#define IMX8MQ_CLK_USB1_CTRL_ROOT 206
327#define IMX8MQ_CLK_USB2_CTRL_ROOT 207
328#define IMX8MQ_CLK_USB1_PHY_ROOT 208
329#define IMX8MQ_CLK_USB2_PHY_ROOT 209
330#define IMX8MQ_CLK_USDHC1_ROOT 210
331#define IMX8MQ_CLK_USDHC2_ROOT 211
332#define IMX8MQ_CLK_WDOG1_ROOT 212
333#define IMX8MQ_CLK_WDOG2_ROOT 213
334#define IMX8MQ_CLK_WDOG3_ROOT 214
335#define IMX8MQ_CLK_GPU_ROOT 215
336#define IMX8MQ_CLK_HEVC_ROOT 216
337#define IMX8MQ_CLK_AVC_ROOT 217
338#define IMX8MQ_CLK_VP9_ROOT 218
339#define IMX8MQ_CLK_HEVC_INTER_ROOT 219
340#define IMX8MQ_CLK_DISP_ROOT 220
341#define IMX8MQ_CLK_HDMI_ROOT 221
342#define IMX8MQ_CLK_HDMI_PHY_ROOT 222
343#define IMX8MQ_CLK_VPU_DEC_ROOT 223
344#define IMX8MQ_CLK_CSI1_ROOT 224
345#define IMX8MQ_CLK_CSI2_ROOT 225
346#define IMX8MQ_CLK_RAWNAND_ROOT 226
347#define IMX8MQ_CLK_SDMA1_ROOT 227
348#define IMX8MQ_CLK_SDMA2_ROOT 228
349#define IMX8MQ_CLK_VPU_G1_ROOT 229
350#define IMX8MQ_CLK_VPU_G2_ROOT 230
351
352/* SCCG PLL GATE */
353#define IMX8MQ_SYS1_PLL_OUT 231
354#define IMX8MQ_SYS2_PLL_OUT 232
355#define IMX8MQ_SYS3_PLL_OUT 233
356#define IMX8MQ_DRAM_PLL_OUT 234
357
358#define IMX8MQ_GPT_3M_CLK 235
359
360#define IMX8MQ_CLK_IPG_ROOT 236
361#define IMX8MQ_CLK_IPG_AUDIO_ROOT 237
362#define IMX8MQ_CLK_SAI1_IPG 238
363#define IMX8MQ_CLK_SAI2_IPG 239
364#define IMX8MQ_CLK_SAI3_IPG 240
365#define IMX8MQ_CLK_SAI4_IPG 241
366#define IMX8MQ_CLK_SAI5_IPG 242
367#define IMX8MQ_CLK_SAI6_IPG 243
368
369/* DSI AHB/IPG clocks */
370/* rxesc clock */
371#define IMX8MQ_CLK_DSI_AHB 244
372/* txesc clock */
373#define IMX8MQ_CLK_DSI_IPG_DIV 245
374
375#define IMX8MQ_CLK_TMU_ROOT 246
376
377/* Display root clocks */
378#define IMX8MQ_CLK_DISP_AXI_ROOT 247
379#define IMX8MQ_CLK_DISP_APB_ROOT 248
380#define IMX8MQ_CLK_DISP_RTRM_ROOT 249
381
382#define IMX8MQ_CLK_OCOTP_ROOT 250
383
384#define IMX8MQ_CLK_DRAM_ALT_ROOT 251
385#define IMX8MQ_CLK_DRAM_CORE 252
386
387#define IMX8MQ_CLK_MU_ROOT 253
388#define IMX8MQ_VIDEO2_PLL_OUT 254
389
390#define IMX8MQ_CLK_CLKO2 255
391
392#define IMX8MQ_CLK_NAND_USDHC_BUS_RAWNAND_CLK 256
393
394#define IMX8MQ_CLK_CLKO1 257
395#define IMX8MQ_CLK_ARM 258
396
397#define IMX8MQ_CLK_GPIO1_ROOT 259
398#define IMX8MQ_CLK_GPIO2_ROOT 260
399#define IMX8MQ_CLK_GPIO3_ROOT 261
400#define IMX8MQ_CLK_GPIO4_ROOT 262
401#define IMX8MQ_CLK_GPIO5_ROOT 263
402
403#define IMX8MQ_CLK_SNVS_ROOT 264
404#define IMX8MQ_CLK_GIC 265
405
406#define IMX8MQ_VIDEO2_PLL1_REF_SEL 266
407
408#define IMX8MQ_CLK_GPU_CORE 285
409#define IMX8MQ_CLK_GPU_SHADER 286
410#define IMX8MQ_CLK_M4_CORE 287
411#define IMX8MQ_CLK_VPU_CORE 288
412
413#define IMX8MQ_CLK_A53_CORE 289
414
415#define IMX8MQ_CLK_MON_AUDIO_PLL1_DIV 290
416#define IMX8MQ_CLK_MON_AUDIO_PLL2_DIV 291
417#define IMX8MQ_CLK_MON_VIDEO_PLL1_DIV 292
418#define IMX8MQ_CLK_MON_GPU_PLL_DIV 293
419#define IMX8MQ_CLK_MON_VPU_PLL_DIV 294
420#define IMX8MQ_CLK_MON_ARM_PLL_DIV 295
421#define IMX8MQ_CLK_MON_SYS_PLL1_DIV 296
422#define IMX8MQ_CLK_MON_SYS_PLL2_DIV 297
423#define IMX8MQ_CLK_MON_SYS_PLL3_DIV 298
424#define IMX8MQ_CLK_MON_DRAM_PLL_DIV 299
425#define IMX8MQ_CLK_MON_VIDEO_PLL2_DIV 300
426#define IMX8MQ_CLK_MON_SEL 301
427#define IMX8MQ_CLK_MON_CLK2_OUT 302
428
429#define IMX8MQ_CLK_END 303
430
431#endif /* __DT_BINDINGS_CLOCK_IMX8MQ_H */
432

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