Lines Matching +full:mmcc +full:- +full:msm8960
1 // SPDX-License-Identifier: GPL-2.0-only
15 #include <linux/clk-provider.h>
17 #include <linux/reset-controller.h>
19 #include <dt-bindings/clock/qcom,mmcc-msm8960.h>
20 #include <dt-bindings/reset/qcom,mmcc-msm8960.h>
23 #include "clk-regmap.h"
24 #include "clk-pll.h"
25 #include "clk-rcg.h"
26 #include "clk-branch.h"
544 ret = clk_prepare_enable(p->clk); in pix_rdi_set_parent()
550 val = rdi->s2_mask; in pix_rdi_set_parent()
553 regmap_update_bits(rdi->clkr.regmap, rdi->s2_reg, rdi->s2_mask, val); in pix_rdi_set_parent()
556 * for the glitch-free MUX to fully switch sources. in pix_rdi_set_parent()
561 val = rdi->s_mask; in pix_rdi_set_parent()
564 regmap_update_bits(rdi->clkr.regmap, rdi->s_reg, rdi->s_mask, val); in pix_rdi_set_parent()
567 * for the glitch-free MUX to fully switch sources. in pix_rdi_set_parent()
572 for (i--; i >= 0; i--) { in pix_rdi_set_parent()
574 clk_disable_unprepare(p->clk); in pix_rdi_set_parent()
586 regmap_read(rdi->clkr.regmap, rdi->s2_reg, &val); in pix_rdi_get_parent()
587 if (val & rdi->s2_mask) in pix_rdi_get_parent()
590 regmap_read(rdi->clkr.regmap, rdi->s_reg, &val); in pix_rdi_get_parent()
591 if (val & rdi->s_mask) in pix_rdi_get_parent()
3016 { .compatible = "qcom,mmcc-msm8960", .data = &mmcc_msm8960_desc },
3017 { .compatible = "qcom,mmcc-apq8064", .data = &mmcc_apq8064_desc },
3027 struct device *dev = &pdev->dev; in mmcc_msm8960_probe()
3031 return -EINVAL; in mmcc_msm8960_probe()
3033 is_8064 = of_device_is_compatible(dev->of_node, "qcom,mmcc-apq8064"); in mmcc_msm8960_probe()
3041 regmap = qcom_cc_map(pdev, match->data); in mmcc_msm8960_probe()
3047 return qcom_cc_really_probe(pdev, match->data, regmap); in mmcc_msm8960_probe()
3053 .name = "mmcc-msm8960",
3060 MODULE_DESCRIPTION("QCOM MMCC MSM8960 Driver");
3062 MODULE_ALIAS("platform:mmcc-msm8960");