1 /* $NetBSD: rk3399_cru.h,v 1.1 2018/08/12 16:48:05 jmcneill Exp $ */ 2 3 /*- 4 * Copyright (c) 2018 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 _RK3399_CRU_H 30 #define _RK3399_CRU_H 31 32 /* 33 * Clocks 34 */ 35 36 #define RK3399_PLL_APLLL 1 37 #define RK3399_PLL_APLLB 2 38 #define RK3399_PLL_DPLL 3 39 #define RK3399_PLL_CPLL 4 40 #define RK3399_PLL_GPLL 5 41 #define RK3399_PLL_NPLL 6 42 #define RK3399_PLL_VPLL 7 43 #define RK3399_ARMCLKL 8 44 #define RK3399_ARMCLKB 9 45 #define RK3399_SCLK_I2C1 65 46 #define RK3399_SCLK_I2C2 66 47 #define RK3399_SCLK_I2C3 67 48 #define RK3399_SCLK_I2C5 68 49 #define RK3399_SCLK_I2C6 69 50 #define RK3399_SCLK_I2C7 70 51 #define RK3399_SCLK_SPI0 71 52 #define RK3399_SCLK_SPI1 72 53 #define RK3399_SCLK_SPI2 73 54 #define RK3399_SCLK_SPI4 74 55 #define RK3399_SCLK_SPI5 75 56 #define RK3399_SCLK_SDMMC 76 57 #define RK3399_SCLK_SDIO 77 58 #define RK3399_SCLK_EMMC 78 59 #define RK3399_SCLK_TSADC 79 60 #define RK3399_SCLK_SARADC 80 61 #define RK3399_SCLK_UART0 81 62 #define RK3399_SCLK_UART1 82 63 #define RK3399_SCLK_UART2 83 64 #define RK3399_SCLK_UART3 84 65 #define RK3399_SCLK_SPDIF_8CH 85 66 #define RK3399_SCLK_I2S0_8CH 86 67 #define RK3399_SCLK_I2S1_8CH 87 68 #define RK3399_SCLK_I2S2_8CH 88 69 #define RK3399_SCLK_I2S_8CH_OUT 89 70 #define RK3399_SCLK_TIMER00 90 71 #define RK3399_SCLK_TIMER01 91 72 #define RK3399_SCLK_TIMER02 92 73 #define RK3399_SCLK_TIMER03 93 74 #define RK3399_SCLK_TIMER04 94 75 #define RK3399_SCLK_TIMER05 95 76 #define RK3399_SCLK_TIMER06 96 77 #define RK3399_SCLK_TIMER07 97 78 #define RK3399_SCLK_TIMER08 98 79 #define RK3399_SCLK_TIMER09 99 80 #define RK3399_SCLK_TIMER10 100 81 #define RK3399_SCLK_TIMER11 101 82 #define RK3399_SCLK_MACREF 102 83 #define RK3399_SCLK_MAC_RX 103 84 #define RK3399_SCLK_MAC_TX 104 85 #define RK3399_SCLK_MAC 105 86 #define RK3399_SCLK_MACREF_OUT 106 87 #define RK3399_SCLK_VOP0_PWM 107 88 #define RK3399_SCLK_VOP1_PWM 108 89 #define RK3399_SCLK_RGA_CORE 109 90 #define RK3399_SCLK_ISP0 110 91 #define RK3399_SCLK_ISP1 111 92 #define RK3399_SCLK_HDMI_CEC 112 93 #define RK3399_SCLK_HDMI_SFR 113 94 #define RK3399_SCLK_DP_CORE 114 95 #define RK3399_SCLK_PVTM_CORE_L 115 96 #define RK3399_SCLK_PVTM_CORE_B 116 97 #define RK3399_SCLK_PVTM_GPU 117 98 #define RK3399_SCLK_PVTM_DDR 118 99 #define RK3399_SCLK_MIPIDPHY_REF 119 100 #define RK3399_SCLK_MIPIDPHY_CFG 120 101 #define RK3399_SCLK_HSICPHY 121 102 #define RK3399_SCLK_USBPHY480M 122 103 #define RK3399_SCLK_USB2PHY0_REF 123 104 #define RK3399_SCLK_USB2PHY1_REF 124 105 #define RK3399_SCLK_UPHY0_TCPDPHY_REF 125 106 #define RK3399_SCLK_UPHY0_TCPDCORE 126 107 #define RK3399_SCLK_UPHY1_TCPDPHY_REF 127 108 #define RK3399_SCLK_UPHY1_TCPDCORE 128 109 #define RK3399_SCLK_USB3OTG0_REF 129 110 #define RK3399_SCLK_USB3OTG1_REF 130 111 #define RK3399_SCLK_USB3OTG0_SUSPEND 131 112 #define RK3399_SCLK_USB3OTG1_SUSPEND 132 113 #define RK3399_SCLK_CRYPTO0 133 114 #define RK3399_SCLK_CRYPTO1 134 115 #define RK3399_SCLK_CCI_TRACE 135 116 #define RK3399_SCLK_CS 136 117 #define RK3399_SCLK_CIF_OUT 137 118 #define RK3399_SCLK_PCIEPHY_REF 138 119 #define RK3399_SCLK_PCIE_CORE 139 120 #define RK3399_SCLK_M0_PERILP 140 121 #define RK3399_SCLK_M0_PERILP_DEC 141 122 #define RK3399_SCLK_CM0S 142 123 #define RK3399_SCLK_DBG_NOC 143 124 #define RK3399_SCLK_DBG_PD_CORE_B 144 125 #define RK3399_SCLK_DBG_PD_CORE_L 145 126 #define RK3399_SCLK_DFIMON0_TIMER 146 127 #define RK3399_SCLK_DFIMON1_TIMER 147 128 #define RK3399_SCLK_INTMEM0 148 129 #define RK3399_SCLK_INTMEM1 149 130 #define RK3399_SCLK_INTMEM2 150 131 #define RK3399_SCLK_INTMEM3 151 132 #define RK3399_SCLK_INTMEM4 152 133 #define RK3399_SCLK_INTMEM5 153 134 #define RK3399_SCLK_SDMMC_DRV 154 135 #define RK3399_SCLK_SDMMC_SAMPLE 155 136 #define RK3399_SCLK_SDIO_DRV 156 137 #define RK3399_SCLK_SDIO_SAMPLE 157 138 #define RK3399_SCLK_VDU_CORE 158 139 #define RK3399_SCLK_VDU_CA 159 140 #define RK3399_SCLK_PCIE_PM 160 141 #define RK3399_SCLK_SPDIF_REC_DPTX 161 142 #define RK3399_SCLK_DPHY_PLL 162 143 #define RK3399_SCLK_DPHY_TX0_CFG 163 144 #define RK3399_SCLK_DPHY_TX1RX1_CFG 164 145 #define RK3399_SCLK_DPHY_RX0_CFG 165 146 #define RK3399_SCLK_RMII_SRC 166 147 #define RK3399_SCLK_PCIEPHY_REF100M 167 148 #define RK3399_SCLK_DDRC 168 149 #define RK3399_SCLK_TESTCLKOUT1 169 150 #define RK3399_SCLK_TESTCLKOUT2 170 151 #define RK3399_DCLK_VOP0 180 152 #define RK3399_DCLK_VOP1 181 153 #define RK3399_DCLK_VOP0_DIV 182 154 #define RK3399_DCLK_VOP1_DIV 183 155 #define RK3399_DCLK_M0_PERILP 184 156 #define RK3399_DCLK_VOP0_FRAC 185 157 #define RK3399_DCLK_VOP1_FRAC 186 158 #define RK3399_FCLK_CM0S 190 159 #define RK3399_ACLK_PERIHP 192 160 #define RK3399_ACLK_PERIHP_NOC 193 161 #define RK3399_ACLK_PERILP0 194 162 #define RK3399_ACLK_PERILP0_NOC 195 163 #define RK3399_ACLK_PERF_PCIE 196 164 #define RK3399_ACLK_PCIE 197 165 #define RK3399_ACLK_INTMEM 198 166 #define RK3399_ACLK_TZMA 199 167 #define RK3399_ACLK_DCF 200 168 #define RK3399_ACLK_CCI 201 169 #define RK3399_ACLK_CCI_NOC0 202 170 #define RK3399_ACLK_CCI_NOC1 203 171 #define RK3399_ACLK_CCI_GRF 204 172 #define RK3399_ACLK_CENTER 205 173 #define RK3399_ACLK_CENTER_MAIN_NOC 206 174 #define RK3399_ACLK_CENTER_PERI_NOC 207 175 #define RK3399_ACLK_GPU 208 176 #define RK3399_ACLK_PERF_GPU 209 177 #define RK3399_ACLK_GPU_GRF 210 178 #define RK3399_ACLK_DMAC0_PERILP 211 179 #define RK3399_ACLK_DMAC1_PERILP 212 180 #define RK3399_ACLK_GMAC 213 181 #define RK3399_ACLK_GMAC_NOC 214 182 #define RK3399_ACLK_PERF_GMAC 215 183 #define RK3399_ACLK_VOP0_NOC 216 184 #define RK3399_ACLK_VOP0 217 185 #define RK3399_ACLK_VOP1_NOC 218 186 #define RK3399_ACLK_VOP1 219 187 #define RK3399_ACLK_RGA 220 188 #define RK3399_ACLK_RGA_NOC 221 189 #define RK3399_ACLK_HDCP 222 190 #define RK3399_ACLK_HDCP_NOC 223 191 #define RK3399_ACLK_HDCP22 224 192 #define RK3399_ACLK_IEP 225 193 #define RK3399_ACLK_IEP_NOC 226 194 #define RK3399_ACLK_VIO 227 195 #define RK3399_ACLK_VIO_NOC 228 196 #define RK3399_ACLK_ISP0 229 197 #define RK3399_ACLK_ISP1 230 198 #define RK3399_ACLK_ISP0_NOC 231 199 #define RK3399_ACLK_ISP1_NOC 232 200 #define RK3399_ACLK_ISP0_WRAPPER 233 201 #define RK3399_ACLK_ISP1_WRAPPER 234 202 #define RK3399_ACLK_VCODEC 235 203 #define RK3399_ACLK_VCODEC_NOC 236 204 #define RK3399_ACLK_VDU 237 205 #define RK3399_ACLK_VDU_NOC 238 206 #define RK3399_ACLK_PERI 239 207 #define RK3399_ACLK_EMMC 240 208 #define RK3399_ACLK_EMMC_CORE 241 209 #define RK3399_ACLK_EMMC_NOC 242 210 #define RK3399_ACLK_EMMC_GRF 243 211 #define RK3399_ACLK_USB3 244 212 #define RK3399_ACLK_USB3_NOC 245 213 #define RK3399_ACLK_USB3OTG0 246 214 #define RK3399_ACLK_USB3OTG1 247 215 #define RK3399_ACLK_USB3_RKSOC_AXI_PERF 248 216 #define RK3399_ACLK_USB3_GRF 249 217 #define RK3399_ACLK_GIC 250 218 #define RK3399_ACLK_GIC_NOC 251 219 #define RK3399_ACLK_GIC_ADB400_CORE_L_2_GIC 252 220 #define RK3399_ACLK_GIC_ADB400_CORE_B_2_GIC 253 221 #define RK3399_ACLK_GIC_ADB400_GIC_2_CORE_L 254 222 #define RK3399_ACLK_GIC_ADB400_GIC_2_CORE_B 255 223 #define RK3399_ACLK_CORE_ADB400_CORE_L_2_CCI500 256 224 #define RK3399_ACLK_CORE_ADB400_CORE_B_2_CCI500 257 225 #define RK3399_ACLK_ADB400M_PD_CORE_L 258 226 #define RK3399_ACLK_ADB400M_PD_CORE_B 259 227 #define RK3399_ACLK_PERF_CORE_L 260 228 #define RK3399_ACLK_PERF_CORE_B 261 229 #define RK3399_ACLK_GIC_PRE 262 230 #define RK3399_ACLK_VOP0_PRE 263 231 #define RK3399_ACLK_VOP1_PRE 264 232 #define RK3399_PCLK_PERIHP 320 233 #define RK3399_PCLK_PERIHP_NOC 321 234 #define RK3399_PCLK_PERILP0 322 235 #define RK3399_PCLK_PERILP1 323 236 #define RK3399_PCLK_PERILP1_NOC 324 237 #define RK3399_PCLK_PERILP_SGRF 325 238 #define RK3399_PCLK_PERIHP_GRF 326 239 #define RK3399_PCLK_PCIE 327 240 #define RK3399_PCLK_SGRF 328 241 #define RK3399_PCLK_INTR_ARB 329 242 #define RK3399_PCLK_CENTER_MAIN_NOC 330 243 #define RK3399_PCLK_CIC 331 244 #define RK3399_PCLK_COREDBG_B 332 245 #define RK3399_PCLK_COREDBG_L 333 246 #define RK3399_PCLK_DBG_CXCS_PD_CORE_B 334 247 #define RK3399_PCLK_DCF 335 248 #define RK3399_PCLK_GPIO2 336 249 #define RK3399_PCLK_GPIO3 337 250 #define RK3399_PCLK_GPIO4 338 251 #define RK3399_PCLK_GRF 339 252 #define RK3399_PCLK_HSICPHY 340 253 #define RK3399_PCLK_I2C1 341 254 #define RK3399_PCLK_I2C2 342 255 #define RK3399_PCLK_I2C3 343 256 #define RK3399_PCLK_I2C5 344 257 #define RK3399_PCLK_I2C6 345 258 #define RK3399_PCLK_I2C7 346 259 #define RK3399_PCLK_SPI0 347 260 #define RK3399_PCLK_SPI1 348 261 #define RK3399_PCLK_SPI2 349 262 #define RK3399_PCLK_SPI4 350 263 #define RK3399_PCLK_SPI5 351 264 #define RK3399_PCLK_UART0 352 265 #define RK3399_PCLK_UART1 353 266 #define RK3399_PCLK_UART2 354 267 #define RK3399_PCLK_UART3 355 268 #define RK3399_PCLK_TSADC 356 269 #define RK3399_PCLK_SARADC 357 270 #define RK3399_PCLK_GMAC 358 271 #define RK3399_PCLK_GMAC_NOC 359 272 #define RK3399_PCLK_TIMER0 360 273 #define RK3399_PCLK_TIMER1 361 274 #define RK3399_PCLK_EDP 362 275 #define RK3399_PCLK_EDP_NOC 363 276 #define RK3399_PCLK_EDP_CTRL 364 277 #define RK3399_PCLK_VIO 365 278 #define RK3399_PCLK_VIO_NOC 366 279 #define RK3399_PCLK_VIO_GRF 367 280 #define RK3399_PCLK_MIPI_DSI0 368 281 #define RK3399_PCLK_MIPI_DSI1 369 282 #define RK3399_PCLK_HDCP 370 283 #define RK3399_PCLK_HDCP_NOC 371 284 #define RK3399_PCLK_HDMI_CTRL 372 285 #define RK3399_PCLK_DP_CTRL 373 286 #define RK3399_PCLK_HDCP22 374 287 #define RK3399_PCLK_GASKET 375 288 #define RK3399_PCLK_DDR 376 289 #define RK3399_PCLK_DDR_MON 377 290 #define RK3399_PCLK_DDR_SGRF 378 291 #define RK3399_PCLK_ISP1_WRAPPER 379 292 #define RK3399_PCLK_WDT 380 293 #define RK3399_PCLK_EFUSE1024NS 381 294 #define RK3399_PCLK_EFUSE1024S 382 295 #define RK3399_PCLK_PMU_INTR_ARB 383 296 #define RK3399_PCLK_MAILBOX0 384 297 #define RK3399_PCLK_USBPHY_MUX_G 385 298 #define RK3399_PCLK_UPHY0_TCPHY_G 386 299 #define RK3399_PCLK_UPHY0_TCPD_G 387 300 #define RK3399_PCLK_UPHY1_TCPHY_G 388 301 #define RK3399_PCLK_UPHY1_TCPD_G 389 302 #define RK3399_PCLK_ALIVE 390 303 #define RK3399_HCLK_PERIHP 448 304 #define RK3399_HCLK_PERILP0 449 305 #define RK3399_HCLK_PERILP1 450 306 #define RK3399_HCLK_PERILP0_NOC 451 307 #define RK3399_HCLK_PERILP1_NOC 452 308 #define RK3399_HCLK_M0_PERILP 453 309 #define RK3399_HCLK_M0_PERILP_NOC 454 310 #define RK3399_HCLK_AHB1TOM 455 311 #define RK3399_HCLK_HOST0 456 312 #define RK3399_HCLK_HOST0_ARB 457 313 #define RK3399_HCLK_HOST1 458 314 #define RK3399_HCLK_HOST1_ARB 459 315 #define RK3399_HCLK_HSIC 460 316 #define RK3399_HCLK_SD 461 317 #define RK3399_HCLK_SDMMC 462 318 #define RK3399_HCLK_SDMMC_NOC 463 319 #define RK3399_HCLK_M_CRYPTO0 464 320 #define RK3399_HCLK_M_CRYPTO1 465 321 #define RK3399_HCLK_S_CRYPTO0 466 322 #define RK3399_HCLK_S_CRYPTO1 467 323 #define RK3399_HCLK_I2S0_8CH 468 324 #define RK3399_HCLK_I2S1_8CH 469 325 #define RK3399_HCLK_I2S2_8CH 470 326 #define RK3399_HCLK_SPDIF 471 327 #define RK3399_HCLK_VOP0_NOC 472 328 #define RK3399_HCLK_VOP0 473 329 #define RK3399_HCLK_VOP1_NOC 474 330 #define RK3399_HCLK_VOP1 475 331 #define RK3399_HCLK_ROM 476 332 #define RK3399_HCLK_IEP 477 333 #define RK3399_HCLK_IEP_NOC 478 334 #define RK3399_HCLK_ISP0 479 335 #define RK3399_HCLK_ISP1 480 336 #define RK3399_HCLK_ISP0_NOC 481 337 #define RK3399_HCLK_ISP1_NOC 482 338 #define RK3399_HCLK_ISP0_WRAPPER 483 339 #define RK3399_HCLK_ISP1_WRAPPER 484 340 #define RK3399_HCLK_RGA 485 341 #define RK3399_HCLK_RGA_NOC 486 342 #define RK3399_HCLK_HDCP 487 343 #define RK3399_HCLK_HDCP_NOC 488 344 #define RK3399_HCLK_HDCP22 489 345 #define RK3399_HCLK_VCODEC 490 346 #define RK3399_HCLK_VCODEC_NOC 491 347 #define RK3399_HCLK_VDU 492 348 #define RK3399_HCLK_VDU_NOC 493 349 #define RK3399_HCLK_SDIO 494 350 #define RK3399_HCLK_SDIO_NOC 495 351 #define RK3399_HCLK_SDIOAUDIO_NOC 496 352 353 #endif /* !_RK3399_CRU_H */ 354