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"
566 ret = clk_prepare_enable(p->clk); in pix_rdi_set_parent()
572 val = rdi->s2_mask; in pix_rdi_set_parent()
575 regmap_update_bits(rdi->clkr.regmap, rdi->s2_reg, rdi->s2_mask, val); in pix_rdi_set_parent()
578 * for the glitch-free MUX to fully switch sources. in pix_rdi_set_parent()
583 val = rdi->s_mask; in pix_rdi_set_parent()
586 regmap_update_bits(rdi->clkr.regmap, rdi->s_reg, rdi->s_mask, val); in pix_rdi_set_parent()
589 * for the glitch-free MUX to fully switch sources. in pix_rdi_set_parent()
594 for (i--; i >= 0; i--) { in pix_rdi_set_parent()
596 clk_disable_unprepare(p->clk); in pix_rdi_set_parent()
608 regmap_read(rdi->clkr.regmap, rdi->s2_reg, &val); in pix_rdi_get_parent()
609 if (val & rdi->s2_mask) in pix_rdi_get_parent()
612 regmap_read(rdi->clkr.regmap, rdi->s_reg, &val); in pix_rdi_get_parent()
613 if (val & rdi->s_mask) in pix_rdi_get_parent()
3100 { .compatible = "qcom,mmcc-msm8960", .data = &mmcc_msm8960_desc },
3101 { .compatible = "qcom,mmcc-apq8064", .data = &mmcc_apq8064_desc },
3111 struct device *dev = &pdev->dev; in mmcc_msm8960_probe()
3115 return -EINVAL; in mmcc_msm8960_probe()
3117 is_8064 = of_device_is_compatible(dev->of_node, "qcom,mmcc-apq8064"); in mmcc_msm8960_probe()
3125 regmap = qcom_cc_map(pdev, match->data); in mmcc_msm8960_probe()
3131 return qcom_cc_really_probe(pdev, match->data, regmap); in mmcc_msm8960_probe()
3137 .name = "mmcc-msm8960",
3144 MODULE_DESCRIPTION("QCOM MMCC MSM8960 Driver");
3146 MODULE_ALIAS("platform:mmcc-msm8960");