1 /* $NetBSD: rk3328-cru.h,v 1.1.1.2.4.2 2017/12/03 11:38:36 jdolecek Exp $ */ 2 3 /* 4 * Copyright (c) 2016 Rockchip Electronics Co. Ltd. 5 * Author: Elaine <zhangqing (at) rock-chips.com> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 */ 17 18 #ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3328_H 19 #define _DT_BINDINGS_CLK_ROCKCHIP_RK3328_H 20 21 /* core clocks */ 22 #define PLL_APLL 1 23 #define PLL_DPLL 2 24 #define PLL_CPLL 3 25 #define PLL_GPLL 4 26 #define PLL_NPLL 5 27 #define ARMCLK 6 28 29 /* sclk gates (special clocks) */ 30 #define SCLK_RTC32K 30 31 #define SCLK_SDMMC_EXT 31 32 #define SCLK_SPI 32 33 #define SCLK_SDMMC 33 34 #define SCLK_SDIO 34 35 #define SCLK_EMMC 35 36 #define SCLK_TSADC 36 37 #define SCLK_SARADC 37 38 #define SCLK_UART0 38 39 #define SCLK_UART1 39 40 #define SCLK_UART2 40 41 #define SCLK_I2S0 41 42 #define SCLK_I2S1 42 43 #define SCLK_I2S2 43 44 #define SCLK_I2S1_OUT 44 45 #define SCLK_I2S2_OUT 45 46 #define SCLK_SPDIF 46 47 #define SCLK_TIMER0 47 48 #define SCLK_TIMER1 48 49 #define SCLK_TIMER2 49 50 #define SCLK_TIMER3 50 51 #define SCLK_TIMER4 51 52 #define SCLK_TIMER5 52 53 #define SCLK_WIFI 53 54 #define SCLK_CIF_OUT 54 55 #define SCLK_I2C0 55 56 #define SCLK_I2C1 56 57 #define SCLK_I2C2 57 58 #define SCLK_I2C3 58 59 #define SCLK_CRYPTO 59 60 #define SCLK_PWM 60 61 #define SCLK_PDM 61 62 #define SCLK_EFUSE 62 63 #define SCLK_OTP 63 64 #define SCLK_DDRCLK 64 65 #define SCLK_VDEC_CABAC 65 66 #define SCLK_VDEC_CORE 66 67 #define SCLK_VENC_DSP 67 68 #define SCLK_VENC_CORE 68 69 #define SCLK_RGA 69 70 #define SCLK_HDMI_SFC 70 71 #define SCLK_HDMI_CEC 71 72 #define SCLK_USB3_REF 72 73 #define SCLK_USB3_SUSPEND 73 74 #define SCLK_SDMMC_DRV 74 75 #define SCLK_SDIO_DRV 75 76 #define SCLK_EMMC_DRV 76 77 #define SCLK_SDMMC_EXT_DRV 77 78 #define SCLK_SDMMC_SAMPLE 78 79 #define SCLK_SDIO_SAMPLE 79 80 #define SCLK_EMMC_SAMPLE 80 81 #define SCLK_SDMMC_EXT_SAMPLE 81 82 #define SCLK_VOP 82 83 #define SCLK_MAC2PHY_RXTX 83 84 #define SCLK_MAC2PHY_SRC 84 85 #define SCLK_MAC2PHY_REF 85 86 #define SCLK_MAC2PHY_OUT 86 87 #define SCLK_MAC2IO_RX 87 88 #define SCLK_MAC2IO_TX 88 89 #define SCLK_MAC2IO_REFOUT 89 90 #define SCLK_MAC2IO_REF 90 91 #define SCLK_MAC2IO_OUT 91 92 #define SCLK_TSP 92 93 #define SCLK_HSADC_TSP 93 94 #define SCLK_USB3PHY_REF 94 95 #define SCLK_REF_USB3OTG 95 96 #define SCLK_USB3OTG_REF 96 97 #define SCLK_USB3OTG_SUSPEND 97 98 #define SCLK_REF_USB3OTG_SRC 98 99 #define SCLK_MAC2IO_SRC 99 100 #define SCLK_MAC2IO 100 101 #define SCLK_MAC2PHY 101 102 #define SCLK_MAC2IO_EXT 102 103 104 /* dclk gates */ 105 #define DCLK_LCDC 120 106 #define DCLK_HDMIPHY 121 107 #define HDMIPHY 122 108 #define USB480M 123 109 #define DCLK_LCDC_SRC 124 110 111 /* aclk gates */ 112 #define ACLK_AXISRAM 130 113 #define ACLK_VOP_PRE 131 114 #define ACLK_USB3OTG 132 115 #define ACLK_RGA_PRE 133 116 #define ACLK_DMAC 134 117 #define ACLK_GPU 135 118 #define ACLK_BUS_PRE 136 119 #define ACLK_PERI_PRE 137 120 #define ACLK_RKVDEC_PRE 138 121 #define ACLK_RKVDEC 139 122 #define ACLK_RKVENC 140 123 #define ACLK_VPU_PRE 141 124 #define ACLK_VIO_PRE 142 125 #define ACLK_VPU 143 126 #define ACLK_VIO 144 127 #define ACLK_VOP 145 128 #define ACLK_GMAC 146 129 #define ACLK_H265 147 130 #define ACLK_H264 148 131 #define ACLK_MAC2PHY 149 132 #define ACLK_MAC2IO 150 133 #define ACLK_DCF 151 134 #define ACLK_TSP 152 135 #define ACLK_PERI 153 136 #define ACLK_RGA 154 137 #define ACLK_IEP 155 138 #define ACLK_CIF 156 139 #define ACLK_HDCP 157 140 141 /* pclk gates */ 142 #define PCLK_GPIO0 200 143 #define PCLK_GPIO1 201 144 #define PCLK_GPIO2 202 145 #define PCLK_GPIO3 203 146 #define PCLK_GRF 204 147 #define PCLK_I2C0 205 148 #define PCLK_I2C1 206 149 #define PCLK_I2C2 207 150 #define PCLK_I2C3 208 151 #define PCLK_SPI 209 152 #define PCLK_UART0 210 153 #define PCLK_UART1 211 154 #define PCLK_UART2 212 155 #define PCLK_TSADC 213 156 #define PCLK_PWM 214 157 #define PCLK_TIMER 215 158 #define PCLK_BUS_PRE 216 159 #define PCLK_PERI_PRE 217 160 #define PCLK_HDMI_CTRL 218 161 #define PCLK_HDMI_PHY 219 162 #define PCLK_GMAC 220 163 #define PCLK_H265 221 164 #define PCLK_MAC2PHY 222 165 #define PCLK_MAC2IO 223 166 #define PCLK_USB3PHY_OTG 224 167 #define PCLK_USB3PHY_PIPE 225 168 #define PCLK_USB3_GRF 226 169 #define PCLK_USB2_GRF 227 170 #define PCLK_HDMIPHY 228 171 #define PCLK_DDR 229 172 #define PCLK_PERI 230 173 #define PCLK_HDMI 231 174 #define PCLK_HDCP 232 175 #define PCLK_DCF 233 176 #define PCLK_SARADC 234 177 178 /* hclk gates */ 179 #define HCLK_PERI 308 180 #define HCLK_TSP 309 181 #define HCLK_GMAC 310 182 #define HCLK_I2S0_8CH 311 183 #define HCLK_I2S1_8CH 313 184 #define HCLK_I2S2_2CH 313 185 #define HCLK_SPDIF_8CH 314 186 #define HCLK_VOP 315 187 #define HCLK_NANDC 316 188 #define HCLK_SDMMC 317 189 #define HCLK_SDIO 318 190 #define HCLK_EMMC 319 191 #define HCLK_SDMMC_EXT 320 192 #define HCLK_RKVDEC_PRE 321 193 #define HCLK_RKVDEC 322 194 #define HCLK_RKVENC 323 195 #define HCLK_VPU_PRE 324 196 #define HCLK_VIO_PRE 325 197 #define HCLK_VPU 326 198 #define HCLK_VIO 327 199 #define HCLK_BUS_PRE 328 200 #define HCLK_PERI_PRE 329 201 #define HCLK_H264 330 202 #define HCLK_CIF 331 203 #define HCLK_OTG_PMU 332 204 #define HCLK_OTG 333 205 #define HCLK_HOST0 334 206 #define HCLK_HOST0_ARB 335 207 #define HCLK_CRYPTO_MST 336 208 #define HCLK_CRYPTO_SLV 337 209 #define HCLK_PDM 338 210 #define HCLK_IEP 339 211 #define HCLK_RGA 340 212 #define HCLK_HDCP 341 213 214 #define CLK_NR_CLKS (HCLK_HDCP + 1) 215 216 /* soft-reset indices */ 217 #define SRST_CORE0_PO 0 218 #define SRST_CORE1_PO 1 219 #define SRST_CORE2_PO 2 220 #define SRST_CORE3_PO 3 221 #define SRST_CORE0 4 222 #define SRST_CORE1 5 223 #define SRST_CORE2 6 224 #define SRST_CORE3 7 225 #define SRST_CORE0_DBG 8 226 #define SRST_CORE1_DBG 9 227 #define SRST_CORE2_DBG 10 228 #define SRST_CORE3_DBG 11 229 #define SRST_TOPDBG 12 230 #define SRST_CORE_NIU 13 231 #define SRST_STRC_A 14 232 #define SRST_L2C 15 233 234 #define SRST_A53_GIC 18 235 #define SRST_DAP 19 236 #define SRST_PMU_P 21 237 #define SRST_EFUSE 22 238 #define SRST_BUSSYS_H 23 239 #define SRST_BUSSYS_P 24 240 #define SRST_SPDIF 25 241 #define SRST_INTMEM 26 242 #define SRST_ROM 27 243 #define SRST_GPIO0 28 244 #define SRST_GPIO1 29 245 #define SRST_GPIO2 30 246 #define SRST_GPIO3 31 247 248 #define SRST_I2S0 32 249 #define SRST_I2S1 33 250 #define SRST_I2S2 34 251 #define SRST_I2S0_H 35 252 #define SRST_I2S1_H 36 253 #define SRST_I2S2_H 37 254 #define SRST_UART0 38 255 #define SRST_UART1 39 256 #define SRST_UART2 40 257 #define SRST_UART0_P 41 258 #define SRST_UART1_P 42 259 #define SRST_UART2_P 43 260 #define SRST_I2C0 44 261 #define SRST_I2C1 45 262 #define SRST_I2C2 46 263 #define SRST_I2C3 47 264 265 #define SRST_I2C0_P 48 266 #define SRST_I2C1_P 49 267 #define SRST_I2C2_P 50 268 #define SRST_I2C3_P 51 269 #define SRST_EFUSE_SE_P 52 270 #define SRST_EFUSE_NS_P 53 271 #define SRST_PWM0 54 272 #define SRST_PWM0_P 55 273 #define SRST_DMA 56 274 #define SRST_TSP_A 57 275 #define SRST_TSP_H 58 276 #define SRST_TSP 59 277 #define SRST_TSP_HSADC 60 278 #define SRST_DCF_A 61 279 #define SRST_DCF_P 62 280 281 #define SRST_SCR 64 282 #define SRST_SPI 65 283 #define SRST_TSADC 66 284 #define SRST_TSADC_P 67 285 #define SRST_CRYPTO 68 286 #define SRST_SGRF 69 287 #define SRST_GRF 70 288 #define SRST_USB_GRF 71 289 #define SRST_TIMER_6CH_P 72 290 #define SRST_TIMER0 73 291 #define SRST_TIMER1 74 292 #define SRST_TIMER2 75 293 #define SRST_TIMER3 76 294 #define SRST_TIMER4 77 295 #define SRST_TIMER5 78 296 #define SRST_USB3GRF 79 297 298 #define SRST_PHYNIU 80 299 #define SRST_HDMIPHY 81 300 #define SRST_VDAC 82 301 #define SRST_ACODEC_p 83 302 #define SRST_SARADC 85 303 #define SRST_SARADC_P 86 304 #define SRST_GRF_DDR 87 305 #define SRST_DFIMON 88 306 #define SRST_MSCH 89 307 #define SRST_DDRMSCH 91 308 #define SRST_DDRCTRL 92 309 #define SRST_DDRCTRL_P 93 310 #define SRST_DDRPHY 94 311 #define SRST_DDRPHY_P 95 312 313 #define SRST_GMAC_NIU_A 96 314 #define SRST_GMAC_NIU_P 97 315 #define SRST_GMAC2PHY_A 98 316 #define SRST_GMAC2IO_A 99 317 #define SRST_MACPHY 100 318 #define SRST_OTP_PHY 101 319 #define SRST_GPU_A 102 320 #define SRST_GPU_NIU_A 103 321 #define SRST_SDMMCEXT 104 322 #define SRST_PERIPH_NIU_A 105 323 #define SRST_PERIHP_NIU_H 106 324 #define SRST_PERIHP_P 107 325 #define SRST_PERIPHSYS_H 108 326 #define SRST_MMC0 109 327 #define SRST_SDIO 110 328 #define SRST_EMMC 111 329 330 #define SRST_USB2OTG_H 112 331 #define SRST_USB2OTG 113 332 #define SRST_USB2OTG_ADP 114 333 #define SRST_USB2HOST_H 115 334 #define SRST_USB2HOST_ARB 116 335 #define SRST_USB2HOST_AUX 117 336 #define SRST_USB2HOST_EHCIPHY 118 337 #define SRST_USB2HOST_UTMI 119 338 #define SRST_USB3OTG 120 339 #define SRST_USBPOR 121 340 #define SRST_USB2OTG_UTMI 122 341 #define SRST_USB2HOST_PHY_UTMI 123 342 #define SRST_USB3OTG_UTMI 124 343 #define SRST_USB3PHY_U2 125 344 #define SRST_USB3PHY_U3 126 345 #define SRST_USB3PHY_PIPE 127 346 347 #define SRST_VIO_A 128 348 #define SRST_VIO_BUS_H 129 349 #define SRST_VIO_H2P_H 130 350 #define SRST_VIO_ARBI_H 131 351 #define SRST_VOP_NIU_A 132 352 #define SRST_VOP_A 133 353 #define SRST_VOP_H 134 354 #define SRST_VOP_D 135 355 #define SRST_RGA 136 356 #define SRST_RGA_NIU_A 137 357 #define SRST_RGA_A 138 358 #define SRST_RGA_H 139 359 #define SRST_IEP_A 140 360 #define SRST_IEP_H 141 361 #define SRST_HDMI 142 362 #define SRST_HDMI_P 143 363 364 #define SRST_HDCP_A 144 365 #define SRST_HDCP 145 366 #define SRST_HDCP_H 146 367 #define SRST_CIF_A 147 368 #define SRST_CIF_H 148 369 #define SRST_CIF_P 149 370 #define SRST_OTP_P 150 371 #define SRST_OTP_SBPI 151 372 #define SRST_OTP_USER 152 373 #define SRST_DDRCTRL_A 153 374 #define SRST_DDRSTDY_P 154 375 #define SRST_DDRSTDY 155 376 #define SRST_PDM_H 156 377 #define SRST_PDM 157 378 #define SRST_USB3PHY_OTG_P 158 379 #define SRST_USB3PHY_PIPE_P 159 380 381 #define SRST_VCODEC_A 160 382 #define SRST_VCODEC_NIU_A 161 383 #define SRST_VCODEC_H 162 384 #define SRST_VCODEC_NIU_H 163 385 #define SRST_VDEC_A 164 386 #define SRST_VDEC_NIU_A 165 387 #define SRST_VDEC_H 166 388 #define SRST_VDEC_NIU_H 167 389 #define SRST_VDEC_CORE 168 390 #define SRST_VDEC_CABAC 169 391 #define SRST_DDRPHYDIV 175 392 393 #define SRST_RKVENC_NIU_A 176 394 #define SRST_RKVENC_NIU_H 177 395 #define SRST_RKVENC_H265_A 178 396 #define SRST_RKVENC_H265_P 179 397 #define SRST_RKVENC_H265_CORE 180 398 #define SRST_RKVENC_H265_DSP 181 399 #define SRST_RKVENC_H264_A 182 400 #define SRST_RKVENC_H264_H 183 401 #define SRST_RKVENC_INTMEM 184 402 403 #endif 404