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_frac.h>
37 /* #define dprintf(format, arg...) printf("%s:(%s)" format, __func__, clknode_get_name(clk), arg) */
43 * clk = (24Mhz * n) / m in integer mode
44 * clk = frac_out1 or frac_out2 in fractional mode
77 aw_clk_frac_init(struct clknode *clk, device_t dev) in aw_clk_frac_init() argument
82 sc = clknode_get_softc(clk); in aw_clk_frac_init()
86 DEVICE_LOCK(clk); in aw_clk_frac_init()
87 READ4(clk, sc->offset, &val); in aw_clk_frac_init()
88 DEVICE_UNLOCK(clk); in aw_clk_frac_init()
94 clknode_init_parent_idx(clk, idx); in aw_clk_frac_init()
99 aw_clk_frac_set_gate(struct clknode *clk, bool enable) in aw_clk_frac_set_gate() argument
104 sc = clknode_get_softc(clk); in aw_clk_frac_set_gate()
110 DEVICE_LOCK(clk); in aw_clk_frac_set_gate()
111 READ4(clk, sc->offset, &val); in aw_clk_frac_set_gate()
116 WRITE4(clk, sc->offset, val); in aw_clk_frac_set_gate()
117 DEVICE_UNLOCK(clk); in aw_clk_frac_set_gate()
123 aw_clk_frac_set_mux(struct clknode *clk, int index) in aw_clk_frac_set_mux() argument
128 sc = clknode_get_softc(clk); in aw_clk_frac_set_mux()
134 DEVICE_LOCK(clk); in aw_clk_frac_set_mux()
135 READ4(clk, sc->offset, &val); in aw_clk_frac_set_mux()
138 WRITE4(clk, sc->offset, val); in aw_clk_frac_set_mux()
139 DEVICE_UNLOCK(clk); in aw_clk_frac_set_mux()
185 aw_clk_frac_set_freq(struct clknode *clk, uint64_t fparent, uint64_t *fout, in aw_clk_frac_set_freq() argument
193 sc = clknode_get_softc(clk); in aw_clk_frac_set_freq()
242 __func__, best, clknode_get_name(clk), in aw_clk_frac_set_freq()
263 DEVICE_LOCK(clk); in aw_clk_frac_set_freq()
264 READ4(clk, sc->offset, &val); in aw_clk_frac_set_freq()
267 WRITE4(clk, sc->offset, val); in aw_clk_frac_set_freq()
288 WRITE4(clk, sc->offset, val); in aw_clk_frac_set_freq()
292 WRITE4(clk, sc->offset, val); in aw_clk_frac_set_freq()
293 DEVICE_UNLOCK(clk); in aw_clk_frac_set_freq()
296 READ4(clk, sc->offset, &val); in aw_clk_frac_set_freq()
309 aw_clk_frac_recalc(struct clknode *clk, uint64_t *freq) in aw_clk_frac_recalc() argument
314 sc = clknode_get_softc(clk); in aw_clk_frac_recalc()
316 DEVICE_LOCK(clk); in aw_clk_frac_recalc()
317 READ4(clk, sc->offset, &val); in aw_clk_frac_recalc()
318 DEVICE_UNLOCK(clk); in aw_clk_frac_recalc()
350 struct clknode *clk; in aw_clk_frac_register() local
353 clk = clknode_create(clkdom, &aw_frac_clknode_class, &clkdef->clkdef); in aw_clk_frac_register()
354 if (clk == NULL) in aw_clk_frac_register()
357 sc = clknode_get_softc(clk); in aw_clk_frac_register()
391 clknode_register(clkdom, clk); in aw_clk_frac_register()