Lines Matching +full:reg +full:- +full:names
12 #include <linux/clk-provider.h>
20 #include <dt-bindings/clock/lpc18xx-ccu.h>
119 unsigned int offset = clkspec->args[0]; in lpc18xx_ccu_branch_clk_get()
126 for (j = 0; j < clk_data->num; j++) { in lpc18xx_ccu_branch_clk_get()
127 if (!strcmp(clk_branches[i].base_name, clk_data->name[j])) in lpc18xx_ccu_branch_clk_get()
134 return ERR_PTR(-EINVAL); in lpc18xx_ccu_branch_clk_get()
146 val = readl(gate->reg); in lpc18xx_ccu_gate_endisable()
159 writel(val, gate->reg); in lpc18xx_ccu_gate_endisable()
164 writel(val, gate->reg); in lpc18xx_ccu_gate_endisable()
213 if (branch->flags & CCU_BRANCH_HAVE_DIV2) { in lpc18xx_ccu_register_branch_gate_div()
218 div->reg = branch->offset + reg_base; in lpc18xx_ccu_register_branch_gate_div()
219 div->flags = CLK_DIVIDER_READ_ONLY; in lpc18xx_ccu_register_branch_gate_div()
220 div->shift = 27; in lpc18xx_ccu_register_branch_gate_div()
221 div->width = 1; in lpc18xx_ccu_register_branch_gate_div()
223 div_hw = &div->hw; in lpc18xx_ccu_register_branch_gate_div()
227 branch->gate.reg = branch->offset + reg_base; in lpc18xx_ccu_register_branch_gate_div()
228 branch->gate.bit_idx = 0; in lpc18xx_ccu_register_branch_gate_div()
230 branch->clk = clk_register_composite(NULL, branch->name, &parent, 1, in lpc18xx_ccu_register_branch_gate_div()
233 &branch->gate.hw, &lpc18xx_ccu_gate_ops, 0); in lpc18xx_ccu_register_branch_gate_div()
234 if (IS_ERR(branch->clk)) { in lpc18xx_ccu_register_branch_gate_div()
236 pr_warn("%s: failed to register %s\n", __func__, branch->name); in lpc18xx_ccu_register_branch_gate_div()
241 switch (branch->offset) { in lpc18xx_ccu_register_branch_gate_div()
246 clk_prepare_enable(branch->clk); in lpc18xx_ccu_register_branch_gate_div()
286 clk_data->num = of_property_count_strings(np, "clock-names"); in lpc18xx_ccu_init()
287 clk_data->name = kcalloc(clk_data->num, sizeof(char *), GFP_KERNEL); in lpc18xx_ccu_init()
288 if (!clk_data->name) { in lpc18xx_ccu_init()
294 for (i = 0; i < clk_data->num; i++) { in lpc18xx_ccu_init()
295 ret = of_property_read_string_index(np, "clock-names", i, in lpc18xx_ccu_init()
296 &clk_data->name[i]); in lpc18xx_ccu_init()
303 lpc18xx_ccu_register_branch_clks(reg_base, clk_data->name[i]); in lpc18xx_ccu_init()
308 CLK_OF_DECLARE(lpc18xx_ccu, "nxp,lpc1850-ccu", lpc18xx_ccu_init);