xref: /linux/include/dt-bindings/clock/imx8ulp-clock.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1 /* SPDX-License-Identifier: GPL-2.0+ OR MIT */
2 /*
3  * Copyright 2021 NXP
4  */
5 
6 #ifndef __DT_BINDINGS_CLOCK_IMX8ULP_H
7 #define __DT_BINDINGS_CLOCK_IMX8ULP_H
8 
9 #define IMX8ULP_CLK_DUMMY			0
10 
11 /* CGC1 */
12 #define IMX8ULP_CLK_SPLL2			5
13 #define IMX8ULP_CLK_SPLL3			6
14 #define IMX8ULP_CLK_A35_SEL			7
15 #define IMX8ULP_CLK_A35_DIV			8
16 #define IMX8ULP_CLK_SPLL2_PRE_SEL		9
17 #define IMX8ULP_CLK_SPLL3_PRE_SEL		10
18 #define IMX8ULP_CLK_SPLL3_PFD0			11
19 #define IMX8ULP_CLK_SPLL3_PFD1			12
20 #define IMX8ULP_CLK_SPLL3_PFD2			13
21 #define IMX8ULP_CLK_SPLL3_PFD3			14
22 #define IMX8ULP_CLK_SPLL3_PFD0_DIV1		15
23 #define IMX8ULP_CLK_SPLL3_PFD0_DIV2		16
24 #define IMX8ULP_CLK_SPLL3_PFD1_DIV1		17
25 #define IMX8ULP_CLK_SPLL3_PFD1_DIV2		18
26 #define IMX8ULP_CLK_SPLL3_PFD2_DIV1		19
27 #define IMX8ULP_CLK_SPLL3_PFD2_DIV2		20
28 #define IMX8ULP_CLK_SPLL3_PFD3_DIV1		21
29 #define IMX8ULP_CLK_SPLL3_PFD3_DIV2		22
30 #define IMX8ULP_CLK_NIC_SEL			23
31 #define IMX8ULP_CLK_NIC_AD_DIVPLAT		24
32 #define IMX8ULP_CLK_NIC_PER_DIVPLAT		25
33 #define IMX8ULP_CLK_XBAR_SEL			26
34 #define IMX8ULP_CLK_XBAR_AD_DIVPLAT		27
35 #define IMX8ULP_CLK_XBAR_DIVBUS			28
36 #define IMX8ULP_CLK_XBAR_AD_SLOW		29
37 #define IMX8ULP_CLK_SOSC_DIV1			30
38 #define IMX8ULP_CLK_SOSC_DIV2			31
39 #define IMX8ULP_CLK_SOSC_DIV3			32
40 #define IMX8ULP_CLK_FROSC_DIV1			33
41 #define IMX8ULP_CLK_FROSC_DIV2			34
42 #define IMX8ULP_CLK_FROSC_DIV3			35
43 #define IMX8ULP_CLK_SPLL3_VCODIV		36
44 #define IMX8ULP_CLK_SPLL3_PFD0_DIV1_GATE	37
45 #define IMX8ULP_CLK_SPLL3_PFD0_DIV2_GATE	38
46 #define IMX8ULP_CLK_SPLL3_PFD1_DIV1_GATE	39
47 #define IMX8ULP_CLK_SPLL3_PFD1_DIV2_GATE	40
48 #define IMX8ULP_CLK_SPLL3_PFD2_DIV1_GATE	41
49 #define IMX8ULP_CLK_SPLL3_PFD2_DIV2_GATE	42
50 #define IMX8ULP_CLK_SPLL3_PFD3_DIV1_GATE	43
51 #define IMX8ULP_CLK_SPLL3_PFD3_DIV2_GATE	44
52 #define IMX8ULP_CLK_SOSC_DIV1_GATE		45
53 #define IMX8ULP_CLK_SOSC_DIV2_GATE		46
54 #define IMX8ULP_CLK_SOSC_DIV3_GATE		47
55 #define IMX8ULP_CLK_FROSC_DIV1_GATE		48
56 #define IMX8ULP_CLK_FROSC_DIV2_GATE		49
57 #define IMX8ULP_CLK_FROSC_DIV3_GATE		50
58 #define IMX8ULP_CLK_SAI4_SEL			51
59 #define IMX8ULP_CLK_SAI5_SEL			52
60 #define IMX8ULP_CLK_AUD_CLK1			53
61 #define IMX8ULP_CLK_ARM				54
62 #define IMX8ULP_CLK_ENET_TS_SEL			55
63 
64 #define IMX8ULP_CLK_CGC1_END			56
65 
66 /* CGC2 */
67 #define IMX8ULP_CLK_PLL4_PRE_SEL	0
68 #define IMX8ULP_CLK_PLL4		1
69 #define IMX8ULP_CLK_PLL4_VCODIV		2
70 #define IMX8ULP_CLK_DDR_SEL		3
71 #define IMX8ULP_CLK_DDR_DIV		4
72 #define IMX8ULP_CLK_LPAV_AXI_SEL	5
73 #define IMX8ULP_CLK_LPAV_AXI_DIV	6
74 #define IMX8ULP_CLK_LPAV_AHB_DIV	7
75 #define IMX8ULP_CLK_LPAV_BUS_DIV	8
76 #define IMX8ULP_CLK_PLL4_PFD0		9
77 #define IMX8ULP_CLK_PLL4_PFD1		10
78 #define IMX8ULP_CLK_PLL4_PFD2		11
79 #define IMX8ULP_CLK_PLL4_PFD3		12
80 #define IMX8ULP_CLK_PLL4_PFD0_DIV1_GATE	13
81 #define IMX8ULP_CLK_PLL4_PFD0_DIV2_GATE	14
82 #define IMX8ULP_CLK_PLL4_PFD1_DIV1_GATE	15
83 #define IMX8ULP_CLK_PLL4_PFD1_DIV2_GATE	16
84 #define IMX8ULP_CLK_PLL4_PFD2_DIV1_GATE	17
85 #define IMX8ULP_CLK_PLL4_PFD2_DIV2_GATE	18
86 #define IMX8ULP_CLK_PLL4_PFD3_DIV1_GATE	19
87 #define IMX8ULP_CLK_PLL4_PFD3_DIV2_GATE	20
88 #define IMX8ULP_CLK_PLL4_PFD0_DIV1	21
89 #define IMX8ULP_CLK_PLL4_PFD0_DIV2	22
90 #define IMX8ULP_CLK_PLL4_PFD1_DIV1	23
91 #define IMX8ULP_CLK_PLL4_PFD1_DIV2	24
92 #define IMX8ULP_CLK_PLL4_PFD2_DIV1	25
93 #define IMX8ULP_CLK_PLL4_PFD2_DIV2	26
94 #define IMX8ULP_CLK_PLL4_PFD3_DIV1	27
95 #define IMX8ULP_CLK_PLL4_PFD3_DIV2	28
96 #define IMX8ULP_CLK_CGC2_SOSC_DIV1_GATE	29
97 #define IMX8ULP_CLK_CGC2_SOSC_DIV2_GATE	30
98 #define IMX8ULP_CLK_CGC2_SOSC_DIV3_GATE	31
99 #define IMX8ULP_CLK_CGC2_SOSC_DIV1	32
100 #define IMX8ULP_CLK_CGC2_SOSC_DIV2	33
101 #define IMX8ULP_CLK_CGC2_SOSC_DIV3	34
102 #define IMX8ULP_CLK_CGC2_FROSC_DIV1_GATE	35
103 #define IMX8ULP_CLK_CGC2_FROSC_DIV2_GATE	36
104 #define IMX8ULP_CLK_CGC2_FROSC_DIV3_GATE	37
105 #define IMX8ULP_CLK_CGC2_FROSC_DIV1	38
106 #define IMX8ULP_CLK_CGC2_FROSC_DIV2	39
107 #define IMX8ULP_CLK_CGC2_FROSC_DIV3	40
108 #define IMX8ULP_CLK_AUD_CLK2		41
109 #define IMX8ULP_CLK_SAI6_SEL		42
110 #define IMX8ULP_CLK_SAI7_SEL		43
111 #define IMX8ULP_CLK_SPDIF_SEL		44
112 #define IMX8ULP_CLK_HIFI_SEL		45
113 #define IMX8ULP_CLK_HIFI_DIVCORE	46
114 #define IMX8ULP_CLK_HIFI_DIVPLAT	47
115 #define IMX8ULP_CLK_DSI_PHY_REF		48
116 
117 #define IMX8ULP_CLK_CGC2_END		49
118 
119 /* PCC3 */
120 #define IMX8ULP_CLK_WDOG3		0
121 #define IMX8ULP_CLK_WDOG4		1
122 #define IMX8ULP_CLK_LPIT1		2
123 #define IMX8ULP_CLK_TPM4		3
124 #define IMX8ULP_CLK_TPM5		4
125 #define IMX8ULP_CLK_FLEXIO1		5
126 #define IMX8ULP_CLK_I3C2		6
127 #define IMX8ULP_CLK_LPI2C4		7
128 #define IMX8ULP_CLK_LPI2C5		8
129 #define IMX8ULP_CLK_LPUART4		9
130 #define IMX8ULP_CLK_LPUART5		10
131 #define IMX8ULP_CLK_LPSPI4		11
132 #define IMX8ULP_CLK_LPSPI5		12
133 #define IMX8ULP_CLK_DMA1_MP		13
134 #define IMX8ULP_CLK_DMA1_CH0		14
135 #define IMX8ULP_CLK_DMA1_CH1		15
136 #define IMX8ULP_CLK_DMA1_CH2		16
137 #define IMX8ULP_CLK_DMA1_CH3		17
138 #define IMX8ULP_CLK_DMA1_CH4		18
139 #define IMX8ULP_CLK_DMA1_CH5		19
140 #define IMX8ULP_CLK_DMA1_CH6		20
141 #define IMX8ULP_CLK_DMA1_CH7		21
142 #define IMX8ULP_CLK_DMA1_CH8		22
143 #define IMX8ULP_CLK_DMA1_CH9		23
144 #define IMX8ULP_CLK_DMA1_CH10		24
145 #define IMX8ULP_CLK_DMA1_CH11		25
146 #define IMX8ULP_CLK_DMA1_CH12		26
147 #define IMX8ULP_CLK_DMA1_CH13		27
148 #define IMX8ULP_CLK_DMA1_CH14		28
149 #define IMX8ULP_CLK_DMA1_CH15		29
150 #define IMX8ULP_CLK_DMA1_CH16		30
151 #define IMX8ULP_CLK_DMA1_CH17		31
152 #define IMX8ULP_CLK_DMA1_CH18		32
153 #define IMX8ULP_CLK_DMA1_CH19		33
154 #define IMX8ULP_CLK_DMA1_CH20		34
155 #define IMX8ULP_CLK_DMA1_CH21		35
156 #define IMX8ULP_CLK_DMA1_CH22		36
157 #define IMX8ULP_CLK_DMA1_CH23		37
158 #define IMX8ULP_CLK_DMA1_CH24		38
159 #define IMX8ULP_CLK_DMA1_CH25		39
160 #define IMX8ULP_CLK_DMA1_CH26		40
161 #define IMX8ULP_CLK_DMA1_CH27		41
162 #define IMX8ULP_CLK_DMA1_CH28		42
163 #define IMX8ULP_CLK_DMA1_CH29		43
164 #define IMX8ULP_CLK_DMA1_CH30		44
165 #define IMX8ULP_CLK_DMA1_CH31		45
166 #define IMX8ULP_CLK_MU3_A		46
167 #define IMX8ULP_CLK_MU0_B		47
168 
169 #define IMX8ULP_CLK_PCC3_END		48
170 
171 /* PCC4 */
172 #define IMX8ULP_CLK_FLEXSPI2		0
173 #define IMX8ULP_CLK_TPM6		1
174 #define IMX8ULP_CLK_TPM7		2
175 #define IMX8ULP_CLK_LPI2C6		3
176 #define IMX8ULP_CLK_LPI2C7		4
177 #define IMX8ULP_CLK_LPUART6		5
178 #define IMX8ULP_CLK_LPUART7		6
179 #define IMX8ULP_CLK_SAI4		7
180 #define IMX8ULP_CLK_SAI5		8
181 #define IMX8ULP_CLK_PCTLE		9
182 #define IMX8ULP_CLK_PCTLF		10
183 #define IMX8ULP_CLK_USDHC0		11
184 #define IMX8ULP_CLK_USDHC1		12
185 #define IMX8ULP_CLK_USDHC2		13
186 #define IMX8ULP_CLK_USB0		14
187 #define IMX8ULP_CLK_USB0_PHY		15
188 #define IMX8ULP_CLK_USB1		16
189 #define IMX8ULP_CLK_USB1_PHY		17
190 #define IMX8ULP_CLK_USB_XBAR		18
191 #define IMX8ULP_CLK_ENET		19
192 #define IMX8ULP_CLK_SFA1		20
193 #define IMX8ULP_CLK_RGPIOE		21
194 #define IMX8ULP_CLK_RGPIOF		22
195 
196 #define IMX8ULP_CLK_PCC4_END		23
197 
198 /* PCC5 */
199 #define IMX8ULP_CLK_TPM8		0
200 #define IMX8ULP_CLK_SAI6		1
201 #define IMX8ULP_CLK_SAI7		2
202 #define IMX8ULP_CLK_SPDIF		3
203 #define IMX8ULP_CLK_ISI			4
204 #define IMX8ULP_CLK_CSI_REGS		5
205 #define IMX8ULP_CLK_PCTLD		6
206 #define IMX8ULP_CLK_CSI			7
207 #define IMX8ULP_CLK_DSI			8
208 #define IMX8ULP_CLK_WDOG5		9
209 #define IMX8ULP_CLK_EPDC		10
210 #define IMX8ULP_CLK_PXP			11
211 #define IMX8ULP_CLK_SFA2		12
212 #define IMX8ULP_CLK_GPU2D		13
213 #define IMX8ULP_CLK_GPU3D		14
214 #define IMX8ULP_CLK_DC_NANO		15
215 #define IMX8ULP_CLK_CSI_CLK_UI		16
216 #define IMX8ULP_CLK_CSI_CLK_ESC		17
217 #define IMX8ULP_CLK_RGPIOD		18
218 #define IMX8ULP_CLK_DMA2_MP		19
219 #define IMX8ULP_CLK_DMA2_CH0		20
220 #define IMX8ULP_CLK_DMA2_CH1		21
221 #define IMX8ULP_CLK_DMA2_CH2		22
222 #define IMX8ULP_CLK_DMA2_CH3		23
223 #define IMX8ULP_CLK_DMA2_CH4		24
224 #define IMX8ULP_CLK_DMA2_CH5		25
225 #define IMX8ULP_CLK_DMA2_CH6		26
226 #define IMX8ULP_CLK_DMA2_CH7		27
227 #define IMX8ULP_CLK_DMA2_CH8		28
228 #define IMX8ULP_CLK_DMA2_CH9		29
229 #define IMX8ULP_CLK_DMA2_CH10		30
230 #define IMX8ULP_CLK_DMA2_CH11		31
231 #define IMX8ULP_CLK_DMA2_CH12		32
232 #define IMX8ULP_CLK_DMA2_CH13		33
233 #define IMX8ULP_CLK_DMA2_CH14		34
234 #define IMX8ULP_CLK_DMA2_CH15		35
235 #define IMX8ULP_CLK_DMA2_CH16		36
236 #define IMX8ULP_CLK_DMA2_CH17		37
237 #define IMX8ULP_CLK_DMA2_CH18		38
238 #define IMX8ULP_CLK_DMA2_CH19		39
239 #define IMX8ULP_CLK_DMA2_CH20		40
240 #define IMX8ULP_CLK_DMA2_CH21		41
241 #define IMX8ULP_CLK_DMA2_CH22		42
242 #define IMX8ULP_CLK_DMA2_CH23		43
243 #define IMX8ULP_CLK_DMA2_CH24		44
244 #define IMX8ULP_CLK_DMA2_CH25		45
245 #define IMX8ULP_CLK_DMA2_CH26		46
246 #define IMX8ULP_CLK_DMA2_CH27		47
247 #define IMX8ULP_CLK_DMA2_CH28		48
248 #define IMX8ULP_CLK_DMA2_CH29		49
249 #define IMX8ULP_CLK_DMA2_CH30		50
250 #define IMX8ULP_CLK_DMA2_CH31		51
251 #define IMX8ULP_CLK_MU2_B		52
252 #define IMX8ULP_CLK_MU3_B		53
253 #define IMX8ULP_CLK_AVD_SIM		54
254 #define IMX8ULP_CLK_DSI_TX_ESC		55
255 
256 #define IMX8ULP_CLK_PCC5_END		56
257 
258 #endif
259