Lines Matching +full:init +full:- +full:delay
1 // SPDX-License-Identifier: GPL-2.0-or-later
6 #include <linux/clk-provider.h>
7 #include <linux/delay.h>
14 * struct clk_pll - mxs pll clock
36 writel_relaxed(1 << pll->power, pll->base + SET); in clk_pll_prepare()
47 writel_relaxed(1 << pll->power, pll->base + CLR); in clk_pll_unprepare()
54 writel_relaxed(1 << 31, pll->base + CLR); in clk_pll_enable()
63 writel_relaxed(1 << 31, pll->base + SET); in clk_pll_disable()
71 return pll->rate; in clk_pll_recalc_rate()
87 struct clk_init_data init; in mxs_clk_pll() local
91 return ERR_PTR(-ENOMEM); in mxs_clk_pll()
93 init.name = name; in mxs_clk_pll()
94 init.ops = &clk_pll_ops; in mxs_clk_pll()
95 init.flags = 0; in mxs_clk_pll()
96 init.parent_names = (parent_name ? &parent_name: NULL); in mxs_clk_pll()
97 init.num_parents = (parent_name ? 1 : 0); in mxs_clk_pll()
99 pll->base = base; in mxs_clk_pll()
100 pll->rate = rate; in mxs_clk_pll()
101 pll->power = power; in mxs_clk_pll()
102 pll->hw.init = &init; in mxs_clk_pll()
104 clk = clk_register(NULL, &pll->hw); in mxs_clk_pll()