/freebsd/sys/dev/clk/ |
H A D | clk.h | 81 struct clkdom *clkdom_create(device_t dev); 82 int clkdom_finit(struct clkdom *clkdom); 83 void clkdom_dump(struct clkdom * clkdom); 84 void clkdom_unlock(struct clkdom *clkdom); 85 void clkdom_xlock(struct clkdom *clkdom); 90 struct clkdom *clkdom_get_by_dev(const device_t dev); 92 struct clknode *clknode_create(struct clkdom *clkdom, 96 typedef int clknode_ofw_mapper_func(struct clkdom *clkdom, uint32_t ncells, 98 void clkdom_set_ofw_mapper(struct clkdom *clkdom, clknode_ofw_mapper_func *cmp); 113 struct clknode *clknode_find_by_id(struct clkdom *clkdom, intptr_t id); [all …]
|
H A D | clk.c | 59 struct clkdom; 95 struct clkdom *clkdom; /* Owning clock domain */ member 394 struct clkdom *clkdom; in clkdom_create() local 414 clkdom_unlock(struct clkdom *clkdom) in clkdom_unlock() argument 421 clkdom_xlock(struct clkdom *clkdom) in clkdom_xlock() argument 433 clkdom_finit(struct clkdom *clkdom) in clkdom_finit() argument 506 clkdom_dump(struct clkdom * clkdom) in clkdom_dump() argument 581 KASSERT(clkdom != clknode->clkdom, in clknode_create() 632 clknode->clkdom = clkdom; in clknode_create() 1498 struct clkdom *clkdom; in clk_get_by_ofw_index_prop() local [all …]
|
H A D | clk_fixed.c | 120 clknode_fixed_register(struct clkdom *clkdom, struct clk_fixed_def *clkdef) in clknode_fixed_register() argument 125 clk = clknode_create(clkdom, &clknode_fixed_class, &clkdef->clkdef); in clknode_fixed_register() 135 clknode_register(clkdom, clk); in clknode_fixed_register() 149 struct clkdom *clkdom; member 250 sc->clkdom = clkdom_create(dev); in clk_fixed_attach() 251 KASSERT(sc->clkdom != NULL, ("Clock domain is NULL")); in clk_fixed_attach() 253 rv = clknode_fixed_register(sc->clkdom, &def); in clk_fixed_attach() 260 rv = clkdom_finit(sc->clkdom); in clk_fixed_attach() 268 clkdom_dump(sc->clkdom); in clk_fixed_attach()
|
/freebsd/sys/arm/mv/clk/ |
H A D | periph_clk_d.c | 59 a37x0_periph_d_register_full_clk_dd(struct clkdom *clkdom, in a37x0_periph_d_register_full_clk_dd() argument 80 error = a37x0_periph_create_mux(clkdom, in a37x0_periph_d_register_full_clk_dd() 86 error = a37x0_periph_create_div(clkdom, div1, in a37x0_periph_d_register_full_clk_dd() 92 error = a37x0_periph_create_div(clkdom, div2, in a37x0_periph_d_register_full_clk_dd() 107 error = a37x0_periph_create_gate(clkdom, gate, in a37x0_periph_d_register_full_clk_dd() 124 a37x0_periph_d_register_full_clk(struct clkdom *clkdom, in a37x0_periph_d_register_full_clk() argument 148 error = a37x0_periph_create_div(clkdom, div, in a37x0_periph_d_register_full_clk() 179 a37x0_periph_d_register_periph_cpu(struct clkdom *clkdom, in a37x0_periph_d_register_periph_cpu() argument 201 error = a37x0_periph_create_div(clkdom, div, in a37x0_periph_d_register_periph_cpu() 223 a37x0_periph_d_register_mdd(struct clkdom *clkdom, in a37x0_periph_d_register_mdd() argument [all …]
|
H A D | periph.c | 51 a37x0_periph_create_mux(struct clkdom *clkdom, in a37x0_periph_create_mux() argument 58 error = clknode_mux_register(clkdom, mux); in a37x0_periph_create_mux() 68 a37x0_periph_create_div(struct clkdom *clkdom, in a37x0_periph_create_div() argument 75 error = clknode_div_register(clkdom, div); in a37x0_periph_create_div() 85 a37x0_periph_create_gate(struct clkdom *clkdom, in a37x0_periph_create_gate() argument 92 error = clknode_gate_register(clkdom, gate); in a37x0_periph_create_gate()
|
H A D | a37x0_periph_clk_driver.c | 77 sc->clkdom = clkdom_create(dev); in a37x0_periph_clk_attach() 78 if (sc->clkdom == NULL) { in a37x0_periph_clk_attach() 104 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 111 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 118 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 125 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 132 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 139 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 146 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() 153 sc->clkdom, &dev_defs[i]); in a37x0_periph_clk_attach() [all …]
|
H A D | periph_clk_mux_gate.c | 59 a37x0_periph_register_mux_gate(struct clkdom *clkdom, in a37x0_periph_register_mux_gate() argument 81 error = clknode_fixed_register(clkdom, &fixed); in a37x0_periph_register_mux_gate() 89 error = a37x0_periph_create_mux(clkdom, mux, in a37x0_periph_register_mux_gate() 95 error = a37x0_periph_create_gate(clkdom, gate, in a37x0_periph_register_mux_gate() 111 a37x0_periph_register_mux_gate_fixed(struct clkdom * clkdom, in a37x0_periph_register_mux_gate_fixed() argument 133 error = clknode_fixed_register(clkdom, fixed1); in a37x0_periph_register_mux_gate_fixed() 141 error = a37x0_periph_create_mux(clkdom, mux, in a37x0_periph_register_mux_gate_fixed() 147 error = a37x0_periph_create_gate(clkdom, gate, in a37x0_periph_register_mux_gate_fixed() 156 error = clknode_fixed_register(clkdom, fixed2); in a37x0_periph_register_mux_gate_fixed()
|
H A D | a37x0_xtal.c | 54 struct clkdom *clkdom; member 106 sc->clkdom = clkdom_create(dev); in a37x0_xtal_attach() 107 error = clknode_fixed_register(sc->clkdom, &def); in a37x0_xtal_attach() 113 error = clkdom_finit(sc->clkdom); in a37x0_xtal_attach() 120 clkdom_dump(sc->clkdom); in a37x0_xtal_attach()
|
H A D | armada38x_coreclk.c | 59 struct clkdom *clkdom; member 156 rv = armada38x_gen_register(sc->clkdom, &gen_nodes[i]); in armada38x_coreclk_create_coreclk() 179 sc->clkdom = clkdom_create(dev); in armada38x_coreclk_attach() 180 if (NULL == sc->clkdom) { in armada38x_coreclk_attach() 191 if (clkdom_finit(sc->clkdom) != 0) in armada38x_coreclk_attach() 195 clkdom_dump(sc->clkdom); in armada38x_coreclk_attach()
|
H A D | periph_clk_fixed.c | 58 a37x0_periph_fixed_register_fixed(struct clkdom *clkdom, in a37x0_periph_fixed_register_fixed() argument 83 error = clknode_fixed_register(clkdom, &fixed_def); in a37x0_periph_fixed_register_fixed() 88 error = a37x0_periph_create_mux(clkdom, mux, in a37x0_periph_fixed_register_fixed() 94 error = a37x0_periph_create_gate(clkdom, gate, in a37x0_periph_fixed_register_fixed()
|
H A D | a37x0_tbg.c | 65 struct clkdom *clkdom; member 146 sc->clkdom = clkdom_create(dev); in a37x0_tbg_attach() 147 if (sc->clkdom == NULL) { in a37x0_tbg_attach() 178 error = a37x0_tbg_pll_clk_register(sc->clkdom, &def); in a37x0_tbg_attach() 188 error = clkdom_finit(sc->clkdom); in a37x0_tbg_attach() 197 clkdom_dump(sc->clkdom); in a37x0_tbg_attach()
|
/freebsd/sys/arm/mv/ |
H A D | mv_ap806_clock.c | 121 struct clkdom *clkdom; in mv_ap806_clock_attach() local 188 clkdom = clkdom_create(dev); in mv_ap806_clock_attach() 190 clknode_fixed_register(clkdom, &ap806_clk_cluster_0); in mv_ap806_clock_attach() 191 clknode_fixed_register(clkdom, &ap806_clk_cluster_1); in mv_ap806_clock_attach() 192 clknode_fixed_register(clkdom, &ap806_clk_fixed); in mv_ap806_clock_attach() 193 clknode_fixed_register(clkdom, &ap806_clk_mss); in mv_ap806_clock_attach() 194 clknode_fixed_register(clkdom, &ap806_clk_sdio); in mv_ap806_clock_attach() 196 clkdom_finit(clkdom); in mv_ap806_clock_attach() 199 clkdom_dump(clkdom); in mv_ap806_clock_attach()
|
H A D | mv_cp110_clock.c | 164 cp110_ofw_map(struct clkdom *clkdom, uint32_t ncells, in cp110_ofw_map() argument 176 *clk = clknode_find_by_id(clkdom, id); in cp110_ofw_map() 185 struct clkdom *clkdom; in mv_cp110_clock_attach() local 207 clkdom = clkdom_create(dev); in mv_cp110_clock_attach() 208 clkdom_set_ofw_mapper(clkdom, cp110_ofw_map); in mv_cp110_clock_attach() 212 clknode_fixed_register(clkdom, &cp110_clk_pll_0); in mv_cp110_clock_attach() 224 clknode_fixed_register(clkdom, &cp110_clk_core); in mv_cp110_clock_attach() 230 clknode_fixed_register(clkdom, &cp110_clk_sdio); in mv_cp110_clock_attach() 267 clknode_gate_register(clkdom, &def); in mv_cp110_clock_attach() 270 clkdom_finit(clkdom); in mv_cp110_clock_attach() [all …]
|
/freebsd/sys/arm/ti/clk/ |
H A D | ti_clkctrl.c | 84 struct clkdom *clkdom; member 90 int clkctrl_ofw_map(struct clkdom *clkdom, uint32_t ncells, 153 sc->clkdom = clkdom_create(sc->dev); in ti_clkctrl_attach() 154 if (sc->clkdom == NULL) { in ti_clkctrl_attach() 159 clkdom_set_ofw_mapper(sc->clkdom, clkctrl_ofw_map); in ti_clkctrl_attach() 229 err = clkdom_finit(sc->clkdom); in ti_clkctrl_attach() 255 clkctrl_ofw_map(struct clkdom *clkdom, uint32_t ncells, in clkctrl_ofw_map() argument 258 *clk = clknode_find_by_id(clkdom, 1); in clkctrl_ofw_map() 260 *clk = clknode_find_by_id(clkdom, cells[0]); in clkctrl_ofw_map() 266 *clk = clknode_find_by_id(clkdom, cells[0]+1); in clkctrl_ofw_map() [all …]
|
/freebsd/sys/dev/iicbus/pmic/rockchip/ |
H A D | rk8xx_clocks.c | 96 struct clkdom *clkdom; in rk8xx_attach_clocks() local 110 clkdom = clkdom_create(sc->dev); in rk8xx_attach_clocks() 115 clk = clknode_create(clkdom, &rk8xx_clk_clknode_class_0, &clkidef); in rk8xx_attach_clocks() 122 clknode_register(clkdom, clk); in rk8xx_attach_clocks() 127 clk = clknode_create(clkdom, &rk8xx_clk_clknode_class_1, &clkidef); in rk8xx_attach_clocks() 134 clknode_register(clkdom, clk); in rk8xx_attach_clocks() 136 rv = clkdom_finit(clkdom); in rk8xx_attach_clocks() 144 clkdom_dump(clkdom); in rk8xx_attach_clocks()
|
/freebsd/sys/dev/clk/rockchip/ |
H A D | rk_cru.c | 223 sc->clkdom = clkdom_create(dev); in rk_cru_attach() 224 if (sc->clkdom == NULL) in rk_cru_attach() 232 rk3066_clk_pll_register(sc->clkdom, in rk_cru_attach() 236 rk3328_clk_pll_register(sc->clkdom, in rk_cru_attach() 240 rk3399_clk_pll_register(sc->clkdom, in rk_cru_attach() 251 rk_clk_armclk_register(sc->clkdom, in rk_cru_attach() 255 clknode_fixed_register(sc->clkdom, in rk_cru_attach() 259 rk_clk_fract_register(sc->clkdom, in rk_cru_attach() 263 clknode_link_register(sc->clkdom, in rk_cru_attach() 275 if (clkdom_finit(sc->clkdom) != 0) in rk_cru_attach() [all …]
|
H A D | rk_clk_pll.h | 62 int rk3066_clk_pll_register(struct clkdom *clkdom, struct rk_clk_pll_def *clkdef); 63 int rk3328_clk_pll_register(struct clkdom *clkdom, struct rk_clk_pll_def *clkdef); 64 int rk3399_clk_pll_register(struct clkdom *clkdom, struct rk_clk_pll_def *clkdef);
|
/freebsd/sys/dev/clk/allwinner/ |
H A D | aw_ccung.c | 199 clknode_gate_register(sc->clkdom, &def); in aw_ccung_register_gates() 278 sc->clkdom = clkdom_create(dev); in aw_ccung_attach() 279 if (sc->clkdom == NULL) in aw_ccung_attach() 293 clknode_fixed_register(sc->clkdom, in aw_ccung_attach() 300 aw_clk_nm_register(sc->clkdom, sc->clks[i].clk.nm); in aw_ccung_attach() 303 aw_clk_m_register(sc->clkdom, sc->clks[i].clk.m); in aw_ccung_attach() 306 aw_clk_prediv_mux_register(sc->clkdom, in aw_ccung_attach() 326 if (clkdom_finit(sc->clkdom) != 0) in aw_ccung_attach() 329 clkdom_xlock(sc->clkdom); in aw_ccung_attach() 331 clkdom_unlock(sc->clkdom); in aw_ccung_attach() [all …]
|
/freebsd/sys/arm64/qoriq/clk/ |
H A D | qoriq_clkgen.c | 67 qoriq_clkgen_ofw_mapper(struct clkdom *clkdom, uint32_t ncells, in qoriq_clkgen_ofw_mapper() argument 196 rv = clknode_fixed_register(sc->clkdom, &def); in qoriq_clkgen_create_sysclk() 215 rv = clknode_fixed_register(sc->clkdom, &def); in qoriq_clkgen_create_sysclk() 234 rv = clknode_fixed_register(sc->clkdom, &def); in qoriq_clkgen_create_sysclk() 255 sc->clkdom = clkdom_create(dev); in qoriq_clkgen_attach() 256 if (sc->clkdom == NULL) in qoriq_clkgen_attach() 280 error = qoriq_clk_pll_register(sc->clkdom, sc->cga_pll[i]); in qoriq_clkgen_attach() 292 error = clknode_mux_register(sc->clkdom, sc->mux[i]); in qoriq_clkgen_attach() 307 clkdom_set_ofw_mapper(sc->clkdom, qoriq_clkgen_ofw_mapper); in qoriq_clkgen_attach() 309 if (clkdom_finit(sc->clkdom) != 0) in qoriq_clkgen_attach() [all …]
|
/freebsd/sys/dev/clk/xilinx/ |
H A D | zynqmp_clock.c | 105 struct clkdom *clkdom; member 136 zynqmp_clk_register(struct clkdom *clkdom, device_t fw, struct zynqmp_clk *clkdef) in zynqmp_clk_register() argument 166 zynqmp_clk_mux_register(clkdom, fw, zynqclk); in zynqmp_clk_register() 171 zynqmp_clk_pll_register(clkdom, fw, zynqclk); in zynqmp_clk_register() 220 clknode_register(clkdom, clknode); in zynqmp_clk_register() 325 zynqmp_clock_ofw_map(struct clkdom *clkdom, uint32_t ncells, in zynqmp_clock_ofw_map() argument 427 sc->clkdom = clkdom_create(sc->dev); in zynqmp_fw_clk_get_all() 428 if (sc->clkdom == NULL) in zynqmp_fw_clk_get_all() 441 clknode_fixed_register(sc->clkdom, &dummy); in zynqmp_fw_clk_get_all() 455 if (clkdom_finit(sc->clkdom) != 0) in zynqmp_fw_clk_get_all() [all …]
|
/freebsd/sys/arm64/freescale/imx/ |
H A D | imx8mq_ccm.c | 272 struct clkdom *clkdom; member 330 sc->clkdom = clkdom_create(dev); in ccm_attach() 331 if (sc->clkdom == NULL) in ccm_attach() 339 clknode_link_register(sc->clkdom, in ccm_attach() 343 clknode_fixed_register(sc->clkdom, in ccm_attach() 347 imx_clk_mux_register(sc->clkdom, sc->clks[i].clk.mux); in ccm_attach() 350 imx_clk_gate_register(sc->clkdom, sc->clks[i].clk.gate); in ccm_attach() 356 imx_clk_sscg_pll_register(sc->clkdom, sc->clks[i].clk.sscg_pll); in ccm_attach() 362 clknode_div_register(sc->clkdom, sc->clks[i].clk.div); in ccm_attach() 370 if (clkdom_finit(sc->clkdom) != 0) in ccm_attach() [all …]
|
/freebsd/sys/dev/clk/starfive/ |
H A D | jh7110_clk.h | 26 struct clkdom *clkdom; member 65 int jh7110_clk_register(struct clkdom *clkdom, 67 int jh7110_ofw_map(struct clkdom *clkdom, uint32_t ncells, phandle_t *cells,
|
H A D | jh7110_clk_pll.c | 70 struct clkdom *clkdom; member 126 static int jh7110_clk_pll_register(struct clkdom *clkdom, 252 sc->clkdom = clkdom_create(dev); in jh7110_clk_pll_attach() 253 if (sc->clkdom == NULL) { in jh7110_clk_pll_attach() 266 error = jh7110_clk_pll_register(sc->clkdom, &pll_out_clks[i]); in jh7110_clk_pll_attach() 272 error = clkdom_finit(sc->clkdom); in jh7110_clk_pll_attach() 278 clkdom_dump(sc->clkdom); in jh7110_clk_pll_attach() 331 jh7110_clk_pll_register(struct clkdom *clkdom, struct jh7110_clk_def *clkdef) in jh7110_clk_pll_register() argument 336 clk = clknode_create(clkdom, &jh7110_pllnode_class, &clkdef->clkdef); in jh7110_clk_pll_register() 383 clknode_register(clkdom, clk); in jh7110_clk_pll_register()
|
/freebsd/sys/arm64/rockchip/ |
H A D | rk_usb2phy.c | 241 rk_usb2phy_clk_ofw_map(struct clkdom *clkdom, uint32_t ncells, in rk_usb2phy_clk_ofw_map() argument 248 *clk = clknode_find_by_id(clkdom, 0); in rk_usb2phy_clk_ofw_map() 261 struct clkdom *clkdom; in rk_usb2phy_export_clock() local 282 clkdom = clkdom_create(devsc->dev); in rk_usb2phy_export_clock() 283 clkdom_set_ofw_mapper(clkdom, rk_usb2phy_clk_ofw_map); in rk_usb2phy_export_clock() 300 clk = clknode_create(clkdom, &rk_usb2phy_clk_clknode_class, &def); in rk_usb2phy_export_clock() 314 clknode_register(clkdom, clk); in rk_usb2phy_export_clock() 316 if (clkdom_finit(clkdom) != 0) { in rk_usb2phy_export_clock() 322 clkdom_dump(clkdom); in rk_usb2phy_export_clock()
|
/freebsd/sys/arm64/nvidia/tegra210/ |
H A D | tegra210_car.c | 321 rv = clknode_div_register(sc->clkdom, clks + i); in init_divs() 334 rv = clknode_gate_register(sc->clkdom, clks + i); in init_gates() 347 rv = clknode_mux_register(sc->clkdom, clks + i); in init_muxes() 366 rv = clknode_fixed_register(sc->clkdom, &fixed_osc); in init_fixeds() 382 rv = clknode_fixed_register(sc->clkdom, clks + i); in init_fixeds() 440 sc->clkdom = clkdom_create(dev); in register_clocks() 441 if (sc->clkdom == NULL) in register_clocks() 451 clkdom_finit(sc->clkdom); in register_clocks() 452 clkdom_xlock(sc->clkdom); in register_clocks() 454 clkdom_unlock(sc->clkdom); in register_clocks() [all …]
|