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