Lines Matching full:pll_clk
219 struct axs10x_pll_clk *pll_clk; in axs10x_pll_clk_probe() local
223 pll_clk = devm_kzalloc(dev, sizeof(*pll_clk), GFP_KERNEL); in axs10x_pll_clk_probe()
224 if (!pll_clk) in axs10x_pll_clk_probe()
227 pll_clk->base = devm_platform_ioremap_resource(pdev, 0); in axs10x_pll_clk_probe()
228 if (IS_ERR(pll_clk->base)) in axs10x_pll_clk_probe()
229 return PTR_ERR(pll_clk->base); in axs10x_pll_clk_probe()
231 pll_clk->lock = devm_platform_ioremap_resource(pdev, 1); in axs10x_pll_clk_probe()
232 if (IS_ERR(pll_clk->lock)) in axs10x_pll_clk_probe()
233 return PTR_ERR(pll_clk->lock); in axs10x_pll_clk_probe()
240 pll_clk->hw.init = &init; in axs10x_pll_clk_probe()
241 pll_clk->dev = dev; in axs10x_pll_clk_probe()
242 pll_clk->pll_cfg = of_device_get_match_data(dev); in axs10x_pll_clk_probe()
244 if (!pll_clk->pll_cfg) { in axs10x_pll_clk_probe()
249 ret = devm_clk_hw_register(dev, &pll_clk->hw); in axs10x_pll_clk_probe()
256 &pll_clk->hw); in axs10x_pll_clk_probe()
262 struct axs10x_pll_clk *pll_clk; in of_axs10x_pll_clk_setup() local
266 pll_clk = kzalloc(sizeof(*pll_clk), GFP_KERNEL); in of_axs10x_pll_clk_setup()
267 if (!pll_clk) in of_axs10x_pll_clk_setup()
270 pll_clk->base = of_iomap(node, 0); in of_axs10x_pll_clk_setup()
271 if (!pll_clk->base) { in of_axs10x_pll_clk_setup()
276 pll_clk->lock = of_iomap(node, 1); in of_axs10x_pll_clk_setup()
277 if (!pll_clk->lock) { in of_axs10x_pll_clk_setup()
287 pll_clk->hw.init = &init; in of_axs10x_pll_clk_setup()
288 pll_clk->pll_cfg = arc_pll_cfg; in of_axs10x_pll_clk_setup()
290 ret = clk_hw_register(NULL, &pll_clk->hw); in of_axs10x_pll_clk_setup()
296 ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &pll_clk->hw); in of_axs10x_pll_clk_setup()
305 clk_hw_unregister(&pll_clk->hw); in of_axs10x_pll_clk_setup()
307 iounmap(pll_clk->lock); in of_axs10x_pll_clk_setup()
309 iounmap(pll_clk->base); in of_axs10x_pll_clk_setup()
311 kfree(pll_clk); in of_axs10x_pll_clk_setup()