Lines Matching +full:div +full:- +full:clk
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
34 #include <dev/clk/clk.h>
36 #include <dev/clk/xilinx/zynqmp_clk_fixed.h>
47 zynqmp_clk_fixed_init(struct clknode *clk, device_t dev) in zynqmp_clk_fixed_init() argument
50 clknode_init_parent_idx(clk, 0); in zynqmp_clk_fixed_init()
55 zynqmp_clk_fixed_recalc(struct clknode *clk, uint64_t *freq) in zynqmp_clk_fixed_recalc() argument
58 uint32_t mult, div; in zynqmp_clk_fixed_recalc() local
61 sc = clknode_get_softc(clk); in zynqmp_clk_fixed_recalc()
62 rv = ZYNQMP_FIRMWARE_CLOCK_GET_FIXEDFACTOR(sc->firmware, sc->id, &mult, &div); in zynqmp_clk_fixed_recalc()
66 clknode_get_name(clk)); in zynqmp_clk_fixed_recalc()
70 *freq = (*freq * mult) / div; in zynqmp_clk_fixed_recalc()
87 struct clknode *clk; in zynqmp_clk_fixed_register() local
91 fw_clk_id = clkdef->id - 1; in zynqmp_clk_fixed_register()
92 clkdef->id = 0; in zynqmp_clk_fixed_register()
93 clk = clknode_create(clkdom, &zynqmp_clk_fixed_clknode_class, clkdef); in zynqmp_clk_fixed_register()
94 if (clk == NULL) in zynqmp_clk_fixed_register()
96 sc = clknode_get_softc(clk); in zynqmp_clk_fixed_register()
97 sc->id = fw_clk_id; in zynqmp_clk_fixed_register()
98 sc->firmware = fw; in zynqmp_clk_fixed_register()
99 clknode_register(clkdom, clk); in zynqmp_clk_fixed_register()