1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 2 /* 3 * Copyright 2022 Emil Renner Berthing <kernel@esmil.dk> 4 * Copyright 2022 StarFive Technology Co., Ltd. 5 */ 6 7 #ifndef __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ 8 #define __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ 9 10 /* PLL clocks */ 11 #define JH7110_PLLCLK_PLL0_OUT 0 12 #define JH7110_PLLCLK_PLL1_OUT 1 13 #define JH7110_PLLCLK_PLL2_OUT 2 14 #define JH7110_PLLCLK_END 3 15 16 /* SYSCRG clocks */ 17 #define JH7110_SYSCLK_CPU_ROOT 0 18 #define JH7110_SYSCLK_CPU_CORE 1 19 #define JH7110_SYSCLK_CPU_BUS 2 20 #define JH7110_SYSCLK_GPU_ROOT 3 21 #define JH7110_SYSCLK_PERH_ROOT 4 22 #define JH7110_SYSCLK_BUS_ROOT 5 23 #define JH7110_SYSCLK_NOCSTG_BUS 6 24 #define JH7110_SYSCLK_AXI_CFG0 7 25 #define JH7110_SYSCLK_STG_AXIAHB 8 26 #define JH7110_SYSCLK_AHB0 9 27 #define JH7110_SYSCLK_AHB1 10 28 #define JH7110_SYSCLK_APB_BUS 11 29 #define JH7110_SYSCLK_APB0 12 30 #define JH7110_SYSCLK_PLL0_DIV2 13 31 #define JH7110_SYSCLK_PLL1_DIV2 14 32 #define JH7110_SYSCLK_PLL2_DIV2 15 33 #define JH7110_SYSCLK_AUDIO_ROOT 16 34 #define JH7110_SYSCLK_MCLK_INNER 17 35 #define JH7110_SYSCLK_MCLK 18 36 #define JH7110_SYSCLK_MCLK_OUT 19 37 #define JH7110_SYSCLK_ISP_2X 20 38 #define JH7110_SYSCLK_ISP_AXI 21 39 #define JH7110_SYSCLK_GCLK0 22 40 #define JH7110_SYSCLK_GCLK1 23 41 #define JH7110_SYSCLK_GCLK2 24 42 #define JH7110_SYSCLK_CORE 25 43 #define JH7110_SYSCLK_CORE1 26 44 #define JH7110_SYSCLK_CORE2 27 45 #define JH7110_SYSCLK_CORE3 28 46 #define JH7110_SYSCLK_CORE4 29 47 #define JH7110_SYSCLK_DEBUG 30 48 #define JH7110_SYSCLK_RTC_TOGGLE 31 49 #define JH7110_SYSCLK_TRACE0 32 50 #define JH7110_SYSCLK_TRACE1 33 51 #define JH7110_SYSCLK_TRACE2 34 52 #define JH7110_SYSCLK_TRACE3 35 53 #define JH7110_SYSCLK_TRACE4 36 54 #define JH7110_SYSCLK_TRACE_COM 37 55 #define JH7110_SYSCLK_NOC_BUS_CPU_AXI 38 56 #define JH7110_SYSCLK_NOC_BUS_AXICFG0_AXI 39 57 #define JH7110_SYSCLK_OSC_DIV2 40 58 #define JH7110_SYSCLK_PLL1_DIV4 41 59 #define JH7110_SYSCLK_PLL1_DIV8 42 60 #define JH7110_SYSCLK_DDR_BUS 43 61 #define JH7110_SYSCLK_DDR_AXI 44 62 #define JH7110_SYSCLK_GPU_CORE 45 63 #define JH7110_SYSCLK_GPU_CORE_CLK 46 64 #define JH7110_SYSCLK_GPU_SYS_CLK 47 65 #define JH7110_SYSCLK_GPU_APB 48 66 #define JH7110_SYSCLK_GPU_RTC_TOGGLE 49 67 #define JH7110_SYSCLK_NOC_BUS_GPU_AXI 50 68 #define JH7110_SYSCLK_ISP_TOP_CORE 51 69 #define JH7110_SYSCLK_ISP_TOP_AXI 52 70 #define JH7110_SYSCLK_NOC_BUS_ISP_AXI 53 71 #define JH7110_SYSCLK_HIFI4_CORE 54 72 #define JH7110_SYSCLK_HIFI4_AXI 55 73 #define JH7110_SYSCLK_AXI_CFG1_MAIN 56 74 #define JH7110_SYSCLK_AXI_CFG1_AHB 57 75 #define JH7110_SYSCLK_VOUT_SRC 58 76 #define JH7110_SYSCLK_VOUT_AXI 59 77 #define JH7110_SYSCLK_NOC_BUS_DISP_AXI 60 78 #define JH7110_SYSCLK_VOUT_TOP_AHB 61 79 #define JH7110_SYSCLK_VOUT_TOP_AXI 62 80 #define JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK 63 81 #define JH7110_SYSCLK_VOUT_TOP_MIPIPHY_REF 64 82 #define JH7110_SYSCLK_JPEGC_AXI 65 83 #define JH7110_SYSCLK_CODAJ12_AXI 66 84 #define JH7110_SYSCLK_CODAJ12_CORE 67 85 #define JH7110_SYSCLK_CODAJ12_APB 68 86 #define JH7110_SYSCLK_VDEC_AXI 69 87 #define JH7110_SYSCLK_WAVE511_AXI 70 88 #define JH7110_SYSCLK_WAVE511_BPU 71 89 #define JH7110_SYSCLK_WAVE511_VCE 72 90 #define JH7110_SYSCLK_WAVE511_APB 73 91 #define JH7110_SYSCLK_VDEC_JPG 74 92 #define JH7110_SYSCLK_VDEC_MAIN 75 93 #define JH7110_SYSCLK_NOC_BUS_VDEC_AXI 76 94 #define JH7110_SYSCLK_VENC_AXI 77 95 #define JH7110_SYSCLK_WAVE420L_AXI 78 96 #define JH7110_SYSCLK_WAVE420L_BPU 79 97 #define JH7110_SYSCLK_WAVE420L_VCE 80 98 #define JH7110_SYSCLK_WAVE420L_APB 81 99 #define JH7110_SYSCLK_NOC_BUS_VENC_AXI 82 100 #define JH7110_SYSCLK_AXI_CFG0_MAIN_DIV 83 101 #define JH7110_SYSCLK_AXI_CFG0_MAIN 84 102 #define JH7110_SYSCLK_AXI_CFG0_HIFI4 85 103 #define JH7110_SYSCLK_AXIMEM2_AXI 86 104 #define JH7110_SYSCLK_QSPI_AHB 87 105 #define JH7110_SYSCLK_QSPI_APB 88 106 #define JH7110_SYSCLK_QSPI_REF_SRC 89 107 #define JH7110_SYSCLK_QSPI_REF 90 108 #define JH7110_SYSCLK_SDIO0_AHB 91 109 #define JH7110_SYSCLK_SDIO1_AHB 92 110 #define JH7110_SYSCLK_SDIO0_SDCARD 93 111 #define JH7110_SYSCLK_SDIO1_SDCARD 94 112 #define JH7110_SYSCLK_USB_125M 95 113 #define JH7110_SYSCLK_NOC_BUS_STG_AXI 96 114 #define JH7110_SYSCLK_GMAC1_AHB 97 115 #define JH7110_SYSCLK_GMAC1_AXI 98 116 #define JH7110_SYSCLK_GMAC_SRC 99 117 #define JH7110_SYSCLK_GMAC1_GTXCLK 100 118 #define JH7110_SYSCLK_GMAC1_RMII_RTX 101 119 #define JH7110_SYSCLK_GMAC1_PTP 102 120 #define JH7110_SYSCLK_GMAC1_RX 103 121 #define JH7110_SYSCLK_GMAC1_RX_INV 104 122 #define JH7110_SYSCLK_GMAC1_TX 105 123 #define JH7110_SYSCLK_GMAC1_TX_INV 106 124 #define JH7110_SYSCLK_GMAC1_GTXC 107 125 #define JH7110_SYSCLK_GMAC0_GTXCLK 108 126 #define JH7110_SYSCLK_GMAC0_PTP 109 127 #define JH7110_SYSCLK_GMAC_PHY 110 128 #define JH7110_SYSCLK_GMAC0_GTXC 111 129 #define JH7110_SYSCLK_IOMUX_APB 112 130 #define JH7110_SYSCLK_MAILBOX_APB 113 131 #define JH7110_SYSCLK_INT_CTRL_APB 114 132 #define JH7110_SYSCLK_CAN0_APB 115 133 #define JH7110_SYSCLK_CAN0_TIMER 116 134 #define JH7110_SYSCLK_CAN0_CAN 117 135 #define JH7110_SYSCLK_CAN1_APB 118 136 #define JH7110_SYSCLK_CAN1_TIMER 119 137 #define JH7110_SYSCLK_CAN1_CAN 120 138 #define JH7110_SYSCLK_PWM_APB 121 139 #define JH7110_SYSCLK_WDT_APB 122 140 #define JH7110_SYSCLK_WDT_CORE 123 141 #define JH7110_SYSCLK_TIMER_APB 124 142 #define JH7110_SYSCLK_TIMER0 125 143 #define JH7110_SYSCLK_TIMER1 126 144 #define JH7110_SYSCLK_TIMER2 127 145 #define JH7110_SYSCLK_TIMER3 128 146 #define JH7110_SYSCLK_TEMP_APB 129 147 #define JH7110_SYSCLK_TEMP_CORE 130 148 #define JH7110_SYSCLK_SPI0_APB 131 149 #define JH7110_SYSCLK_SPI1_APB 132 150 #define JH7110_SYSCLK_SPI2_APB 133 151 #define JH7110_SYSCLK_SPI3_APB 134 152 #define JH7110_SYSCLK_SPI4_APB 135 153 #define JH7110_SYSCLK_SPI5_APB 136 154 #define JH7110_SYSCLK_SPI6_APB 137 155 #define JH7110_SYSCLK_I2C0_APB 138 156 #define JH7110_SYSCLK_I2C1_APB 139 157 #define JH7110_SYSCLK_I2C2_APB 140 158 #define JH7110_SYSCLK_I2C3_APB 141 159 #define JH7110_SYSCLK_I2C4_APB 142 160 #define JH7110_SYSCLK_I2C5_APB 143 161 #define JH7110_SYSCLK_I2C6_APB 144 162 #define JH7110_SYSCLK_UART0_APB 145 163 #define JH7110_SYSCLK_UART0_CORE 146 164 #define JH7110_SYSCLK_UART1_APB 147 165 #define JH7110_SYSCLK_UART1_CORE 148 166 #define JH7110_SYSCLK_UART2_APB 149 167 #define JH7110_SYSCLK_UART2_CORE 150 168 #define JH7110_SYSCLK_UART3_APB 151 169 #define JH7110_SYSCLK_UART3_CORE 152 170 #define JH7110_SYSCLK_UART4_APB 153 171 #define JH7110_SYSCLK_UART4_CORE 154 172 #define JH7110_SYSCLK_UART5_APB 155 173 #define JH7110_SYSCLK_UART5_CORE 156 174 #define JH7110_SYSCLK_PWMDAC_APB 157 175 #define JH7110_SYSCLK_PWMDAC_CORE 158 176 #define JH7110_SYSCLK_SPDIF_APB 159 177 #define JH7110_SYSCLK_SPDIF_CORE 160 178 #define JH7110_SYSCLK_I2STX0_APB 161 179 #define JH7110_SYSCLK_I2STX0_BCLK_MST 162 180 #define JH7110_SYSCLK_I2STX0_BCLK_MST_INV 163 181 #define JH7110_SYSCLK_I2STX0_LRCK_MST 164 182 #define JH7110_SYSCLK_I2STX0_BCLK 165 183 #define JH7110_SYSCLK_I2STX0_BCLK_INV 166 184 #define JH7110_SYSCLK_I2STX0_LRCK 167 185 #define JH7110_SYSCLK_I2STX1_APB 168 186 #define JH7110_SYSCLK_I2STX1_BCLK_MST 169 187 #define JH7110_SYSCLK_I2STX1_BCLK_MST_INV 170 188 #define JH7110_SYSCLK_I2STX1_LRCK_MST 171 189 #define JH7110_SYSCLK_I2STX1_BCLK 172 190 #define JH7110_SYSCLK_I2STX1_BCLK_INV 173 191 #define JH7110_SYSCLK_I2STX1_LRCK 174 192 #define JH7110_SYSCLK_I2SRX_APB 175 193 #define JH7110_SYSCLK_I2SRX_BCLK_MST 176 194 #define JH7110_SYSCLK_I2SRX_BCLK_MST_INV 177 195 #define JH7110_SYSCLK_I2SRX_LRCK_MST 178 196 #define JH7110_SYSCLK_I2SRX_BCLK 179 197 #define JH7110_SYSCLK_I2SRX_BCLK_INV 180 198 #define JH7110_SYSCLK_I2SRX_LRCK 181 199 #define JH7110_SYSCLK_PDM_DMIC 182 200 #define JH7110_SYSCLK_PDM_APB 183 201 #define JH7110_SYSCLK_TDM_AHB 184 202 #define JH7110_SYSCLK_TDM_APB 185 203 #define JH7110_SYSCLK_TDM_INTERNAL 186 204 #define JH7110_SYSCLK_TDM_TDM 187 205 #define JH7110_SYSCLK_TDM_TDM_INV 188 206 #define JH7110_SYSCLK_JTAG_CERTIFICATION_TRNG 189 207 208 #define JH7110_SYSCLK_END 190 209 210 /* AONCRG clocks */ 211 #define JH7110_AONCLK_OSC_DIV4 0 212 #define JH7110_AONCLK_APB_FUNC 1 213 #define JH7110_AONCLK_GMAC0_AHB 2 214 #define JH7110_AONCLK_GMAC0_AXI 3 215 #define JH7110_AONCLK_GMAC0_RMII_RTX 4 216 #define JH7110_AONCLK_GMAC0_TX 5 217 #define JH7110_AONCLK_GMAC0_TX_INV 6 218 #define JH7110_AONCLK_GMAC0_RX 7 219 #define JH7110_AONCLK_GMAC0_RX_INV 8 220 #define JH7110_AONCLK_OTPC_APB 9 221 #define JH7110_AONCLK_RTC_APB 10 222 #define JH7110_AONCLK_RTC_INTERNAL 11 223 #define JH7110_AONCLK_RTC_32K 12 224 #define JH7110_AONCLK_RTC_CAL 13 225 226 #define JH7110_AONCLK_END 14 227 228 /* STGCRG clocks */ 229 #define JH7110_STGCLK_HIFI4_CLK_CORE 0 230 #define JH7110_STGCLK_USB0_APB 1 231 #define JH7110_STGCLK_USB0_UTMI_APB 2 232 #define JH7110_STGCLK_USB0_AXI 3 233 #define JH7110_STGCLK_USB0_LPM 4 234 #define JH7110_STGCLK_USB0_STB 5 235 #define JH7110_STGCLK_USB0_APP_125 6 236 #define JH7110_STGCLK_USB0_REFCLK 7 237 #define JH7110_STGCLK_PCIE0_AXI_MST0 8 238 #define JH7110_STGCLK_PCIE0_APB 9 239 #define JH7110_STGCLK_PCIE0_TL 10 240 #define JH7110_STGCLK_PCIE1_AXI_MST0 11 241 #define JH7110_STGCLK_PCIE1_APB 12 242 #define JH7110_STGCLK_PCIE1_TL 13 243 #define JH7110_STGCLK_PCIE_SLV_MAIN 14 244 #define JH7110_STGCLK_SEC_AHB 15 245 #define JH7110_STGCLK_SEC_MISC_AHB 16 246 #define JH7110_STGCLK_GRP0_MAIN 17 247 #define JH7110_STGCLK_GRP0_BUS 18 248 #define JH7110_STGCLK_GRP0_STG 19 249 #define JH7110_STGCLK_GRP1_MAIN 20 250 #define JH7110_STGCLK_GRP1_BUS 21 251 #define JH7110_STGCLK_GRP1_STG 22 252 #define JH7110_STGCLK_GRP1_HIFI 23 253 #define JH7110_STGCLK_E2_RTC 24 254 #define JH7110_STGCLK_E2_CORE 25 255 #define JH7110_STGCLK_E2_DBG 26 256 #define JH7110_STGCLK_DMA1P_AXI 27 257 #define JH7110_STGCLK_DMA1P_AHB 28 258 259 #define JH7110_STGCLK_END 29 260 261 /* ISPCRG clocks */ 262 #define JH7110_ISPCLK_DOM4_APB_FUNC 0 263 #define JH7110_ISPCLK_MIPI_RX0_PXL 1 264 #define JH7110_ISPCLK_DVP_INV 2 265 #define JH7110_ISPCLK_M31DPHY_CFG_IN 3 266 #define JH7110_ISPCLK_M31DPHY_REF_IN 4 267 #define JH7110_ISPCLK_M31DPHY_TX_ESC_LAN0 5 268 #define JH7110_ISPCLK_VIN_APB 6 269 #define JH7110_ISPCLK_VIN_SYS 7 270 #define JH7110_ISPCLK_VIN_PIXEL_IF0 8 271 #define JH7110_ISPCLK_VIN_PIXEL_IF1 9 272 #define JH7110_ISPCLK_VIN_PIXEL_IF2 10 273 #define JH7110_ISPCLK_VIN_PIXEL_IF3 11 274 #define JH7110_ISPCLK_VIN_P_AXI_WR 12 275 #define JH7110_ISPCLK_ISPV2_TOP_WRAPPER_C 13 276 277 #define JH7110_ISPCLK_END 14 278 279 /* VOUTCRG clocks */ 280 #define JH7110_VOUTCLK_APB 0 281 #define JH7110_VOUTCLK_DC8200_PIX 1 282 #define JH7110_VOUTCLK_DSI_SYS 2 283 #define JH7110_VOUTCLK_TX_ESC 3 284 #define JH7110_VOUTCLK_DC8200_AXI 4 285 #define JH7110_VOUTCLK_DC8200_CORE 5 286 #define JH7110_VOUTCLK_DC8200_AHB 6 287 #define JH7110_VOUTCLK_DC8200_PIX0 7 288 #define JH7110_VOUTCLK_DC8200_PIX1 8 289 #define JH7110_VOUTCLK_DOM_VOUT_TOP_LCD 9 290 #define JH7110_VOUTCLK_DSITX_APB 10 291 #define JH7110_VOUTCLK_DSITX_SYS 11 292 #define JH7110_VOUTCLK_DSITX_DPI 12 293 #define JH7110_VOUTCLK_DSITX_TXESC 13 294 #define JH7110_VOUTCLK_MIPITX_DPHY_TXESC 14 295 #define JH7110_VOUTCLK_HDMI_TX_MCLK 15 296 #define JH7110_VOUTCLK_HDMI_TX_BCLK 16 297 #define JH7110_VOUTCLK_HDMI_TX_SYS 17 298 299 #define JH7110_VOUTCLK_END 18 300 301 #endif /* __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ */ 302