Lines Matching +full:clkr +full:- +full:- +full:-
1 // SPDX-License-Identifier: GPL-2.0-only
12 #include <linux/clk-provider.h>
14 #include <linux/reset-controller.h>
16 #include <dt-bindings/clock/qcom,gcc-mdm9607.h>
19 #include "clk-regmap.h"
20 #include "clk-alpha-pll.h"
21 #include "clk-pll.h"
22 #include "clk-rcg.h"
23 #include "clk-branch.h"
39 .clkr = {
57 .clkr.hw.init = &(struct clk_init_data)
60 .parent_hws = (const struct clk_hw *[]){ &gpll0_early.clkr.hw },
73 { .hw = &gpll0.clkr.hw },
84 .clkr.hw.init = &(struct clk_init_data){
99 .parent_hws = (const struct clk_hw *[]){ &gpll1.clkr.hw },
114 { .hw = &gpll0.clkr.hw },
122 .clkr = {
140 .clkr.hw.init = &(struct clk_init_data)
143 .parent_hws = (const struct clk_hw *[]){ &gpll2_early.clkr.hw },
157 { .hw = &gpll0.clkr.hw },
158 { .hw = &gpll2.clkr.hw },
170 { .hw = &gpll0.clkr.hw },
172 { .hw = &gpll2.clkr.hw },
187 .clkr.hw.init = &(struct clk_init_data){
203 .clkr.hw.init = &(struct clk_init_data){
218 .parent_hws = (const struct clk_hw *[]){ &bimc_pll.clkr.hw },
232 { .hw = &gpll0.clkr.hw },
248 .clkr.hw.init = &(struct clk_init_data){
261 .clkr.hw.init = &(struct clk_init_data){
280 .clkr.hw.init = &(struct clk_init_data){
305 .clkr.hw.init = &(struct clk_init_data){
318 .clkr.hw.init = &(struct clk_init_data){
332 .clkr.hw.init = &(struct clk_init_data){
345 .clkr.hw.init = &(struct clk_init_data){
359 .clkr.hw.init = &(struct clk_init_data){
372 .clkr.hw.init = &(struct clk_init_data){
386 .clkr.hw.init = &(struct clk_init_data){
399 .clkr.hw.init = &(struct clk_init_data){
413 .clkr.hw.init = &(struct clk_init_data){
426 .clkr.hw.init = &(struct clk_init_data){
440 .clkr.hw.init = &(struct clk_init_data){
473 .clkr.hw.init = &(struct clk_init_data){
487 .clkr.hw.init = &(struct clk_init_data){
501 .clkr.hw.init = &(struct clk_init_data){
515 .clkr.hw.init = &(struct clk_init_data){
529 .clkr.hw.init = &(struct clk_init_data){
543 .clkr.hw.init = &(struct clk_init_data){
564 .clkr.hw.init = &(struct clk_init_data){
583 .clkr.hw.init = &(struct clk_init_data){
597 .clkr.hw.init = &(struct clk_init_data){
611 .clkr.hw.init = &(struct clk_init_data){
629 .clkr.hw.init = &(struct clk_init_data){
655 .clkr.hw.init = &(struct clk_init_data){
669 .clkr.hw.init = &(struct clk_init_data){
689 .clkr.hw.init = &(struct clk_init_data){
711 .clkr.hw.init = &(struct clk_init_data){
729 .clkr.hw.init = &(struct clk_init_data){
747 .clkr.hw.init = &(struct clk_init_data){
768 .clkr.hw.init = &(struct clk_init_data){
779 .clkr = {
784 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
793 .clkr = {
810 .clkr = {
815 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup1_i2c_apps_clk_src.clkr.hw },
825 .clkr = {
830 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup1_spi_apps_clk_src.clkr.hw },
840 .clkr = {
845 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup2_i2c_apps_clk_src.clkr.hw },
855 .clkr = {
860 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup2_spi_apps_clk_src.clkr.hw },
870 .clkr = {
875 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup3_i2c_apps_clk_src.clkr.hw },
885 .clkr = {
890 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup3_spi_apps_clk_src.clkr.hw },
900 .clkr = {
905 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup4_i2c_apps_clk_src.clkr.hw },
915 .clkr = {
920 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup4_spi_apps_clk_src.clkr.hw },
930 .clkr = {
935 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup5_i2c_apps_clk_src.clkr.hw },
945 .clkr = {
950 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup5_spi_apps_clk_src.clkr.hw },
960 .clkr = {
965 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup6_i2c_apps_clk_src.clkr.hw },
975 .clkr = {
980 .parent_hws = (const struct clk_hw *[]){ &blsp1_qup6_spi_apps_clk_src.clkr.hw },
990 .clkr = {
995 .parent_hws = (const struct clk_hw *[]){ &blsp1_uart1_apps_clk_src.clkr.hw },
1005 .clkr = {
1010 .parent_hws = (const struct clk_hw *[]){ &blsp1_uart2_apps_clk_src.clkr.hw },
1020 .clkr = {
1025 .parent_hws = (const struct clk_hw *[]){ &blsp1_uart3_apps_clk_src.clkr.hw },
1035 .clkr = {
1040 .parent_hws = (const struct clk_hw *[]){ &blsp1_uart4_apps_clk_src.clkr.hw },
1050 .clkr = {
1055 .parent_hws = (const struct clk_hw *[]){ &blsp1_uart5_apps_clk_src.clkr.hw },
1065 .clkr = {
1070 .parent_hws = (const struct clk_hw *[]){ &blsp1_uart6_apps_clk_src.clkr.hw },
1081 .clkr = {
1086 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1096 .clkr = {
1101 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1112 .clkr = {
1117 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1128 .clkr = {
1133 .parent_hws = (const struct clk_hw *[]){ &crypto_clk_src.clkr.hw },
1143 .clkr = {
1148 .parent_hws = (const struct clk_hw *[]){ &gp1_clk_src.clkr.hw },
1158 .clkr = {
1163 .parent_hws = (const struct clk_hw *[]){ &gp2_clk_src.clkr.hw },
1173 .clkr = {
1178 .parent_hws = (const struct clk_hw *[]){ &gp3_clk_src.clkr.hw },
1188 .clkr = {
1193 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1203 .clkr = {
1208 .parent_hws = (const struct clk_hw *[]){ &pdm2_clk_src.clkr.hw },
1218 .clkr = {
1223 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1234 .clkr = {
1239 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1249 .clkr = {
1254 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1264 .clkr = {
1269 .parent_hws = (const struct clk_hw *[]){ &sdcc1_apps_clk_src.clkr.hw },
1279 .clkr = {
1284 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1294 .clkr = {
1299 .parent_hws = (const struct clk_hw *[]){ &sdcc2_apps_clk_src.clkr.hw },
1311 .clkr.hw.init = &(struct clk_init_data){
1322 .clkr = {
1327 .parent_hws = (const struct clk_hw *[]){ &bimc_ddr_clk_src.clkr.hw },
1338 .clkr = {
1343 .parent_hws = (const struct clk_hw *[]){ &bimc_ddr_clk_src.clkr.hw },
1353 .clkr = {
1358 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1369 .clkr = {
1385 .clkr = {
1403 .clkr = {
1408 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1418 .clkr = {
1423 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1433 .clkr = {
1438 .parent_hws = (const struct clk_hw *[]){ &usb_hs_system_clk_src.clkr.hw },
1449 .clkr = {
1454 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1464 .clkr = {
1469 .parent_hws = (const struct clk_hw *[]){ &pcnoc_bfdcd_clk_src.clkr.hw },
1477 [GPLL0] = &gpll0.clkr,
1478 [GPLL0_EARLY] = &gpll0_early.clkr,
1479 [GPLL1] = &gpll1.clkr,
1481 [GPLL2] = &gpll2.clkr,
1482 [GPLL2_EARLY] = &gpll2_early.clkr,
1483 [BIMC_PLL] = &bimc_pll.clkr,
1485 [BIMC_DDR_CLK_SRC] = &bimc_ddr_clk_src.clkr,
1486 [PCNOC_BFDCD_CLK_SRC] = &pcnoc_bfdcd_clk_src.clkr,
1487 [SYSTEM_NOC_BFDCD_CLK_SRC] = &system_noc_bfdcd_clk_src.clkr,
1488 [APSS_AHB_CLK_SRC] = &apss_ahb_clk_src.clkr,
1489 [BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr,
1490 [BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr,
1491 [BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr,
1492 [BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr,
1493 [BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr,
1494 [BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr,
1495 [BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr,
1496 [BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr,
1497 [BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr,
1498 [BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr,
1499 [BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr,
1500 [BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr,
1501 [BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr,
1502 [BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr,
1503 [BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr,
1504 [BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr,
1505 [BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr,
1506 [BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr,
1507 [CRYPTO_CLK_SRC] = &crypto_clk_src.clkr,
1508 [GP1_CLK_SRC] = &gp1_clk_src.clkr,
1509 [GP2_CLK_SRC] = &gp2_clk_src.clkr,
1510 [GP3_CLK_SRC] = &gp3_clk_src.clkr,
1511 [PDM2_CLK_SRC] = &pdm2_clk_src.clkr,
1512 [SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr,
1513 [SDCC2_APPS_CLK_SRC] = &sdcc2_apps_clk_src.clkr,
1514 [APSS_TCU_CLK_SRC] = &apss_tcu_clk_src.clkr,
1515 [USB_HS_SYSTEM_CLK_SRC] = &usb_hs_system_clk_src.clkr,
1516 [GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr,
1517 [GCC_BLSP1_SLEEP_CLK] = &gcc_blsp1_sleep_clk.clkr,
1518 [GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr,
1519 [GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr,
1520 [GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr,
1521 [GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr,
1522 [GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr,
1523 [GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr,
1524 [GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr,
1525 [GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr,
1526 [GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr,
1527 [GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr,
1528 [GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr,
1529 [GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr,
1530 [GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr,
1531 [GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr,
1532 [GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr,
1533 [GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr,
1534 [GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr,
1535 [GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr,
1536 [GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr,
1537 [GCC_CRYPTO_AHB_CLK] = &gcc_crypto_ahb_clk.clkr,
1538 [GCC_CRYPTO_AXI_CLK] = &gcc_crypto_axi_clk.clkr,
1539 [GCC_CRYPTO_CLK] = &gcc_crypto_clk.clkr,
1540 [GCC_GP1_CLK] = &gcc_gp1_clk.clkr,
1541 [GCC_GP2_CLK] = &gcc_gp2_clk.clkr,
1542 [GCC_GP3_CLK] = &gcc_gp3_clk.clkr,
1543 [GCC_MSS_CFG_AHB_CLK] = &gcc_mss_cfg_ahb_clk.clkr,
1544 [GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr,
1545 [GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr,
1546 [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr,
1547 [GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr,
1548 [GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr,
1549 [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr,
1550 [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr,
1551 [GCC_SMMU_CFG_CLK] = &gcc_smmu_cfg_clk.clkr,
1552 [GCC_USB2A_PHY_SLEEP_CLK] = &gcc_usb2a_phy_sleep_clk.clkr,
1553 [GCC_USB_HS_PHY_CFG_AHB_CLK] = &gcc_usb_hs_phy_cfg_ahb_clk.clkr,
1554 [GCC_USB_HS_AHB_CLK] = &gcc_usb_hs_ahb_clk.clkr,
1555 [GCC_USB_HS_SYSTEM_CLK] = &gcc_usb_hs_system_clk.clkr,
1556 [GCC_APSS_TCU_CLK] = &gcc_apss_tcu_clk.clkr,
1557 [GCC_MSS_Q6_BIMC_AXI_CLK] = &gcc_mss_q6_bimc_axi_clk.clkr,
1558 [GCC_QDSS_DAP_CLK] = &gcc_qdss_dap_clk.clkr,
1559 [GCC_APSS_AHB_CLK] = &gcc_apss_ahb_clk.clkr,
1560 [GCC_APSS_AXI_CLK] = &gcc_apss_axi_clk.clkr,
1561 [GCC_USB_HSIC_CLK_SRC] = &usb_hsic_clk_src.clkr,
1562 [GCC_USB_HSIC_IO_CAL_CLK_SRC] = &usb_hsic_io_cal_clk_src.clkr,
1563 [GCC_USB_HSIC_SYSTEM_CLK_SRC] = &usb_hsic_system_clk_src.clkr,
1591 { .compatible = "qcom,gcc-mdm9607" },
1607 return qcom_cc_really_probe(&pdev->dev, &gcc_mdm9607_desc, regmap); in gcc_mdm9607_probe()
1613 .name = "gcc-mdm9607",