Lines Matching defs:clk
39 #include <dev/extres/clk/clk_div.h>
54 static int clknode_div_init(struct clknode *clk, device_t dev);
55 static int clknode_div_recalc(struct clknode *clk, uint64_t *req);
84 clknode_div_init(struct clknode *clk, device_t dev)
91 sc = clknode_get_softc(clk);
93 DEVICE_LOCK(clk);
94 rv = RD4(clk, sc->offset, ®);
95 DEVICE_UNLOCK(clk);
104 clknode_init_parent_idx(clk, 0);
109 clknode_div_recalc(struct clknode *clk, uint64_t *freq)
113 sc = clknode_get_softc(clk);
115 printf("%s: %s divider is zero!\n", clknode_get_name(clk),
125 clknode_div_set_freq(struct clknode *clk, uint64_t fin, uint64_t *fout,
133 sc = clknode_get_softc(clk);
152 clknode_get_name(clk), __func__);
164 clknode_get_name(clk), __func__, hw_i_div);
180 DEVICE_LOCK(clk);
181 rv = MD4(clk, sc->offset,
185 DEVICE_UNLOCK(clk);
188 RD4(clk, sc->offset, ®);
189 DEVICE_UNLOCK(clk);
201 struct clknode *clk;
204 clk = clknode_create(clkdom, &clknode_div_class, &clkdef->clkdef);
205 if (clk == NULL)
208 sc = clknode_get_softc(clk);
218 clknode_register(clkdom, clk);