Lines Matching +full:clkr +full:- +full:- +full:-
1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/clk-provider.h>
17 #include <dt-bindings/clock/qcom,sm8550-dispcc.h>
20 #include "clk-alpha-pll.h"
21 #include "clk-branch.h"
22 #include "clk-pll.h"
23 #include "clk-rcg.h"
24 #include "clk-regmap.h"
25 #include "clk-regmap-divider.h"
26 #include "clk-regmap-mux.h"
97 .clkr = {
128 .clkr = {
234 { .hw = &disp_cc_pll1.clkr.hw },
235 { .hw = &disp_cc_pll1.clkr.hw },
263 { .hw = &disp_cc_pll0.clkr.hw },
264 { .hw = &disp_cc_pll1.clkr.hw },
265 { .hw = &disp_cc_pll1.clkr.hw },
289 .clkr.hw.init = &(struct clk_init_data) {
309 .clkr.hw.init = &(struct clk_init_data) {
324 .clkr.hw.init = &(struct clk_init_data) {
339 .clkr.hw.init = &(struct clk_init_data) {
353 .clkr.hw.init = &(struct clk_init_data) {
368 .clkr.hw.init = &(struct clk_init_data) {
383 .clkr.hw.init = &(struct clk_init_data) {
398 .clkr.hw.init = &(struct clk_init_data) {
412 .clkr.hw.init = &(struct clk_init_data) {
427 .clkr.hw.init = &(struct clk_init_data) {
442 .clkr.hw.init = &(struct clk_init_data) {
457 .clkr.hw.init = &(struct clk_init_data) {
471 .clkr.hw.init = &(struct clk_init_data) {
486 .clkr.hw.init = &(struct clk_init_data) {
501 .clkr.hw.init = &(struct clk_init_data) {
516 .clkr.hw.init = &(struct clk_init_data) {
530 .clkr.hw.init = &(struct clk_init_data) {
545 .clkr.hw.init = &(struct clk_init_data) {
560 .clkr.hw.init = &(struct clk_init_data) {
575 .clkr.hw.init = &(struct clk_init_data) {
603 .clkr.hw.init = &(struct clk_init_data) {
618 .clkr.hw.init = &(struct clk_init_data) {
633 .clkr.hw.init = &(struct clk_init_data) {
648 .clkr.hw.init = &(struct clk_init_data) {
668 .clkr.hw.init = &(struct clk_init_data) {
683 .clkr.hw.init = &(struct clk_init_data) {
696 .clkr.hw.init = &(struct clk_init_data) {
699 &disp_cc_mdss_byte0_clk_src.clkr.hw,
710 .clkr.hw.init = &(struct clk_init_data) {
713 &disp_cc_mdss_byte1_clk_src.clkr.hw,
724 .clkr.hw.init = &(struct clk_init_data) {
727 &disp_cc_mdss_dptx0_link_clk_src.clkr.hw,
739 .clkr.hw.init = &(struct clk_init_data) {
742 &disp_cc_mdss_dptx1_link_clk_src.clkr.hw,
754 .clkr.hw.init = &(struct clk_init_data) {
757 &disp_cc_mdss_dptx2_link_clk_src.clkr.hw,
769 .clkr.hw.init = &(struct clk_init_data) {
772 &disp_cc_mdss_dptx3_link_clk_src.clkr.hw,
783 .clkr = {
789 &disp_cc_xo_clk_src.clkr.hw,
801 .clkr = {
807 &disp_cc_mdss_ahb_clk_src.clkr.hw,
819 .clkr = {
825 &disp_cc_mdss_ahb_clk_src.clkr.hw,
837 .clkr = {
843 &disp_cc_mdss_byte0_clk_src.clkr.hw,
855 .clkr = {
861 &disp_cc_mdss_byte0_div_clk_src.clkr.hw,
873 .clkr = {
879 &disp_cc_mdss_byte1_clk_src.clkr.hw,
891 .clkr = {
897 &disp_cc_mdss_byte1_div_clk_src.clkr.hw,
909 .clkr = {
915 &disp_cc_mdss_dptx0_aux_clk_src.clkr.hw,
927 .clkr = {
933 &disp_cc_mdss_dptx0_link_clk_src.clkr.hw,
945 .clkr = {
951 &disp_cc_mdss_dptx0_link_clk_src.clkr.hw,
963 .clkr = {
969 &disp_cc_mdss_dptx0_link_div_clk_src.clkr.hw,
981 .clkr = {
987 &disp_cc_mdss_dptx0_pixel0_clk_src.clkr.hw,
999 .clkr = {
1005 &disp_cc_mdss_dptx0_pixel1_clk_src.clkr.hw,
1017 .clkr = {
1023 &disp_cc_mdss_dptx0_link_div_clk_src.clkr.hw,
1035 .clkr = {
1041 &disp_cc_mdss_dptx1_aux_clk_src.clkr.hw,
1053 .clkr = {
1059 &disp_cc_mdss_dptx1_link_clk_src.clkr.hw,
1071 .clkr = {
1077 &disp_cc_mdss_dptx1_link_clk_src.clkr.hw,
1089 .clkr = {
1095 &disp_cc_mdss_dptx1_link_div_clk_src.clkr.hw,
1107 .clkr = {
1113 &disp_cc_mdss_dptx1_pixel0_clk_src.clkr.hw,
1125 .clkr = {
1131 &disp_cc_mdss_dptx1_pixel1_clk_src.clkr.hw,
1143 .clkr = {
1149 &disp_cc_mdss_dptx0_link_div_clk_src.clkr.hw,
1161 .clkr = {
1167 &disp_cc_mdss_dptx2_aux_clk_src.clkr.hw,
1179 .clkr = {
1185 &disp_cc_mdss_dptx2_link_clk_src.clkr.hw,
1197 .clkr = {
1203 &disp_cc_mdss_dptx2_link_clk_src.clkr.hw,
1215 .clkr = {
1221 &disp_cc_mdss_dptx2_link_div_clk_src.clkr.hw,
1233 .clkr = {
1239 &disp_cc_mdss_dptx2_pixel0_clk_src.clkr.hw,
1251 .clkr = {
1257 &disp_cc_mdss_dptx2_pixel1_clk_src.clkr.hw,
1269 .clkr = {
1275 &disp_cc_mdss_dptx3_aux_clk_src.clkr.hw,
1287 .clkr = {
1293 &disp_cc_mdss_dptx3_link_clk_src.clkr.hw,
1305 .clkr = {
1311 &disp_cc_mdss_dptx3_link_clk_src.clkr.hw,
1323 .clkr = {
1329 &disp_cc_mdss_dptx3_link_div_clk_src.clkr.hw,
1341 .clkr = {
1347 &disp_cc_mdss_dptx3_pixel0_clk_src.clkr.hw,
1359 .clkr = {
1365 &disp_cc_mdss_esc0_clk_src.clkr.hw,
1377 .clkr = {
1383 &disp_cc_mdss_esc1_clk_src.clkr.hw,
1395 .clkr = {
1401 &disp_cc_mdss_mdp_clk_src.clkr.hw,
1413 .clkr = {
1419 &disp_cc_mdss_mdp_clk_src.clkr.hw,
1431 .clkr = {
1437 &disp_cc_mdss_mdp_clk_src.clkr.hw,
1449 .clkr = {
1455 &disp_cc_mdss_mdp_clk_src.clkr.hw,
1467 .clkr = {
1473 &disp_cc_mdss_ahb_clk_src.clkr.hw,
1485 .clkr = {
1491 &disp_cc_mdss_pclk0_clk_src.clkr.hw,
1503 .clkr = {
1509 &disp_cc_mdss_pclk1_clk_src.clkr.hw,
1521 .clkr = {
1527 &disp_cc_mdss_ahb_clk_src.clkr.hw,
1539 .clkr = {
1545 &disp_cc_mdss_vsync_clk_src.clkr.hw,
1557 .clkr = {
1563 &disp_cc_mdss_vsync_clk_src.clkr.hw,
1575 .clkr = {
1581 &disp_cc_mdss_vsync_clk_src.clkr.hw,
1593 .clkr = {
1599 &disp_cc_sleep_clk_src.clkr.hw,
1627 [DISP_CC_MDSS_ACCU_CLK] = &disp_cc_mdss_accu_clk.clkr,
1628 [DISP_CC_MDSS_AHB1_CLK] = &disp_cc_mdss_ahb1_clk.clkr,
1629 [DISP_CC_MDSS_AHB_CLK] = &disp_cc_mdss_ahb_clk.clkr,
1630 [DISP_CC_MDSS_AHB_CLK_SRC] = &disp_cc_mdss_ahb_clk_src.clkr,
1631 [DISP_CC_MDSS_BYTE0_CLK] = &disp_cc_mdss_byte0_clk.clkr,
1632 [DISP_CC_MDSS_BYTE0_CLK_SRC] = &disp_cc_mdss_byte0_clk_src.clkr,
1633 [DISP_CC_MDSS_BYTE0_DIV_CLK_SRC] = &disp_cc_mdss_byte0_div_clk_src.clkr,
1634 [DISP_CC_MDSS_BYTE0_INTF_CLK] = &disp_cc_mdss_byte0_intf_clk.clkr,
1635 [DISP_CC_MDSS_BYTE1_CLK] = &disp_cc_mdss_byte1_clk.clkr,
1636 [DISP_CC_MDSS_BYTE1_CLK_SRC] = &disp_cc_mdss_byte1_clk_src.clkr,
1637 [DISP_CC_MDSS_BYTE1_DIV_CLK_SRC] = &disp_cc_mdss_byte1_div_clk_src.clkr,
1638 [DISP_CC_MDSS_BYTE1_INTF_CLK] = &disp_cc_mdss_byte1_intf_clk.clkr,
1639 [DISP_CC_MDSS_DPTX0_AUX_CLK] = &disp_cc_mdss_dptx0_aux_clk.clkr,
1640 [DISP_CC_MDSS_DPTX0_AUX_CLK_SRC] = &disp_cc_mdss_dptx0_aux_clk_src.clkr,
1641 [DISP_CC_MDSS_DPTX0_CRYPTO_CLK] = &disp_cc_mdss_dptx0_crypto_clk.clkr,
1642 [DISP_CC_MDSS_DPTX0_LINK_CLK] = &disp_cc_mdss_dptx0_link_clk.clkr,
1643 [DISP_CC_MDSS_DPTX0_LINK_CLK_SRC] = &disp_cc_mdss_dptx0_link_clk_src.clkr,
1644 [DISP_CC_MDSS_DPTX0_LINK_DIV_CLK_SRC] = &disp_cc_mdss_dptx0_link_div_clk_src.clkr,
1645 [DISP_CC_MDSS_DPTX0_LINK_INTF_CLK] = &disp_cc_mdss_dptx0_link_intf_clk.clkr,
1646 [DISP_CC_MDSS_DPTX0_PIXEL0_CLK] = &disp_cc_mdss_dptx0_pixel0_clk.clkr,
1647 [DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC] = &disp_cc_mdss_dptx0_pixel0_clk_src.clkr,
1648 [DISP_CC_MDSS_DPTX0_PIXEL1_CLK] = &disp_cc_mdss_dptx0_pixel1_clk.clkr,
1649 [DISP_CC_MDSS_DPTX0_PIXEL1_CLK_SRC] = &disp_cc_mdss_dptx0_pixel1_clk_src.clkr,
1651 &disp_cc_mdss_dptx0_usb_router_link_intf_clk.clkr,
1652 [DISP_CC_MDSS_DPTX1_AUX_CLK] = &disp_cc_mdss_dptx1_aux_clk.clkr,
1653 [DISP_CC_MDSS_DPTX1_AUX_CLK_SRC] = &disp_cc_mdss_dptx1_aux_clk_src.clkr,
1654 [DISP_CC_MDSS_DPTX1_CRYPTO_CLK] = &disp_cc_mdss_dptx1_crypto_clk.clkr,
1655 [DISP_CC_MDSS_DPTX1_LINK_CLK] = &disp_cc_mdss_dptx1_link_clk.clkr,
1656 [DISP_CC_MDSS_DPTX1_LINK_CLK_SRC] = &disp_cc_mdss_dptx1_link_clk_src.clkr,
1657 [DISP_CC_MDSS_DPTX1_LINK_DIV_CLK_SRC] = &disp_cc_mdss_dptx1_link_div_clk_src.clkr,
1658 [DISP_CC_MDSS_DPTX1_LINK_INTF_CLK] = &disp_cc_mdss_dptx1_link_intf_clk.clkr,
1659 [DISP_CC_MDSS_DPTX1_PIXEL0_CLK] = &disp_cc_mdss_dptx1_pixel0_clk.clkr,
1660 [DISP_CC_MDSS_DPTX1_PIXEL0_CLK_SRC] = &disp_cc_mdss_dptx1_pixel0_clk_src.clkr,
1661 [DISP_CC_MDSS_DPTX1_PIXEL1_CLK] = &disp_cc_mdss_dptx1_pixel1_clk.clkr,
1662 [DISP_CC_MDSS_DPTX1_PIXEL1_CLK_SRC] = &disp_cc_mdss_dptx1_pixel1_clk_src.clkr,
1664 &disp_cc_mdss_dptx1_usb_router_link_intf_clk.clkr,
1665 [DISP_CC_MDSS_DPTX2_AUX_CLK] = &disp_cc_mdss_dptx2_aux_clk.clkr,
1666 [DISP_CC_MDSS_DPTX2_AUX_CLK_SRC] = &disp_cc_mdss_dptx2_aux_clk_src.clkr,
1667 [DISP_CC_MDSS_DPTX2_CRYPTO_CLK] = &disp_cc_mdss_dptx2_crypto_clk.clkr,
1668 [DISP_CC_MDSS_DPTX2_LINK_CLK] = &disp_cc_mdss_dptx2_link_clk.clkr,
1669 [DISP_CC_MDSS_DPTX2_LINK_CLK_SRC] = &disp_cc_mdss_dptx2_link_clk_src.clkr,
1670 [DISP_CC_MDSS_DPTX2_LINK_DIV_CLK_SRC] = &disp_cc_mdss_dptx2_link_div_clk_src.clkr,
1671 [DISP_CC_MDSS_DPTX2_LINK_INTF_CLK] = &disp_cc_mdss_dptx2_link_intf_clk.clkr,
1672 [DISP_CC_MDSS_DPTX2_PIXEL0_CLK] = &disp_cc_mdss_dptx2_pixel0_clk.clkr,
1673 [DISP_CC_MDSS_DPTX2_PIXEL0_CLK_SRC] = &disp_cc_mdss_dptx2_pixel0_clk_src.clkr,
1674 [DISP_CC_MDSS_DPTX2_PIXEL1_CLK] = &disp_cc_mdss_dptx2_pixel1_clk.clkr,
1675 [DISP_CC_MDSS_DPTX2_PIXEL1_CLK_SRC] = &disp_cc_mdss_dptx2_pixel1_clk_src.clkr,
1676 [DISP_CC_MDSS_DPTX3_AUX_CLK] = &disp_cc_mdss_dptx3_aux_clk.clkr,
1677 [DISP_CC_MDSS_DPTX3_AUX_CLK_SRC] = &disp_cc_mdss_dptx3_aux_clk_src.clkr,
1678 [DISP_CC_MDSS_DPTX3_CRYPTO_CLK] = &disp_cc_mdss_dptx3_crypto_clk.clkr,
1679 [DISP_CC_MDSS_DPTX3_LINK_CLK] = &disp_cc_mdss_dptx3_link_clk.clkr,
1680 [DISP_CC_MDSS_DPTX3_LINK_CLK_SRC] = &disp_cc_mdss_dptx3_link_clk_src.clkr,
1681 [DISP_CC_MDSS_DPTX3_LINK_DIV_CLK_SRC] = &disp_cc_mdss_dptx3_link_div_clk_src.clkr,
1682 [DISP_CC_MDSS_DPTX3_LINK_INTF_CLK] = &disp_cc_mdss_dptx3_link_intf_clk.clkr,
1683 [DISP_CC_MDSS_DPTX3_PIXEL0_CLK] = &disp_cc_mdss_dptx3_pixel0_clk.clkr,
1684 [DISP_CC_MDSS_DPTX3_PIXEL0_CLK_SRC] = &disp_cc_mdss_dptx3_pixel0_clk_src.clkr,
1685 [DISP_CC_MDSS_ESC0_CLK] = &disp_cc_mdss_esc0_clk.clkr,
1686 [DISP_CC_MDSS_ESC0_CLK_SRC] = &disp_cc_mdss_esc0_clk_src.clkr,
1687 [DISP_CC_MDSS_ESC1_CLK] = &disp_cc_mdss_esc1_clk.clkr,
1688 [DISP_CC_MDSS_ESC1_CLK_SRC] = &disp_cc_mdss_esc1_clk_src.clkr,
1689 [DISP_CC_MDSS_MDP1_CLK] = &disp_cc_mdss_mdp1_clk.clkr,
1690 [DISP_CC_MDSS_MDP_CLK] = &disp_cc_mdss_mdp_clk.clkr,
1691 [DISP_CC_MDSS_MDP_CLK_SRC] = &disp_cc_mdss_mdp_clk_src.clkr,
1692 [DISP_CC_MDSS_MDP_LUT1_CLK] = &disp_cc_mdss_mdp_lut1_clk.clkr,
1693 [DISP_CC_MDSS_MDP_LUT_CLK] = &disp_cc_mdss_mdp_lut_clk.clkr,
1694 [DISP_CC_MDSS_NON_GDSC_AHB_CLK] = &disp_cc_mdss_non_gdsc_ahb_clk.clkr,
1695 [DISP_CC_MDSS_PCLK0_CLK] = &disp_cc_mdss_pclk0_clk.clkr,
1696 [DISP_CC_MDSS_PCLK0_CLK_SRC] = &disp_cc_mdss_pclk0_clk_src.clkr,
1697 [DISP_CC_MDSS_PCLK1_CLK] = &disp_cc_mdss_pclk1_clk.clkr,
1698 [DISP_CC_MDSS_PCLK1_CLK_SRC] = &disp_cc_mdss_pclk1_clk_src.clkr,
1699 [DISP_CC_MDSS_RSCC_AHB_CLK] = &disp_cc_mdss_rscc_ahb_clk.clkr,
1700 [DISP_CC_MDSS_RSCC_VSYNC_CLK] = &disp_cc_mdss_rscc_vsync_clk.clkr,
1701 [DISP_CC_MDSS_VSYNC1_CLK] = &disp_cc_mdss_vsync1_clk.clkr,
1702 [DISP_CC_MDSS_VSYNC_CLK] = &disp_cc_mdss_vsync_clk.clkr,
1703 [DISP_CC_MDSS_VSYNC_CLK_SRC] = &disp_cc_mdss_vsync_clk_src.clkr,
1704 [DISP_CC_PLL0] = &disp_cc_pll0.clkr,
1705 [DISP_CC_PLL1] = &disp_cc_pll1.clkr,
1706 [DISP_CC_SLEEP_CLK] = &disp_cc_sleep_clk.clkr,
1707 [DISP_CC_SLEEP_CLK_SRC] = &disp_cc_sleep_clk_src.clkr,
1708 [DISP_CC_XO_CLK_SRC] = &disp_cc_xo_clk_src.clkr,
1741 { .compatible = "qcom,sm8550-dispcc" },
1751 ret = devm_pm_runtime_enable(&pdev->dev); in disp_cc_sm8550_probe()
1755 ret = pm_runtime_resume_and_get(&pdev->dev); in disp_cc_sm8550_probe()
1781 pm_runtime_put(&pdev->dev); in disp_cc_sm8550_probe()
1786 pm_runtime_put_sync(&pdev->dev); in disp_cc_sm8550_probe()
1794 .name = "disp_cc-sm8550",