Lines Matching +full:msm8916 +full:- +full:a53pll

1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/clk-provider.h>
17 #include "clk-regmap.h"
18 #include "clk-regmap-mux-div.h"
24 { .fw_name = "pll", .name = "a53pll", },
47 struct device *dev = &pdev->dev; in qcom_apcs_msm8916_clk_probe()
48 struct device *parent = dev->parent; in qcom_apcs_msm8916_clk_probe()
52 int ret = -ENODEV; in qcom_apcs_msm8916_clk_probe()
62 return -ENOMEM; in qcom_apcs_msm8916_clk_probe()
70 a53cc->clkr.hw.init = &init; in qcom_apcs_msm8916_clk_probe()
71 a53cc->clkr.regmap = regmap; in qcom_apcs_msm8916_clk_probe()
72 a53cc->reg_offset = 0x50; in qcom_apcs_msm8916_clk_probe()
73 a53cc->hid_width = 5; in qcom_apcs_msm8916_clk_probe()
74 a53cc->hid_shift = 0; in qcom_apcs_msm8916_clk_probe()
75 a53cc->src_width = 3; in qcom_apcs_msm8916_clk_probe()
76 a53cc->src_shift = 8; in qcom_apcs_msm8916_clk_probe()
77 a53cc->parent_map = gpll0_a53cc_map; in qcom_apcs_msm8916_clk_probe()
79 a53cc->pclk = devm_clk_get(parent, NULL); in qcom_apcs_msm8916_clk_probe()
80 if (IS_ERR(a53cc->pclk)) { in qcom_apcs_msm8916_clk_probe()
81 ret = PTR_ERR(a53cc->pclk); in qcom_apcs_msm8916_clk_probe()
82 if (ret != -EPROBE_DEFER) in qcom_apcs_msm8916_clk_probe()
87 a53cc->clk_nb.notifier_call = a53cc_notifier_cb; in qcom_apcs_msm8916_clk_probe()
88 ret = clk_notifier_register(a53cc->pclk, &a53cc->clk_nb); in qcom_apcs_msm8916_clk_probe()
94 ret = devm_clk_register_regmap(dev, &a53cc->clkr); in qcom_apcs_msm8916_clk_probe()
101 &a53cc->clkr.hw); in qcom_apcs_msm8916_clk_probe()
112 clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); in qcom_apcs_msm8916_clk_probe()
120 clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); in qcom_apcs_msm8916_clk_remove()
129 .name = "qcom-apcs-msm8916-clk",
136 MODULE_DESCRIPTION("Qualcomm MSM8916 APCS clock driver");