Lines Matching full:clk
30 #include <dev/clk/clk.h>
32 #include <dev/clk/allwinner/aw_clk.h>
33 #include <dev/clk/allwinner/aw_clk_nm.h>
40 * clk = clkin / n / m
70 aw_clk_nm_init(struct clknode *clk, device_t dev) in aw_clk_nm_init() argument
75 sc = clknode_get_softc(clk); in aw_clk_nm_init()
79 DEVICE_LOCK(clk); in aw_clk_nm_init()
80 READ4(clk, sc->offset, &val); in aw_clk_nm_init()
81 DEVICE_UNLOCK(clk); in aw_clk_nm_init()
86 clknode_init_parent_idx(clk, idx); in aw_clk_nm_init()
91 aw_clk_nm_set_gate(struct clknode *clk, bool enable) in aw_clk_nm_set_gate() argument
96 sc = clknode_get_softc(clk); in aw_clk_nm_set_gate()
101 DEVICE_LOCK(clk); in aw_clk_nm_set_gate()
102 READ4(clk, sc->offset, &val); in aw_clk_nm_set_gate()
107 WRITE4(clk, sc->offset, val); in aw_clk_nm_set_gate()
108 DEVICE_UNLOCK(clk); in aw_clk_nm_set_gate()
114 aw_clk_nm_set_mux(struct clknode *clk, int index) in aw_clk_nm_set_mux() argument
119 sc = clknode_get_softc(clk); in aw_clk_nm_set_mux()
124 DEVICE_LOCK(clk); in aw_clk_nm_set_mux()
125 READ4(clk, sc->offset, &val); in aw_clk_nm_set_mux()
128 WRITE4(clk, sc->offset, val); in aw_clk_nm_set_mux()
129 DEVICE_UNLOCK(clk); in aw_clk_nm_set_mux()
173 aw_clk_nm_set_freq(struct clknode *clk, uint64_t fparent, uint64_t *fout, in aw_clk_nm_set_freq() argument
183 sc = clknode_get_softc(clk); in aw_clk_nm_set_freq()
189 p_names = clknode_get_parent_names(clk); in aw_clk_nm_set_freq()
190 for (p_idx = 0; p_idx != clknode_get_parents_num(clk); p_idx++) { in aw_clk_nm_set_freq()
204 p_idx = clknode_get_parent_idx(clk); in aw_clk_nm_set_freq()
205 p_clk = clknode_get_parent(clk); in aw_clk_nm_set_freq()
234 clknode_set_parent_by_idx(clk, best_parent); in aw_clk_nm_set_freq()
236 DEVICE_LOCK(clk); in aw_clk_nm_set_freq()
237 READ4(clk, sc->offset, &val); in aw_clk_nm_set_freq()
246 WRITE4(clk, sc->offset, val); in aw_clk_nm_set_freq()
247 DEVICE_UNLOCK(clk); in aw_clk_nm_set_freq()
251 READ4(clk, sc->offset, &val); in aw_clk_nm_set_freq()
265 aw_clk_nm_recalc(struct clknode *clk, uint64_t *freq) in aw_clk_nm_recalc() argument
270 sc = clknode_get_softc(clk); in aw_clk_nm_recalc()
272 DEVICE_LOCK(clk); in aw_clk_nm_recalc()
273 READ4(clk, sc->offset, &val); in aw_clk_nm_recalc()
274 DEVICE_UNLOCK(clk); in aw_clk_nm_recalc()
304 struct clknode *clk; in aw_clk_nm_register() local
307 clk = clknode_create(clkdom, &aw_nm_clknode_class, &clkdef->clkdef); in aw_clk_nm_register()
308 if (clk == NULL) in aw_clk_nm_register()
311 sc = clknode_get_softc(clk); in aw_clk_nm_register()
349 clknode_register(clkdom, clk); in aw_clk_nm_register()