Lines Matching +full:clkr +full:- +full:- +full:-
1 // SPDX-License-Identifier: GPL-2.0-only
6 #include <linux/clk-provider.h>
13 #include <dt-bindings/clock/qcom,sa8775p-dispcc.h>
15 #include "clk-alpha-pll.h"
16 #include "clk-branch.h"
17 #include "clk-pll.h"
18 #include "clk-rcg.h"
19 #include "clk-regmap.h"
20 #include "clk-regmap-divider.h"
21 #include "clk-regmap-mux.h"
76 .clkr = {
103 .clkr = {
189 { .hw = &mdss_1_disp_cc_pll1.clkr.hw },
190 { .hw = &mdss_1_disp_cc_pll1.clkr.hw },
202 { .hw = &mdss_1_disp_cc_pll0.clkr.hw },
203 { .hw = &mdss_1_disp_cc_pll1.clkr.hw },
204 { .hw = &mdss_1_disp_cc_pll1.clkr.hw },
227 .clkr.hw.init = &(const struct clk_init_data) {
247 .clkr.hw.init = &(const struct clk_init_data) {
262 .clkr.hw.init = &(const struct clk_init_data) {
277 .clkr.hw.init = &(const struct clk_init_data) {
292 .clkr.hw.init = &(const struct clk_init_data) {
307 .clkr.hw.init = &(const struct clk_init_data) {
322 .clkr.hw.init = &(const struct clk_init_data) {
337 .clkr.hw.init = &(const struct clk_init_data) {
352 .clkr.hw.init = &(const struct clk_init_data) {
367 .clkr.hw.init = &(const struct clk_init_data) {
382 .clkr.hw.init = &(const struct clk_init_data) {
397 .clkr.hw.init = &(const struct clk_init_data) {
412 .clkr.hw.init = &(const struct clk_init_data) {
427 .clkr.hw.init = &(const struct clk_init_data) {
442 .clkr.hw.init = &(const struct clk_init_data) {
457 .clkr.hw.init = &(const struct clk_init_data) {
472 .clkr.hw.init = &(const struct clk_init_data) {
495 .clkr.hw.init = &(const struct clk_init_data) {
510 .clkr.hw.init = &(const struct clk_init_data) {
525 .clkr.hw.init = &(const struct clk_init_data) {
540 .clkr.hw.init = &(const struct clk_init_data) {
560 .clkr.hw.init = &(const struct clk_init_data) {
575 .clkr.hw.init = &(const struct clk_init_data) {
588 .clkr.hw.init = &(const struct clk_init_data) {
591 &mdss_1_disp_cc_mdss_byte0_clk_src.clkr.hw,
603 .clkr.hw.init = &(const struct clk_init_data) {
606 &mdss_1_disp_cc_mdss_byte1_clk_src.clkr.hw,
618 .clkr.hw.init = &(const struct clk_init_data) {
621 &mdss_1_disp_cc_mdss_dptx0_link_clk_src.clkr.hw,
633 .clkr.hw.init = &(const struct clk_init_data) {
636 &mdss_1_disp_cc_mdss_dptx1_link_clk_src.clkr.hw,
647 .clkr = {
653 &mdss_1_disp_cc_mdss_ahb_clk_src.clkr.hw,
665 .clkr = {
671 &mdss_1_disp_cc_mdss_ahb_clk_src.clkr.hw,
683 .clkr = {
689 &mdss_1_disp_cc_mdss_byte0_clk_src.clkr.hw,
701 .clkr = {
707 &mdss_1_disp_cc_mdss_byte0_div_clk_src.clkr.hw,
719 .clkr = {
725 &mdss_1_disp_cc_mdss_byte1_clk_src.clkr.hw,
737 .clkr = {
743 &mdss_1_disp_cc_mdss_byte1_div_clk_src.clkr.hw,
755 .clkr = {
761 &mdss_1_disp_cc_mdss_dptx0_aux_clk_src.clkr.hw,
773 .clkr = {
779 &mdss_1_disp_cc_mdss_dptx0_crypto_clk_src.clkr.hw,
791 .clkr = {
797 &mdss_1_disp_cc_mdss_dptx0_link_clk_src.clkr.hw,
809 .clkr = {
815 &mdss_1_disp_cc_mdss_dptx0_link_div_clk_src.clkr.hw,
827 .clkr = {
833 &mdss_1_disp_cc_mdss_dptx0_pixel0_clk_src.clkr.hw,
845 .clkr = {
851 &mdss_1_disp_cc_mdss_dptx0_pixel1_clk_src.clkr.hw,
863 .clkr = {
869 &mdss_1_disp_cc_mdss_dptx0_pixel2_clk_src.clkr.hw,
881 .clkr = {
887 &mdss_1_disp_cc_mdss_dptx0_pixel3_clk_src.clkr.hw,
899 .clkr = {
905 &mdss_1_disp_cc_mdss_dptx0_link_div_clk_src.clkr.hw,
917 .clkr = {
923 &mdss_1_disp_cc_mdss_dptx1_aux_clk_src.clkr.hw,
935 .clkr = {
941 &mdss_1_disp_cc_mdss_dptx1_crypto_clk_src.clkr.hw,
953 .clkr = {
959 &mdss_1_disp_cc_mdss_dptx1_link_clk_src.clkr.hw,
971 .clkr = {
977 &mdss_1_disp_cc_mdss_dptx1_link_div_clk_src.clkr.hw,
989 .clkr = {
995 &mdss_1_disp_cc_mdss_dptx1_pixel0_clk_src.clkr.hw,
1007 .clkr = {
1013 &mdss_1_disp_cc_mdss_dptx1_pixel1_clk_src.clkr.hw,
1025 .clkr = {
1031 &mdss_1_disp_cc_mdss_dptx1_link_div_clk_src.clkr.hw,
1043 .clkr = {
1049 &mdss_1_disp_cc_mdss_esc0_clk_src.clkr.hw,
1061 .clkr = {
1067 &mdss_1_disp_cc_mdss_esc1_clk_src.clkr.hw,
1079 .clkr = {
1085 &mdss_1_disp_cc_mdss_mdp_clk_src.clkr.hw,
1097 .clkr = {
1103 &mdss_1_disp_cc_mdss_mdp_clk_src.clkr.hw,
1115 .clkr = {
1121 &mdss_1_disp_cc_mdss_mdp_clk_src.clkr.hw,
1133 .clkr = {
1139 &mdss_1_disp_cc_mdss_mdp_clk_src.clkr.hw,
1151 .clkr = {
1157 &mdss_1_disp_cc_mdss_ahb_clk_src.clkr.hw,
1169 .clkr = {
1175 &mdss_1_disp_cc_mdss_pclk0_clk_src.clkr.hw,
1187 .clkr = {
1193 &mdss_1_disp_cc_mdss_pclk1_clk_src.clkr.hw,
1205 .clkr = {
1211 &mdss_1_disp_cc_xo_clk_src.clkr.hw,
1223 .clkr = {
1229 &mdss_1_disp_cc_mdss_ahb_clk_src.clkr.hw,
1241 .clkr = {
1247 &mdss_1_disp_cc_mdss_vsync_clk_src.clkr.hw,
1259 .clkr = {
1265 &mdss_1_disp_cc_mdss_vsync_clk_src.clkr.hw,
1277 .clkr = {
1283 &mdss_1_disp_cc_mdss_vsync_clk_src.clkr.hw,
1295 .clkr = {
1330 [MDSS_DISP_CC_MDSS_AHB1_CLK] = &mdss_1_disp_cc_mdss_ahb1_clk.clkr,
1331 [MDSS_DISP_CC_MDSS_AHB_CLK] = &mdss_1_disp_cc_mdss_ahb_clk.clkr,
1332 [MDSS_DISP_CC_MDSS_AHB_CLK_SRC] = &mdss_1_disp_cc_mdss_ahb_clk_src.clkr,
1333 [MDSS_DISP_CC_MDSS_BYTE0_CLK] = &mdss_1_disp_cc_mdss_byte0_clk.clkr,
1334 [MDSS_DISP_CC_MDSS_BYTE0_CLK_SRC] = &mdss_1_disp_cc_mdss_byte0_clk_src.clkr,
1335 [MDSS_DISP_CC_MDSS_BYTE0_DIV_CLK_SRC] = &mdss_1_disp_cc_mdss_byte0_div_clk_src.clkr,
1336 [MDSS_DISP_CC_MDSS_BYTE0_INTF_CLK] = &mdss_1_disp_cc_mdss_byte0_intf_clk.clkr,
1337 [MDSS_DISP_CC_MDSS_BYTE1_CLK] = &mdss_1_disp_cc_mdss_byte1_clk.clkr,
1338 [MDSS_DISP_CC_MDSS_BYTE1_CLK_SRC] = &mdss_1_disp_cc_mdss_byte1_clk_src.clkr,
1339 [MDSS_DISP_CC_MDSS_BYTE1_DIV_CLK_SRC] = &mdss_1_disp_cc_mdss_byte1_div_clk_src.clkr,
1340 [MDSS_DISP_CC_MDSS_BYTE1_INTF_CLK] = &mdss_1_disp_cc_mdss_byte1_intf_clk.clkr,
1341 [MDSS_DISP_CC_MDSS_DPTX0_AUX_CLK] = &mdss_1_disp_cc_mdss_dptx0_aux_clk.clkr,
1342 [MDSS_DISP_CC_MDSS_DPTX0_AUX_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_aux_clk_src.clkr,
1343 [MDSS_DISP_CC_MDSS_DPTX0_CRYPTO_CLK] = &mdss_1_disp_cc_mdss_dptx0_crypto_clk.clkr,
1344 [MDSS_DISP_CC_MDSS_DPTX0_CRYPTO_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_crypto_clk_src.clkr,
1345 [MDSS_DISP_CC_MDSS_DPTX0_LINK_CLK] = &mdss_1_disp_cc_mdss_dptx0_link_clk.clkr,
1346 [MDSS_DISP_CC_MDSS_DPTX0_LINK_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_link_clk_src.clkr,
1348 &mdss_1_disp_cc_mdss_dptx0_link_div_clk_src.clkr,
1349 [MDSS_DISP_CC_MDSS_DPTX0_LINK_INTF_CLK] = &mdss_1_disp_cc_mdss_dptx0_link_intf_clk.clkr,
1350 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK] = &mdss_1_disp_cc_mdss_dptx0_pixel0_clk.clkr,
1351 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_pixel0_clk_src.clkr,
1352 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL1_CLK] = &mdss_1_disp_cc_mdss_dptx0_pixel1_clk.clkr,
1353 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL1_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_pixel1_clk_src.clkr,
1354 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL2_CLK] = &mdss_1_disp_cc_mdss_dptx0_pixel2_clk.clkr,
1355 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL2_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_pixel2_clk_src.clkr,
1356 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL3_CLK] = &mdss_1_disp_cc_mdss_dptx0_pixel3_clk.clkr,
1357 [MDSS_DISP_CC_MDSS_DPTX0_PIXEL3_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx0_pixel3_clk_src.clkr,
1359 &mdss_1_disp_cc_mdss_dptx0_usb_router_link_intf_clk.clkr,
1360 [MDSS_DISP_CC_MDSS_DPTX1_AUX_CLK] = &mdss_1_disp_cc_mdss_dptx1_aux_clk.clkr,
1361 [MDSS_DISP_CC_MDSS_DPTX1_AUX_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx1_aux_clk_src.clkr,
1362 [MDSS_DISP_CC_MDSS_DPTX1_CRYPTO_CLK] = &mdss_1_disp_cc_mdss_dptx1_crypto_clk.clkr,
1363 [MDSS_DISP_CC_MDSS_DPTX1_CRYPTO_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx1_crypto_clk_src.clkr,
1364 [MDSS_DISP_CC_MDSS_DPTX1_LINK_CLK] = &mdss_1_disp_cc_mdss_dptx1_link_clk.clkr,
1365 [MDSS_DISP_CC_MDSS_DPTX1_LINK_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx1_link_clk_src.clkr,
1367 &mdss_1_disp_cc_mdss_dptx1_link_div_clk_src.clkr,
1368 [MDSS_DISP_CC_MDSS_DPTX1_LINK_INTF_CLK] = &mdss_1_disp_cc_mdss_dptx1_link_intf_clk.clkr,
1369 [MDSS_DISP_CC_MDSS_DPTX1_PIXEL0_CLK] = &mdss_1_disp_cc_mdss_dptx1_pixel0_clk.clkr,
1370 [MDSS_DISP_CC_MDSS_DPTX1_PIXEL0_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx1_pixel0_clk_src.clkr,
1371 [MDSS_DISP_CC_MDSS_DPTX1_PIXEL1_CLK] = &mdss_1_disp_cc_mdss_dptx1_pixel1_clk.clkr,
1372 [MDSS_DISP_CC_MDSS_DPTX1_PIXEL1_CLK_SRC] = &mdss_1_disp_cc_mdss_dptx1_pixel1_clk_src.clkr,
1374 &mdss_1_disp_cc_mdss_dptx1_usb_router_link_intf_clk.clkr,
1375 [MDSS_DISP_CC_MDSS_ESC0_CLK] = &mdss_1_disp_cc_mdss_esc0_clk.clkr,
1376 [MDSS_DISP_CC_MDSS_ESC0_CLK_SRC] = &mdss_1_disp_cc_mdss_esc0_clk_src.clkr,
1377 [MDSS_DISP_CC_MDSS_ESC1_CLK] = &mdss_1_disp_cc_mdss_esc1_clk.clkr,
1378 [MDSS_DISP_CC_MDSS_ESC1_CLK_SRC] = &mdss_1_disp_cc_mdss_esc1_clk_src.clkr,
1379 [MDSS_DISP_CC_MDSS_MDP1_CLK] = &mdss_1_disp_cc_mdss_mdp1_clk.clkr,
1380 [MDSS_DISP_CC_MDSS_MDP_CLK] = &mdss_1_disp_cc_mdss_mdp_clk.clkr,
1381 [MDSS_DISP_CC_MDSS_MDP_CLK_SRC] = &mdss_1_disp_cc_mdss_mdp_clk_src.clkr,
1382 [MDSS_DISP_CC_MDSS_MDP_LUT1_CLK] = &mdss_1_disp_cc_mdss_mdp_lut1_clk.clkr,
1383 [MDSS_DISP_CC_MDSS_MDP_LUT_CLK] = &mdss_1_disp_cc_mdss_mdp_lut_clk.clkr,
1384 [MDSS_DISP_CC_MDSS_NON_GDSC_AHB_CLK] = &mdss_1_disp_cc_mdss_non_gdsc_ahb_clk.clkr,
1385 [MDSS_DISP_CC_MDSS_PCLK0_CLK] = &mdss_1_disp_cc_mdss_pclk0_clk.clkr,
1386 [MDSS_DISP_CC_MDSS_PCLK0_CLK_SRC] = &mdss_1_disp_cc_mdss_pclk0_clk_src.clkr,
1387 [MDSS_DISP_CC_MDSS_PCLK1_CLK] = &mdss_1_disp_cc_mdss_pclk1_clk.clkr,
1388 [MDSS_DISP_CC_MDSS_PCLK1_CLK_SRC] = &mdss_1_disp_cc_mdss_pclk1_clk_src.clkr,
1389 [MDSS_DISP_CC_MDSS_PLL_LOCK_MONITOR_CLK] = &mdss_1_disp_cc_mdss_pll_lock_monitor_clk.clkr,
1390 [MDSS_DISP_CC_MDSS_RSCC_AHB_CLK] = &mdss_1_disp_cc_mdss_rscc_ahb_clk.clkr,
1391 [MDSS_DISP_CC_MDSS_RSCC_VSYNC_CLK] = &mdss_1_disp_cc_mdss_rscc_vsync_clk.clkr,
1392 [MDSS_DISP_CC_MDSS_VSYNC1_CLK] = &mdss_1_disp_cc_mdss_vsync1_clk.clkr,
1393 [MDSS_DISP_CC_MDSS_VSYNC_CLK] = &mdss_1_disp_cc_mdss_vsync_clk.clkr,
1394 [MDSS_DISP_CC_MDSS_VSYNC_CLK_SRC] = &mdss_1_disp_cc_mdss_vsync_clk_src.clkr,
1395 [MDSS_DISP_CC_PLL0] = &mdss_1_disp_cc_pll0.clkr,
1396 [MDSS_DISP_CC_PLL1] = &mdss_1_disp_cc_pll1.clkr,
1397 [MDSS_DISP_CC_SLEEP_CLK_SRC] = &mdss_1_disp_cc_sleep_clk_src.clkr,
1398 [MDSS_DISP_CC_SM_OBS_CLK] = &mdss_1_disp_cc_sm_obs_clk.clkr,
1399 [MDSS_DISP_CC_XO_CLK_SRC] = &mdss_1_disp_cc_xo_clk_src.clkr,
1431 { .compatible = "qcom,sa8775p-dispcc1" },
1441 ret = devm_pm_runtime_enable(&pdev->dev);
1445 ret = pm_runtime_resume_and_get(&pdev->dev);
1451 pm_runtime_put(&pdev->dev);
1462 ret = qcom_cc_really_probe(&pdev->dev, &disp_cc_1_sa8775p_desc, regmap);
1464 pm_runtime_put(&pdev->dev);
1472 .name = "dispcc1-sa8775p",