Lines Matching refs:cru

164 static void rk618_clk_add_lookup(struct rk618_cru *cru, struct clk *clk,  in rk618_clk_add_lookup()  argument
167 if (cru->clk_data.clks && id) in rk618_clk_add_lookup()
168 cru->clk_data.clks[id] = clk; in rk618_clk_add_lookup()
171 static void rk618_clk_register_muxes(struct rk618_cru *cru) in rk618_clk_register_muxes() argument
179 clk = devm_clk_regmap_register_mux(cru->dev, data->name, in rk618_clk_register_muxes()
182 cru->regmap, data->reg, in rk618_clk_register_muxes()
186 dev_err(cru->dev, "failed to register clock %s\n", in rk618_clk_register_muxes()
191 rk618_clk_add_lookup(cru, clk, data->id); in rk618_clk_register_muxes()
195 static void rk618_clk_register_dividers(struct rk618_cru *cru) in rk618_clk_register_dividers() argument
203 clk = devm_clk_regmap_register_divider(cru->dev, data->name, in rk618_clk_register_dividers()
205 cru->regmap, data->reg, in rk618_clk_register_dividers()
209 dev_err(cru->dev, "failed to register clock %s\n", in rk618_clk_register_dividers()
214 rk618_clk_add_lookup(cru, clk, data->id); in rk618_clk_register_dividers()
218 static void rk618_clk_register_gates(struct rk618_cru *cru) in rk618_clk_register_gates() argument
226 clk = devm_clk_regmap_register_gate(cru->dev, data->name, in rk618_clk_register_gates()
228 cru->regmap, in rk618_clk_register_gates()
232 dev_err(cru->dev, "failed to register clock %s\n", in rk618_clk_register_gates()
237 rk618_clk_add_lookup(cru, clk, data->id); in rk618_clk_register_gates()
241 static void rk618_clk_register_composites(struct rk618_cru *cru) in rk618_clk_register_composites() argument
250 clk = devm_clk_regmap_register_composite(cru->dev, data->name, in rk618_clk_register_composites()
253 cru->regmap, in rk618_clk_register_composites()
265 dev_err(cru->dev, "failed to register clock %s\n", in rk618_clk_register_composites()
270 rk618_clk_add_lookup(cru, clk, data->id); in rk618_clk_register_composites()
274 static void rk618_clk_register_plls(struct rk618_cru *cru) in rk618_clk_register_plls() argument
282 clk = devm_clk_regmap_register_pll(cru->dev, data->name, in rk618_clk_register_plls()
284 cru->regmap, in rk618_clk_register_plls()
291 dev_err(cru->dev, "failed to register clock %s\n", in rk618_clk_register_plls()
296 rk618_clk_add_lookup(cru, clk, data->id); in rk618_clk_register_plls()
304 struct rk618_cru *cru; in rk618_cru_probe() local
313 cru = devm_kzalloc(dev, sizeof(*cru), GFP_KERNEL); in rk618_cru_probe()
314 if (!cru) in rk618_cru_probe()
325 cru->dev = dev; in rk618_cru_probe()
326 cru->parent = rk618; in rk618_cru_probe()
327 cru->regmap = rk618->regmap; in rk618_cru_probe()
328 cru->clk_data.clks = clk_table; in rk618_cru_probe()
329 cru->clk_data.clk_num = NR_CLKS; in rk618_cru_probe()
330 platform_set_drvdata(pdev, cru); in rk618_cru_probe()
373 rk618_clk_register_plls(cru); in rk618_cru_probe()
374 rk618_clk_register_muxes(cru); in rk618_cru_probe()
375 rk618_clk_register_dividers(cru); in rk618_cru_probe()
376 rk618_clk_register_gates(cru); in rk618_cru_probe()
377 rk618_clk_register_composites(cru); in rk618_cru_probe()
380 &cru->clk_data); in rk618_cru_probe()