1 /* 2 * Copyright (c) 2025-2026 Texas Instruments Incorporated - https://www.ti.com 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <ti_clk_dev.h> 8 #include <ti_clk_div.h> 9 #include <ti_clk_fixed.h> 10 #include <ti_clk_pll_16fft.h> 11 #include <ti_clk_pllctrl.h> 12 #include <ti_clk_soc_hfosc0.h> 13 #include <ti_clk_soc_lfosc0.h> 14 15 #include <ti_clk_ids.h> 16 #include <ti_clocks.h> 17 #include <ti_devices.h> 18 19 enum { 20 AM62LX_FREQ_VALUE_BOARD_0_AUDIO_EXT_REFCLK0_OUT, 21 AM62LX_FREQ_VALUE_BOARD_0_AUDIO_EXT_REFCLK1_OUT, 22 AM62LX_FREQ_VALUE_BOARD_0_GEMAC_CPTS0_RFT_CLK_OUT, 23 AM62LX_FREQ_VALUE_BOARD_0_EXT_REFCLK1_OUT, 24 AM62LX_FREQ_VALUE_BOARD_0_GPMC0_CLKLB_OUT, 25 AM62LX_FREQ_VALUE_BOARD_0_I2C0_SCL_OUT, 26 AM62LX_FREQ_VALUE_BOARD_0_I2C1_SCL_OUT, 27 AM62LX_FREQ_VALUE_BOARD_0_I2C2_SCL_OUT, 28 AM62LX_FREQ_VALUE_BOARD_0_I2C3_SCL_OUT, 29 AM62LX_FREQ_VALUE_BOARD_0_MCASP0_ACLKR_OUT, 30 AM62LX_FREQ_VALUE_BOARD_0_MCASP0_ACLKX_OUT, 31 AM62LX_FREQ_VALUE_BOARD_0_MCASP0_AFSR_OUT, 32 AM62LX_FREQ_VALUE_BOARD_0_MCASP0_AFSX_OUT, 33 AM62LX_FREQ_VALUE_BOARD_0_MCASP1_ACLKR_OUT, 34 AM62LX_FREQ_VALUE_BOARD_0_MCASP1_ACLKX_OUT, 35 AM62LX_FREQ_VALUE_BOARD_0_MCASP1_AFSR_OUT, 36 AM62LX_FREQ_VALUE_BOARD_0_MCASP1_AFSX_OUT, 37 AM62LX_FREQ_VALUE_BOARD_0_MCASP2_ACLKR_OUT, 38 AM62LX_FREQ_VALUE_BOARD_0_MCASP2_ACLKX_OUT, 39 AM62LX_FREQ_VALUE_BOARD_0_MCASP2_AFSR_OUT, 40 AM62LX_FREQ_VALUE_BOARD_0_MCASP2_AFSX_OUT, 41 AM62LX_FREQ_VALUE_BOARD_0_MMC0_CLKLB_OUT, 42 AM62LX_FREQ_VALUE_BOARD_0_MMC0_CLK_OUT, 43 AM62LX_FREQ_VALUE_BOARD_0_MMC1_CLKLB_OUT, 44 AM62LX_FREQ_VALUE_BOARD_0_MMC1_CLK_OUT, 45 AM62LX_FREQ_VALUE_BOARD_0_MMC2_CLKLB_OUT, 46 AM62LX_FREQ_VALUE_BOARD_0_MMC2_CLK_OUT, 47 AM62LX_FREQ_VALUE_BOARD_0_OSPI0_DQS_OUT, 48 AM62LX_FREQ_VALUE_BOARD_0_OSPI0_LBCLKO_OUT, 49 AM62LX_FREQ_VALUE_BOARD_0_RMII1_REF_CLK_OUT, 50 AM62LX_FREQ_VALUE_BOARD_0_RMII2_REF_CLK_OUT, 51 AM62LX_FREQ_VALUE_BOARD_0_TCK_OUT, 52 AM62LX_FREQ_VALUE_BOARD_0_VOUT0_EXTPCLKIN_OUT, 53 AM62LX_FREQ_VALUE_BOARD_0_WKUP_EXT_REFCLK0_OUT, 54 AM62LX_FREQ_VALUE_BOARD_0_WKUP_I2C0_SCL_OUT, 55 AM62LX_FREQ_VALUE_CPSW_MAIN_0_CPTS_GENF0, 56 AM62LX_FREQ_VALUE_CPSW_MAIN_0_CPTS_GENF1, 57 AM62LX_FREQ_VALUE_CPSW_3GUSS_AM62L_MAIN_0_MDIO_MDCLK_O, 58 AM62LX_FREQ_VALUE_DEBUGSS_K3_WRAP_CV0_MAIN_0_CSTPIU_TRACECLK, 59 AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_0_TIMER_PWM, 60 AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_1_TIMER_PWM, 61 AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_2_TIMER_PWM, 62 AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_3_TIMER_PWM, 63 AM62LX_FREQ_VALUE_DMC1MS_WKUP_0_TIMER_PWM, 64 AM62LX_FREQ_VALUE_EMMCSD4SS_MAIN_0_EMMCSDSS_IO_CLK_O, 65 AM62LX_FREQ_VALUE_EMMCSD4SS_MAIN_1_EMMCSDSS_IO_CLK_O, 66 AM62LX_FREQ_VALUE_EMMCSD8SS_MAIN_0_EMMCSDSS_IO_CLK_O, 67 AM62LX_FREQ_VALUE_FSS_UL_128_MAIN_0_OSPI0_OCLK_CLK, 68 AM62LX_FREQ_VALUE_GPMC_MAIN_0_PO_GPMC_DEV_CLK, 69 AM62LX_FREQ_VALUE_K3_DSS_NANO_MAIN_0_DPI_0_OUT_CLK, 70 AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_ACLKR_POUT, 71 AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_ACLKX_POUT, 72 AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AFSR_POUT, 73 AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AFSX_POUT, 74 AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AHCLKR_POUT, 75 AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AHCLKX_POUT, 76 AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_ACLKR_POUT, 77 AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_ACLKX_POUT, 78 AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AFSR_POUT, 79 AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AFSX_POUT, 80 AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AHCLKR_POUT, 81 AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AHCLKX_POUT, 82 AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_ACLKR_POUT, 83 AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_ACLKX_POUT, 84 AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AFSR_POUT, 85 AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AFSX_POUT, 86 AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AHCLKR_POUT, 87 AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AHCLKX_POUT, 88 AM62LX_FREQ_VALUE_MSHSI2C_MAIN_0_PORSCL, 89 AM62LX_FREQ_VALUE_MSHSI2C_MAIN_1_PORSCL, 90 AM62LX_FREQ_VALUE_MSHSI2C_MAIN_2_PORSCL, 91 AM62LX_FREQ_VALUE_MSHSI2C_MAIN_3_PORSCL, 92 AM62LX_FREQ_VALUE_MSHSI2C_WKUP_0_PORSCL, 93 AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_MAIN_0, 94 AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_MAIN_17, 95 AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_MAIN_8, 96 AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_WKUP_0, 97 AM62LX_FREQ_VALUE_RTCSS_WKUP_0_OSC_32K_CLK, 98 AM62LX_FREQ_VALUE_A53_DIVH_CLK4_OBSCLK_OUT_CLK, 99 AM62LX_FREQ_VALUE_SAM62L_A53_256KB_WRAP_MAIN_0_CLKDIV_0_DIVH_CLK4_CLK_CLK, 100 AM62LX_FREQ_VALUE_SAM62L_A53_256KB_WRAP_MAIN_0_CLKDIV_0_DIVP_CLK1_CLK_CLK, 101 AM62LX_FREQ_VALUE_SPI_MAIN_0_IO_CLKSPIO_CLK, 102 AM62LX_FREQ_VALUE_SPI_MAIN_1_IO_CLKSPIO_CLK, 103 AM62LX_FREQ_VALUE_SPI_MAIN_2_IO_CLKSPIO_CLK, 104 AM62LX_FREQ_VALUE_SPI_MAIN_3_IO_CLKSPIO_CLK, 105 AM62LX_FREQ_VALUE_WIZ16B8M4CDT3_MAIN_0_IP1_PPI_M_RXCLKESC_CLK, 106 AM62LX_FREQ_VALUE_WIZ16B8M4CDT3_MAIN_0_IP1_PPI_TXBYTECLKHS_CL_CLK, 107 AM62LX_FREQ_VALUE_COUNT, 108 }; 109 110 enum { 111 AM62LX_FREQ_RANGE_ANY, 112 AM62LX_FREQ_RANGE_GLUELOGIC_RCOSC_CLKOUT, 113 AM62LX_FREQ_RANGE_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 114 AM62LX_FREQ_RANGE_VCO_PLLFRACF2_SSMOD_16FFT_MAIN_0, 115 AM62LX_FREQ_RANGE_VCO_IN_PLLFRACF2_SSMOD_16FFT_MAIN_0, 116 AM62LX_FREQ_RANGE_ID_MAX, 117 }; 118 119 enum { 120 PLL_ENTRY_WKUP_24MHZ_1200MHZ, 121 PLL_ENTRY_WKUP_25MHZ_1200MHZ, 122 PLL_ENTRY_WKUP_26MHZ_1200MHZ_F24BIT, 123 PLL_ENTRY_MAIN_24MHZ_1000MHZ_F24BIT, 124 PLL_ENTRY_MAIN_25MHZ_1000MHZ, 125 PLL_ENTRY_MAIN_26MHZ_1000MHZ_F24BIT, 126 PLL_ENTRY_ARM0_24MHZ_2500MHZ_F24BIT, 127 PLL_ENTRY_ARM0_25MHZ_2500MHZ, 128 PLL_ENTRY_ARM0_26MHZ_2500MHZ_F24BIT, 129 PLL_ENTRY_DSS_24MHZ_1800MHZ, 130 PLL_ENTRY_DSS_25MHZ_1800MHZ, 131 PLL_ENTRY_DSS_26MHZ_1800MHZ_F24BIT, 132 }; 133 134 enum { 135 NO_DEFAULT_FREQ, 136 FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_0_DEFAULT, 137 FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_17_DEFAULT, 138 FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_8_DEFAULT, 139 FREQ_PLLFRACF2_SSMOD_16FFT_WKUP_0_DEFAULT, 140 }; 141 142 uint32_t soc_clock_values[AM62LX_FREQ_VALUE_COUNT]; 143 144 const struct ti_clk_range soc_clock_ranges[AM62LX_FREQ_RANGE_ID_MAX] = { 145 TI_CLK_RANGE(AM62LX_FREQ_RANGE_ANY, 0, ULONG_MAX), 146 TI_CLK_RANGE(AM62LX_FREQ_RANGE_GLUELOGIC_RCOSC_CLKOUT, 12500000, 12500000), 147 TI_CLK_RANGE(AM62LX_FREQ_RANGE_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 97656, 97656), 148 TI_CLK_RANGE(AM62LX_FREQ_RANGE_VCO_IN_PLLFRACF2_SSMOD_16FFT_MAIN_0, 5000000, 1200000000), 149 TI_CLK_RANGE(AM62LX_FREQ_RANGE_VCO_PLLFRACF2_SSMOD_16FFT_MAIN_0, 800000000, 3200000000), 150 }; 151 152 const struct ti_clk_default soc_clock_freq_defaults[5] = { 153 TI_CLK_DEFAULT(FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_0_DEFAULT, 154 1000000000UL, 1000000000UL, 1000000000UL), 155 TI_CLK_DEFAULT(FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_17_DEFAULT, 156 1800000000UL, 1800000000UL, 1800000000UL), 157 TI_CLK_DEFAULT(FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_8_DEFAULT, 158 2500000000UL, 2500000000UL, 2500000000UL), 159 TI_CLK_DEFAULT(FREQ_PLLFRACF2_SSMOD_16FFT_WKUP_0_DEFAULT, 160 1200000000UL, 1200000000UL, 1200000000UL), 161 }; 162 163 const struct ti_pll_table_entry ti_soc_pll_table[12] = { 164 [PLL_ENTRY_WKUP_24MHZ_1200MHZ] = { 165 .freq_min_hz = 1200000000U, 166 .freq_max_hz = 1200000000U, 167 .plld = 1U, 168 .pllm = 100U, 169 .pllfm = 0U, 170 .clkod = 2U, 171 }, 172 [PLL_ENTRY_WKUP_25MHZ_1200MHZ] = { 173 .freq_min_hz = 1200000000U, 174 .freq_max_hz = 1200000000U, 175 .plld = 1U, 176 .pllm = 96U, 177 .pllfm = 0U, 178 .clkod = 2U, 179 }, 180 [PLL_ENTRY_WKUP_26MHZ_1200MHZ_F24BIT] = { 181 .freq_min_hz = 1200000000U, 182 .freq_max_hz = 1200000001U, 183 .plld = 1U, 184 .pllm = 92U, 185 .pllfm = 5162221U, 186 .clkod = 2U, 187 }, 188 [PLL_ENTRY_MAIN_24MHZ_1000MHZ_F24BIT] = { 189 .freq_min_hz = 1000000000U, 190 .freq_max_hz = 1000000000U, 191 .plld = 1U, 192 .pllm = 83U, 193 .pllfm = 5592406U, 194 .clkod = 2U, 195 }, 196 [PLL_ENTRY_MAIN_25MHZ_1000MHZ] = { 197 .freq_min_hz = 1000000000U, 198 .freq_max_hz = 1000000000U, 199 .plld = 1U, 200 .pllm = 80U, 201 .pllfm = 0U, 202 .clkod = 2U, 203 }, 204 [PLL_ENTRY_MAIN_26MHZ_1000MHZ_F24BIT] = { 205 .freq_min_hz = 1000000000U, 206 .freq_max_hz = 1000000000U, 207 .plld = 1U, 208 .pllm = 76U, 209 .pllfm = 15486661U, 210 .clkod = 2U, 211 }, 212 [PLL_ENTRY_ARM0_24MHZ_2500MHZ_F24BIT] = { 213 .freq_min_hz = 2500000000U, 214 .freq_max_hz = 2500000000U, 215 .plld = 1U, 216 .pllm = 104U, 217 .pllfm = 2796203U, 218 .clkod = 1U, 219 }, 220 [PLL_ENTRY_ARM0_25MHZ_2500MHZ] = { 221 .freq_min_hz = 2500000000U, 222 .freq_max_hz = 2500000000U, 223 .plld = 1U, 224 .pllm = 100U, 225 .pllfm = 0U, 226 .clkod = 1U, 227 }, 228 [PLL_ENTRY_ARM0_26MHZ_2500MHZ_F24BIT] = { 229 .freq_min_hz = 2500000000U, 230 .freq_max_hz = 2500000001U, 231 .plld = 1U, 232 .pllm = 96U, 233 .pllfm = 2581111U, 234 .clkod = 1U, 235 }, 236 [PLL_ENTRY_DSS_24MHZ_1800MHZ] = { 237 .freq_min_hz = 1800000000U, 238 .freq_max_hz = 1800000000U, 239 .plld = 1U, 240 .pllm = 75U, 241 .pllfm = 0U, 242 .clkod = 1U, 243 }, 244 [PLL_ENTRY_DSS_25MHZ_1800MHZ] = { 245 .freq_min_hz = 1800000000U, 246 .freq_max_hz = 1800000000U, 247 .plld = 1U, 248 .pllm = 72U, 249 .pllfm = 0U, 250 .clkod = 1U, 251 }, 252 [PLL_ENTRY_DSS_26MHZ_1800MHZ_F24BIT] = { 253 .freq_min_hz = 1800000000U, 254 .freq_max_hz = 1800000001U, 255 .plld = 1U, 256 .pllm = 69U, 257 .pllfm = 3871666U, 258 .clkod = 1U, 259 }, 260 }; 261 262 static const uint8_t pllfracf2_ssmod_16fft_main_0_entries[3] = { 263 PLL_ENTRY_MAIN_24MHZ_1000MHZ_F24BIT, 264 PLL_ENTRY_MAIN_25MHZ_1000MHZ, 265 PLL_ENTRY_MAIN_26MHZ_1000MHZ_F24BIT, 266 }; 267 static const uint8_t pllfracf2_ssmod_16fft_main_17_entries[3] = { 268 PLL_ENTRY_DSS_24MHZ_1800MHZ, 269 PLL_ENTRY_DSS_25MHZ_1800MHZ, 270 PLL_ENTRY_DSS_26MHZ_1800MHZ_F24BIT, 271 }; 272 static const uint8_t pllfracf2_ssmod_16fft_main_8_entries[3] = { 273 PLL_ENTRY_ARM0_24MHZ_2500MHZ_F24BIT, 274 PLL_ENTRY_ARM0_25MHZ_2500MHZ, 275 PLL_ENTRY_ARM0_26MHZ_2500MHZ_F24BIT, 276 }; 277 static const uint8_t pllfracf2_ssmod_16fft_wkup_0_entries[3] = { 278 PLL_ENTRY_WKUP_24MHZ_1200MHZ, 279 PLL_ENTRY_WKUP_25MHZ_1200MHZ, 280 PLL_ENTRY_WKUP_26MHZ_1200MHZ_F24BIT, 281 }; 282 283 static const struct ti_clk_parent clk_ADC0_CLKSEL_parents[4] = { 284 { 285 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 286 1, 287 }, 288 { 289 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV1_CLK_CLK, 290 12, 291 }, 292 { 293 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT8_CLK, 294 1, 295 }, 296 { 297 CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT, 298 1, 299 }, 300 }; 301 static const struct ti_clk_data_mux_reg clk_data_ADC0_CLKSEL_out0 = { 302 .data_mux = { 303 .parents = clk_ADC0_CLKSEL_parents, 304 .num_parents = ARRAY_SIZE(clk_ADC0_CLKSEL_parents), 305 }, 306 .reg = 0x09100000 + 430080, 307 .bit = 0, 308 }; 309 static const struct ti_clk_parent clk_AUDIO_REFCLKn_out0_parents[8] = { 310 { 311 CLK_AM62LX_MCASP_MAIN_0_MCASP_AHCLKR_POUT, 312 1, 313 }, 314 { 315 CLK_AM62LX_MCASP_MAIN_1_MCASP_AHCLKR_POUT, 316 1, 317 }, 318 { 319 CLK_AM62LX_MCASP_MAIN_2_MCASP_AHCLKR_POUT, 320 1, 321 }, 322 { 323 CLK_AM62LX_MCASP_MAIN_0_MCASP_AHCLKX_POUT, 324 1, 325 }, 326 { 327 CLK_AM62LX_MCASP_MAIN_1_MCASP_AHCLKX_POUT, 328 1, 329 }, 330 { 331 CLK_AM62LX_MCASP_MAIN_2_MCASP_AHCLKX_POUT, 332 1, 333 }, 334 { 335 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT8_CLK, 336 1, 337 }, 338 { 339 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT1_CLK, 340 1, 341 }, 342 }; 343 static const struct ti_clk_data_mux_reg clk_data_AUDIO_REFCLKn_out0 = { 344 .data_mux = { 345 .parents = clk_AUDIO_REFCLKn_out0_parents, 346 .num_parents = ARRAY_SIZE(clk_AUDIO_REFCLKn_out0_parents), 347 }, 348 .reg = 0x09100000 + 294912, 349 .bit = 0, 350 }; 351 static const struct ti_clk_data_mux_reg clk_data_AUDIO_REFCLKn_out1 = { 352 .data_mux = { 353 .parents = clk_AUDIO_REFCLKn_out0_parents, 354 .num_parents = ARRAY_SIZE(clk_AUDIO_REFCLKn_out0_parents), 355 }, 356 .reg = 0x09100000 + 294928, 357 .bit = 0, 358 }; 359 static const struct ti_clk_parent clk_CLKOUT0_CTRL_parents[2] = { 360 { 361 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT6_CLK, 362 5, 363 }, 364 { 365 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT6_CLK, 366 10, 367 }, 368 }; 369 static const struct ti_clk_data_mux_reg clk_data_CLKOUT0_CTRL_out0 = { 370 .data_mux = { 371 .parents = clk_CLKOUT0_CTRL_parents, 372 .num_parents = ARRAY_SIZE(clk_CLKOUT0_CTRL_parents), 373 }, 374 .reg = 0x09100000 + 40960, 375 .bit = 0, 376 }; 377 static const struct ti_clk_parent clk_CLK_32K_RC_SEL_parents[4] = { 378 { 379 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 380 3, 381 }, 382 { 383 CLK_AM62LX_HSDIV0_16FFT_WKUP_32KHZ_GEN_0_HSDIVOUT0_CLK, 384 8, 385 }, 386 { 387 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 388 3, 389 }, 390 { 391 CLK_AM62LX_RTCSS_WKUP_0_OSC_32K_CLK, 392 1, 393 }, 394 }; 395 static const struct ti_clk_data_mux_reg clk_data_CLK_32K_RC_SEL_out0 = { 396 .data_mux = { 397 .parents = clk_CLK_32K_RC_SEL_parents, 398 .num_parents = ARRAY_SIZE(clk_CLK_32K_RC_SEL_parents), 399 }, 400 .reg = 0x43020000 + 256, 401 .bit = 0, 402 }; 403 static const struct ti_clk_parent clk_MAIN_CP_GEMAC_CPTS_CLK_SEL_parents[8] = { 404 { 405 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT7_CLK, 406 1, 407 }, 408 { 409 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT6_CLK, 410 1, 411 }, 412 { 413 CLK_AM62LX_BOARD_0_GEMAC_CPTS0_RFT_CLK_OUT, 414 1, 415 }, 416 { 417 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 418 1, 419 }, 420 { 421 CLK_AM62LX_BOARD_0_WKUP_EXT_REFCLK0_OUT, 422 1, 423 }, 424 { 425 CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT, 426 1, 427 }, 428 { 429 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV1_CLK_CLK, 430 1, 431 }, 432 { 433 CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT0_CLK, 434 1, 435 }, 436 }; 437 static const struct ti_clk_data_mux_reg clk_data_MAIN_CP_GEMAC_CPTS_CLK_SEL_out0 = { 438 .data_mux = { 439 .parents = clk_MAIN_CP_GEMAC_CPTS_CLK_SEL_parents, 440 .num_parents = ARRAY_SIZE(clk_MAIN_CP_GEMAC_CPTS_CLK_SEL_parents), 441 }, 442 .reg = 0x09100000 + 253952, 443 .bit = 0, 444 }; 445 static const struct ti_clk_parent clk_MAIN_DPHYTX_REFCLK_parents[2] = { 446 { 447 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 448 1, 449 }, 450 { 451 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT8_CLK, 452 1, 453 }, 454 }; 455 static const struct ti_clk_data_mux_reg clk_data_MAIN_DPHYTX_REFCLK_out0 = { 456 .data_mux = { 457 .parents = clk_MAIN_DPHYTX_REFCLK_parents, 458 .num_parents = ARRAY_SIZE(clk_MAIN_DPHYTX_REFCLK_parents), 459 }, 460 .reg = 0x09100000 + 405504, 461 .bit = 0, 462 }; 463 static const struct ti_clk_parent clk_MAIN_DSS_DPI0_parents[2] = { 464 { 465 CLK_AM62LX_HSDIV0_16FFT_MAIN_17_HSDIVOUT0_CLK, 466 1, 467 }, 468 { 469 CLK_AM62LX_BOARD_0_VOUT0_EXTPCLKIN_OUT, 470 1, 471 }, 472 }; 473 static const struct ti_clk_data_mux_reg clk_data_MAIN_DSS_DPI0_out0 = { 474 .data_mux = { 475 .parents = clk_MAIN_DSS_DPI0_parents, 476 .num_parents = ARRAY_SIZE(clk_MAIN_DSS_DPI0_parents), 477 }, 478 .reg = 0x09100000 + 372736, 479 .bit = 0, 480 }; 481 static const struct ti_clk_parent clk_MAIN_EMMCSD0_IO_CLKLB_SEL_parents[2] = { 482 { 483 CLK_AM62LX_BOARD_0_MMC0_CLKLB_OUT, 484 1, 485 }, 486 { 487 CLK_AM62LX_BOARD_0_MMC0_CLK_OUT, 488 1, 489 }, 490 }; 491 static const struct ti_clk_data_mux_reg clk_data_MAIN_EMMCSD0_IO_CLKLB_SEL_out0 = { 492 .data_mux = { 493 .parents = clk_MAIN_EMMCSD0_IO_CLKLB_SEL_parents, 494 .num_parents = ARRAY_SIZE(clk_MAIN_EMMCSD0_IO_CLKLB_SEL_parents), 495 }, 496 .reg = 0x09180000 + 45056, 497 .bit = 0, 498 }; 499 static const struct ti_clk_parent clk_MAIN_EMMCSD0_REFCLK_SEL_parents[2] = { 500 { 501 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT5_CLK, 502 1, 503 }, 504 { 505 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT9_CLK, 506 1, 507 }, 508 }; 509 static const struct ti_clk_data_mux_reg clk_data_MAIN_EMMCSD0_REFCLK_SEL_out0 = { 510 .data_mux = { 511 .parents = clk_MAIN_EMMCSD0_REFCLK_SEL_parents, 512 .num_parents = ARRAY_SIZE(clk_MAIN_EMMCSD0_REFCLK_SEL_parents), 513 }, 514 .reg = 0x09100000 + 45056, 515 .bit = 0, 516 }; 517 static const struct ti_clk_parent clk_MAIN_EMMCSD1_IO_CLKLB_SEL_parents[2] = { 518 { 519 CLK_AM62LX_BOARD_0_MMC1_CLKLB_OUT, 520 1, 521 }, 522 { 523 CLK_AM62LX_BOARD_0_MMC1_CLK_OUT, 524 1, 525 }, 526 }; 527 static const struct ti_clk_data_mux_reg clk_data_MAIN_EMMCSD1_IO_CLKLB_SEL_out0 = { 528 .data_mux = { 529 .parents = clk_MAIN_EMMCSD1_IO_CLKLB_SEL_parents, 530 .num_parents = ARRAY_SIZE(clk_MAIN_EMMCSD1_IO_CLKLB_SEL_parents), 531 }, 532 .reg = 0x09180000 + 49152, 533 .bit = 0, 534 }; 535 static const struct ti_clk_data_mux_reg clk_data_MAIN_EMMCSD1_REFCLK_SEL_out0 = { 536 .data_mux = { 537 .parents = clk_MAIN_EMMCSD0_REFCLK_SEL_parents, 538 .num_parents = ARRAY_SIZE(clk_MAIN_EMMCSD0_REFCLK_SEL_parents), 539 }, 540 .reg = 0x09100000 + 49152, 541 .bit = 0, 542 }; 543 static const struct ti_clk_parent clk_MAIN_EMMCSD2_IO_CLKLB_SEL_parents[2] = { 544 { 545 CLK_AM62LX_BOARD_0_MMC2_CLKLB_OUT, 546 1, 547 }, 548 { 549 CLK_AM62LX_BOARD_0_MMC2_CLK_OUT, 550 1, 551 }, 552 }; 553 static const struct ti_clk_data_mux_reg clk_data_MAIN_EMMCSD2_IO_CLKLB_SEL_out0 = { 554 .data_mux = { 555 .parents = clk_MAIN_EMMCSD2_IO_CLKLB_SEL_parents, 556 .num_parents = ARRAY_SIZE(clk_MAIN_EMMCSD2_IO_CLKLB_SEL_parents), 557 }, 558 .reg = 0x09180000 + 53248, 559 .bit = 0, 560 }; 561 static const struct ti_clk_data_mux_reg clk_data_MAIN_EMMCSD2_REFCLK_SEL_out0 = { 562 .data_mux = { 563 .parents = clk_MAIN_EMMCSD0_REFCLK_SEL_parents, 564 .num_parents = ARRAY_SIZE(clk_MAIN_EMMCSD0_REFCLK_SEL_parents), 565 }, 566 .reg = 0x09100000 + 53248, 567 .bit = 0, 568 }; 569 static const struct ti_clk_parent clk_MAIN_GPMC_FCLK_SEL_parents[2] = { 570 { 571 CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT3_CLK, 572 1, 573 }, 574 { 575 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT3_CLK, 576 1, 577 }, 578 }; 579 static const struct ti_clk_data_mux_reg clk_data_MAIN_GPMC_FCLK_SEL_out0 = { 580 .data_mux = { 581 .parents = clk_MAIN_GPMC_FCLK_SEL_parents, 582 .num_parents = ARRAY_SIZE(clk_MAIN_GPMC_FCLK_SEL_parents), 583 }, 584 .reg = 0x09100000 + 81920, 585 .bit = 0, 586 }; 587 static const struct ti_clk_parent clk_MAIN_MCANn_CLK_SEL_out0_parents[4] = { 588 { 589 CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT4_CLK, 590 1, 591 }, 592 { 593 CLK_AM62LX_BOARD_0_WKUP_EXT_REFCLK0_OUT, 594 1, 595 }, 596 { 597 CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT, 598 1, 599 }, 600 { 601 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 602 1, 603 }, 604 }; 605 static const struct ti_clk_data_mux_reg clk_data_MAIN_MCANn_CLK_SEL_out0 = { 606 .data_mux = { 607 .parents = clk_MAIN_MCANn_CLK_SEL_out0_parents, 608 .num_parents = ARRAY_SIZE(clk_MAIN_MCANn_CLK_SEL_out0_parents), 609 }, 610 .reg = 0x09100000 + 262144, 611 .bit = 0, 612 }; 613 static const struct ti_clk_data_mux_reg clk_data_MAIN_MCANn_CLK_SEL_out1 = { 614 .data_mux = { 615 .parents = clk_MAIN_MCANn_CLK_SEL_out0_parents, 616 .num_parents = ARRAY_SIZE(clk_MAIN_MCANn_CLK_SEL_out0_parents), 617 }, 618 .reg = 0x09100000 + 266240, 619 .bit = 0, 620 }; 621 static const struct ti_clk_data_mux_reg clk_data_MAIN_MCANn_CLK_SEL_out2 = { 622 .data_mux = { 623 .parents = clk_MAIN_MCANn_CLK_SEL_out0_parents, 624 .num_parents = ARRAY_SIZE(clk_MAIN_MCANn_CLK_SEL_out0_parents), 625 }, 626 .reg = 0x09100000 + 270336, 627 .bit = 0, 628 }; 629 static const struct ti_clk_parent clk_MAIN_OBSCLK0_MUX_SEL_parents[16] = { 630 { 631 CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT0_CLK, 632 1, 633 }, 634 { 635 CLK_AM62LX_RESERVED, 636 1, 637 }, 638 { 639 CLK_AM62LX_RESERVED, 640 1, 641 }, 642 { 643 CLK_AM62LX_A53_DIVH_CLK4_OBSCLK_OUT_CLK, 644 1, 645 }, 646 { 647 CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT2_CLK, 648 1, 649 }, 650 { 651 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 652 1, 653 }, 654 { 655 CLK_AM62LX_HSDIV0_16FFT_WKUP_32KHZ_GEN_0_HSDIVOUT0_CLK, 656 8, 657 }, 658 { 659 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT0_CLK, 660 1, 661 }, 662 { 663 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 664 1, 665 }, 666 { 667 CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF0, 668 1, 669 }, 670 { 671 CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF1, 672 1, 673 }, 674 { 675 CLK_AM62LX_HSDIV0_16FFT_MAIN_17_HSDIVOUT0_CLK, 676 1, 677 }, 678 { 679 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 680 3, 681 }, 682 { 683 CLK_AM62LX_RESERVED, 684 1, 685 }, 686 { 687 CLK_AM62LX_RESERVED, 688 1, 689 }, 690 { 691 CLK_AM62LX_RESERVED, 692 1, 693 }, 694 }; 695 static const struct ti_clk_data_mux_reg clk_data_MAIN_OBSCLK0_MUX_SEL_out0 = { 696 .data_mux = { 697 .parents = clk_MAIN_OBSCLK0_MUX_SEL_parents, 698 .num_parents = ARRAY_SIZE(clk_MAIN_OBSCLK0_MUX_SEL_parents), 699 }, 700 .reg = 0x09100000 + 36864, 701 .bit = 0, 702 }; 703 static const struct ti_clk_data_div_reg_go clk_data_MAIN_OBSCLK_DIV_out0 = { 704 .data_div = { 705 .max_div = 256, 706 }, 707 .reg = 0x09100000 + 36880, 708 .bit = 8, 709 .go = 16, 710 }; 711 static const struct ti_clk_parent clk_MAIN_OBSCLK_OUTMUX_SEL_parents[2] = { 712 { 713 CLK_AM62LX_MAIN_OBSCLK_DIV_OUT0, 714 1, 715 }, 716 { 717 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 718 1, 719 }, 720 }; 721 static const struct ti_clk_data_mux_reg clk_data_MAIN_OBSCLK_OUTMUX_SEL_out0 = { 722 .data_mux = { 723 .parents = clk_MAIN_OBSCLK_OUTMUX_SEL_parents, 724 .num_parents = ARRAY_SIZE(clk_MAIN_OBSCLK_OUTMUX_SEL_parents), 725 }, 726 .reg = 0x09100000 + 36864, 727 .bit = 24, 728 }; 729 static const struct ti_clk_parent clk_MAIN_OSPI_LOOPBACK_CLK_SEL_parents[2] = { 730 { 731 CLK_AM62LX_BOARD_0_OSPI0_DQS_OUT, 732 1, 733 }, 734 { 735 CLK_AM62LX_BOARD_0_OSPI0_LBCLKO_OUT, 736 1, 737 }, 738 }; 739 static const struct ti_clk_data_mux_reg clk_data_MAIN_OSPI_LOOPBACK_CLK_SEL_out0 = { 740 .data_mux = { 741 .parents = clk_MAIN_OSPI_LOOPBACK_CLK_SEL_parents, 742 .num_parents = ARRAY_SIZE(clk_MAIN_OSPI_LOOPBACK_CLK_SEL_parents), 743 }, 744 .reg = 0x09180000 + 69632, 745 .bit = 4, 746 }; 747 static const struct ti_clk_parent clk_MAIN_OSPI_REF_CLK_SEL_parents[2] = { 748 { 749 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT7_CLK, 750 1, 751 }, 752 { 753 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT4_CLK, 754 1, 755 }, 756 }; 757 static const struct ti_clk_data_mux_reg clk_data_MAIN_OSPI_REF_CLK_SEL_out0 = { 758 .data_mux = { 759 .parents = clk_MAIN_OSPI_REF_CLK_SEL_parents, 760 .num_parents = ARRAY_SIZE(clk_MAIN_OSPI_REF_CLK_SEL_parents), 761 }, 762 .reg = 0x09100000 + 69632, 763 .bit = 0, 764 }; 765 static const struct ti_clk_parent clk_MAIN_TIMER1_CASCADE_parents[2] = { 766 { 767 CLK_AM62LX_MAIN_TIMERCLKN_SEL_OUT1, 768 1, 769 }, 770 { 771 CLK_AM62LX_DMTIMER_DMC1MS_MAIN_0_TIMER_PWM, 772 1, 773 }, 774 }; 775 static const struct ti_clk_data_mux_reg clk_data_MAIN_TIMER1_CASCADE_out0 = { 776 .data_mux = { 777 .parents = clk_MAIN_TIMER1_CASCADE_parents, 778 .num_parents = ARRAY_SIZE(clk_MAIN_TIMER1_CASCADE_parents), 779 }, 780 .reg = 0x09180000 + 90112, 781 .bit = 8, 782 }; 783 static const struct ti_clk_parent clk_MAIN_TIMER3_CASCADE_parents[2] = { 784 { 785 CLK_AM62LX_MAIN_TIMERCLKN_SEL_OUT3, 786 1, 787 }, 788 { 789 CLK_AM62LX_DMTIMER_DMC1MS_MAIN_2_TIMER_PWM, 790 1, 791 }, 792 }; 793 static const struct ti_clk_data_mux_reg clk_data_MAIN_TIMER3_CASCADE_out0 = { 794 .data_mux = { 795 .parents = clk_MAIN_TIMER3_CASCADE_parents, 796 .num_parents = ARRAY_SIZE(clk_MAIN_TIMER3_CASCADE_parents), 797 }, 798 .reg = 0x09180000 + 98304, 799 .bit = 8, 800 }; 801 static const struct ti_clk_parent clk_MAIN_TIMERCLKn_SEL_out0_parents[16] = { 802 { 803 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 804 1, 805 }, 806 { 807 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 808 1, 809 }, 810 { 811 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT6_CLK, 812 1, 813 }, 814 { 815 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 816 1, 817 }, 818 { 819 CLK_AM62LX_BOARD_0_WKUP_EXT_REFCLK0_OUT, 820 1, 821 }, 822 { 823 CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT, 824 1, 825 }, 826 { 827 CLK_AM62LX_RESERVED, 828 1, 829 }, 830 { 831 CLK_AM62LX_BOARD_0_GEMAC_CPTS0_RFT_CLK_OUT, 832 1, 833 }, 834 { 835 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT1_CLK, 836 1, 837 }, 838 { 839 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT7_CLK, 840 1, 841 }, 842 { 843 CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF0, 844 1, 845 }, 846 { 847 CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF1, 848 1, 849 }, 850 { 851 CLK_AM62LX_RESERVED, 852 1, 853 }, 854 { 855 CLK_AM62LX_RESERVED, 856 1, 857 }, 858 { 859 CLK_AM62LX_RESERVED, 860 1, 861 }, 862 { 863 CLK_AM62LX_RESERVED, 864 1, 865 }, 866 }; 867 static const struct ti_clk_data_mux_reg clk_data_MAIN_TIMERCLKn_SEL_out0 = { 868 .data_mux = { 869 .parents = clk_MAIN_TIMERCLKn_SEL_out0_parents, 870 .num_parents = ARRAY_SIZE(clk_MAIN_TIMERCLKn_SEL_out0_parents), 871 }, 872 .reg = 0x09100000 + 86016, 873 .bit = 0, 874 }; 875 static const struct ti_clk_data_mux_reg clk_data_MAIN_TIMERCLKn_SEL_out1 = { 876 .data_mux = { 877 .parents = clk_MAIN_TIMERCLKn_SEL_out0_parents, 878 .num_parents = ARRAY_SIZE(clk_MAIN_TIMERCLKn_SEL_out0_parents), 879 }, 880 .reg = 0x09100000 + 90112, 881 .bit = 0, 882 }; 883 static const struct ti_clk_data_mux_reg clk_data_MAIN_TIMERCLKn_SEL_out2 = { 884 .data_mux = { 885 .parents = clk_MAIN_TIMERCLKn_SEL_out0_parents, 886 .num_parents = ARRAY_SIZE(clk_MAIN_TIMERCLKn_SEL_out0_parents), 887 }, 888 .reg = 0x09100000 + 94208, 889 .bit = 0, 890 }; 891 static const struct ti_clk_data_mux_reg clk_data_MAIN_TIMERCLKn_SEL_out3 = { 892 .data_mux = { 893 .parents = clk_MAIN_TIMERCLKn_SEL_out0_parents, 894 .num_parents = ARRAY_SIZE(clk_MAIN_TIMERCLKn_SEL_out0_parents), 895 }, 896 .reg = 0x09100000 + 98304, 897 .bit = 0, 898 }; 899 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out0 = { 900 .data_div = { 901 .max_div = 4, 902 }, 903 .reg = 0x09100000 + 188416, 904 .bit = 0, 905 .go = 16, 906 }; 907 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out1 = { 908 .data_div = { 909 .max_div = 4, 910 }, 911 .reg = 0x09100000 + 192512, 912 .bit = 0, 913 .go = 16, 914 }; 915 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out2 = { 916 .data_div = { 917 .max_div = 4, 918 }, 919 .reg = 0x09100000 + 196608, 920 .bit = 0, 921 .go = 16, 922 }; 923 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out3 = { 924 .data_div = { 925 .max_div = 4, 926 }, 927 .reg = 0x09100000 + 200704, 928 .bit = 0, 929 .go = 16, 930 }; 931 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out4 = { 932 .data_div = { 933 .max_div = 4, 934 }, 935 .reg = 0x09100000 + 204800, 936 .bit = 0, 937 .go = 16, 938 }; 939 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out5 = { 940 .data_div = { 941 .max_div = 4, 942 }, 943 .reg = 0x09100000 + 208896, 944 .bit = 0, 945 .go = 16, 946 }; 947 static const struct ti_clk_data_div_reg_go clk_data_MAIN_USART_CLKDIV_out6 = { 948 .data_div = { 949 .max_div = 4, 950 }, 951 .reg = 0x09100000 + 212992, 952 .bit = 0, 953 .go = 16, 954 }; 955 static const struct ti_clk_parent clk_MAIN_USB0_REFCLK_SEL_parents[2] = { 956 { 957 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 958 1, 959 }, 960 { 961 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT8_CLK, 962 4, 963 }, 964 }; 965 static const struct ti_clk_data_mux_reg clk_data_MAIN_USB0_REFCLK_SEL_out0 = { 966 .data_mux = { 967 .parents = clk_MAIN_USB0_REFCLK_SEL_parents, 968 .num_parents = ARRAY_SIZE(clk_MAIN_USB0_REFCLK_SEL_parents), 969 }, 970 .reg = 0x43020000 + 20480, 971 .bit = 0, 972 }; 973 static const struct ti_clk_data_mux_reg clk_data_MAIN_USB1_REFCLK_SEL_out0 = { 974 .data_mux = { 975 .parents = clk_MAIN_USB0_REFCLK_SEL_parents, 976 .num_parents = ARRAY_SIZE(clk_MAIN_USB0_REFCLK_SEL_parents), 977 }, 978 .reg = 0x43020000 + 20484, 979 .bit = 0, 980 }; 981 static const struct ti_clk_parent clk_MAIN_WWDTCLKn_SEL_out0_parents[4] = { 982 { 983 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 984 1, 985 }, 986 { 987 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 988 1, 989 }, 990 { 991 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 992 1, 993 }, 994 { 995 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 996 3, 997 }, 998 }; 999 static const struct ti_clk_data_mux_reg clk_data_MAIN_WWDTCLKn_SEL_out0 = { 1000 .data_mux = { 1001 .parents = clk_MAIN_WWDTCLKn_SEL_out0_parents, 1002 .num_parents = ARRAY_SIZE(clk_MAIN_WWDTCLKn_SEL_out0_parents), 1003 }, 1004 .reg = 0x09100000 + 118784, 1005 .bit = 0, 1006 }; 1007 static const struct ti_clk_data_mux_reg clk_data_MAIN_WWDTCLKn_SEL_out1 = { 1008 .data_mux = { 1009 .parents = clk_MAIN_WWDTCLKn_SEL_out0_parents, 1010 .num_parents = ARRAY_SIZE(clk_MAIN_WWDTCLKn_SEL_out0_parents), 1011 }, 1012 .reg = 0x09100000 + 122880, 1013 .bit = 0, 1014 }; 1015 static const struct ti_clk_parent clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents[4] = { 1016 { 1017 CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT, 1018 1, 1019 }, 1020 { 1021 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1022 1, 1023 }, 1024 { 1025 CLK_AM62LX_BOARD_0_AUDIO_EXT_REFCLK0_OUT, 1026 1, 1027 }, 1028 { 1029 CLK_AM62LX_BOARD_0_AUDIO_EXT_REFCLK1_OUT, 1030 1, 1031 }, 1032 }; 1033 static const struct ti_clk_data_mux_reg clk_data_MCASPn_AHCLKSEL_AHCLKR_out0 = { 1034 .data_mux = { 1035 .parents = clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents, 1036 .num_parents = ARRAY_SIZE(clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents), 1037 }, 1038 .reg = 0x09100000 + 299264, 1039 .bit = 0, 1040 }; 1041 static const struct ti_clk_data_mux_reg clk_data_MCASPn_AHCLKSEL_AHCLKR_out1 = { 1042 .data_mux = { 1043 .parents = clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents, 1044 .num_parents = ARRAY_SIZE(clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents), 1045 }, 1046 .reg = 0x09100000 + 303360, 1047 .bit = 0, 1048 }; 1049 static const struct ti_clk_data_mux_reg clk_data_MCASPn_AHCLKSEL_AHCLKR_out2 = { 1050 .data_mux = { 1051 .parents = clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents, 1052 .num_parents = ARRAY_SIZE(clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents), 1053 }, 1054 .reg = 0x09100000 + 307456, 1055 .bit = 0, 1056 }; 1057 static const struct ti_clk_data_mux_reg clk_data_MCASPn_AHCLKSEL_AHCLKX_out0 = { 1058 .data_mux = { 1059 .parents = clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents, 1060 .num_parents = ARRAY_SIZE(clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents), 1061 }, 1062 .reg = 0x09100000 + 299264, 1063 .bit = 8, 1064 }; 1065 static const struct ti_clk_data_mux_reg clk_data_MCASPn_AHCLKSEL_AHCLKX_out1 = { 1066 .data_mux = { 1067 .parents = clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents, 1068 .num_parents = ARRAY_SIZE(clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents), 1069 }, 1070 .reg = 0x09100000 + 303360, 1071 .bit = 8, 1072 }; 1073 static const struct ti_clk_data_mux_reg clk_data_MCASPn_AHCLKSEL_AHCLKX_out2 = { 1074 .data_mux = { 1075 .parents = clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents, 1076 .num_parents = ARRAY_SIZE(clk_MCASPn_AHCLKSEL_AHCLKR_out0_parents), 1077 }, 1078 .reg = 0x09100000 + 307456, 1079 .bit = 8, 1080 }; 1081 static const struct ti_clk_parent clk_MCASPn_CLKSEL_AUXCLK_out0_parents[2] = { 1082 { 1083 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT8_CLK, 1084 1, 1085 }, 1086 { 1087 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT1_CLK, 1088 1, 1089 }, 1090 }; 1091 static const struct ti_clk_data_mux_reg clk_data_MCASPn_CLKSEL_AUXCLK_out0 = { 1092 .data_mux = { 1093 .parents = clk_MCASPn_CLKSEL_AUXCLK_out0_parents, 1094 .num_parents = ARRAY_SIZE(clk_MCASPn_CLKSEL_AUXCLK_out0_parents), 1095 }, 1096 .reg = 0x09100000 + 299008, 1097 .bit = 0, 1098 }; 1099 static const struct ti_clk_data_mux_reg clk_data_MCASPn_CLKSEL_AUXCLK_out1 = { 1100 .data_mux = { 1101 .parents = clk_MCASPn_CLKSEL_AUXCLK_out0_parents, 1102 .num_parents = ARRAY_SIZE(clk_MCASPn_CLKSEL_AUXCLK_out0_parents), 1103 }, 1104 .reg = 0x09100000 + 303104, 1105 .bit = 0, 1106 }; 1107 static const struct ti_clk_data_mux_reg clk_data_MCASPn_CLKSEL_AUXCLK_out2 = { 1108 .data_mux = { 1109 .parents = clk_MCASPn_CLKSEL_AUXCLK_out0_parents, 1110 .num_parents = ARRAY_SIZE(clk_MCASPn_CLKSEL_AUXCLK_out0_parents), 1111 }, 1112 .reg = 0x09100000 + 307200, 1113 .bit = 0, 1114 }; 1115 static const struct ti_clk_parent clk_WKUP_CLKOUT_SEL_parents[8] = { 1116 { 1117 CLK_AM62LX_RESERVED, 1118 1, 1119 }, 1120 { 1121 CLK_AM62LX_RTCSS_WKUP_0_OSC_32K_CLK, 1122 1, 1123 }, 1124 { 1125 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT7_CLK, 1126 1, 1127 }, 1128 { 1129 CLK_AM62LX_HSDIV0_16FFT_WKUP_0_HSDIVOUT0_CLK, 1130 2, 1131 }, 1132 { 1133 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT8_CLK, 1134 1, 1135 }, 1136 { 1137 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 1138 1, 1139 }, 1140 { 1141 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 1142 1, 1143 }, 1144 { 1145 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1146 1, 1147 }, 1148 }; 1149 static const struct ti_clk_data_mux_reg clk_data_WKUP_CLKOUT_SEL_out0 = { 1150 .data_mux = { 1151 .parents = clk_WKUP_CLKOUT_SEL_parents, 1152 .num_parents = ARRAY_SIZE(clk_WKUP_CLKOUT_SEL_parents), 1153 }, 1154 .reg = 0x43020000 + 12288, 1155 .bit = 0, 1156 }; 1157 static const struct ti_clk_parent clk_WKUP_CLKOUT_SEL_IO_parents[2] = { 1158 { 1159 CLK_AM62LX_WKUP_CLKOUT_SEL_OUT0, 1160 1, 1161 }, 1162 { 1163 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1164 1, 1165 }, 1166 }; 1167 static const struct ti_clk_data_mux_reg clk_data_WKUP_CLKOUT_SEL_IO_out0 = { 1168 .data_mux = { 1169 .parents = clk_WKUP_CLKOUT_SEL_IO_parents, 1170 .num_parents = ARRAY_SIZE(clk_WKUP_CLKOUT_SEL_IO_parents), 1171 }, 1172 .reg = 0x43020000 + 12292, 1173 .bit = 0, 1174 }; 1175 static const struct ti_clk_parent clk_WKUP_GPIO0_CLKSEL_parents[4] = { 1176 { 1177 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV1_CLK_CLK, 1178 4, 1179 }, 1180 { 1181 CLK_AM62LX_RTCSS_WKUP_0_OSC_32K_CLK, 1182 1, 1183 }, 1184 { 1185 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 1186 3, 1187 }, 1188 { 1189 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 1190 1, 1191 }, 1192 }; 1193 static const struct ti_clk_data_mux_reg clk_data_WKUP_GPIO0_CLKSEL_out0 = { 1194 .data_mux = { 1195 .parents = clk_WKUP_GPIO0_CLKSEL_parents, 1196 .num_parents = ARRAY_SIZE(clk_WKUP_GPIO0_CLKSEL_parents), 1197 }, 1198 .reg = 0x43020000 + 32768, 1199 .bit = 0, 1200 }; 1201 static const struct ti_clk_parent clk_WKUP_GTCCLK_SEL_parents[8] = { 1202 { 1203 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT7_CLK, 1204 1, 1205 }, 1206 { 1207 CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT6_CLK, 1208 1, 1209 }, 1210 { 1211 CLK_AM62LX_BOARD_0_GEMAC_CPTS0_RFT_CLK_OUT, 1212 1, 1213 }, 1214 { 1215 CLK_AM62LX_RESERVED, 1216 1, 1217 }, 1218 { 1219 CLK_AM62LX_BOARD_0_WKUP_EXT_REFCLK0_OUT, 1220 1, 1221 }, 1222 { 1223 CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT, 1224 1, 1225 }, 1226 { 1227 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV1_CLK_CLK, 1228 2, 1229 }, 1230 { 1231 CLK_AM62LX_RESERVED, 1232 1, 1233 }, 1234 }; 1235 static const struct ti_clk_data_mux_reg clk_data_WKUP_GTCCLK_SEL_out0 = { 1236 .data_mux = { 1237 .parents = clk_WKUP_GTCCLK_SEL_parents, 1238 .num_parents = ARRAY_SIZE(clk_WKUP_GTCCLK_SEL_parents), 1239 }, 1240 .reg = 0x43020000 + 16384, 1241 .bit = 0, 1242 }; 1243 static const struct ti_clk_parent clk_WKUP_GTC_OUTMUX_SEL_parents[2] = { 1244 { 1245 CLK_AM62LX_WKUP_GTCCLK_SEL_OUT0, 1246 1, 1247 }, 1248 { 1249 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 1250 1, 1251 }, 1252 }; 1253 static const struct ti_clk_data_mux_reg clk_data_WKUP_GTC_OUTMUX_SEL_out0 = { 1254 .data_mux = { 1255 .parents = clk_WKUP_GTC_OUTMUX_SEL_parents, 1256 .num_parents = ARRAY_SIZE(clk_WKUP_GTC_OUTMUX_SEL_parents), 1257 }, 1258 .reg = 0x43020000 + 4096, 1259 .bit = 0, 1260 }; 1261 static const struct ti_clk_parent clk_WKUP_OBSCLK_MUX_SEL_parents[16] = { 1262 { 1263 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 1264 1, 1265 }, 1266 { 1267 CLK_AM62LX_RESERVED, 1268 1, 1269 }, 1270 { 1271 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT0_CLK, 1272 1, 1273 }, 1274 { 1275 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT4_CLK, 1276 1, 1277 }, 1278 { 1279 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT0_CLK, 1280 1, 1281 }, 1282 { 1283 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 1284 3, 1285 }, 1286 { 1287 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1288 1, 1289 }, 1290 { 1291 CLK_AM62LX_HSDIV0_16FFT_WKUP_32KHZ_GEN_0_HSDIVOUT0_CLK, 1292 8, 1293 }, 1294 { 1295 CLK_AM62LX_HSDIV0_16FFT_WKUP_0_HSDIVOUT0_CLK, 1296 1, 1297 }, 1298 { 1299 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 1300 1, 1301 }, 1302 { 1303 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT8_CLK, 1304 1, 1305 }, 1306 { 1307 CLK_AM62LX_RESERVED, 1308 1, 1309 }, 1310 { 1311 CLK_AM62LX_RESERVED, 1312 1, 1313 }, 1314 { 1315 CLK_AM62LX_RESERVED, 1316 1, 1317 }, 1318 { 1319 CLK_AM62LX_RESERVED, 1320 1, 1321 }, 1322 { 1323 CLK_AM62LX_RESERVED, 1324 1, 1325 }, 1326 }; 1327 static const struct ti_clk_data_mux_reg clk_data_WKUP_OBSCLK_MUX_SEL_out0 = { 1328 .data_mux = { 1329 .parents = clk_WKUP_OBSCLK_MUX_SEL_parents, 1330 .num_parents = ARRAY_SIZE(clk_WKUP_OBSCLK_MUX_SEL_parents), 1331 }, 1332 .reg = 0x43020000 + 512, 1333 .bit = 0, 1334 }; 1335 static const struct ti_clk_parent clk_WKUP_OBSCLK_OUTMUX_SEL_parents[2] = { 1336 { 1337 CLK_AM62LX_WKUP_OBSCLK_MUX_SEL_OUT0, 1338 1, 1339 }, 1340 { 1341 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1342 1, 1343 }, 1344 }; 1345 static const struct ti_clk_data_mux_reg clk_data_WKUP_OBSCLK_OUTMUX_SEL_out0 = { 1346 .data_mux = { 1347 .parents = clk_WKUP_OBSCLK_OUTMUX_SEL_parents, 1348 .num_parents = ARRAY_SIZE(clk_WKUP_OBSCLK_OUTMUX_SEL_parents), 1349 }, 1350 .reg = 0x43020000 + 516, 1351 .bit = 0, 1352 }; 1353 static const struct ti_clk_parent clk_WKUP_TIMER1_CASCADE_parents[2] = { 1354 { 1355 CLK_AM62LX_WKUP_TIMERCLKN_SEL_OUT1, 1356 1, 1357 }, 1358 { 1359 CLK_AM62LX_DMC1MS_WKUP_0_TIMER_PWM, 1360 1, 1361 }, 1362 }; 1363 static const struct ti_clk_data_mux_reg clk_data_WKUP_TIMER1_CASCADE_out0 = { 1364 .data_mux = { 1365 .parents = clk_WKUP_TIMER1_CASCADE_parents, 1366 .num_parents = ARRAY_SIZE(clk_WKUP_TIMER1_CASCADE_parents), 1367 }, 1368 .reg = 0x43030000 + 12292, 1369 .bit = 8, 1370 }; 1371 static const struct ti_clk_parent clk_WKUP_TIMERCLKn_SEL_out0_parents[8] = { 1372 { 1373 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1374 1, 1375 }, 1376 { 1377 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV1_CLK_CLK, 1378 2, 1379 }, 1380 { 1381 CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT, 1382 1, 1383 }, 1384 { 1385 CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT7_CLK, 1386 1, 1387 }, 1388 { 1389 CLK_AM62LX_BOARD_0_WKUP_EXT_REFCLK0_OUT, 1390 1, 1391 }, 1392 { 1393 CLK_AM62LX_CLK_32K_RC_SEL_OUT0, 1394 1, 1395 }, 1396 { 1397 CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF0, 1398 1, 1399 }, 1400 { 1401 CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 1402 3, 1403 }, 1404 }; 1405 static const struct ti_clk_data_mux_reg clk_data_WKUP_TIMERCLKn_SEL_out0 = { 1406 .data_mux = { 1407 .parents = clk_WKUP_TIMERCLKn_SEL_out0_parents, 1408 .num_parents = ARRAY_SIZE(clk_WKUP_TIMERCLKn_SEL_out0_parents), 1409 }, 1410 .reg = 0x43020000 + 8192, 1411 .bit = 0, 1412 }; 1413 static const struct ti_clk_data_mux_reg clk_data_WKUP_TIMERCLKn_SEL_out1 = { 1414 .data_mux = { 1415 .parents = clk_WKUP_TIMERCLKn_SEL_out0_parents, 1416 .num_parents = ARRAY_SIZE(clk_WKUP_TIMERCLKn_SEL_out0_parents), 1417 }, 1418 .reg = 0x43020000 + 8196, 1419 .bit = 0, 1420 }; 1421 static const struct ti_clk_data_from_dev clk_data_board_0_AUDIO_EXT_REFCLK0_out = { 1422 .dev = AM62LX_DEV_BOARD0, 1423 .clk_idx = AM62LX_DEV_BOARD0_AUDIO_EXT_REFCLK0_OUT, 1424 }; 1425 static const struct ti_clk_data_from_dev clk_data_board_0_AUDIO_EXT_REFCLK1_out = { 1426 .dev = AM62LX_DEV_BOARD0, 1427 .clk_idx = AM62LX_DEV_BOARD0_AUDIO_EXT_REFCLK1_OUT, 1428 }; 1429 static const struct ti_clk_data_from_dev clk_data_board_0_CP_GEMAC_CPTS0_RFT_CLK_out = { 1430 .dev = AM62LX_DEV_BOARD0, 1431 .clk_idx = AM62LX_DEV_BOARD0_CP_GEMAC_CPTS0_RFT_CLK_OUT, 1432 }; 1433 static const struct ti_clk_data_from_dev clk_data_board_0_EXT_REFCLK1_out = { 1434 .dev = AM62LX_DEV_BOARD0, 1435 .clk_idx = AM62LX_DEV_BOARD0_EXT_REFCLK1_OUT, 1436 }; 1437 static const struct ti_clk_data_from_dev clk_data_board_0_GPMC0_CLKLB_out = { 1438 .dev = AM62LX_DEV_BOARD0, 1439 .clk_idx = AM62LX_DEV_BOARD0_GPMC0_CLKLB_OUT, 1440 }; 1441 static const struct ti_clk_data_from_dev clk_data_board_0_I2C0_SCL_out = { 1442 .dev = AM62LX_DEV_BOARD0, 1443 .clk_idx = AM62LX_DEV_BOARD0_I2C0_SCL_OUT, 1444 }; 1445 static const struct ti_clk_data_from_dev clk_data_board_0_I2C1_SCL_out = { 1446 .dev = AM62LX_DEV_BOARD0, 1447 .clk_idx = AM62LX_DEV_BOARD0_I2C1_SCL_OUT, 1448 }; 1449 static const struct ti_clk_data_from_dev clk_data_board_0_I2C2_SCL_out = { 1450 .dev = AM62LX_DEV_BOARD0, 1451 .clk_idx = AM62LX_DEV_BOARD0_I2C2_SCL_OUT, 1452 }; 1453 static const struct ti_clk_data_from_dev clk_data_board_0_I2C3_SCL_out = { 1454 .dev = AM62LX_DEV_BOARD0, 1455 .clk_idx = AM62LX_DEV_BOARD0_I2C3_SCL_OUT, 1456 }; 1457 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP0_ACLKR_out = { 1458 .dev = AM62LX_DEV_BOARD0, 1459 .clk_idx = AM62LX_DEV_BOARD0_MCASP0_ACLKR_OUT, 1460 }; 1461 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP0_ACLKX_out = { 1462 .dev = AM62LX_DEV_BOARD0, 1463 .clk_idx = AM62LX_DEV_BOARD0_MCASP0_ACLKX_OUT, 1464 }; 1465 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP0_AFSR_out = { 1466 .dev = AM62LX_DEV_BOARD0, 1467 .clk_idx = AM62LX_DEV_BOARD0_MCASP0_AFSR_OUT, 1468 }; 1469 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP0_AFSX_out = { 1470 .dev = AM62LX_DEV_BOARD0, 1471 .clk_idx = AM62LX_DEV_BOARD0_MCASP0_AFSX_OUT, 1472 }; 1473 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP1_ACLKR_out = { 1474 .dev = AM62LX_DEV_BOARD0, 1475 .clk_idx = AM62LX_DEV_BOARD0_MCASP1_ACLKR_OUT, 1476 }; 1477 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP1_ACLKX_out = { 1478 .dev = AM62LX_DEV_BOARD0, 1479 .clk_idx = AM62LX_DEV_BOARD0_MCASP1_ACLKX_OUT, 1480 }; 1481 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP1_AFSR_out = { 1482 .dev = AM62LX_DEV_BOARD0, 1483 .clk_idx = AM62LX_DEV_BOARD0_MCASP1_AFSR_OUT, 1484 }; 1485 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP1_AFSX_out = { 1486 .dev = AM62LX_DEV_BOARD0, 1487 .clk_idx = AM62LX_DEV_BOARD0_MCASP1_AFSX_OUT, 1488 }; 1489 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP2_ACLKR_out = { 1490 .dev = AM62LX_DEV_BOARD0, 1491 .clk_idx = AM62LX_DEV_BOARD0_MCASP2_ACLKR_OUT, 1492 }; 1493 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP2_ACLKX_out = { 1494 .dev = AM62LX_DEV_BOARD0, 1495 .clk_idx = AM62LX_DEV_BOARD0_MCASP2_ACLKX_OUT, 1496 }; 1497 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP2_AFSR_out = { 1498 .dev = AM62LX_DEV_BOARD0, 1499 .clk_idx = AM62LX_DEV_BOARD0_MCASP2_AFSR_OUT, 1500 }; 1501 static const struct ti_clk_data_from_dev clk_data_board_0_MCASP2_AFSX_out = { 1502 .dev = AM62LX_DEV_BOARD0, 1503 .clk_idx = AM62LX_DEV_BOARD0_MCASP2_AFSX_OUT, 1504 }; 1505 static const struct ti_clk_data_from_dev clk_data_board_0_MMC0_CLKLB_out = { 1506 .dev = AM62LX_DEV_BOARD0, 1507 .clk_idx = AM62LX_DEV_BOARD0_MMC0_CLKLB_OUT, 1508 }; 1509 static const struct ti_clk_data_from_dev clk_data_board_0_MMC0_CLK_out = { 1510 .dev = AM62LX_DEV_BOARD0, 1511 .clk_idx = AM62LX_DEV_BOARD0_MMC0_CLK_OUT, 1512 }; 1513 static const struct ti_clk_data_from_dev clk_data_board_0_MMC1_CLKLB_out = { 1514 .dev = AM62LX_DEV_BOARD0, 1515 .clk_idx = AM62LX_DEV_BOARD0_MMC1_CLKLB_OUT, 1516 }; 1517 static const struct ti_clk_data_from_dev clk_data_board_0_MMC1_CLK_out = { 1518 .dev = AM62LX_DEV_BOARD0, 1519 .clk_idx = AM62LX_DEV_BOARD0_MMC1_CLK_OUT, 1520 }; 1521 static const struct ti_clk_data_from_dev clk_data_board_0_MMC2_CLKLB_out = { 1522 .dev = AM62LX_DEV_BOARD0, 1523 .clk_idx = AM62LX_DEV_BOARD0_MMC2_CLKLB_OUT, 1524 }; 1525 static const struct ti_clk_data_from_dev clk_data_board_0_MMC2_CLK_out = { 1526 .dev = AM62LX_DEV_BOARD0, 1527 .clk_idx = AM62LX_DEV_BOARD0_MMC2_CLK_OUT, 1528 }; 1529 static const struct ti_clk_data_from_dev clk_data_board_0_OSPI0_DQS_out = { 1530 .dev = AM62LX_DEV_BOARD0, 1531 .clk_idx = AM62LX_DEV_BOARD0_OSPI0_DQS_OUT, 1532 }; 1533 static const struct ti_clk_data_from_dev clk_data_board_0_OSPI0_LBCLKO_out = { 1534 .dev = AM62LX_DEV_BOARD0, 1535 .clk_idx = AM62LX_DEV_BOARD0_OSPI0_LBCLKO_OUT, 1536 }; 1537 static const struct ti_clk_data_from_dev clk_data_board_0_RMII1_REF_CLK_out = { 1538 .dev = AM62LX_DEV_BOARD0, 1539 .clk_idx = AM62LX_DEV_BOARD0_RMII1_REF_CLK_OUT, 1540 }; 1541 static const struct ti_clk_data_from_dev clk_data_board_0_RMII2_REF_CLK_out = { 1542 .dev = AM62LX_DEV_BOARD0, 1543 .clk_idx = AM62LX_DEV_BOARD0_RMII2_REF_CLK_OUT, 1544 }; 1545 static const struct ti_clk_data_from_dev clk_data_board_0_TCK_out = { 1546 .dev = AM62LX_DEV_BOARD0, 1547 .clk_idx = AM62LX_DEV_BOARD0_TCK_OUT, 1548 }; 1549 static const struct ti_clk_data_from_dev clk_data_board_0_VOUT0_EXTPCLKIN_out = { 1550 .dev = AM62LX_DEV_BOARD0, 1551 .clk_idx = AM62LX_DEV_BOARD0_VOUT0_EXTPCLKIN_OUT, 1552 }; 1553 static const struct ti_clk_data_from_dev clk_data_board_0_WKUP_EXT_REFCLK0_out = { 1554 .dev = AM62LX_DEV_BOARD0, 1555 .clk_idx = AM62LX_DEV_BOARD0_WKUP_EXT_REFCLK0_OUT, 1556 }; 1557 static const struct ti_clk_data_from_dev clk_data_board_0_WKUP_I2C0_SCL_out = { 1558 .dev = AM62LX_DEV_BOARD0, 1559 .clk_idx = AM62LX_DEV_BOARD0_WKUP_I2C0_SCL_OUT, 1560 }; 1561 static const struct ti_clk_data_from_dev clk_data_cpsw_3guss_am62l_main_0_cpts_genf0 = { 1562 .dev = AM62LX_DEV_CPSW0, 1563 .clk_idx = AM62LX_DEV_CPSW0_CPTS_GENF0, 1564 }; 1565 static const struct ti_clk_data_from_dev clk_data_cpsw_3guss_am62l_main_0_cpts_genf1 = { 1566 .dev = AM62LX_DEV_CPSW0, 1567 .clk_idx = AM62LX_DEV_CPSW0_CPTS_GENF1, 1568 }; 1569 static const struct ti_clk_data_from_dev clk_data_cpsw_3guss_am62l_main_0_mdio_mdclk_o = { 1570 .dev = AM62LX_DEV_CPSW0, 1571 .clk_idx = AM62LX_DEV_CPSW0_MDIO_MDCLK_O, 1572 }; 1573 static const struct ti_clk_data_from_dev clk_data_debugss_k3_wrap_cv0_main_0_cstpiu_traceclk = { 1574 .dev = AM62LX_DEV_DEBUGSS_WRAP0, 1575 .clk_idx = AM62LX_DEV_DEBUGSS_WRAP0_CSTPIU_TRACECLK, 1576 }; 1577 static const struct ti_clk_data_from_dev clk_data_dmtimer_dmc1ms_main_0_timer_pwm = { 1578 .dev = AM62LX_DEV_TIMER0, 1579 .clk_idx = AM62LX_DEV_TIMER0_TIMER_PWM, 1580 }; 1581 static const struct ti_clk_data_from_dev clk_data_dmtimer_dmc1ms_main_1_timer_pwm = { 1582 .dev = AM62LX_DEV_TIMER1, 1583 .clk_idx = AM62LX_DEV_TIMER1_TIMER_PWM, 1584 }; 1585 static const struct ti_clk_data_from_dev clk_data_dmtimer_dmc1ms_main_2_timer_pwm = { 1586 .dev = AM62LX_DEV_TIMER2, 1587 .clk_idx = AM62LX_DEV_TIMER2_TIMER_PWM, 1588 }; 1589 static const struct ti_clk_data_from_dev clk_data_dmtimer_dmc1ms_main_3_timer_pwm = { 1590 .dev = AM62LX_DEV_TIMER3, 1591 .clk_idx = AM62LX_DEV_TIMER3_TIMER_PWM, 1592 }; 1593 static const struct ti_clk_data_from_dev clk_data_dmtimer_dmc1ms_wkup_0_timer_pwm = { 1594 .dev = AM62LX_DEV_WKUP_TIMER0, 1595 .clk_idx = AM62LX_DEV_WKUP_TIMER0_TIMER_PWM, 1596 }; 1597 static const struct ti_clk_data_from_dev clk_data_emmcsd4ss_main_0_emmcsdss_io_clk_o = { 1598 .dev = AM62LX_DEV_MMCSD1, 1599 .clk_idx = AM62LX_DEV_MMCSD1_EMMCSDSS_IO_CLK_O, 1600 }; 1601 static const struct ti_clk_data_from_dev clk_data_emmcsd4ss_main_1_emmcsdss_io_clk_o = { 1602 .dev = AM62LX_DEV_MMCSD2, 1603 .clk_idx = AM62LX_DEV_MMCSD2_EMMCSDSS_IO_CLK_O, 1604 }; 1605 static const struct ti_clk_data_from_dev clk_data_emmcsd8ss_main_0_emmcsdss_io_clk_o = { 1606 .dev = AM62LX_DEV_MMCSD0, 1607 .clk_idx = AM62LX_DEV_MMCSD0_EMMCSDSS_IO_CLK_O, 1608 }; 1609 static const struct ti_clk_data_from_dev clk_data_fss_ul_128_main_0_ospi0_oclk_clk = { 1610 .dev = AM62LX_DEV_FSS0, 1611 .clk_idx = AM62LX_DEV_FSS0_OSPI0_OCLK_CLK, 1612 }; 1613 static const struct ti_clk_data_from_dev clk_data_gpmc_main_0_po_gpmc_dev_clk = { 1614 .dev = AM62LX_DEV_GPMC0, 1615 .clk_idx = AM62LX_DEV_GPMC0_PO_GPMC_DEV_CLK, 1616 }; 1617 static const struct ti_clk_data_div_reg clk_data_hsdiv0_16fft_main_17_hsdiv0 = { 1618 .data_div = { 1619 .max_div = 128, 1620 .default_div = 9, 1621 }, 1622 .reg = 0x04060000UL + (0x1000UL * 17UL) + 0x80UL + (0x4UL * 0UL), 1623 .bit = 0, 1624 }; 1625 static const struct ti_clk_data_div_reg clk_data_hsdiv0_16fft_main_8_hsdiv0 = { 1626 .data_div = { 1627 .max_div = 128, 1628 .default_div = 2, 1629 }, 1630 .reg = 0x04060000UL + (0x1000UL * 8UL) + 0x80UL + (0x4UL * 0UL), 1631 .bit = 0, 1632 }; 1633 static const struct ti_clk_data_div_reg clk_data_hsdiv0_16fft_wkup_0_hsdiv0 = { 1634 .data_div = { 1635 .max_div = 128, 1636 .default_div = 6, 1637 }, 1638 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 0UL), 1639 .bit = 0, 1640 }; 1641 static const struct ti_clk_data_div_reg clk_data_hsdiv0_16fft_wkup_32khz_gen_0_hsdiv0 = { 1642 .data_div = { 1643 .max_div = 128, 1644 }, 1645 .reg = 0x43020000UL + 0x148UL + (0x4UL * 0UL), 1646 .bit = 0, 1647 }; 1648 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_main_0_hsdiv0 = { 1649 .data_div = { 1650 .max_div = 128, 1651 .default_div = 4, 1652 }, 1653 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 0UL), 1654 .bit = 0, 1655 }; 1656 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_main_0_hsdiv2 = { 1657 .data_div = { 1658 .max_div = 128, 1659 .default_div = 5, 1660 }, 1661 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 2UL), 1662 .bit = 0, 1663 }; 1664 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_main_0_hsdiv3 = { 1665 .data_div = { 1666 .max_div = 128, 1667 .default_div = 15, 1668 }, 1669 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 3UL), 1670 .bit = 0, 1671 }; 1672 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_main_0_hsdiv4 = { 1673 .data_div = { 1674 .max_div = 128, 1675 .default_div = 25, 1676 }, 1677 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 4UL), 1678 .bit = 0, 1679 }; 1680 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_wkup_0_hsdiv0 = { 1681 .data_div = { 1682 .max_div = 128, 1683 .default_div = 6, 1684 }, 1685 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 0UL), 1686 .bit = 0, 1687 }; 1688 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_wkup_0_hsdiv1 = { 1689 .data_div = { 1690 .max_div = 128, 1691 .default_div = 25, 1692 }, 1693 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 1UL), 1694 .bit = 0, 1695 }; 1696 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_wkup_0_hsdiv2 = { 1697 .data_div = { 1698 .max_div = 128, 1699 .default_div = 25, 1700 }, 1701 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 2UL), 1702 .bit = 0, 1703 }; 1704 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_wkup_0_hsdiv3 = { 1705 .data_div = { 1706 .max_div = 128, 1707 .default_div = 40, 1708 }, 1709 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 3UL), 1710 .bit = 0, 1711 }; 1712 static const struct ti_clk_data_div_reg clk_data_hsdiv4_16fft_wkup_0_hsdiv4 = { 1713 .data_div = { 1714 .max_div = 128, 1715 .default_div = 18, 1716 }, 1717 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 4UL), 1718 .bit = 0, 1719 }; 1720 static const struct ti_clk_data_from_dev clk_data_k3_dss_nano_main_0_dpi_0_out_clk = { 1721 .dev = AM62LX_DEV_DSS0, 1722 .clk_idx = AM62LX_DEV_DSS0_DPI_0_OUT_CLK, 1723 }; 1724 static const struct ti_clk_data_from_dev clk_data_mcasp_main_0_mcasp_aclkr_pout = { 1725 .dev = AM62LX_DEV_MCASP0, 1726 .clk_idx = AM62LX_DEV_MCASP0_MCASP_ACLKR_POUT, 1727 }; 1728 static const struct ti_clk_data_from_dev clk_data_mcasp_main_0_mcasp_aclkx_pout = { 1729 .dev = AM62LX_DEV_MCASP0, 1730 .clk_idx = AM62LX_DEV_MCASP0_MCASP_ACLKX_POUT, 1731 }; 1732 static const struct ti_clk_data_from_dev clk_data_mcasp_main_0_mcasp_afsr_pout = { 1733 .dev = AM62LX_DEV_MCASP0, 1734 .clk_idx = AM62LX_DEV_MCASP0_MCASP_AFSR_POUT, 1735 }; 1736 static const struct ti_clk_data_from_dev clk_data_mcasp_main_0_mcasp_afsx_pout = { 1737 .dev = AM62LX_DEV_MCASP0, 1738 .clk_idx = AM62LX_DEV_MCASP0_MCASP_AFSX_POUT, 1739 }; 1740 static const struct ti_clk_data_from_dev clk_data_mcasp_main_0_mcasp_ahclkr_pout = { 1741 .dev = AM62LX_DEV_MCASP0, 1742 .clk_idx = AM62LX_DEV_MCASP0_MCASP_AHCLKR_POUT, 1743 }; 1744 static const struct ti_clk_data_from_dev clk_data_mcasp_main_0_mcasp_ahclkx_pout = { 1745 .dev = AM62LX_DEV_MCASP0, 1746 .clk_idx = AM62LX_DEV_MCASP0_MCASP_AHCLKX_POUT, 1747 }; 1748 static const struct ti_clk_data_from_dev clk_data_mcasp_main_1_mcasp_aclkr_pout = { 1749 .dev = AM62LX_DEV_MCASP1, 1750 .clk_idx = AM62LX_DEV_MCASP1_MCASP_ACLKR_POUT, 1751 }; 1752 static const struct ti_clk_data_from_dev clk_data_mcasp_main_1_mcasp_aclkx_pout = { 1753 .dev = AM62LX_DEV_MCASP1, 1754 .clk_idx = AM62LX_DEV_MCASP1_MCASP_ACLKX_POUT, 1755 }; 1756 static const struct ti_clk_data_from_dev clk_data_mcasp_main_1_mcasp_afsr_pout = { 1757 .dev = AM62LX_DEV_MCASP1, 1758 .clk_idx = AM62LX_DEV_MCASP1_MCASP_AFSR_POUT, 1759 }; 1760 static const struct ti_clk_data_from_dev clk_data_mcasp_main_1_mcasp_afsx_pout = { 1761 .dev = AM62LX_DEV_MCASP1, 1762 .clk_idx = AM62LX_DEV_MCASP1_MCASP_AFSX_POUT, 1763 }; 1764 static const struct ti_clk_data_from_dev clk_data_mcasp_main_1_mcasp_ahclkr_pout = { 1765 .dev = AM62LX_DEV_MCASP1, 1766 .clk_idx = AM62LX_DEV_MCASP1_MCASP_AHCLKR_POUT, 1767 }; 1768 static const struct ti_clk_data_from_dev clk_data_mcasp_main_1_mcasp_ahclkx_pout = { 1769 .dev = AM62LX_DEV_MCASP1, 1770 .clk_idx = AM62LX_DEV_MCASP1_MCASP_AHCLKX_POUT, 1771 }; 1772 static const struct ti_clk_data_from_dev clk_data_mcasp_main_2_mcasp_aclkr_pout = { 1773 .dev = AM62LX_DEV_MCASP2, 1774 .clk_idx = AM62LX_DEV_MCASP2_MCASP_ACLKR_POUT, 1775 }; 1776 static const struct ti_clk_data_from_dev clk_data_mcasp_main_2_mcasp_aclkx_pout = { 1777 .dev = AM62LX_DEV_MCASP2, 1778 .clk_idx = AM62LX_DEV_MCASP2_MCASP_ACLKX_POUT, 1779 }; 1780 static const struct ti_clk_data_from_dev clk_data_mcasp_main_2_mcasp_afsr_pout = { 1781 .dev = AM62LX_DEV_MCASP2, 1782 .clk_idx = AM62LX_DEV_MCASP2_MCASP_AFSR_POUT, 1783 }; 1784 static const struct ti_clk_data_from_dev clk_data_mcasp_main_2_mcasp_afsx_pout = { 1785 .dev = AM62LX_DEV_MCASP2, 1786 .clk_idx = AM62LX_DEV_MCASP2_MCASP_AFSX_POUT, 1787 }; 1788 static const struct ti_clk_data_from_dev clk_data_mcasp_main_2_mcasp_ahclkr_pout = { 1789 .dev = AM62LX_DEV_MCASP2, 1790 .clk_idx = AM62LX_DEV_MCASP2_MCASP_AHCLKR_POUT, 1791 }; 1792 static const struct ti_clk_data_from_dev clk_data_mcasp_main_2_mcasp_ahclkx_pout = { 1793 .dev = AM62LX_DEV_MCASP2, 1794 .clk_idx = AM62LX_DEV_MCASP2_MCASP_AHCLKX_POUT, 1795 }; 1796 static const struct ti_clk_data_from_dev clk_data_mshsi2c_main_0_porscl = { 1797 .dev = AM62LX_DEV_I2C0, 1798 .clk_idx = AM62LX_DEV_I2C0_PORSCL, 1799 }; 1800 static const struct ti_clk_data_from_dev clk_data_mshsi2c_main_1_porscl = { 1801 .dev = AM62LX_DEV_I2C1, 1802 .clk_idx = AM62LX_DEV_I2C1_PORSCL, 1803 }; 1804 static const struct ti_clk_data_from_dev clk_data_mshsi2c_main_2_porscl = { 1805 .dev = AM62LX_DEV_I2C2, 1806 .clk_idx = AM62LX_DEV_I2C2_PORSCL, 1807 }; 1808 static const struct ti_clk_data_from_dev clk_data_mshsi2c_main_3_porscl = { 1809 .dev = AM62LX_DEV_I2C3, 1810 .clk_idx = AM62LX_DEV_I2C3_PORSCL, 1811 }; 1812 static const struct ti_clk_data_from_dev clk_data_mshsi2c_wkup_0_porscl = { 1813 .dev = AM62LX_DEV_WKUP_I2C0, 1814 .clk_idx = AM62LX_DEV_WKUP_I2C0_PORSCL, 1815 }; 1816 static const struct ti_clk_data_pll_16fft clk_data_pllfracf2_ssmod_16fft_main_0 = { 1817 .data_pll = { 1818 .vco_range_idx = AM62LX_FREQ_RANGE_VCO_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1819 .vco_in_range_idx = AM62LX_FREQ_RANGE_VCO_IN_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1820 .fractional_support = true, 1821 .devgrp = TI_DEVGRP_00, 1822 .pll_entries = pllfracf2_ssmod_16fft_main_0_entries, 1823 .pll_entries_count = 3, 1824 .default_freq_idx = FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_0_DEFAULT, 1825 }, 1826 .idx = 0, 1827 .base = 0x04060000, 1828 }; 1829 static const struct ti_clk_data_div clk_data_pllfracf2_ssmod_16fft_main_0_postdiv = { 1830 .max_div = 49, 1831 }; 1832 static const struct ti_clk_data_pll_16fft clk_data_pllfracf2_ssmod_16fft_main_17 = { 1833 .data_pll = { 1834 .vco_range_idx = AM62LX_FREQ_RANGE_VCO_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1835 .vco_in_range_idx = AM62LX_FREQ_RANGE_VCO_IN_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1836 .fractional_support = true, 1837 .devgrp = TI_DEVGRP_00, 1838 .pll_entries = pllfracf2_ssmod_16fft_main_17_entries, 1839 .pll_entries_count = 3, 1840 .default_freq_idx = FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_17_DEFAULT, 1841 }, 1842 .idx = 17, 1843 .base = 0x04060000, 1844 }; 1845 static const struct ti_clk_data_pll_16fft clk_data_pllfracf2_ssmod_16fft_main_8 = { 1846 .data_pll = { 1847 .vco_range_idx = AM62LX_FREQ_RANGE_VCO_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1848 .vco_in_range_idx = AM62LX_FREQ_RANGE_VCO_IN_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1849 .fractional_support = true, 1850 .devgrp = TI_DEVGRP_00, 1851 .pll_entries = pllfracf2_ssmod_16fft_main_8_entries, 1852 .pll_entries_count = 3, 1853 .default_freq_idx = FREQ_PLLFRACF2_SSMOD_16FFT_MAIN_8_DEFAULT, 1854 }, 1855 .idx = 8, 1856 .base = 0x04060000, 1857 }; 1858 static const struct ti_clk_data_pll_16fft clk_data_pllfracf2_ssmod_16fft_wkup_0 = { 1859 .data_pll = { 1860 .vco_range_idx = AM62LX_FREQ_RANGE_VCO_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1861 .vco_in_range_idx = AM62LX_FREQ_RANGE_VCO_IN_PLLFRACF2_SSMOD_16FFT_MAIN_0, 1862 .fractional_support = true, 1863 .devgrp = TI_DEVGRP_00, 1864 .pll_entries = pllfracf2_ssmod_16fft_wkup_0_entries, 1865 .pll_entries_count = 3, 1866 .default_freq_idx = FREQ_PLLFRACF2_SSMOD_16FFT_WKUP_0_DEFAULT, 1867 }, 1868 .idx = 0, 1869 .base = 0x04040000, 1870 }; 1871 static const struct ti_clk_data_div clk_data_pllfracf2_ssmod_16fft_wkup_0_postdiv = { 1872 .max_div = 49, 1873 }; 1874 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_main_0_hsdiv5 = { 1875 .data_div = { 1876 .max_div = 128, 1877 .default_div = 5, 1878 }, 1879 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 5UL), 1880 .bit = 0, 1881 }; 1882 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_main_0_hsdiv6 = { 1883 .data_div = { 1884 .max_div = 128, 1885 .default_div = 4, 1886 }, 1887 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 6UL), 1888 .bit = 0, 1889 }; 1890 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_main_0_hsdiv7 = { 1891 .data_div = { 1892 .max_div = 128, 1893 .default_div = 5, 1894 }, 1895 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 7UL), 1896 .bit = 0, 1897 }; 1898 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_main_0_hsdiv8 = { 1899 .data_div = { 1900 .max_div = 128, 1901 .default_div = 10, 1902 }, 1903 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 8UL), 1904 .bit = 0, 1905 }; 1906 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_main_0_hsdiv9 = { 1907 .data_div = { 1908 .max_div = 128, 1909 .default_div = 3, 1910 }, 1911 .reg = 0x04060000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 9UL), 1912 .bit = 0, 1913 }; 1914 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_wkup_0_hsdiv6 = { 1915 .data_div = { 1916 .max_div = 128, 1917 .default_div = 24, 1918 }, 1919 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 6UL), 1920 .bit = 0, 1921 }; 1922 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_wkup_0_hsdiv7 = { 1923 .data_div = { 1924 .max_div = 128, 1925 .default_div = 6, 1926 }, 1927 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 7UL), 1928 .bit = 0, 1929 }; 1930 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_wkup_0_hsdiv8 = { 1931 .data_div = { 1932 .max_div = 128, 1933 .default_div = 40, 1934 }, 1935 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 8UL), 1936 .bit = 0, 1937 }; 1938 static const struct ti_clk_data_div_reg clk_data_postdiv4_16ff_wkup_0_hsdiv9 = { 1939 .data_div = { 1940 .max_div = 128, 1941 .default_div = 6, 1942 }, 1943 .reg = 0x04040000UL + (0x1000UL * 0UL) + 0x80UL + (0x4UL * 9UL), 1944 .bit = 0, 1945 }; 1946 static const struct ti_clk_parent clk_sam62_pll_ctrl_wrap_wkup_0_parents[2] = { 1947 { 1948 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 1949 1, 1950 }, 1951 { 1952 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT0_CLK, 1953 1, 1954 }, 1955 }; 1956 static const struct ti_clk_data_mux_reg clk_data_sam62_pll_ctrl_wrap_wkup_0_sysclkout_clk = { 1957 .data_mux = { 1958 .parents = clk_sam62_pll_ctrl_wrap_wkup_0_parents, 1959 .num_parents = ARRAY_SIZE(clk_sam62_pll_ctrl_wrap_wkup_0_parents), 1960 }, 1961 .reg = 0x00410000, 1962 }; 1963 static const struct ti_clk_data_div_reg clk_data_sam62_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk = { 1964 .data_div = { 1965 .max_div = 32, 1966 }, 1967 .reg = 0x00410000 + 0x118, 1968 .bit = 0, 1969 }; 1970 static const struct ti_clk_data_div_reg clk_data_sam62_pll_ctrl_wrap_wkup_0_chip_div24_clk_clk = { 1971 .data_div = { 1972 .max_div = 32, 1973 }, 1974 .reg = 0x00410000 + 0x11c, 1975 .bit = 0, 1976 }; 1977 static const struct ti_clk_data_from_dev 1978 clk_data_a53_divh_clk4_obsclk_out_clk = { 1979 .dev = AM62LX_DEV_COMPUTE_CLUSTER0_ARM_COREPACK_0, 1980 .clk_idx = AM62LX_DEV_COMPUTE_CLUSTER0_ARM_COREPACK_0_A53_DIVH_CLK4_OBSCLK_OUT_CLK, 1981 }; 1982 static const struct ti_clk_data_from_dev 1983 clk_data_sam62l_a53_256kb_wrap_main_0_clkdiv_0_divh_clk4_clk_clk = { 1984 .dev = AM62LX_DEV_COMPUTE_CLUSTER0_CLKDIV_0, 1985 .clk_idx = AM62LX_DEV_COMPUTE_CLUSTER0_CLKDIV_0_DIVH_CLK4_CLK_CLK, 1986 }; 1987 static const struct ti_clk_data_from_dev 1988 clk_data_sam62l_a53_256kb_wrap_main_0_clkdiv_0_divp_clk1_clk_clk = { 1989 .dev = AM62LX_DEV_COMPUTE_CLUSTER0_CLKDIV_0, 1990 .clk_idx = AM62LX_DEV_COMPUTE_CLUSTER0_CLKDIV_0_DIVP_CLK1_CLK_CLK, 1991 }; 1992 static const struct ti_clk_data_from_dev clk_data_spi_main_0_io_clkspio_clk = { 1993 .dev = AM62LX_DEV_MCSPI0, 1994 .clk_idx = AM62LX_DEV_MCSPI0_IO_CLKSPIO_CLK, 1995 }; 1996 static const struct ti_clk_data_from_dev clk_data_spi_main_1_io_clkspio_clk = { 1997 .dev = AM62LX_DEV_MCSPI1, 1998 .clk_idx = AM62LX_DEV_MCSPI1_IO_CLKSPIO_CLK, 1999 }; 2000 static const struct ti_clk_data_from_dev clk_data_spi_main_2_io_clkspio_clk = { 2001 .dev = AM62LX_DEV_MCSPI2, 2002 .clk_idx = AM62LX_DEV_MCSPI2_IO_CLKSPIO_CLK, 2003 }; 2004 static const struct ti_clk_data_from_dev clk_data_spi_main_3_io_clkspio_clk = { 2005 .dev = AM62LX_DEV_MCSPI3, 2006 .clk_idx = AM62LX_DEV_MCSPI3_IO_CLKSPIO_CLK, 2007 }; 2008 static const struct ti_clk_data_from_dev 2009 clk_data_wiz16b8m4cdt3_main_0_ip1_ppi_M_RxClkEsc_clk = { 2010 .dev = AM62LX_DEV_DPHY_TX0, 2011 .clk_idx = AM62LX_DEV_DPHY_TX0_IP1_PPI_M_RXCLKESC_CLK, 2012 }; 2013 static const struct ti_clk_data_from_dev 2014 clk_data_wiz16b8m4cdt3_main_0_ip1_ppi_TxByteClkHS_cl_clk = { 2015 .dev = AM62LX_DEV_DPHY_TX0, 2016 .clk_idx = AM62LX_DEV_DPHY_TX0_IP1_PPI_TXBYTECLKHS_CL_CLK, 2017 }; 2018 static const uint32_t hfosc0_supported_freqs[] = { 2019 25000000U, 2020 0U, 2021 }; 2022 static const struct ti_clk_data_hfosc0 clk_data_hfosc0 = { 2023 .wkup_ctrl_mmr_base = 0x43010000UL, 2024 .devstat_offset = 0x30UL, 2025 .devstat_freq_mask = 0x7U, 2026 .supported_freqs = hfosc0_supported_freqs, 2027 }; 2028 static const struct ti_clk_data_lfosc0 clk_data_lfosc0 = { 2029 .rtc_base = 0x2b1f0000UL, 2030 .lfxosc_ctrl_offset = 0x80UL, 2031 .disable_mask = 0x80UL, 2032 .freq_hz = 32768U, 2033 }; 2034 2035 struct ti_clk soc_clocks[] = { 2036 [CLK_AM62LX_GLUELOGIC_HFOSC0_CLK] = { 2037 .ref_count = 0, 2038 .flags = 0, 2039 .drv = &ti_clk_drv_soc_hfosc0, 2040 .data = &clk_data_hfosc0.data, 2041 .data_flags = 0, 2042 }, 2043 [CLK_AM62LX_GLUELOGIC_LFOSC0_CLK] = { 2044 .ref_count = 0, 2045 .flags = 0, 2046 .drv = &ti_clk_drv_soc_lfosc0, 2047 .data = &clk_data_lfosc0.data, 2048 .data_flags = 0, 2049 }, 2050 [CLK_AM62LX_GLUELOGIC_RCOSC_CLKOUT] = { 2051 .ref_count = 0, 2052 .flags = 0, 2053 .drv = &ti_clk_drv_fixed, 2054 .data_flags = 0, 2055 .range_idx = AM62LX_FREQ_RANGE_GLUELOGIC_RCOSC_CLKOUT, 2056 }, 2057 [CLK_AM62LX_GLUELOGIC_RCOSC_CLK_1P0V_97P65K] = { 2058 .ref_count = 0, 2059 .flags = 0, 2060 .drv = &ti_clk_drv_fixed, 2061 .data_flags = 0, 2062 .range_idx = AM62LX_FREQ_RANGE_GLUELOGIC_RCOSC_CLK_1P0V_97P65K, 2063 }, 2064 [CLK_AM62LX_BOARD_0_AUDIO_EXT_REFCLK0_OUT] = { 2065 .ref_count = 0, 2066 .flags = 0, 2067 .drv = &ti_clk_drv_from_device, 2068 .data_flags = 0, 2069 .data = &clk_data_board_0_AUDIO_EXT_REFCLK0_out.data, 2070 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_AUDIO_EXT_REFCLK0_OUT, 2071 }, 2072 [CLK_AM62LX_BOARD_0_AUDIO_EXT_REFCLK1_OUT] = { 2073 .ref_count = 0, 2074 .flags = 0, 2075 .drv = &ti_clk_drv_from_device, 2076 .data_flags = 0, 2077 .data = &clk_data_board_0_AUDIO_EXT_REFCLK1_out.data, 2078 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_AUDIO_EXT_REFCLK1_OUT, 2079 }, 2080 [CLK_AM62LX_BOARD_0_GEMAC_CPTS0_RFT_CLK_OUT] = { 2081 .ref_count = 0, 2082 .flags = 0, 2083 .drv = &ti_clk_drv_from_device, 2084 .data_flags = 0, 2085 .data = &clk_data_board_0_CP_GEMAC_CPTS0_RFT_CLK_out.data, 2086 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_GEMAC_CPTS0_RFT_CLK_OUT, 2087 }, 2088 [CLK_AM62LX_BOARD_0_EXT_REFCLK1_OUT] = { 2089 .ref_count = 0, 2090 .flags = 0, 2091 .drv = &ti_clk_drv_from_device, 2092 .data_flags = 0, 2093 .data = &clk_data_board_0_EXT_REFCLK1_out.data, 2094 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_EXT_REFCLK1_OUT, 2095 }, 2096 [CLK_AM62LX_BOARD_0_GPMC0_CLKLB_OUT] = { 2097 .ref_count = 0, 2098 .flags = 0, 2099 .drv = &ti_clk_drv_from_device, 2100 .data_flags = 0, 2101 .data = &clk_data_board_0_GPMC0_CLKLB_out.data, 2102 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_GPMC0_CLKLB_OUT, 2103 }, 2104 [CLK_AM62LX_BOARD_0_I2C0_SCL_OUT] = { 2105 .ref_count = 0, 2106 .flags = 0, 2107 .drv = &ti_clk_drv_from_device, 2108 .data_flags = 0, 2109 .data = &clk_data_board_0_I2C0_SCL_out.data, 2110 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_I2C0_SCL_OUT, 2111 }, 2112 [CLK_AM62LX_BOARD_0_I2C1_SCL_OUT] = { 2113 .ref_count = 0, 2114 .flags = 0, 2115 .drv = &ti_clk_drv_from_device, 2116 .data_flags = 0, 2117 .data = &clk_data_board_0_I2C1_SCL_out.data, 2118 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_I2C1_SCL_OUT, 2119 }, 2120 [CLK_AM62LX_BOARD_0_I2C2_SCL_OUT] = { 2121 .ref_count = 0, 2122 .flags = 0, 2123 .drv = &ti_clk_drv_from_device, 2124 .data_flags = 0, 2125 .data = &clk_data_board_0_I2C2_SCL_out.data, 2126 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_I2C2_SCL_OUT, 2127 }, 2128 [CLK_AM62LX_BOARD_0_I2C3_SCL_OUT] = { 2129 .ref_count = 0, 2130 .flags = 0, 2131 .drv = &ti_clk_drv_from_device, 2132 .data_flags = 0, 2133 .data = &clk_data_board_0_I2C3_SCL_out.data, 2134 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_I2C3_SCL_OUT, 2135 }, 2136 [CLK_AM62LX_BOARD_0_MCASP0_ACLKR_OUT] = { 2137 .ref_count = 0, 2138 .flags = 0, 2139 .drv = &ti_clk_drv_from_device, 2140 .data_flags = 0, 2141 .data = &clk_data_board_0_MCASP0_ACLKR_out.data, 2142 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP0_ACLKR_OUT, 2143 }, 2144 [CLK_AM62LX_BOARD_0_MCASP0_ACLKX_OUT] = { 2145 .ref_count = 0, 2146 .flags = 0, 2147 .drv = &ti_clk_drv_from_device, 2148 .data_flags = 0, 2149 .data = &clk_data_board_0_MCASP0_ACLKX_out.data, 2150 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP0_ACLKX_OUT, 2151 }, 2152 [CLK_AM62LX_BOARD_0_MCASP0_AFSR_OUT] = { 2153 .ref_count = 0, 2154 .flags = 0, 2155 .drv = &ti_clk_drv_from_device, 2156 .data_flags = 0, 2157 .data = &clk_data_board_0_MCASP0_AFSR_out.data, 2158 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP0_AFSR_OUT, 2159 }, 2160 [CLK_AM62LX_BOARD_0_MCASP0_AFSX_OUT] = { 2161 .ref_count = 0, 2162 .flags = 0, 2163 .drv = &ti_clk_drv_from_device, 2164 .data_flags = 0, 2165 .data = &clk_data_board_0_MCASP0_AFSX_out.data, 2166 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP0_AFSX_OUT, 2167 }, 2168 [CLK_AM62LX_BOARD_0_MCASP1_ACLKR_OUT] = { 2169 .ref_count = 0, 2170 .flags = 0, 2171 .drv = &ti_clk_drv_from_device, 2172 .data_flags = 0, 2173 .data = &clk_data_board_0_MCASP1_ACLKR_out.data, 2174 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP1_ACLKR_OUT, 2175 }, 2176 [CLK_AM62LX_BOARD_0_MCASP1_ACLKX_OUT] = { 2177 .ref_count = 0, 2178 .flags = 0, 2179 .drv = &ti_clk_drv_from_device, 2180 .data_flags = 0, 2181 .data = &clk_data_board_0_MCASP1_ACLKX_out.data, 2182 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP1_ACLKX_OUT, 2183 }, 2184 [CLK_AM62LX_BOARD_0_MCASP1_AFSR_OUT] = { 2185 .ref_count = 0, 2186 .flags = 0, 2187 .drv = &ti_clk_drv_from_device, 2188 .data_flags = 0, 2189 .data = &clk_data_board_0_MCASP1_AFSR_out.data, 2190 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP1_AFSR_OUT, 2191 }, 2192 [CLK_AM62LX_BOARD_0_MCASP1_AFSX_OUT] = { 2193 .ref_count = 0, 2194 .flags = 0, 2195 .drv = &ti_clk_drv_from_device, 2196 .data_flags = 0, 2197 .data = &clk_data_board_0_MCASP1_AFSX_out.data, 2198 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP1_AFSX_OUT, 2199 }, 2200 [CLK_AM62LX_BOARD_0_MCASP2_ACLKR_OUT] = { 2201 .ref_count = 0, 2202 .flags = 0, 2203 .drv = &ti_clk_drv_from_device, 2204 .data_flags = 0, 2205 .data = &clk_data_board_0_MCASP2_ACLKR_out.data, 2206 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP2_ACLKR_OUT, 2207 }, 2208 [CLK_AM62LX_BOARD_0_MCASP2_ACLKX_OUT] = { 2209 .ref_count = 0, 2210 .flags = 0, 2211 .drv = &ti_clk_drv_from_device, 2212 .data_flags = 0, 2213 .data = &clk_data_board_0_MCASP2_ACLKX_out.data, 2214 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP2_ACLKX_OUT, 2215 }, 2216 [CLK_AM62LX_BOARD_0_MCASP2_AFSR_OUT] = { 2217 .ref_count = 0, 2218 .flags = 0, 2219 .drv = &ti_clk_drv_from_device, 2220 .data_flags = 0, 2221 .data = &clk_data_board_0_MCASP2_AFSR_out.data, 2222 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP2_AFSR_OUT, 2223 }, 2224 [CLK_AM62LX_BOARD_0_MCASP2_AFSX_OUT] = { 2225 .ref_count = 0, 2226 .flags = 0, 2227 .drv = &ti_clk_drv_from_device, 2228 .data_flags = 0, 2229 .data = &clk_data_board_0_MCASP2_AFSX_out.data, 2230 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MCASP2_AFSX_OUT, 2231 }, 2232 [CLK_AM62LX_BOARD_0_MMC0_CLKLB_OUT] = { 2233 .ref_count = 0, 2234 .flags = 0, 2235 .drv = &ti_clk_drv_from_device, 2236 .data_flags = 0, 2237 .data = &clk_data_board_0_MMC0_CLKLB_out.data, 2238 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MMC0_CLKLB_OUT, 2239 }, 2240 [CLK_AM62LX_BOARD_0_MMC0_CLK_OUT] = { 2241 .ref_count = 0, 2242 .flags = 0, 2243 .drv = &ti_clk_drv_from_device, 2244 .data_flags = 0, 2245 .data = &clk_data_board_0_MMC0_CLK_out.data, 2246 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MMC0_CLK_OUT, 2247 }, 2248 [CLK_AM62LX_BOARD_0_MMC1_CLKLB_OUT] = { 2249 .ref_count = 0, 2250 .flags = 0, 2251 .drv = &ti_clk_drv_from_device, 2252 .data_flags = 0, 2253 .data = &clk_data_board_0_MMC1_CLKLB_out.data, 2254 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MMC1_CLKLB_OUT, 2255 }, 2256 [CLK_AM62LX_BOARD_0_MMC1_CLK_OUT] = { 2257 .ref_count = 0, 2258 .flags = 0, 2259 .drv = &ti_clk_drv_from_device, 2260 .data_flags = 0, 2261 .data = &clk_data_board_0_MMC1_CLK_out.data, 2262 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MMC1_CLK_OUT, 2263 }, 2264 [CLK_AM62LX_BOARD_0_MMC2_CLKLB_OUT] = { 2265 .ref_count = 0, 2266 .flags = 0, 2267 .drv = &ti_clk_drv_from_device, 2268 .data_flags = 0, 2269 .data = &clk_data_board_0_MMC2_CLKLB_out.data, 2270 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MMC2_CLKLB_OUT, 2271 }, 2272 [CLK_AM62LX_BOARD_0_MMC2_CLK_OUT] = { 2273 .ref_count = 0, 2274 .flags = 0, 2275 .drv = &ti_clk_drv_from_device, 2276 .data_flags = 0, 2277 .data = &clk_data_board_0_MMC2_CLK_out.data, 2278 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_MMC2_CLK_OUT, 2279 }, 2280 [CLK_AM62LX_BOARD_0_OSPI0_DQS_OUT] = { 2281 .ref_count = 0, 2282 .flags = 0, 2283 .drv = &ti_clk_drv_from_device, 2284 .data_flags = 0, 2285 .data = &clk_data_board_0_OSPI0_DQS_out.data, 2286 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_OSPI0_DQS_OUT, 2287 }, 2288 [CLK_AM62LX_BOARD_0_OSPI0_LBCLKO_OUT] = { 2289 .ref_count = 0, 2290 .flags = 0, 2291 .drv = &ti_clk_drv_from_device, 2292 .data_flags = 0, 2293 .data = &clk_data_board_0_OSPI0_LBCLKO_out.data, 2294 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_OSPI0_LBCLKO_OUT, 2295 }, 2296 [CLK_AM62LX_BOARD_0_RMII1_REF_CLK_OUT] = { 2297 .ref_count = 0, 2298 .flags = 0, 2299 .drv = &ti_clk_drv_from_device, 2300 .data_flags = 0, 2301 .data = &clk_data_board_0_RMII1_REF_CLK_out.data, 2302 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_RMII1_REF_CLK_OUT, 2303 }, 2304 [CLK_AM62LX_BOARD_0_RMII2_REF_CLK_OUT] = { 2305 .ref_count = 0, 2306 .flags = 0, 2307 .drv = &ti_clk_drv_from_device, 2308 .data_flags = 0, 2309 .data = &clk_data_board_0_RMII2_REF_CLK_out.data, 2310 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_RMII2_REF_CLK_OUT, 2311 }, 2312 [CLK_AM62LX_BOARD_0_TCK_OUT] = { 2313 .ref_count = 0, 2314 .flags = 0, 2315 .drv = &ti_clk_drv_from_device, 2316 .data_flags = 0, 2317 .data = &clk_data_board_0_TCK_out.data, 2318 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_TCK_OUT, 2319 }, 2320 [CLK_AM62LX_BOARD_0_VOUT0_EXTPCLKIN_OUT] = { 2321 .ref_count = 0, 2322 .flags = 0, 2323 .drv = &ti_clk_drv_from_device, 2324 .data_flags = 0, 2325 .data = &clk_data_board_0_VOUT0_EXTPCLKIN_out.data, 2326 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_VOUT0_EXTPCLKIN_OUT, 2327 }, 2328 [CLK_AM62LX_BOARD_0_WKUP_EXT_REFCLK0_OUT] = { 2329 .ref_count = 0, 2330 .flags = 0, 2331 .drv = &ti_clk_drv_from_device, 2332 .data_flags = 0, 2333 .data = &clk_data_board_0_WKUP_EXT_REFCLK0_out.data, 2334 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_WKUP_EXT_REFCLK0_OUT, 2335 }, 2336 [CLK_AM62LX_BOARD_0_WKUP_I2C0_SCL_OUT] = { 2337 .ref_count = 0, 2338 .flags = 0, 2339 .drv = &ti_clk_drv_from_device, 2340 .data_flags = 0, 2341 .data = &clk_data_board_0_WKUP_I2C0_SCL_out.data, 2342 .freq_idx = AM62LX_FREQ_VALUE_BOARD_0_WKUP_I2C0_SCL_OUT, 2343 }, 2344 [CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF0] = { 2345 .ref_count = 0, 2346 .flags = 0, 2347 .drv = &ti_clk_drv_from_device, 2348 .data_flags = 0, 2349 .data = &clk_data_cpsw_3guss_am62l_main_0_cpts_genf0.data, 2350 .freq_idx = AM62LX_FREQ_VALUE_CPSW_MAIN_0_CPTS_GENF0, 2351 }, 2352 [CLK_AM62LX_CPSW_MAIN_0_CPTS_GENF1] = { 2353 .ref_count = 0, 2354 .flags = 0, 2355 .drv = &ti_clk_drv_from_device, 2356 .data_flags = 0, 2357 .data = &clk_data_cpsw_3guss_am62l_main_0_cpts_genf1.data, 2358 .freq_idx = AM62LX_FREQ_VALUE_CPSW_MAIN_0_CPTS_GENF1, 2359 }, 2360 [CLK_AM62LX_CPSW_3GUSS_AM62L_MAIN_0_MDIO_MDCLK_O] = { 2361 .ref_count = 0, 2362 .flags = 0, 2363 .drv = &ti_clk_drv_from_device, 2364 .data_flags = 0, 2365 .data = &clk_data_cpsw_3guss_am62l_main_0_mdio_mdclk_o.data, 2366 .freq_idx = AM62LX_FREQ_VALUE_CPSW_3GUSS_AM62L_MAIN_0_MDIO_MDCLK_O, 2367 }, 2368 [CLK_AM62LX_DEBUGSS_K3_WRAP_CV0_MAIN_0_CSTPIU_TRACECLK] = { 2369 .ref_count = 0, 2370 .flags = 0, 2371 .drv = &ti_clk_drv_from_device, 2372 .data_flags = 0, 2373 .data = &clk_data_debugss_k3_wrap_cv0_main_0_cstpiu_traceclk.data, 2374 .freq_idx = AM62LX_FREQ_VALUE_DEBUGSS_K3_WRAP_CV0_MAIN_0_CSTPIU_TRACECLK, 2375 }, 2376 [CLK_AM62LX_DMTIMER_DMC1MS_MAIN_0_TIMER_PWM] = { 2377 .ref_count = 0, 2378 .flags = 0, 2379 .drv = &ti_clk_drv_from_device, 2380 .data_flags = 0, 2381 .data = &clk_data_dmtimer_dmc1ms_main_0_timer_pwm.data, 2382 .freq_idx = AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_0_TIMER_PWM, 2383 }, 2384 [CLK_AM62LX_DMTIMER_DMC1MS_MAIN_1_TIMER_PWM] = { 2385 .ref_count = 0, 2386 .flags = 0, 2387 .drv = &ti_clk_drv_from_device, 2388 .data_flags = 0, 2389 .data = &clk_data_dmtimer_dmc1ms_main_1_timer_pwm.data, 2390 .freq_idx = AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_1_TIMER_PWM, 2391 }, 2392 [CLK_AM62LX_DMTIMER_DMC1MS_MAIN_2_TIMER_PWM] = { 2393 .ref_count = 0, 2394 .flags = 0, 2395 .drv = &ti_clk_drv_from_device, 2396 .data_flags = 0, 2397 .data = &clk_data_dmtimer_dmc1ms_main_2_timer_pwm.data, 2398 .freq_idx = AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_2_TIMER_PWM, 2399 }, 2400 [CLK_AM62LX_DMTIMER_DMC1MS_MAIN_3_TIMER_PWM] = { 2401 .ref_count = 0, 2402 .flags = 0, 2403 .drv = &ti_clk_drv_from_device, 2404 .data_flags = 0, 2405 .data = &clk_data_dmtimer_dmc1ms_main_3_timer_pwm.data, 2406 .freq_idx = AM62LX_FREQ_VALUE_DMTIMER_DMC1MS_MAIN_3_TIMER_PWM, 2407 }, 2408 [CLK_AM62LX_DMC1MS_WKUP_0_TIMER_PWM] = { 2409 .ref_count = 0, 2410 .flags = 0, 2411 .drv = &ti_clk_drv_from_device, 2412 .data_flags = 0, 2413 .data = &clk_data_dmtimer_dmc1ms_wkup_0_timer_pwm.data, 2414 .freq_idx = AM62LX_FREQ_VALUE_DMC1MS_WKUP_0_TIMER_PWM, 2415 }, 2416 [CLK_AM62LX_EMMCSD4SS_MAIN_0_EMMCSDSS_IO_CLK_O] = { 2417 .ref_count = 0, 2418 .flags = 0, 2419 .drv = &ti_clk_drv_from_device, 2420 .data_flags = 0, 2421 .data = &clk_data_emmcsd4ss_main_0_emmcsdss_io_clk_o.data, 2422 .freq_idx = AM62LX_FREQ_VALUE_EMMCSD4SS_MAIN_0_EMMCSDSS_IO_CLK_O, 2423 }, 2424 [CLK_AM62LX_EMMCSD4SS_MAIN_1_EMMCSDSS_IO_CLK_O] = { 2425 .ref_count = 0, 2426 .flags = 0, 2427 .drv = &ti_clk_drv_from_device, 2428 .data_flags = 0, 2429 .data = &clk_data_emmcsd4ss_main_1_emmcsdss_io_clk_o.data, 2430 .freq_idx = AM62LX_FREQ_VALUE_EMMCSD4SS_MAIN_1_EMMCSDSS_IO_CLK_O, 2431 }, 2432 [CLK_AM62LX_EMMCSD8SS_MAIN_0_EMMCSDSS_IO_CLK_O] = { 2433 .ref_count = 0, 2434 .flags = 0, 2435 .drv = &ti_clk_drv_from_device, 2436 .data_flags = 0, 2437 .data = &clk_data_emmcsd8ss_main_0_emmcsdss_io_clk_o.data, 2438 .freq_idx = AM62LX_FREQ_VALUE_EMMCSD8SS_MAIN_0_EMMCSDSS_IO_CLK_O, 2439 }, 2440 [CLK_AM62LX_FSS_UL_128_MAIN_0_OSPI0_OCLK_CLK] = { 2441 .ref_count = 0, 2442 .flags = 0, 2443 .drv = &ti_clk_drv_from_device, 2444 .data_flags = 0, 2445 .data = &clk_data_fss_ul_128_main_0_ospi0_oclk_clk.data, 2446 .freq_idx = AM62LX_FREQ_VALUE_FSS_UL_128_MAIN_0_OSPI0_OCLK_CLK, 2447 }, 2448 [CLK_AM62LX_GPMC_MAIN_0_PO_GPMC_DEV_CLK] = { 2449 .ref_count = 0, 2450 .flags = 0, 2451 .drv = &ti_clk_drv_from_device, 2452 .data_flags = 0, 2453 .data = &clk_data_gpmc_main_0_po_gpmc_dev_clk.data, 2454 .freq_idx = AM62LX_FREQ_VALUE_GPMC_MAIN_0_PO_GPMC_DEV_CLK, 2455 }, 2456 [CLK_AM62LX_HSDIV0_16FFT_WKUP_32KHZ_GEN_0_HSDIVOUT0_CLK] = { 2457 .parent = { 2458 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 2459 1, 2460 }, 2461 .ref_count = 0, 2462 .flags = 0, 2463 .drv = &ti_clk_drv_div_reg.drv, 2464 .data_flags = 0, 2465 .type = TI_CLK_TYPE_DIV, 2466 .data = &clk_data_hsdiv0_16fft_wkup_32khz_gen_0_hsdiv0.data_div.data, 2467 }, 2468 [CLK_AM62LX_K3_DSS_NANO_MAIN_0_DPI_0_OUT_CLK] = { 2469 .ref_count = 0, 2470 .flags = 0, 2471 .drv = &ti_clk_drv_from_device, 2472 .data_flags = 0, 2473 .data = &clk_data_k3_dss_nano_main_0_dpi_0_out_clk.data, 2474 .freq_idx = AM62LX_FREQ_VALUE_K3_DSS_NANO_MAIN_0_DPI_0_OUT_CLK, 2475 }, 2476 [CLK_AM62LX_MCASP_MAIN_0_MCASP_ACLKR_POUT] = { 2477 .ref_count = 0, 2478 .flags = 0, 2479 .drv = &ti_clk_drv_from_device, 2480 .data_flags = 0, 2481 .data = &clk_data_mcasp_main_0_mcasp_aclkr_pout.data, 2482 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_ACLKR_POUT, 2483 }, 2484 [CLK_AM62LX_MCASP_MAIN_0_MCASP_ACLKX_POUT] = { 2485 .ref_count = 0, 2486 .flags = 0, 2487 .drv = &ti_clk_drv_from_device, 2488 .data_flags = 0, 2489 .data = &clk_data_mcasp_main_0_mcasp_aclkx_pout.data, 2490 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_ACLKX_POUT, 2491 }, 2492 [CLK_AM62LX_MCASP_MAIN_0_MCASP_AFSR_POUT] = { 2493 .ref_count = 0, 2494 .flags = 0, 2495 .drv = &ti_clk_drv_from_device, 2496 .data_flags = 0, 2497 .data = &clk_data_mcasp_main_0_mcasp_afsr_pout.data, 2498 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AFSR_POUT, 2499 }, 2500 [CLK_AM62LX_MCASP_MAIN_0_MCASP_AFSX_POUT] = { 2501 .ref_count = 0, 2502 .flags = 0, 2503 .drv = &ti_clk_drv_from_device, 2504 .data_flags = 0, 2505 .data = &clk_data_mcasp_main_0_mcasp_afsx_pout.data, 2506 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AFSX_POUT, 2507 }, 2508 [CLK_AM62LX_MCASP_MAIN_0_MCASP_AHCLKR_POUT] = { 2509 .ref_count = 0, 2510 .flags = 0, 2511 .drv = &ti_clk_drv_from_device, 2512 .data_flags = 0, 2513 .data = &clk_data_mcasp_main_0_mcasp_ahclkr_pout.data, 2514 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AHCLKR_POUT, 2515 }, 2516 [CLK_AM62LX_MCASP_MAIN_0_MCASP_AHCLKX_POUT] = { 2517 .ref_count = 0, 2518 .flags = 0, 2519 .drv = &ti_clk_drv_from_device, 2520 .data_flags = 0, 2521 .data = &clk_data_mcasp_main_0_mcasp_ahclkx_pout.data, 2522 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_0_MCASP_AHCLKX_POUT, 2523 }, 2524 [CLK_AM62LX_MCASP_MAIN_1_MCASP_ACLKR_POUT] = { 2525 .ref_count = 0, 2526 .flags = 0, 2527 .drv = &ti_clk_drv_from_device, 2528 .data_flags = 0, 2529 .data = &clk_data_mcasp_main_1_mcasp_aclkr_pout.data, 2530 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_ACLKR_POUT, 2531 }, 2532 [CLK_AM62LX_MCASP_MAIN_1_MCASP_ACLKX_POUT] = { 2533 .ref_count = 0, 2534 .flags = 0, 2535 .drv = &ti_clk_drv_from_device, 2536 .data_flags = 0, 2537 .data = &clk_data_mcasp_main_1_mcasp_aclkx_pout.data, 2538 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_ACLKX_POUT, 2539 }, 2540 [CLK_AM62LX_MCASP_MAIN_1_MCASP_AFSR_POUT] = { 2541 .ref_count = 0, 2542 .flags = 0, 2543 .drv = &ti_clk_drv_from_device, 2544 .data_flags = 0, 2545 .data = &clk_data_mcasp_main_1_mcasp_afsr_pout.data, 2546 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AFSR_POUT, 2547 }, 2548 [CLK_AM62LX_MCASP_MAIN_1_MCASP_AFSX_POUT] = { 2549 .ref_count = 0, 2550 .flags = 0, 2551 .drv = &ti_clk_drv_from_device, 2552 .data_flags = 0, 2553 .data = &clk_data_mcasp_main_1_mcasp_afsx_pout.data, 2554 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AFSX_POUT, 2555 }, 2556 [CLK_AM62LX_MCASP_MAIN_1_MCASP_AHCLKR_POUT] = { 2557 .ref_count = 0, 2558 .flags = 0, 2559 .drv = &ti_clk_drv_from_device, 2560 .data_flags = 0, 2561 .data = &clk_data_mcasp_main_1_mcasp_ahclkr_pout.data, 2562 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AHCLKR_POUT, 2563 }, 2564 [CLK_AM62LX_MCASP_MAIN_1_MCASP_AHCLKX_POUT] = { 2565 .ref_count = 0, 2566 .flags = 0, 2567 .drv = &ti_clk_drv_from_device, 2568 .data_flags = 0, 2569 .data = &clk_data_mcasp_main_1_mcasp_ahclkx_pout.data, 2570 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_1_MCASP_AHCLKX_POUT, 2571 }, 2572 [CLK_AM62LX_MCASP_MAIN_2_MCASP_ACLKR_POUT] = { 2573 .ref_count = 0, 2574 .flags = 0, 2575 .drv = &ti_clk_drv_from_device, 2576 .data_flags = 0, 2577 .data = &clk_data_mcasp_main_2_mcasp_aclkr_pout.data, 2578 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_ACLKR_POUT, 2579 }, 2580 [CLK_AM62LX_MCASP_MAIN_2_MCASP_ACLKX_POUT] = { 2581 .ref_count = 0, 2582 .flags = 0, 2583 .drv = &ti_clk_drv_from_device, 2584 .data_flags = 0, 2585 .data = &clk_data_mcasp_main_2_mcasp_aclkx_pout.data, 2586 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_ACLKX_POUT, 2587 }, 2588 [CLK_AM62LX_MCASP_MAIN_2_MCASP_AFSR_POUT] = { 2589 .ref_count = 0, 2590 .flags = 0, 2591 .drv = &ti_clk_drv_from_device, 2592 .data_flags = 0, 2593 .data = &clk_data_mcasp_main_2_mcasp_afsr_pout.data, 2594 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AFSR_POUT, 2595 }, 2596 [CLK_AM62LX_MCASP_MAIN_2_MCASP_AFSX_POUT] = { 2597 .ref_count = 0, 2598 .flags = 0, 2599 .drv = &ti_clk_drv_from_device, 2600 .data_flags = 0, 2601 .data = &clk_data_mcasp_main_2_mcasp_afsx_pout.data, 2602 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AFSX_POUT, 2603 }, 2604 [CLK_AM62LX_MCASP_MAIN_2_MCASP_AHCLKR_POUT] = { 2605 .ref_count = 0, 2606 .flags = 0, 2607 .drv = &ti_clk_drv_from_device, 2608 .data_flags = 0, 2609 .data = &clk_data_mcasp_main_2_mcasp_ahclkr_pout.data, 2610 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AHCLKR_POUT, 2611 }, 2612 [CLK_AM62LX_MCASP_MAIN_2_MCASP_AHCLKX_POUT] = { 2613 .ref_count = 0, 2614 .flags = 0, 2615 .drv = &ti_clk_drv_from_device, 2616 .data_flags = 0, 2617 .data = &clk_data_mcasp_main_2_mcasp_ahclkx_pout.data, 2618 .freq_idx = AM62LX_FREQ_VALUE_MCASP_MAIN_2_MCASP_AHCLKX_POUT, 2619 }, 2620 [CLK_AM62LX_MSHSI2C_MAIN_0_PORSCL] = { 2621 .ref_count = 0, 2622 .flags = 0, 2623 .drv = &ti_clk_drv_from_device, 2624 .data_flags = 0, 2625 .data = &clk_data_mshsi2c_main_0_porscl.data, 2626 .freq_idx = AM62LX_FREQ_VALUE_MSHSI2C_MAIN_0_PORSCL, 2627 }, 2628 [CLK_AM62LX_MSHSI2C_MAIN_1_PORSCL] = { 2629 .ref_count = 0, 2630 .flags = 0, 2631 .drv = &ti_clk_drv_from_device, 2632 .data_flags = 0, 2633 .data = &clk_data_mshsi2c_main_1_porscl.data, 2634 .freq_idx = AM62LX_FREQ_VALUE_MSHSI2C_MAIN_1_PORSCL, 2635 }, 2636 [CLK_AM62LX_MSHSI2C_MAIN_2_PORSCL] = { 2637 .ref_count = 0, 2638 .flags = 0, 2639 .drv = &ti_clk_drv_from_device, 2640 .data_flags = 0, 2641 .data = &clk_data_mshsi2c_main_2_porscl.data, 2642 .freq_idx = AM62LX_FREQ_VALUE_MSHSI2C_MAIN_2_PORSCL, 2643 }, 2644 [CLK_AM62LX_MSHSI2C_MAIN_3_PORSCL] = { 2645 .ref_count = 0, 2646 .flags = 0, 2647 .drv = &ti_clk_drv_from_device, 2648 .data_flags = 0, 2649 .data = &clk_data_mshsi2c_main_3_porscl.data, 2650 .freq_idx = AM62LX_FREQ_VALUE_MSHSI2C_MAIN_3_PORSCL, 2651 }, 2652 [CLK_AM62LX_MSHSI2C_WKUP_0_PORSCL] = { 2653 .ref_count = 0, 2654 .flags = 0, 2655 .drv = &ti_clk_drv_from_device, 2656 .data_flags = 0, 2657 .data = &clk_data_mshsi2c_wkup_0_porscl.data, 2658 .freq_idx = AM62LX_FREQ_VALUE_MSHSI2C_WKUP_0_PORSCL, 2659 }, 2660 [CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTVCOP_CLK] = { 2661 .parent = { 2662 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 2663 1, 2664 }, 2665 .ref_count = 0, 2666 .flags = 0, 2667 .drv = &ti_clk_drv_pll_16fft, 2668 .freq_idx = AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_MAIN_0, 2669 .data = &clk_data_pllfracf2_ssmod_16fft_main_0.data_pll.data, 2670 .data_flags = TI_CLK_DATA_FLAG_NO_HW_REINIT, 2671 }, 2672 [CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTPOSTDIV_CLK] = { 2673 .parent = { 2674 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTVCOP_CLK, 2675 1, 2676 }, 2677 .ref_count = 0, 2678 .flags = 0, 2679 .drv = &ti_clk_drv_div_pll_16fft_postdiv.drv, 2680 .type = TI_CLK_TYPE_DIV, 2681 .data = &clk_data_pllfracf2_ssmod_16fft_main_0_postdiv.data, 2682 .data_flags = 0, 2683 }, 2684 [CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_17_FOUTVCOP_CLK] = { 2685 .parent = { 2686 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 2687 1, 2688 }, 2689 .ref_count = 0, 2690 .flags = 0, 2691 .drv = &ti_clk_drv_pll_16fft, 2692 .freq_idx = AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_MAIN_17, 2693 .data = &clk_data_pllfracf2_ssmod_16fft_main_17.data_pll.data, 2694 .data_flags = 0, 2695 }, 2696 [CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_8_FOUTVCOP_CLK] = { 2697 .parent = { 2698 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 2699 1, 2700 }, 2701 .ref_count = 0, 2702 .flags = 0, 2703 .drv = &ti_clk_drv_pll_16fft, 2704 .freq_idx = AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_MAIN_8, 2705 .data = &clk_data_pllfracf2_ssmod_16fft_main_8.data_pll.data, 2706 .data_flags = TI_CLK_DATA_FLAG_NO_HW_REINIT, 2707 }, 2708 [CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK] = { 2709 .parent = { 2710 CLK_AM62LX_GLUELOGIC_HFOSC0_CLK, 2711 1, 2712 }, 2713 .ref_count = 0, 2714 .flags = 0, 2715 .drv = &ti_clk_drv_pll_16fft, 2716 .freq_idx = AM62LX_FREQ_VALUE_PLLFRACF2_SSMOD_16FFT_WKUP_0, 2717 .data = &clk_data_pllfracf2_ssmod_16fft_wkup_0.data_pll.data, 2718 .data_flags = TI_CLK_DATA_FLAG_NO_HW_REINIT, 2719 }, 2720 [CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTPOSTDIV_CLK] = { 2721 .parent = { 2722 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK, 2723 1, 2724 }, 2725 .ref_count = 0, 2726 .flags = 0, 2727 .drv = &ti_clk_drv_div_pll_16fft_postdiv.drv, 2728 .type = TI_CLK_TYPE_DIV, 2729 .data = &clk_data_pllfracf2_ssmod_16fft_wkup_0_postdiv.data, 2730 .data_flags = 0, 2731 }, 2732 [CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT5_CLK] = { 2733 .parent = { 2734 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTPOSTDIV_CLK, 2735 1, 2736 }, 2737 .ref_count = 0, 2738 .flags = 0, 2739 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2740 .data_flags = 0, 2741 .type = TI_CLK_TYPE_DIV, 2742 .data = &clk_data_postdiv4_16ff_main_0_hsdiv5.data_div.data, 2743 }, 2744 [CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT6_CLK] = { 2745 .parent = { 2746 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTPOSTDIV_CLK, 2747 1, 2748 }, 2749 .ref_count = 0, 2750 .flags = 0, 2751 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2752 .data_flags = 0, 2753 .type = TI_CLK_TYPE_DIV, 2754 .data = &clk_data_postdiv4_16ff_main_0_hsdiv6.data_div.data, 2755 }, 2756 [CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT7_CLK] = { 2757 .parent = { 2758 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTPOSTDIV_CLK, 2759 1, 2760 }, 2761 .ref_count = 0, 2762 .flags = 0, 2763 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2764 .data_flags = 0, 2765 .type = TI_CLK_TYPE_DIV, 2766 .data = &clk_data_postdiv4_16ff_main_0_hsdiv7.data_div.data, 2767 }, 2768 [CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT8_CLK] = { 2769 .parent = { 2770 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTPOSTDIV_CLK, 2771 1, 2772 }, 2773 .ref_count = 0, 2774 .flags = 0, 2775 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2776 .data_flags = 0, 2777 .type = TI_CLK_TYPE_DIV, 2778 .data = &clk_data_postdiv4_16ff_main_0_hsdiv8.data_div.data, 2779 }, 2780 [CLK_AM62LX_POSTDIV4_MAIN_0_HSDIVOUT9_CLK] = { 2781 .parent = { 2782 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTPOSTDIV_CLK, 2783 1, 2784 }, 2785 .ref_count = 0, 2786 .flags = 0, 2787 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2788 .data_flags = 0, 2789 .type = TI_CLK_TYPE_DIV, 2790 .data = &clk_data_postdiv4_16ff_main_0_hsdiv9.data_div.data, 2791 }, 2792 [CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT6_CLK] = { 2793 .parent = { 2794 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTPOSTDIV_CLK, 2795 1, 2796 }, 2797 .ref_count = 0, 2798 .flags = 0, 2799 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2800 .data_flags = 0, 2801 .type = TI_CLK_TYPE_DIV, 2802 .data = &clk_data_postdiv4_16ff_wkup_0_hsdiv6.data_div.data, 2803 }, 2804 [CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT7_CLK] = { 2805 .parent = { 2806 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTPOSTDIV_CLK, 2807 1, 2808 }, 2809 .ref_count = 0, 2810 .flags = 0, 2811 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2812 .data_flags = 0, 2813 .type = TI_CLK_TYPE_DIV, 2814 .data = &clk_data_postdiv4_16ff_wkup_0_hsdiv7.data_div.data, 2815 }, 2816 [CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT8_CLK] = { 2817 .parent = { 2818 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTPOSTDIV_CLK, 2819 1, 2820 }, 2821 .ref_count = 0, 2822 .flags = 0, 2823 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2824 .data_flags = 0, 2825 .type = TI_CLK_TYPE_DIV, 2826 .data = &clk_data_postdiv4_16ff_wkup_0_hsdiv8.data_div.data, 2827 }, 2828 [CLK_AM62LX_POSTDIV4_WKUP_0_HSDIVOUT9_CLK] = { 2829 .parent = { 2830 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTPOSTDIV_CLK, 2831 1, 2832 }, 2833 .ref_count = 0, 2834 .flags = 0, 2835 .drv = &ti_clk_drv_div_pll_16fft_postdiv_hsdiv.drv, 2836 .data_flags = 0, 2837 .type = TI_CLK_TYPE_DIV, 2838 .data = &clk_data_postdiv4_16ff_wkup_0_hsdiv9.data_div.data, 2839 }, 2840 [CLK_AM62LX_RTCSS_WKUP_0_OSC_32K_CLK] = { 2841 .ref_count = 0, 2842 .flags = 0, 2843 .drv = &ti_clk_drv_soc_lfosc0, 2844 .data_flags = 0, 2845 .data = &clk_data_lfosc0.data, 2846 }, 2847 [CLK_AM62LX_A53_DIVH_CLK4_OBSCLK_OUT_CLK] = { 2848 .ref_count = 0, 2849 .flags = 0, 2850 .drv = &ti_clk_drv_from_device, 2851 .data_flags = 0, 2852 .data = 2853 &clk_data_a53_divh_clk4_obsclk_out_clk.data, 2854 .freq_idx = 2855 AM62LX_FREQ_VALUE_A53_DIVH_CLK4_OBSCLK_OUT_CLK, 2856 }, 2857 [CLK_AM62LX_SAM62L_A53_256KB_WRAP_MAIN_0_CLKDIV_0_DIVH_CLK4_CLK_CLK] = { 2858 .ref_count = 0, 2859 .flags = 0, 2860 .drv = &ti_clk_drv_from_device, 2861 .data_flags = 0, 2862 .data = &clk_data_sam62l_a53_256kb_wrap_main_0_clkdiv_0_divh_clk4_clk_clk.data, 2863 .freq_idx = 2864 AM62LX_FREQ_VALUE_SAM62L_A53_256KB_WRAP_MAIN_0_CLKDIV_0_DIVH_CLK4_CLK_CLK, 2865 }, 2866 [CLK_AM62LX_SAM62L_A53_256KB_WRAP_MAIN_0_CLKDIV_0_DIVP_CLK1_CLK_CLK] = { 2867 .ref_count = 0, 2868 .flags = 0, 2869 .drv = &ti_clk_drv_from_device, 2870 .data_flags = 0, 2871 .data = &clk_data_sam62l_a53_256kb_wrap_main_0_clkdiv_0_divp_clk1_clk_clk.data, 2872 .freq_idx = 2873 AM62LX_FREQ_VALUE_SAM62L_A53_256KB_WRAP_MAIN_0_CLKDIV_0_DIVP_CLK1_CLK_CLK, 2874 }, 2875 [CLK_AM62LX_SPI_MAIN_0_IO_CLKSPIO_CLK] = { 2876 .ref_count = 0, 2877 .flags = 0, 2878 .drv = &ti_clk_drv_from_device, 2879 .data_flags = 0, 2880 .data = &clk_data_spi_main_0_io_clkspio_clk.data, 2881 .freq_idx = AM62LX_FREQ_VALUE_SPI_MAIN_0_IO_CLKSPIO_CLK, 2882 }, 2883 [CLK_AM62LX_SPI_MAIN_1_IO_CLKSPIO_CLK] = { 2884 .ref_count = 0, 2885 .flags = 0, 2886 .drv = &ti_clk_drv_from_device, 2887 .data_flags = 0, 2888 .data = &clk_data_spi_main_1_io_clkspio_clk.data, 2889 .freq_idx = AM62LX_FREQ_VALUE_SPI_MAIN_1_IO_CLKSPIO_CLK, 2890 }, 2891 [CLK_AM62LX_SPI_MAIN_2_IO_CLKSPIO_CLK] = { 2892 .ref_count = 0, 2893 .flags = 0, 2894 .drv = &ti_clk_drv_from_device, 2895 .data_flags = 0, 2896 .data = &clk_data_spi_main_2_io_clkspio_clk.data, 2897 .freq_idx = AM62LX_FREQ_VALUE_SPI_MAIN_2_IO_CLKSPIO_CLK, 2898 }, 2899 [CLK_AM62LX_SPI_MAIN_3_IO_CLKSPIO_CLK] = { 2900 .ref_count = 0, 2901 .flags = 0, 2902 .drv = &ti_clk_drv_from_device, 2903 .data_flags = 0, 2904 .data = &clk_data_spi_main_3_io_clkspio_clk.data, 2905 .freq_idx = AM62LX_FREQ_VALUE_SPI_MAIN_3_IO_CLKSPIO_CLK, 2906 }, 2907 [CLK_AM62LX_WIZ16B8M4CDT3_MAIN_0_IP1_PPI_M_RXCLKESC_CLK] = { 2908 .ref_count = 0, 2909 .flags = 0, 2910 .drv = &ti_clk_drv_from_device, 2911 .data_flags = 0, 2912 .data = &clk_data_wiz16b8m4cdt3_main_0_ip1_ppi_M_RxClkEsc_clk.data, 2913 .freq_idx = AM62LX_FREQ_VALUE_WIZ16B8M4CDT3_MAIN_0_IP1_PPI_M_RXCLKESC_CLK, 2914 }, 2915 [CLK_AM62LX_WIZ16B8M4CDT3_MAIN_0_IP1_PPI_TXBYTECLKHS_CL_CLK] = { 2916 .ref_count = 0, 2917 .flags = 0, 2918 .drv = &ti_clk_drv_from_device, 2919 .data_flags = 0, 2920 .data = &clk_data_wiz16b8m4cdt3_main_0_ip1_ppi_TxByteClkHS_cl_clk.data, 2921 .freq_idx = AM62LX_FREQ_VALUE_WIZ16B8M4CDT3_MAIN_0_IP1_PPI_TXBYTECLKHS_CL_CLK, 2922 }, 2923 [CLK_AM62LX_CLKOUT0_CTRL_OUT0] = { 2924 .ref_count = 0, 2925 .flags = 0, 2926 .drv = &ti_clk_drv_mux_reg.drv, 2927 .data_flags = 0, 2928 .data = &clk_data_CLKOUT0_CTRL_out0.data_mux.data, 2929 .type = TI_CLK_TYPE_MUX, 2930 }, 2931 [CLK_AM62LX_CLK_32K_RC_SEL_OUT0] = { 2932 .ref_count = 0, 2933 .flags = 0, 2934 .drv = &ti_clk_drv_mux_reg.drv, 2935 .data_flags = 0, 2936 .data = &clk_data_CLK_32K_RC_SEL_out0.data_mux.data, 2937 .type = TI_CLK_TYPE_MUX, 2938 }, 2939 [CLK_AM62LX_MAIN_DPHYTX_REFCLK_OUT0] = { 2940 .ref_count = 0, 2941 .flags = 0, 2942 .drv = &ti_clk_drv_mux_reg.drv, 2943 .data_flags = 0, 2944 .data = &clk_data_MAIN_DPHYTX_REFCLK_out0.data_mux.data, 2945 .type = TI_CLK_TYPE_MUX, 2946 }, 2947 [CLK_AM62LX_MAIN_EMMCSD0_IO_CLKLB_SEL_OUT0] = { 2948 .ref_count = 0, 2949 .flags = 0, 2950 .drv = &ti_clk_drv_mux_reg.drv, 2951 .data_flags = 0, 2952 .data = &clk_data_MAIN_EMMCSD0_IO_CLKLB_SEL_out0.data_mux.data, 2953 .type = TI_CLK_TYPE_MUX, 2954 }, 2955 [CLK_AM62LX_MAIN_EMMCSD0_REFCLK_SEL_OUT0] = { 2956 .ref_count = 0, 2957 .flags = 0, 2958 .drv = &ti_clk_drv_mux_reg.drv, 2959 .data_flags = 0, 2960 .data = &clk_data_MAIN_EMMCSD0_REFCLK_SEL_out0.data_mux.data, 2961 .type = TI_CLK_TYPE_MUX, 2962 }, 2963 [CLK_AM62LX_MAIN_EMMCSD1_IO_CLKLB_SEL_OUT0] = { 2964 .ref_count = 0, 2965 .flags = 0, 2966 .drv = &ti_clk_drv_mux_reg.drv, 2967 .data_flags = 0, 2968 .data = &clk_data_MAIN_EMMCSD1_IO_CLKLB_SEL_out0.data_mux.data, 2969 .type = TI_CLK_TYPE_MUX, 2970 }, 2971 [CLK_AM62LX_MAIN_EMMCSD1_REFCLK_SEL_OUT0] = { 2972 .ref_count = 0, 2973 .flags = 0, 2974 .drv = &ti_clk_drv_mux_reg.drv, 2975 .data_flags = 0, 2976 .data = &clk_data_MAIN_EMMCSD1_REFCLK_SEL_out0.data_mux.data, 2977 .type = TI_CLK_TYPE_MUX, 2978 }, 2979 [CLK_AM62LX_MAIN_EMMCSD2_IO_CLKLB_SEL_OUT0] = { 2980 .ref_count = 0, 2981 .flags = 0, 2982 .drv = &ti_clk_drv_mux_reg.drv, 2983 .data_flags = 0, 2984 .data = &clk_data_MAIN_EMMCSD2_IO_CLKLB_SEL_out0.data_mux.data, 2985 .type = TI_CLK_TYPE_MUX, 2986 }, 2987 [CLK_AM62LX_MAIN_EMMCSD2_REFCLK_SEL_OUT0] = { 2988 .ref_count = 0, 2989 .flags = 0, 2990 .drv = &ti_clk_drv_mux_reg.drv, 2991 .data_flags = 0, 2992 .data = &clk_data_MAIN_EMMCSD2_REFCLK_SEL_out0.data_mux.data, 2993 .type = TI_CLK_TYPE_MUX, 2994 }, 2995 [CLK_AM62LX_MAIN_OSPI_LOOPBACK_CLK_SEL_OUT0] = { 2996 .ref_count = 0, 2997 .flags = 0, 2998 .drv = &ti_clk_drv_mux_reg.drv, 2999 .data_flags = 0, 3000 .data = &clk_data_MAIN_OSPI_LOOPBACK_CLK_SEL_out0.data_mux.data, 3001 .type = TI_CLK_TYPE_MUX, 3002 }, 3003 [CLK_AM62LX_MAIN_USB0_REFCLK_SEL_OUT0] = { 3004 .ref_count = 0, 3005 .flags = 0, 3006 .drv = &ti_clk_drv_mux_reg.drv, 3007 .data_flags = 0, 3008 .data = &clk_data_MAIN_USB0_REFCLK_SEL_out0.data_mux.data, 3009 .type = TI_CLK_TYPE_MUX, 3010 }, 3011 [CLK_AM62LX_MAIN_USB1_REFCLK_SEL_OUT0] = { 3012 .ref_count = 0, 3013 .flags = 0, 3014 .drv = &ti_clk_drv_mux_reg.drv, 3015 .data_flags = 0, 3016 .data = &clk_data_MAIN_USB1_REFCLK_SEL_out0.data_mux.data, 3017 .type = TI_CLK_TYPE_MUX, 3018 }, 3019 [CLK_AM62LX_MAIN_WWDTCLKN_SEL_OUT0] = { 3020 .ref_count = 0, 3021 .flags = 0, 3022 .drv = &ti_clk_drv_mux_reg.drv, 3023 .data_flags = 0, 3024 .data = &clk_data_MAIN_WWDTCLKn_SEL_out0.data_mux.data, 3025 .type = TI_CLK_TYPE_MUX, 3026 }, 3027 [CLK_AM62LX_MAIN_WWDTCLKN_SEL_OUT1] = { 3028 .ref_count = 0, 3029 .flags = 0, 3030 .drv = &ti_clk_drv_mux_reg.drv, 3031 .data_flags = 0, 3032 .data = &clk_data_MAIN_WWDTCLKn_SEL_out1.data_mux.data, 3033 .type = TI_CLK_TYPE_MUX, 3034 }, 3035 [CLK_AM62LX_MCASPN_AHCLKSEL_AHCLKR_OUT0] = { 3036 .ref_count = 0, 3037 .flags = 0, 3038 .drv = &ti_clk_drv_mux_reg.drv, 3039 .data_flags = 0, 3040 .data = &clk_data_MCASPn_AHCLKSEL_AHCLKR_out0.data_mux.data, 3041 .type = TI_CLK_TYPE_MUX, 3042 }, 3043 [CLK_AM62LX_MCASPN_AHCLKSEL_AHCLKR_OUT1] = { 3044 .ref_count = 0, 3045 .flags = 0, 3046 .drv = &ti_clk_drv_mux_reg.drv, 3047 .data_flags = 0, 3048 .data = &clk_data_MCASPn_AHCLKSEL_AHCLKR_out1.data_mux.data, 3049 .type = TI_CLK_TYPE_MUX, 3050 }, 3051 [CLK_AM62LX_MCASPN_AHCLKSEL_AHCLKR_OUT2] = { 3052 .ref_count = 0, 3053 .flags = 0, 3054 .drv = &ti_clk_drv_mux_reg.drv, 3055 .data_flags = 0, 3056 .data = &clk_data_MCASPn_AHCLKSEL_AHCLKR_out2.data_mux.data, 3057 .type = TI_CLK_TYPE_MUX, 3058 }, 3059 [CLK_AM62LX_MCASPN_AHCLKSEL_AHCLKX_OUT0] = { 3060 .ref_count = 0, 3061 .flags = 0, 3062 .drv = &ti_clk_drv_mux_reg.drv, 3063 .data_flags = 0, 3064 .data = &clk_data_MCASPn_AHCLKSEL_AHCLKX_out0.data_mux.data, 3065 .type = TI_CLK_TYPE_MUX, 3066 }, 3067 [CLK_AM62LX_MCASPN_AHCLKSEL_AHCLKX_OUT1] = { 3068 .ref_count = 0, 3069 .flags = 0, 3070 .drv = &ti_clk_drv_mux_reg.drv, 3071 .data_flags = 0, 3072 .data = &clk_data_MCASPn_AHCLKSEL_AHCLKX_out1.data_mux.data, 3073 .type = TI_CLK_TYPE_MUX, 3074 }, 3075 [CLK_AM62LX_MCASPN_AHCLKSEL_AHCLKX_OUT2] = { 3076 .ref_count = 0, 3077 .flags = 0, 3078 .drv = &ti_clk_drv_mux_reg.drv, 3079 .data_flags = 0, 3080 .data = &clk_data_MCASPn_AHCLKSEL_AHCLKX_out2.data_mux.data, 3081 .type = TI_CLK_TYPE_MUX, 3082 }, 3083 [CLK_AM62LX_HSDIV0_16FFT_MAIN_17_HSDIVOUT0_CLK] = { 3084 .parent = { 3085 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_17_FOUTVCOP_CLK, 3086 1, 3087 }, 3088 .ref_count = 0, 3089 .flags = 0, 3090 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3091 .data_flags = TI_CLK_DATA_FLAG_MODIFY_PARENT_FREQ, 3092 .type = TI_CLK_TYPE_DIV, 3093 .data = &clk_data_hsdiv0_16fft_main_17_hsdiv0.data_div.data, 3094 }, 3095 [CLK_AM62LX_HSDIV0_16FFT_MAIN_8_HSDIVOUT0_CLK] = { 3096 .parent = { 3097 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_8_FOUTVCOP_CLK, 3098 1, 3099 }, 3100 .ref_count = 0, 3101 .flags = 0, 3102 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3103 .data_flags = TI_CLK_DATA_FLAG_MODIFY_PARENT_FREQ | TI_CLK_DATA_FLAG_NO_HW_REINIT, 3104 .type = TI_CLK_TYPE_DIV, 3105 .data = &clk_data_hsdiv0_16fft_main_8_hsdiv0.data_div.data, 3106 }, 3107 [CLK_AM62LX_HSDIV0_16FFT_WKUP_0_HSDIVOUT0_CLK] = { 3108 .parent = { 3109 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTPOSTDIV_CLK, 3110 1, 3111 }, 3112 .ref_count = 0, 3113 .flags = 0, 3114 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3115 .data_flags = 0, 3116 .type = TI_CLK_TYPE_DIV, 3117 .data = &clk_data_hsdiv0_16fft_wkup_0_hsdiv0.data_div.data, 3118 }, 3119 [CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT0_CLK] = { 3120 .parent = { 3121 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTVCOP_CLK, 3122 1, 3123 }, 3124 .ref_count = 0, 3125 .flags = 0, 3126 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3127 .data_flags = 0, 3128 .type = TI_CLK_TYPE_DIV, 3129 .data = &clk_data_hsdiv4_16fft_main_0_hsdiv0.data_div.data, 3130 }, 3131 [CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT2_CLK] = { 3132 .parent = { 3133 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTVCOP_CLK, 3134 1, 3135 }, 3136 .ref_count = 0, 3137 .flags = 0, 3138 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3139 .data_flags = TI_CLK_DATA_FLAG_NO_HW_REINIT, 3140 .type = TI_CLK_TYPE_DIV, 3141 .data = &clk_data_hsdiv4_16fft_main_0_hsdiv2.data_div.data, 3142 }, 3143 [CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT3_CLK] = { 3144 .parent = { 3145 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTVCOP_CLK, 3146 1, 3147 }, 3148 .ref_count = 0, 3149 .flags = 0, 3150 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3151 .data_flags = 0, 3152 .type = TI_CLK_TYPE_DIV, 3153 .data = &clk_data_hsdiv4_16fft_main_0_hsdiv3.data_div.data, 3154 }, 3155 [CLK_AM62LX_HSDIV4_16FFT_MAIN_0_HSDIVOUT4_CLK] = { 3156 .parent = { 3157 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_MAIN_0_FOUTVCOP_CLK, 3158 1, 3159 }, 3160 .ref_count = 0, 3161 .flags = 0, 3162 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3163 .data_flags = 0, 3164 .type = TI_CLK_TYPE_DIV, 3165 .data = &clk_data_hsdiv4_16fft_main_0_hsdiv4.data_div.data, 3166 }, 3167 [CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT0_CLK] = { 3168 .parent = { 3169 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK, 3170 1, 3171 }, 3172 .ref_count = 0, 3173 .flags = 0, 3174 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3175 .data_flags = 0, 3176 .type = TI_CLK_TYPE_DIV, 3177 .data = &clk_data_hsdiv4_16fft_wkup_0_hsdiv0.data_div.data, 3178 }, 3179 [CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT1_CLK] = { 3180 .parent = { 3181 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK, 3182 1, 3183 }, 3184 .ref_count = 0, 3185 .flags = 0, 3186 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3187 .data_flags = 0, 3188 .type = TI_CLK_TYPE_DIV, 3189 .data = &clk_data_hsdiv4_16fft_wkup_0_hsdiv1.data_div.data, 3190 }, 3191 [CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK] = { 3192 .parent = { 3193 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK, 3194 1, 3195 }, 3196 .ref_count = 0, 3197 .flags = 0, 3198 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3199 .data_flags = 0, 3200 .type = TI_CLK_TYPE_DIV, 3201 .data = &clk_data_hsdiv4_16fft_wkup_0_hsdiv2.data_div.data, 3202 }, 3203 [CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT3_CLK] = { 3204 .parent = { 3205 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK, 3206 1, 3207 }, 3208 .ref_count = 0, 3209 .flags = 0, 3210 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3211 .data_flags = 0, 3212 .type = TI_CLK_TYPE_DIV, 3213 .data = &clk_data_hsdiv4_16fft_wkup_0_hsdiv3.data_div.data, 3214 }, 3215 [CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT4_CLK] = { 3216 .parent = { 3217 CLK_AM62LX_PLLFRACF2_SSMOD_16FFT_WKUP_0_FOUTVCOP_CLK, 3218 1, 3219 }, 3220 .ref_count = 0, 3221 .flags = 0, 3222 .drv = &ti_clk_drv_div_pll_16fft_hsdiv.drv, 3223 .data_flags = 0, 3224 .type = TI_CLK_TYPE_DIV, 3225 .data = &clk_data_hsdiv4_16fft_wkup_0_hsdiv4.data_div.data, 3226 }, 3227 [CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_SYSCLKOUT_CLK] = { 3228 .ref_count = 0, 3229 .flags = 0, 3230 .drv = &ti_clk_drv_pllctrl_mux_reg_ro.drv, 3231 .data_flags = 0, 3232 .data = &clk_data_sam62_pll_ctrl_wrap_wkup_0_sysclkout_clk.data_mux.data, 3233 .type = TI_CLK_TYPE_MUX, 3234 }, 3235 [CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV1_CLK_CLK] = { 3236 .ref_count = 0, 3237 .flags = 0, 3238 .drv = &ti_clk_drv_div_reg.drv, 3239 .data_flags = 0, 3240 .data = &clk_data_sam62_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk.data_div.data, 3241 .parent = { 3242 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_SYSCLKOUT_CLK, 3243 1, 3244 }, 3245 }, 3246 [CLK_AM62LX_ADC0_CLKSEL_OUT0] = { 3247 .ref_count = 0, 3248 .flags = 0, 3249 .drv = &ti_clk_drv_mux_reg.drv, 3250 .data_flags = 0, 3251 .data = &clk_data_ADC0_CLKSEL_out0.data_mux.data, 3252 .type = TI_CLK_TYPE_MUX, 3253 }, 3254 [CLK_AM62LX_AUDIO_REFCLKN_OUT0] = { 3255 .ref_count = 0, 3256 .flags = 0, 3257 .drv = &ti_clk_drv_mux_reg.drv, 3258 .data_flags = 0, 3259 .data = &clk_data_AUDIO_REFCLKn_out0.data_mux.data, 3260 .type = TI_CLK_TYPE_MUX, 3261 }, 3262 [CLK_AM62LX_AUDIO_REFCLKN_OUT1] = { 3263 .ref_count = 0, 3264 .flags = 0, 3265 .drv = &ti_clk_drv_mux_reg.drv, 3266 .data_flags = 0, 3267 .data = &clk_data_AUDIO_REFCLKn_out1.data_mux.data, 3268 .type = TI_CLK_TYPE_MUX, 3269 }, 3270 [CLK_AM62LX_MAIN_CP_GEMAC_CPTS_CLK_SEL_OUT0] = { 3271 .ref_count = 0, 3272 .flags = 0, 3273 .drv = &ti_clk_drv_mux_reg.drv, 3274 .data_flags = 0, 3275 .data = &clk_data_MAIN_CP_GEMAC_CPTS_CLK_SEL_out0.data_mux.data, 3276 .type = TI_CLK_TYPE_MUX, 3277 }, 3278 [CLK_AM62LX_MAIN_DSS_DPI0_OUT0] = { 3279 .ref_count = 0, 3280 .flags = 0, 3281 .drv = &ti_clk_drv_mux_reg.drv, 3282 .data_flags = 0, 3283 .data = &clk_data_MAIN_DSS_DPI0_out0.data_mux.data, 3284 .type = TI_CLK_TYPE_MUX, 3285 }, 3286 [CLK_AM62LX_MAIN_GPMC_FCLK_SEL_OUT0] = { 3287 .ref_count = 0, 3288 .flags = 0, 3289 .drv = &ti_clk_drv_mux_reg.drv, 3290 .data_flags = 0, 3291 .data = &clk_data_MAIN_GPMC_FCLK_SEL_out0.data_mux.data, 3292 .type = TI_CLK_TYPE_MUX, 3293 }, 3294 [CLK_AM62LX_MAIN_MCANN_CLK_SEL_OUT0] = { 3295 .ref_count = 0, 3296 .flags = 0, 3297 .drv = &ti_clk_drv_mux_reg.drv, 3298 .data_flags = 0, 3299 .data = &clk_data_MAIN_MCANn_CLK_SEL_out0.data_mux.data, 3300 .type = TI_CLK_TYPE_MUX, 3301 }, 3302 [CLK_AM62LX_MAIN_MCANN_CLK_SEL_OUT1] = { 3303 .ref_count = 0, 3304 .flags = 0, 3305 .drv = &ti_clk_drv_mux_reg.drv, 3306 .data_flags = 0, 3307 .data = &clk_data_MAIN_MCANn_CLK_SEL_out1.data_mux.data, 3308 .type = TI_CLK_TYPE_MUX, 3309 }, 3310 [CLK_AM62LX_MAIN_MCANN_CLK_SEL_OUT2] = { 3311 .ref_count = 0, 3312 .flags = 0, 3313 .drv = &ti_clk_drv_mux_reg.drv, 3314 .data_flags = 0, 3315 .data = &clk_data_MAIN_MCANn_CLK_SEL_out2.data_mux.data, 3316 .type = TI_CLK_TYPE_MUX, 3317 }, 3318 [CLK_AM62LX_MAIN_OBSCLK0_MUX_SEL_OUT0] = { 3319 .ref_count = 0, 3320 .flags = 0, 3321 .drv = &ti_clk_drv_mux_reg.drv, 3322 .data_flags = 0, 3323 .data = &clk_data_MAIN_OBSCLK0_MUX_SEL_out0.data_mux.data, 3324 .type = TI_CLK_TYPE_MUX, 3325 }, 3326 [CLK_AM62LX_MAIN_OBSCLK_DIV_OUT0] = { 3327 .parent = { 3328 CLK_AM62LX_MAIN_OBSCLK0_MUX_SEL_OUT0, 3329 1, 3330 }, 3331 .ref_count = 0, 3332 .flags = 0, 3333 .drv = &ti_clk_drv_div_reg_go.drv, 3334 .data_flags = 0, 3335 .data = &clk_data_MAIN_OBSCLK_DIV_out0.data_div.data, 3336 .type = TI_CLK_TYPE_DIV, 3337 }, 3338 [CLK_AM62LX_MAIN_OBSCLK_OUTMUX_SEL_OUT0] = { 3339 .ref_count = 0, 3340 .flags = 0, 3341 .drv = &ti_clk_drv_mux_reg.drv, 3342 .data_flags = 0, 3343 .data = &clk_data_MAIN_OBSCLK_OUTMUX_SEL_out0.data_mux.data, 3344 .type = TI_CLK_TYPE_MUX, 3345 }, 3346 [CLK_AM62LX_MAIN_OSPI_REF_CLK_SEL_OUT0] = { 3347 .ref_count = 0, 3348 .flags = 0, 3349 .drv = &ti_clk_drv_mux_reg.drv, 3350 .data_flags = 0, 3351 .data = &clk_data_MAIN_OSPI_REF_CLK_SEL_out0.data_mux.data, 3352 .type = TI_CLK_TYPE_MUX, 3353 }, 3354 [CLK_AM62LX_MAIN_TIMERCLKN_SEL_OUT0] = { 3355 .ref_count = 0, 3356 .flags = 0, 3357 .drv = &ti_clk_drv_mux_reg.drv, 3358 .data_flags = 0, 3359 .data = &clk_data_MAIN_TIMERCLKn_SEL_out0.data_mux.data, 3360 .type = TI_CLK_TYPE_MUX, 3361 }, 3362 [CLK_AM62LX_MAIN_TIMERCLKN_SEL_OUT1] = { 3363 .ref_count = 0, 3364 .flags = 0, 3365 .drv = &ti_clk_drv_mux_reg.drv, 3366 .data_flags = 0, 3367 .data = &clk_data_MAIN_TIMERCLKn_SEL_out1.data_mux.data, 3368 .type = TI_CLK_TYPE_MUX, 3369 }, 3370 [CLK_AM62LX_MAIN_TIMERCLKN_SEL_OUT2] = { 3371 .ref_count = 0, 3372 .flags = 0, 3373 .drv = &ti_clk_drv_mux_reg.drv, 3374 .data_flags = 0, 3375 .data = &clk_data_MAIN_TIMERCLKn_SEL_out2.data_mux.data, 3376 .type = TI_CLK_TYPE_MUX, 3377 }, 3378 [CLK_AM62LX_MAIN_TIMERCLKN_SEL_OUT3] = { 3379 .ref_count = 0, 3380 .flags = 0, 3381 .drv = &ti_clk_drv_mux_reg.drv, 3382 .data_flags = 0, 3383 .data = &clk_data_MAIN_TIMERCLKn_SEL_out3.data_mux.data, 3384 .type = TI_CLK_TYPE_MUX, 3385 }, 3386 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT0] = { 3387 .parent = { 3388 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3389 1, 3390 }, 3391 .ref_count = 0, 3392 .flags = 0, 3393 .drv = &ti_clk_drv_div_reg_go.drv, 3394 .data_flags = 0, 3395 .data = &clk_data_MAIN_USART_CLKDIV_out0.data_div.data, 3396 .type = TI_CLK_TYPE_DIV, 3397 }, 3398 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT1] = { 3399 .parent = { 3400 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3401 1, 3402 }, 3403 .ref_count = 0, 3404 .flags = 0, 3405 .drv = &ti_clk_drv_div_reg_go.drv, 3406 .data_flags = 0, 3407 .data = &clk_data_MAIN_USART_CLKDIV_out1.data_div.data, 3408 .type = TI_CLK_TYPE_DIV, 3409 }, 3410 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT2] = { 3411 .parent = { 3412 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3413 1, 3414 }, 3415 .ref_count = 0, 3416 .flags = 0, 3417 .drv = &ti_clk_drv_div_reg_go.drv, 3418 .data_flags = 0, 3419 .data = &clk_data_MAIN_USART_CLKDIV_out2.data_div.data, 3420 .type = TI_CLK_TYPE_DIV, 3421 }, 3422 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT3] = { 3423 .parent = { 3424 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3425 1, 3426 }, 3427 .ref_count = 0, 3428 .flags = 0, 3429 .drv = &ti_clk_drv_div_reg_go.drv, 3430 .data_flags = 0, 3431 .data = &clk_data_MAIN_USART_CLKDIV_out3.data_div.data, 3432 .type = TI_CLK_TYPE_DIV, 3433 }, 3434 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT4] = { 3435 .parent = { 3436 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3437 1, 3438 }, 3439 .ref_count = 0, 3440 .flags = 0, 3441 .drv = &ti_clk_drv_div_reg_go.drv, 3442 .data_flags = 0, 3443 .data = &clk_data_MAIN_USART_CLKDIV_out4.data_div.data, 3444 .type = TI_CLK_TYPE_DIV, 3445 }, 3446 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT5] = { 3447 .parent = { 3448 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3449 1, 3450 }, 3451 .ref_count = 0, 3452 .flags = 0, 3453 .drv = &ti_clk_drv_div_reg_go.drv, 3454 .data_flags = 0, 3455 .data = &clk_data_MAIN_USART_CLKDIV_out5.data_div.data, 3456 .type = TI_CLK_TYPE_DIV, 3457 }, 3458 [CLK_AM62LX_MAIN_USART_CLKDIV_OUT6] = { 3459 .parent = { 3460 CLK_AM62LX_HSDIV4_16FFT_WKUP_0_HSDIVOUT2_CLK, 3461 1, 3462 }, 3463 .ref_count = 0, 3464 .flags = 0, 3465 .drv = &ti_clk_drv_div_reg_go.drv, 3466 .data_flags = 0, 3467 .data = &clk_data_MAIN_USART_CLKDIV_out6.data_div.data, 3468 .type = TI_CLK_TYPE_DIV, 3469 }, 3470 [CLK_AM62LX_MCASPN_CLKSEL_AUXCLK_OUT0] = { 3471 .ref_count = 0, 3472 .flags = 0, 3473 .drv = &ti_clk_drv_mux_reg.drv, 3474 .data_flags = 0, 3475 .data = &clk_data_MCASPn_CLKSEL_AUXCLK_out0.data_mux.data, 3476 .type = TI_CLK_TYPE_MUX, 3477 }, 3478 [CLK_AM62LX_MCASPN_CLKSEL_AUXCLK_OUT1] = { 3479 .ref_count = 0, 3480 .flags = 0, 3481 .drv = &ti_clk_drv_mux_reg.drv, 3482 .data_flags = 0, 3483 .data = &clk_data_MCASPn_CLKSEL_AUXCLK_out1.data_mux.data, 3484 .type = TI_CLK_TYPE_MUX, 3485 }, 3486 [CLK_AM62LX_MCASPN_CLKSEL_AUXCLK_OUT2] = { 3487 .ref_count = 0, 3488 .flags = 0, 3489 .drv = &ti_clk_drv_mux_reg.drv, 3490 .data_flags = 0, 3491 .data = &clk_data_MCASPn_CLKSEL_AUXCLK_out2.data_mux.data, 3492 .type = TI_CLK_TYPE_MUX, 3493 }, 3494 [CLK_AM62LX_WKUP_CLKOUT_SEL_OUT0] = { 3495 .ref_count = 0, 3496 .flags = 0, 3497 .drv = &ti_clk_drv_mux_reg.drv, 3498 .data_flags = 0, 3499 .data = &clk_data_WKUP_CLKOUT_SEL_out0.data_mux.data, 3500 .type = TI_CLK_TYPE_MUX, 3501 }, 3502 [CLK_AM62LX_WKUP_CLKOUT_SEL_IO_OUT0] = { 3503 .ref_count = 0, 3504 .flags = 0, 3505 .drv = &ti_clk_drv_mux_reg.drv, 3506 .data_flags = 0, 3507 .data = &clk_data_WKUP_CLKOUT_SEL_IO_out0.data_mux.data, 3508 .type = TI_CLK_TYPE_MUX, 3509 }, 3510 [CLK_AM62LX_WKUP_GPIO0_CLKSEL_OUT0] = { 3511 .ref_count = 0, 3512 .flags = 0, 3513 .drv = &ti_clk_drv_mux_reg.drv, 3514 .data_flags = 0, 3515 .data = &clk_data_WKUP_GPIO0_CLKSEL_out0.data_mux.data, 3516 .type = TI_CLK_TYPE_MUX, 3517 }, 3518 [CLK_AM62LX_WKUP_GTCCLK_SEL_OUT0] = { 3519 .ref_count = 0, 3520 .flags = 0, 3521 .drv = &ti_clk_drv_mux_reg.drv, 3522 .data_flags = 0, 3523 .data = &clk_data_WKUP_GTCCLK_SEL_out0.data_mux.data, 3524 .type = TI_CLK_TYPE_MUX, 3525 }, 3526 [CLK_AM62LX_WKUP_GTC_OUTMUX_SEL_OUT0] = { 3527 .ref_count = 0, 3528 .flags = 0, 3529 .drv = &ti_clk_drv_mux_reg.drv, 3530 .data_flags = 0, 3531 .data = &clk_data_WKUP_GTC_OUTMUX_SEL_out0.data_mux.data, 3532 .type = TI_CLK_TYPE_MUX, 3533 }, 3534 [CLK_AM62LX_WKUP_OBSCLK_MUX_SEL_OUT0] = { 3535 .ref_count = 0, 3536 .flags = 0, 3537 .drv = &ti_clk_drv_mux_reg.drv, 3538 .data_flags = 0, 3539 .data = &clk_data_WKUP_OBSCLK_MUX_SEL_out0.data_mux.data, 3540 .type = TI_CLK_TYPE_MUX, 3541 }, 3542 [CLK_AM62LX_WKUP_OBSCLK_OUTMUX_SEL_OUT0] = { 3543 .ref_count = 0, 3544 .flags = 0, 3545 .drv = &ti_clk_drv_mux_reg.drv, 3546 .data_flags = 0, 3547 .data = &clk_data_WKUP_OBSCLK_OUTMUX_SEL_out0.data_mux.data, 3548 .type = TI_CLK_TYPE_MUX, 3549 }, 3550 [CLK_AM62LX_WKUP_TIMERCLKN_SEL_OUT0] = { 3551 .ref_count = 0, 3552 .flags = 0, 3553 .drv = &ti_clk_drv_mux_reg.drv, 3554 .data_flags = 0, 3555 .data = &clk_data_WKUP_TIMERCLKn_SEL_out0.data_mux.data, 3556 .type = TI_CLK_TYPE_MUX, 3557 }, 3558 [CLK_AM62LX_WKUP_TIMERCLKN_SEL_OUT1] = { 3559 .ref_count = 0, 3560 .flags = 0, 3561 .drv = &ti_clk_drv_mux_reg.drv, 3562 .data_flags = 0, 3563 .data = &clk_data_WKUP_TIMERCLKn_SEL_out1.data_mux.data, 3564 .type = TI_CLK_TYPE_MUX, 3565 }, 3566 [CLK_AM62LX_MAIN_TIMER1_CASCADE_OUT0] = { 3567 .ref_count = 0, 3568 .flags = 0, 3569 .drv = &ti_clk_drv_mux_reg.drv, 3570 .data_flags = 0, 3571 .data = &clk_data_MAIN_TIMER1_CASCADE_out0.data_mux.data, 3572 .type = TI_CLK_TYPE_MUX, 3573 }, 3574 [CLK_AM62LX_MAIN_TIMER3_CASCADE_OUT0] = { 3575 .ref_count = 0, 3576 .flags = 0, 3577 .drv = &ti_clk_drv_mux_reg.drv, 3578 .data_flags = 0, 3579 .data = &clk_data_MAIN_TIMER3_CASCADE_out0.data_mux.data, 3580 .type = TI_CLK_TYPE_MUX, 3581 }, 3582 [CLK_AM62LX_WKUP_TIMER1_CASCADE_OUT0] = { 3583 .ref_count = 0, 3584 .flags = 0, 3585 .drv = &ti_clk_drv_mux_reg.drv, 3586 .data_flags = 0, 3587 .data = &clk_data_WKUP_TIMER1_CASCADE_out0.data_mux.data, 3588 .type = TI_CLK_TYPE_MUX, 3589 }, 3590 [CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_CHIP_DIV24_CLK_CLK] = { 3591 .ref_count = 0, 3592 .flags = 0, 3593 .drv = &ti_clk_drv_div_reg.drv, 3594 .data_flags = 0, 3595 .data = &clk_data_sam62_pll_ctrl_wrap_wkup_0_chip_div24_clk_clk.data_div.data, 3596 .parent = { 3597 CLK_AM62LX_SAM62_PLL_CTRL_WRAP_WKUP_0_SYSCLKOUT_CLK, 3598 1, 3599 }, 3600 }, 3601 [CLK_AM62LX_RESERVED] = { 3602 .flags = 0, 3603 .drv = &ti_clk_drv_fixed, 3604 .range_idx = AM62LX_FREQ_RANGE_ANY, 3605 }, 3606 }; 3607 3608 const size_t soc_clock_count = ARRAY_SIZE(soc_clocks); 3609 const size_t soc_clock_range_count = AM62LX_FREQ_RANGE_ID_MAX; 3610 const size_t soc_clock_value_count = AM62LX_FREQ_VALUE_COUNT; 3611 const size_t soc_clock_freq_defaults_count = ARRAY_SIZE(soc_clock_freq_defaults); 3612