Lines Matching +full:fixed +full:- +full:parent +full:- +full:rate
1 // SPDX-License-Identifier: GPL-2.0+
9 #include <clk-uclass.h>
14 struct clk parent; member
24 uint64_t rate; in clk_fixed_factor_get_rate() local
25 struct clk_fixed_factor *ff = to_clk_fixed_factor(clk->dev); in clk_fixed_factor_get_rate()
27 if (clk->id != 0) in clk_fixed_factor_get_rate()
28 return -EINVAL; in clk_fixed_factor_get_rate()
30 rate = clk_get_rate(&ff->parent); in clk_fixed_factor_get_rate()
31 if (IS_ERR_VALUE(rate)) in clk_fixed_factor_get_rate()
32 return rate; in clk_fixed_factor_get_rate()
34 do_div(rate, ff->div); in clk_fixed_factor_get_rate()
36 return rate * ff->mult; in clk_fixed_factor_get_rate()
49 err = clk_get_by_index(dev, 0, &ff->parent); in clk_fixed_factor_ofdata_to_platdata()
53 ff->div = dev_read_u32_default(dev, "clock-div", 1); in clk_fixed_factor_ofdata_to_platdata()
54 ff->mult = dev_read_u32_default(dev, "clock-mult", 1); in clk_fixed_factor_ofdata_to_platdata()
62 .compatible = "fixed-factor-clock",