xref: /netbsd-src/sys/arch/arm/nxp/imx8mq_ccm.h (revision 8644267a503e0f573f2833152303dbf2ce4aca52)
1 /* $NetBSD: imx8mq_ccm.h,v 1.1 2020/12/23 14:42:38 skrll Exp $ */
2 
3 /*-
4  * Copyright (c) 2020 Jared McNeill <jmcneill@invisible.ca>
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28 
29 #ifndef _IMX8MQ_CCM_H
30 #define _IMX8MQ_CCM_H
31 
32 /*
33  * Clocks
34  */
35 
36 #define	CLK_DUMMY 0
37 #define	CLK_32K 1
38 #define	CLK_25M 2
39 #define	CLK_27M 3
40 #define	CLK_EXT1 4
41 #define	CLK_EXT2 5
42 #define	CLK_EXT3 6
43 #define	CLK_EXT4 7
44 #define	ARM_PLL_REF_SEL 8
45 #define	ARM_PLL_REF_DIV 9
46 #define	ARM_PLL 10
47 #define	ARM_PLL_BYPASS 11
48 #define	ARM_PLL_OUT 12
49 #define	GPU_PLL_REF_SEL 13
50 #define	GPU_PLL_REF_DIV 14
51 #define	GPU_PLL 15
52 #define	GPU_PLL_BYPASS 16
53 #define	GPU_PLL_OUT 17
54 #define	VPU_PLL_REF_SEL 18
55 #define	VPU_PLL_REF_DIV 19
56 #define	VPU_PLL 20
57 #define	VPU_PLL_BYPASS 21
58 #define	VPU_PLL_OUT 22
59 #define	AUDIO_PLL1_REF_SEL 23
60 #define	AUDIO_PLL1_REF_DIV 24
61 #define	AUDIO_PLL1 25
62 #define	AUDIO_PLL1_BYPASS 26
63 #define	AUDIO_PLL1_OUT 27
64 #define	AUDIO_PLL2_REF_SEL 28
65 #define	AUDIO_PLL2_REF_DIV 29
66 #define	AUDIO_PLL2 30
67 #define	AUDIO_PLL2_BYPASS 31
68 #define	AUDIO_PLL2_OUT 32
69 #define	VIDEO_PLL1_REF_SEL 33
70 #define	VIDEO_PLL1_REF_DIV 34
71 #define	VIDEO_PLL1 35
72 #define	VIDEO_PLL1_BYPASS 36
73 #define	VIDEO_PLL1_OUT 37
74 #define	SYS1_PLL1_REF_SEL 38
75 #define	SYS1_PLL1_REF_DIV 39
76 #define	SYS1_PLL1 40
77 #define	SYS1_PLL1_OUT 41
78 #define	SYS1_PLL1_OUT_DIV 42
79 #define	SYS1_PLL2 43
80 #define	SYS1_PLL2_DIV 44
81 #define	SYS1_PLL2_OUT 45
82 #define	SYS2_PLL1_REF_SEL 46
83 #define	SYS2_PLL1_REF_DIV 47
84 #define	SYS2_PLL1 48
85 #define	SYS2_PLL1_OUT 49
86 #define	SYS2_PLL1_OUT_DIV 50
87 #define	SYS2_PLL2 51
88 #define	SYS2_PLL2_DIV 52
89 #define	SYS2_PLL2_OUT 53
90 #define	SYS3_PLL1_REF_SEL 54
91 #define	SYS3_PLL1_REF_DIV 55
92 #define	SYS3_PLL1 56
93 #define	SYS3_PLL1_OUT 57
94 #define	SYS3_PLL1_OUT_DIV 58
95 #define	SYS3_PLL2 59
96 #define	SYS3_PLL2_DIV 60
97 #define	SYS3_PLL2_OUT 61
98 #define	DRAM_PLL1_REF_SEL 62
99 #define	DRAM_PLL1_REF_DIV 63
100 #define	DRAM_PLL1 64
101 #define	DRAM_PLL1_OUT 65
102 #define	DRAM_PLL1_OUT_DIV 66
103 #define	DRAM_PLL2 67
104 #define	DRAM_PLL2_DIV 68
105 #define	DRAM_PLL2_OUT 69
106 #define	SYS1_PLL_40M 70
107 #define	SYS1_PLL_80M 71
108 #define	SYS1_PLL_100M 72
109 #define	SYS1_PLL_133M 73
110 #define	SYS1_PLL_160M 74
111 #define	SYS1_PLL_200M 75
112 #define	SYS1_PLL_266M 76
113 #define	SYS1_PLL_400M 77
114 #define	SYS1_PLL_800M 78
115 #define	SYS2_PLL_50M 79
116 #define	SYS2_PLL_100M 80
117 #define	SYS2_PLL_125M 81
118 #define	SYS2_PLL_166M 82
119 #define	SYS2_PLL_200M 83
120 #define	SYS2_PLL_250M 84
121 #define	SYS2_PLL_333M 85
122 #define	SYS2_PLL_500M 86
123 #define	SYS2_PLL_1000M 87
124 #define	CLK_A53_SRC 88
125 #define	CLK_A53_CG 89
126 #define	CLK_A53_DIV 90
127 #define	CLK_M4_SRC 91
128 #define	CLK_M4_CG 92
129 #define	CLK_M4_DIV 93
130 #define	CLK_VPU_SRC 94
131 #define	CLK_VPU_CG 95
132 #define	CLK_VPU_DIV 96
133 #define	CLK_GPU_CORE_SRC 97
134 #define	CLK_GPU_CORE_CG 98
135 #define	CLK_GPU_CORE_DIV 99
136 #define	CLK_GPU_SHADER_SRC 100
137 #define	CLK_GPU_SHADER_CG 101
138 #define	CLK_GPU_SHADER_DIV 102
139 #define	CLK_MAIN_AXI 103
140 #define	CLK_ENET_AXI 104
141 #define	CLK_NAND_USDHC_BUS 105
142 #define	CLK_VPU_BUS 106
143 #define	CLK_DISP_AXI 107
144 #define	CLK_DISP_APB 108
145 #define	CLK_DISP_RTRM 109
146 #define	CLK_USB_BUS 110
147 #define	CLK_GPU_AXI 111
148 #define	CLK_GPU_AHB 112
149 #define	CLK_NOC 113
150 #define	CLK_NOC_APB 115
151 #define	CLK_AHB 116
152 #define	CLK_AUDIO_AHB 117
153 #define	CLK_DRAM_ALT 118
154 #define	CLK_DRAM_APB 119
155 #define	CLK_VPU_G1 120
156 #define	CLK_VPU_G2 121
157 #define	CLK_DISP_DTRC 122
158 #define	CLK_DISP_DC8000 123
159 #define	CLK_PCIE1_CTRL 124
160 #define	CLK_PCIE1_PHY 125
161 #define	CLK_PCIE1_AUX 126
162 #define	CLK_DC_PIXEL 127
163 #define	CLK_LCDIF_PIXEL 128
164 #define	CLK_SAI1 129
165 #define	CLK_SAI2 130
166 #define	CLK_SAI3 131
167 #define	CLK_SAI4 132
168 #define	CLK_SAI5 133
169 #define	CLK_SAI6 134
170 #define	CLK_SPDIF1 135
171 #define	CLK_SPDIF2 136
172 #define	CLK_ENET_REF 137
173 #define	CLK_ENET_TIMER 138
174 #define	CLK_ENET_PHY_REF 139
175 #define	CLK_NAND 140
176 #define	CLK_QSPI 141
177 #define	CLK_USDHC1 142
178 #define	CLK_USDHC2 143
179 #define	CLK_I2C1 144
180 #define	CLK_I2C2 145
181 #define	CLK_I2C3 146
182 #define	CLK_I2C4 147
183 #define	CLK_UART1 148
184 #define	CLK_UART2 149
185 #define	CLK_UART3 150
186 #define	CLK_UART4 151
187 #define	CLK_USB_CORE_REF 152
188 #define	CLK_USB_PHY_REF 153
189 #define	CLK_ECSPI1 154
190 #define	CLK_ECSPI2 155
191 #define	CLK_PWM1 156
192 #define	CLK_PWM2 157
193 #define	CLK_PWM3 158
194 #define	CLK_PWM4 159
195 #define	CLK_GPT1 160
196 #define	CLK_WDOG 161
197 #define	CLK_WRCLK 162
198 #define	CLK_DSI_CORE 163
199 #define	CLK_DSI_PHY_REF 164
200 #define	CLK_DSI_DBI 165
201 #define	CLK_DSI_ESC 166
202 #define	CLK_CSI1_CORE 167
203 #define	CLK_CSI1_PHY_REF 168
204 #define	CLK_CSI1_ESC 169
205 #define	CLK_CSI2_CORE 170
206 #define	CLK_CSI2_PHY_REF 171
207 #define	CLK_CSI2_ESC 172
208 #define	CLK_PCIE2_CTRL 173
209 #define	CLK_PCIE2_PHY 174
210 #define	CLK_PCIE2_AUX 175
211 #define	CLK_ECSPI3 176
212 #define	CLK_A53_ROOT 177
213 #define	CLK_DRAM_ROOT 178
214 #define	CLK_ECSPI1_ROOT 179
215 #define	CLK_ECSPI2_ROOT 180
216 #define	CLK_ECSPI3_ROOT 181
217 #define	CLK_ENET1_ROOT 182
218 #define	CLK_GPT1_ROOT 183
219 #define	CLK_I2C1_ROOT 184
220 #define	CLK_I2C2_ROOT 185
221 #define	CLK_I2C3_ROOT 186
222 #define	CLK_I2C4_ROOT 187
223 #define	CLK_M4_ROOT 188
224 #define	CLK_PCIE1_ROOT 189
225 #define	CLK_PCIE2_ROOT 190
226 #define	CLK_PWM1_ROOT 191
227 #define	CLK_PWM2_ROOT 192
228 #define	CLK_PWM3_ROOT 193
229 #define	CLK_PWM4_ROOT 194
230 #define	CLK_QSPI_ROOT 195
231 #define	CLK_SAI1_ROOT 196
232 #define	CLK_SAI2_ROOT 197
233 #define	CLK_SAI3_ROOT 198
234 #define	CLK_SAI4_ROOT 199
235 #define	CLK_SAI5_ROOT 200
236 #define	CLK_SAI6_ROOT 201
237 #define	CLK_UART1_ROOT 202
238 #define	CLK_UART2_ROOT 203
239 #define	CLK_UART3_ROOT 204
240 #define	CLK_UART4_ROOT 205
241 #define	CLK_USB1_CTRL_ROOT 206
242 #define	CLK_USB2_CTRL_ROOT 207
243 #define	CLK_USB1_PHY_ROOT 208
244 #define	CLK_USB2_PHY_ROOT 209
245 #define	CLK_USDHC1_ROOT 210
246 #define	CLK_USDHC2_ROOT 211
247 #define	CLK_WDOG1_ROOT 212
248 #define	CLK_WDOG2_ROOT 213
249 #define	CLK_WDOG3_ROOT 214
250 #define	CLK_GPU_ROOT 215
251 #define	CLK_HEVC_ROOT 216
252 #define	CLK_AVC_ROOT 217
253 #define	CLK_VP9_ROOT 218
254 #define	CLK_HEVC_INTER_ROOT 219
255 #define	CLK_DISP_ROOT 220
256 #define	CLK_HDMI_ROOT 221
257 #define	CLK_HDMI_PHY_ROOT 222
258 #define	CLK_VPU_DEC_ROOT 223
259 #define	CLK_CSI1_ROOT 224
260 #define	CLK_CSI2_ROOT 225
261 #define	CLK_RAWNAND_ROOT 226
262 #define	CLK_SDMA1_ROOT 227
263 #define	CLK_SDMA2_ROOT 228
264 #define	CLK_VPU_G1_ROOT 229
265 #define	CLK_VPU_G2_ROOT 230
266 #define	SYS1_PLL_OUT 231
267 #define	SYS2_PLL_OUT 232
268 #define	SYS3_PLL_OUT 233
269 #define	DRAM_PLL_OUT 234
270 #define	GPT_3M_CLK 235
271 #define	CLK_IPG_ROOT 236
272 #define	CLK_IPG_AUDIO_ROOT 237
273 #define	CLK_SAI1_IPG 238
274 #define	CLK_SAI2_IPG 239
275 #define	CLK_SAI3_IPG 240
276 #define	CLK_SAI4_IPG 241
277 #define	CLK_SAI5_IPG 242
278 #define	CLK_SAI6_IPG 243
279 #define	CLK_DSI_AHB 244
280 #define	CLK_DSI_IPG_DIV 245
281 #define	CLK_TMU_ROOT 246
282 #define	CLK_DISP_AXI_ROOT 247
283 #define	CLK_DISP_APB_ROOT 248
284 #define	CLK_DISP_RTRM_ROOT 249
285 #define	CLK_OCOTP_ROOT 250
286 #define	CLK_DRAM_ALT_ROOT 251
287 #define	CLK_DRAM_CORE 252
288 #define	CLK_MU_ROOT 253
289 #define	VIDEO2_PLL_OUT 254
290 #define	CLK_CLKO2 255
291 #define	CLK_NAND_USDHC_BUS_RAWNAND_CLK 256
292 #define	CLK_CLKO1 257
293 #define	CLK_ARM 258
294 #define	CLK_GPIO1_ROOT 259
295 #define	CLK_GPIO2_ROOT 260
296 #define	CLK_GPIO3_ROOT 261
297 #define	CLK_GPIO4_ROOT 262
298 #define	CLK_GPIO5_ROOT 263
299 #define	CLK_SNVS_ROOT 264
300 #define	CLK_GIC 265
301 #define	VIDEO2_PLL1_REF_SEL 266
302 #define	SYS1_PLL_40M_CG 267
303 #define	SYS1_PLL_80M_CG 268
304 #define	SYS1_PLL_100M_CG 269
305 #define	SYS1_PLL_133M_CG 270
306 #define	SYS1_PLL_160M_CG 271
307 #define	SYS1_PLL_200M_CG 272
308 #define	SYS1_PLL_266M_CG 273
309 #define	SYS1_PLL_400M_CG 274
310 #define	SYS1_PLL_800M_CG 275
311 #define	SYS2_PLL_50M_CG 276
312 #define	SYS2_PLL_100M_CG 277
313 #define	SYS2_PLL_125M_CG 278
314 #define	SYS2_PLL_166M_CG 279
315 #define	SYS2_PLL_200M_CG 280
316 #define	SYS2_PLL_250M_CG 281
317 #define	SYS2_PLL_333M_CG 282
318 #define	SYS2_PLL_500M_CG 283
319 #define	SYS2_PLL_1000M_CG 284
320 
321 #endif /* !_IMX8MQ_CCM_H */
322