1*84898f8eSFinley Xiao /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2*84898f8eSFinley Xiao /* 3*84898f8eSFinley Xiao * Copyright (c) 2023-2025 Rockchip Electronics Co., Ltd. 4*84898f8eSFinley Xiao * Author: Finley Xiao <finley.xiao@rock-chips.com> 5*84898f8eSFinley Xiao */ 6*84898f8eSFinley Xiao 7*84898f8eSFinley Xiao #ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3506_H 8*84898f8eSFinley Xiao #define _DT_BINDINGS_CLK_ROCKCHIP_RK3506_H 9*84898f8eSFinley Xiao 10*84898f8eSFinley Xiao /* cru plls */ 11*84898f8eSFinley Xiao #define PLL_GPLL 0 12*84898f8eSFinley Xiao #define PLL_V0PLL 1 13*84898f8eSFinley Xiao #define PLL_V1PLL 2 14*84898f8eSFinley Xiao 15*84898f8eSFinley Xiao /* cru-clocks indices */ 16*84898f8eSFinley Xiao #define ARMCLK 3 17*84898f8eSFinley Xiao #define CLK_DDR 4 18*84898f8eSFinley Xiao #define XIN24M_GATE 5 19*84898f8eSFinley Xiao #define CLK_GPLL_GATE 6 20*84898f8eSFinley Xiao #define CLK_V0PLL_GATE 7 21*84898f8eSFinley Xiao #define CLK_V1PLL_GATE 8 22*84898f8eSFinley Xiao #define CLK_GPLL_DIV 9 23*84898f8eSFinley Xiao #define CLK_GPLL_DIV_100M 10 24*84898f8eSFinley Xiao #define CLK_V0PLL_DIV 11 25*84898f8eSFinley Xiao #define CLK_V1PLL_DIV 12 26*84898f8eSFinley Xiao #define CLK_INT_VOICE_MATRIX0 13 27*84898f8eSFinley Xiao #define CLK_INT_VOICE_MATRIX1 14 28*84898f8eSFinley Xiao #define CLK_INT_VOICE_MATRIX2 15 29*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX0_MUX 16 30*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX1_MUX 17 31*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX0_MUX 18 32*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX1_MUX 19 33*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX0_MUX 20 34*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX1_MUX 21 35*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX2_MUX 22 36*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX0 23 37*84898f8eSFinley Xiao #define CLK_FRAC_UART_MATRIX1 24 38*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX0 25 39*84898f8eSFinley Xiao #define CLK_FRAC_VOICE_MATRIX1 26 40*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX0 27 41*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX1 28 42*84898f8eSFinley Xiao #define CLK_FRAC_COMMON_MATRIX2 29 43*84898f8eSFinley Xiao #define CLK_REF_USBPHY_TOP 30 44*84898f8eSFinley Xiao #define CLK_REF_DPHY_TOP 31 45*84898f8eSFinley Xiao #define ACLK_CORE_ROOT 32 46*84898f8eSFinley Xiao #define PCLK_CORE_ROOT 33 47*84898f8eSFinley Xiao #define PCLK_DBG 34 48*84898f8eSFinley Xiao #define PCLK_CORE_GRF 35 49*84898f8eSFinley Xiao #define PCLK_CORE_CRU 36 50*84898f8eSFinley Xiao #define CLK_CORE_EMA_DETECT 37 51*84898f8eSFinley Xiao #define CLK_REF_PVTPLL_CORE 38 52*84898f8eSFinley Xiao #define PCLK_GPIO1 39 53*84898f8eSFinley Xiao #define DBCLK_GPIO1 40 54*84898f8eSFinley Xiao #define ACLK_CORE_PERI_ROOT 41 55*84898f8eSFinley Xiao #define HCLK_CORE_PERI_ROOT 42 56*84898f8eSFinley Xiao #define PCLK_CORE_PERI_ROOT 43 57*84898f8eSFinley Xiao #define CLK_DSMC 44 58*84898f8eSFinley Xiao #define ACLK_DSMC 45 59*84898f8eSFinley Xiao #define PCLK_DSMC 46 60*84898f8eSFinley Xiao #define CLK_FLEXBUS_TX 47 61*84898f8eSFinley Xiao #define CLK_FLEXBUS_RX 48 62*84898f8eSFinley Xiao #define ACLK_FLEXBUS 49 63*84898f8eSFinley Xiao #define HCLK_FLEXBUS 50 64*84898f8eSFinley Xiao #define ACLK_DSMC_SLV 51 65*84898f8eSFinley Xiao #define HCLK_DSMC_SLV 52 66*84898f8eSFinley Xiao #define ACLK_BUS_ROOT 53 67*84898f8eSFinley Xiao #define HCLK_BUS_ROOT 54 68*84898f8eSFinley Xiao #define PCLK_BUS_ROOT 55 69*84898f8eSFinley Xiao #define ACLK_SYSRAM 56 70*84898f8eSFinley Xiao #define HCLK_SYSRAM 57 71*84898f8eSFinley Xiao #define ACLK_DMAC0 58 72*84898f8eSFinley Xiao #define ACLK_DMAC1 59 73*84898f8eSFinley Xiao #define HCLK_M0 60 74*84898f8eSFinley Xiao #define PCLK_BUS_GRF 61 75*84898f8eSFinley Xiao #define PCLK_TIMER 62 76*84898f8eSFinley Xiao #define CLK_TIMER0_CH0 63 77*84898f8eSFinley Xiao #define CLK_TIMER0_CH1 64 78*84898f8eSFinley Xiao #define CLK_TIMER0_CH2 65 79*84898f8eSFinley Xiao #define CLK_TIMER0_CH3 66 80*84898f8eSFinley Xiao #define CLK_TIMER0_CH4 67 81*84898f8eSFinley Xiao #define CLK_TIMER0_CH5 68 82*84898f8eSFinley Xiao #define PCLK_WDT0 69 83*84898f8eSFinley Xiao #define TCLK_WDT0 70 84*84898f8eSFinley Xiao #define PCLK_WDT1 71 85*84898f8eSFinley Xiao #define TCLK_WDT1 72 86*84898f8eSFinley Xiao #define PCLK_MAILBOX 73 87*84898f8eSFinley Xiao #define PCLK_INTMUX 74 88*84898f8eSFinley Xiao #define PCLK_SPINLOCK 75 89*84898f8eSFinley Xiao #define PCLK_DDRC 76 90*84898f8eSFinley Xiao #define HCLK_DDRPHY 77 91*84898f8eSFinley Xiao #define PCLK_DDRMON 78 92*84898f8eSFinley Xiao #define CLK_DDRMON_OSC 79 93*84898f8eSFinley Xiao #define PCLK_STDBY 80 94*84898f8eSFinley Xiao #define HCLK_USBOTG0 81 95*84898f8eSFinley Xiao #define HCLK_USBOTG0_PMU 82 96*84898f8eSFinley Xiao #define CLK_USBOTG0_ADP 83 97*84898f8eSFinley Xiao #define HCLK_USBOTG1 84 98*84898f8eSFinley Xiao #define HCLK_USBOTG1_PMU 85 99*84898f8eSFinley Xiao #define CLK_USBOTG1_ADP 86 100*84898f8eSFinley Xiao #define PCLK_USBPHY 87 101*84898f8eSFinley Xiao #define ACLK_DMA2DDR 88 102*84898f8eSFinley Xiao #define PCLK_DMA2DDR 89 103*84898f8eSFinley Xiao #define STCLK_M0 90 104*84898f8eSFinley Xiao #define CLK_DDRPHY 91 105*84898f8eSFinley Xiao #define CLK_DDRC_SRC 92 106*84898f8eSFinley Xiao #define ACLK_DDRC_0 93 107*84898f8eSFinley Xiao #define ACLK_DDRC_1 94 108*84898f8eSFinley Xiao #define CLK_DDRC 95 109*84898f8eSFinley Xiao #define CLK_DDRMON 96 110*84898f8eSFinley Xiao #define HCLK_LSPERI_ROOT 97 111*84898f8eSFinley Xiao #define PCLK_LSPERI_ROOT 98 112*84898f8eSFinley Xiao #define PCLK_UART0 99 113*84898f8eSFinley Xiao #define PCLK_UART1 100 114*84898f8eSFinley Xiao #define PCLK_UART2 101 115*84898f8eSFinley Xiao #define PCLK_UART3 102 116*84898f8eSFinley Xiao #define PCLK_UART4 103 117*84898f8eSFinley Xiao #define SCLK_UART0 104 118*84898f8eSFinley Xiao #define SCLK_UART1 105 119*84898f8eSFinley Xiao #define SCLK_UART2 106 120*84898f8eSFinley Xiao #define SCLK_UART3 107 121*84898f8eSFinley Xiao #define SCLK_UART4 108 122*84898f8eSFinley Xiao #define PCLK_I2C0 109 123*84898f8eSFinley Xiao #define CLK_I2C0 110 124*84898f8eSFinley Xiao #define PCLK_I2C1 111 125*84898f8eSFinley Xiao #define CLK_I2C1 112 126*84898f8eSFinley Xiao #define PCLK_I2C2 113 127*84898f8eSFinley Xiao #define CLK_I2C2 114 128*84898f8eSFinley Xiao #define PCLK_PWM1 115 129*84898f8eSFinley Xiao #define CLK_PWM1 116 130*84898f8eSFinley Xiao #define CLK_OSC_PWM1 117 131*84898f8eSFinley Xiao #define CLK_RC_PWM1 118 132*84898f8eSFinley Xiao #define CLK_FREQ_PWM1 119 133*84898f8eSFinley Xiao #define CLK_COUNTER_PWM1 120 134*84898f8eSFinley Xiao #define PCLK_SPI0 121 135*84898f8eSFinley Xiao #define CLK_SPI0 122 136*84898f8eSFinley Xiao #define PCLK_SPI1 123 137*84898f8eSFinley Xiao #define CLK_SPI1 124 138*84898f8eSFinley Xiao #define PCLK_GPIO2 125 139*84898f8eSFinley Xiao #define DBCLK_GPIO2 126 140*84898f8eSFinley Xiao #define PCLK_GPIO3 127 141*84898f8eSFinley Xiao #define DBCLK_GPIO3 128 142*84898f8eSFinley Xiao #define PCLK_GPIO4 129 143*84898f8eSFinley Xiao #define DBCLK_GPIO4 130 144*84898f8eSFinley Xiao #define HCLK_CAN0 131 145*84898f8eSFinley Xiao #define CLK_CAN0 132 146*84898f8eSFinley Xiao #define HCLK_CAN1 133 147*84898f8eSFinley Xiao #define CLK_CAN1 134 148*84898f8eSFinley Xiao #define HCLK_PDM 135 149*84898f8eSFinley Xiao #define MCLK_PDM 136 150*84898f8eSFinley Xiao #define CLKOUT_PDM 137 151*84898f8eSFinley Xiao #define MCLK_SPDIFTX 138 152*84898f8eSFinley Xiao #define HCLK_SPDIFTX 139 153*84898f8eSFinley Xiao #define HCLK_SPDIFRX 140 154*84898f8eSFinley Xiao #define MCLK_SPDIFRX 141 155*84898f8eSFinley Xiao #define MCLK_SAI0 142 156*84898f8eSFinley Xiao #define HCLK_SAI0 143 157*84898f8eSFinley Xiao #define MCLK_OUT_SAI0 144 158*84898f8eSFinley Xiao #define MCLK_SAI1 145 159*84898f8eSFinley Xiao #define HCLK_SAI1 146 160*84898f8eSFinley Xiao #define MCLK_OUT_SAI1 147 161*84898f8eSFinley Xiao #define HCLK_ASRC0 148 162*84898f8eSFinley Xiao #define CLK_ASRC0 149 163*84898f8eSFinley Xiao #define HCLK_ASRC1 150 164*84898f8eSFinley Xiao #define CLK_ASRC1 151 165*84898f8eSFinley Xiao #define PCLK_CRU 152 166*84898f8eSFinley Xiao #define PCLK_PMU_ROOT 153 167*84898f8eSFinley Xiao #define MCLK_ASRC0 154 168*84898f8eSFinley Xiao #define MCLK_ASRC1 155 169*84898f8eSFinley Xiao #define MCLK_ASRC2 156 170*84898f8eSFinley Xiao #define MCLK_ASRC3 157 171*84898f8eSFinley Xiao #define LRCK_ASRC0_SRC 158 172*84898f8eSFinley Xiao #define LRCK_ASRC0_DST 159 173*84898f8eSFinley Xiao #define LRCK_ASRC1_SRC 160 174*84898f8eSFinley Xiao #define LRCK_ASRC1_DST 161 175*84898f8eSFinley Xiao #define ACLK_HSPERI_ROOT 162 176*84898f8eSFinley Xiao #define HCLK_HSPERI_ROOT 163 177*84898f8eSFinley Xiao #define PCLK_HSPERI_ROOT 164 178*84898f8eSFinley Xiao #define CCLK_SRC_SDMMC 165 179*84898f8eSFinley Xiao #define HCLK_SDMMC 166 180*84898f8eSFinley Xiao #define HCLK_FSPI 167 181*84898f8eSFinley Xiao #define SCLK_FSPI 168 182*84898f8eSFinley Xiao #define PCLK_SPI2 169 183*84898f8eSFinley Xiao #define ACLK_MAC0 170 184*84898f8eSFinley Xiao #define ACLK_MAC1 171 185*84898f8eSFinley Xiao #define PCLK_MAC0 172 186*84898f8eSFinley Xiao #define PCLK_MAC1 173 187*84898f8eSFinley Xiao #define CLK_MAC_ROOT 174 188*84898f8eSFinley Xiao #define CLK_MAC0 175 189*84898f8eSFinley Xiao #define CLK_MAC1 176 190*84898f8eSFinley Xiao #define MCLK_SAI2 177 191*84898f8eSFinley Xiao #define HCLK_SAI2 178 192*84898f8eSFinley Xiao #define MCLK_OUT_SAI2 179 193*84898f8eSFinley Xiao #define MCLK_SAI3_SRC 180 194*84898f8eSFinley Xiao #define HCLK_SAI3 181 195*84898f8eSFinley Xiao #define MCLK_SAI3 182 196*84898f8eSFinley Xiao #define MCLK_OUT_SAI3 183 197*84898f8eSFinley Xiao #define MCLK_SAI4_SRC 184 198*84898f8eSFinley Xiao #define HCLK_SAI4 185 199*84898f8eSFinley Xiao #define MCLK_SAI4 186 200*84898f8eSFinley Xiao #define HCLK_DSM 187 201*84898f8eSFinley Xiao #define MCLK_DSM 188 202*84898f8eSFinley Xiao #define PCLK_AUDIO_ADC 189 203*84898f8eSFinley Xiao #define MCLK_AUDIO_ADC 190 204*84898f8eSFinley Xiao #define MCLK_AUDIO_ADC_DIV4 191 205*84898f8eSFinley Xiao #define PCLK_SARADC 192 206*84898f8eSFinley Xiao #define CLK_SARADC 193 207*84898f8eSFinley Xiao #define PCLK_OTPC_NS 194 208*84898f8eSFinley Xiao #define CLK_SBPI_OTPC_NS 195 209*84898f8eSFinley Xiao #define CLK_USER_OTPC_NS 196 210*84898f8eSFinley Xiao #define PCLK_UART5 197 211*84898f8eSFinley Xiao #define SCLK_UART5 198 212*84898f8eSFinley Xiao #define PCLK_GPIO234_IOC 199 213*84898f8eSFinley Xiao #define CLK_MAC_PTP_ROOT 200 214*84898f8eSFinley Xiao #define CLK_MAC0_PTP 201 215*84898f8eSFinley Xiao #define CLK_MAC1_PTP 202 216*84898f8eSFinley Xiao #define CLK_SPI2 203 217*84898f8eSFinley Xiao #define ACLK_VIO_ROOT 204 218*84898f8eSFinley Xiao #define HCLK_VIO_ROOT 205 219*84898f8eSFinley Xiao #define PCLK_VIO_ROOT 206 220*84898f8eSFinley Xiao #define HCLK_RGA 207 221*84898f8eSFinley Xiao #define ACLK_RGA 208 222*84898f8eSFinley Xiao #define CLK_CORE_RGA 209 223*84898f8eSFinley Xiao #define ACLK_VOP 210 224*84898f8eSFinley Xiao #define HCLK_VOP 211 225*84898f8eSFinley Xiao #define DCLK_VOP 212 226*84898f8eSFinley Xiao #define PCLK_DPHY 213 227*84898f8eSFinley Xiao #define PCLK_DSI_HOST 214 228*84898f8eSFinley Xiao #define PCLK_TSADC 215 229*84898f8eSFinley Xiao #define CLK_TSADC 216 230*84898f8eSFinley Xiao #define CLK_TSADC_TSEN 217 231*84898f8eSFinley Xiao #define PCLK_GPIO1_IOC 218 232*84898f8eSFinley Xiao #define PCLK_OTPC_S 219 233*84898f8eSFinley Xiao #define CLK_SBPI_OTPC_S 220 234*84898f8eSFinley Xiao #define CLK_USER_OTPC_S 221 235*84898f8eSFinley Xiao #define PCLK_OTP_MASK 222 236*84898f8eSFinley Xiao #define PCLK_KEYREADER 223 237*84898f8eSFinley Xiao #define HCLK_BOOTROM 224 238*84898f8eSFinley Xiao #define PCLK_DDR_SERVICE 225 239*84898f8eSFinley Xiao #define HCLK_CRYPTO_S 226 240*84898f8eSFinley Xiao #define HCLK_KEYLAD 227 241*84898f8eSFinley Xiao #define CLK_CORE_CRYPTO 228 242*84898f8eSFinley Xiao #define CLK_PKA_CRYPTO 229 243*84898f8eSFinley Xiao #define CLK_CORE_CRYPTO_S 230 244*84898f8eSFinley Xiao #define CLK_PKA_CRYPTO_S 231 245*84898f8eSFinley Xiao #define ACLK_CRYPTO_S 232 246*84898f8eSFinley Xiao #define HCLK_RNG_S 233 247*84898f8eSFinley Xiao #define CLK_CORE_CRYPTO_NS 234 248*84898f8eSFinley Xiao #define CLK_PKA_CRYPTO_NS 235 249*84898f8eSFinley Xiao #define ACLK_CRYPTO_NS 236 250*84898f8eSFinley Xiao #define HCLK_CRYPTO_NS 237 251*84898f8eSFinley Xiao #define HCLK_RNG 238 252*84898f8eSFinley Xiao #define CLK_PMU 239 253*84898f8eSFinley Xiao #define PCLK_PMU 240 254*84898f8eSFinley Xiao #define CLK_PMU_32K 241 255*84898f8eSFinley Xiao #define PCLK_PMU_CRU 242 256*84898f8eSFinley Xiao #define PCLK_PMU_GRF 243 257*84898f8eSFinley Xiao #define PCLK_GPIO0_IOC 244 258*84898f8eSFinley Xiao #define PCLK_GPIO0 245 259*84898f8eSFinley Xiao #define DBCLK_GPIO0 246 260*84898f8eSFinley Xiao #define PCLK_GPIO1_SHADOW 247 261*84898f8eSFinley Xiao #define DBCLK_GPIO1_SHADOW 248 262*84898f8eSFinley Xiao #define PCLK_PMU_HP_TIMER 249 263*84898f8eSFinley Xiao #define CLK_PMU_HP_TIMER 250 264*84898f8eSFinley Xiao #define CLK_PMU_HP_TIMER_32K 251 265*84898f8eSFinley Xiao #define PCLK_PWM0 252 266*84898f8eSFinley Xiao #define CLK_PWM0 253 267*84898f8eSFinley Xiao #define CLK_OSC_PWM0 254 268*84898f8eSFinley Xiao #define CLK_RC_PWM0 255 269*84898f8eSFinley Xiao #define CLK_MAC_OUT 256 270*84898f8eSFinley Xiao #define CLK_REF_OUT0 257 271*84898f8eSFinley Xiao #define CLK_REF_OUT1 258 272*84898f8eSFinley Xiao #define CLK_32K_FRAC 259 273*84898f8eSFinley Xiao #define CLK_32K_RC 260 274*84898f8eSFinley Xiao #define CLK_32K 261 275*84898f8eSFinley Xiao #define CLK_32K_PMU 262 276*84898f8eSFinley Xiao #define PCLK_TOUCH_KEY 263 277*84898f8eSFinley Xiao #define CLK_TOUCH_KEY 264 278*84898f8eSFinley Xiao #define CLK_REF_PHY_PLL 265 279*84898f8eSFinley Xiao #define CLK_REF_PHY_PMU_MUX 266 280*84898f8eSFinley Xiao #define CLK_WIFI_OUT 267 281*84898f8eSFinley Xiao #define CLK_V0PLL_REF 268 282*84898f8eSFinley Xiao #define CLK_V1PLL_REF 269 283*84898f8eSFinley Xiao #define CLK_32K_FRAC_MUX 270 284*84898f8eSFinley Xiao 285*84898f8eSFinley Xiao #endif 286