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()
49 struct device_node *np = parent->of_node; in qcom_apcs_msm8916_clk_probe()
53 int ret = -ENODEV; in qcom_apcs_msm8916_clk_probe()
63 return -ENOMEM; in qcom_apcs_msm8916_clk_probe()
65 /* Use an unique name by appending parent's @unit-address */ in qcom_apcs_msm8916_clk_probe()
67 strchrnul(np->full_name, '@')); in qcom_apcs_msm8916_clk_probe()
69 return -ENOMEM; in qcom_apcs_msm8916_clk_probe()
76 a53cc->clkr.hw.init = &init; in qcom_apcs_msm8916_clk_probe()
77 a53cc->clkr.regmap = regmap; in qcom_apcs_msm8916_clk_probe()
78 a53cc->reg_offset = 0x50; in qcom_apcs_msm8916_clk_probe()
79 a53cc->hid_width = 5; in qcom_apcs_msm8916_clk_probe()
80 a53cc->hid_shift = 0; in qcom_apcs_msm8916_clk_probe()
81 a53cc->src_width = 3; in qcom_apcs_msm8916_clk_probe()
82 a53cc->src_shift = 8; in qcom_apcs_msm8916_clk_probe()
83 a53cc->parent_map = gpll0_a53cc_map; in qcom_apcs_msm8916_clk_probe()
85 a53cc->pclk = devm_clk_get(parent, NULL); in qcom_apcs_msm8916_clk_probe()
86 if (IS_ERR(a53cc->pclk)) { in qcom_apcs_msm8916_clk_probe()
87 ret = PTR_ERR(a53cc->pclk); in qcom_apcs_msm8916_clk_probe()
88 if (ret != -EPROBE_DEFER) in qcom_apcs_msm8916_clk_probe()
93 a53cc->clk_nb.notifier_call = a53cc_notifier_cb; in qcom_apcs_msm8916_clk_probe()
94 ret = clk_notifier_register(a53cc->pclk, &a53cc->clk_nb); in qcom_apcs_msm8916_clk_probe()
100 ret = devm_clk_register_regmap(dev, &a53cc->clkr); in qcom_apcs_msm8916_clk_probe()
107 &a53cc->clkr.hw); in qcom_apcs_msm8916_clk_probe()
118 clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); in qcom_apcs_msm8916_clk_probe()
126 clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); in qcom_apcs_msm8916_clk_remove()
133 .name = "qcom-apcs-msm8916-clk",
140 MODULE_DESCRIPTION("Qualcomm MSM8916 APCS clock driver");