/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, 94 struct clknode *clknode_register(struct clkdom *cldom, struct clknode *clk); 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); [all …]
|
H A D | clk.c | 59 struct clkdom; 62 typedef TAILQ_HEAD(clkdom_list, clkdom) clkdom_list_t; 95 struct clkdom *clkdom; /* Owning clock domain */ member 140 struct clkdom { struct 142 TAILQ_ENTRY(clkdom) link; /* Global domain list entry */ argument 331 clknode_find_by_id(struct clkdom *clkdom, intptr_t id) in clknode_find_by_id() argument 337 TAILQ_FOREACH(entry, &clkdom->clknode_list, clkdom_link) { in clknode_find_by_id() 351 struct clkdom * 354 struct clkdom *entry; in clkdom_get_by_dev() 369 clknode_default_ofw_map(struct clkdom *clkdom, uint32_t ncells, in clknode_default_ofw_map() argument [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() 101 error = a37x0_periph_create_mux(clkdom, clk_mux, 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 142 error = a37x0_periph_create_mux(clkdom, tbg_mux, in a37x0_periph_d_register_full_clk() 148 error = a37x0_periph_create_div(clkdom, div, in a37x0_periph_d_register_full_clk() 157 error = a37x0_periph_create_mux(clkdom, clk_mux, in a37x0_periph_d_register_full_clk() [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()
|
H A D | armada38x_gateclk.c | 59 struct clkdom *clkdom; 348 sc->clkdom = clkdom_create(dev); 349 if (sc->clkdom == NULL) { 369 error = clknode_gate_register(sc->clkdom, defp); 376 if (clkdom_finit(sc->clkdom) != 0) 48 struct clkdom *clkdom; global() member
|
/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() 256 clkctrl_ofw_map(struct clkdom *clkdom, uint32_t ncells, in clkctrl_ofw_map() argument 259 *clk = clknode_find_by_id(clkdom, 1); in clkctrl_ofw_map() 261 *clk = clknode_find_by_id(clkdom, cells[0]); in clkctrl_ofw_map() 267 *clk = clknode_find_by_id(clkdom, cells[0]+1); in clkctrl_ofw_map() [all …]
|
/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() 216 clknode_fixed_register(clkdom, &cp110_clk_ppv2_core); in mv_cp110_clock_attach() 220 clknode_fixed_register(clkdom, &cp110_clk_x2core); 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() [all …]
|
/freebsd/sys/arm64/freescale/imx/ |
H A D | imx_ccm.c | 111 sc->clkdom = clkdom_create(dev); in imx_ccm_attach() 112 if (sc->clkdom == NULL) in imx_ccm_attach() 120 clknode_link_register(sc->clkdom, in imx_ccm_attach() 124 clknode_fixed_register(sc->clkdom, in imx_ccm_attach() 128 imx_clk_mux_register(sc->clkdom, sc->clks[i].clk.mux); in imx_ccm_attach() 131 imx_clk_gate_register(sc->clkdom, sc->clks[i].clk.gate); in imx_ccm_attach() 134 imx_clk_composite_register(sc->clkdom, sc->clks[i].clk.composite); in imx_ccm_attach() 137 imx_clk_sscg_pll_register(sc->clkdom, sc->clks[i].clk.sscg_pll); in imx_ccm_attach() 140 imx_clk_frac_pll_register(sc->clkdom, sc->clks[i].clk.frac_pll); in imx_ccm_attach() 143 clknode_div_register(sc->clkdom, sc->clks[i].clk.div); in imx_ccm_attach() [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/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() 287 clknode_mux_register(sc->clkdom, sc->clks[i].clk.mux); in aw_ccung_attach() 290 clknode_div_register(sc->clkdom, sc->clks[i].clk.div); in aw_ccung_attach() 293 clknode_fixed_register(sc->clkdom, in aw_ccung_attach() 297 aw_clk_nkmp_register(sc->clkdom, sc->clks[i].clk.nkmp); 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() [all …]
|
/freebsd/sys/dev/clk/rockchip/ |
H A D | rk_cru.c | 198 rk_clk_gate_register(sc->clkdom, &def); in rk_cru_register_gates() 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() 244 rk_clk_composite_register(sc->clkdom, in rk_cru_attach() 248 rk_clk_mux_register(sc->clkdom, sc->clks[i].clk.mux); 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() [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/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 81 *clk = clknode_find_by_id(clkdom, QORIQ_CLK_ID(cells[0], cells[1])); in qoriq_clkgen_ofw_mapper() 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() 267 error = qoriq_clk_pll_register(sc->clkdom, sc->pltfrm_pll_def); 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() [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() 176 zynqmp_clk_fixed_register(clkdom, fw, zynqclk); in zynqmp_clk_register() 181 zynqmp_clk_div_register(clkdom, fw, zynqclk, CLK_DIV_TYPE_DIV0); in zynqmp_clk_register() 186 zynqmp_clk_div_register(clkdom, fw, zynqclk, CLK_DIV_TYPE_DIV1); in zynqmp_clk_register() 191 zynqmp_clk_gate_register(clkdom, fw, zynqclk); in zynqmp_clk_register() 213 clknode = clknode_create(clkdom, &zynqmp_clk_clknode_class, &clkdef->clkdef); in zynqmp_clk_register() 220 clknode_register(clkdom, clknode); in zynqmp_clk_register() [all …]
|
/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() 371 rv = clknode_fixed_register(sc->clkdom, &fixed_osc_div); in init_fixeds() 377 rv = clknode_fixed_register(sc->clkdom, &fixed_clk_m); 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() [all …]
|
/freebsd/sys/arm/allwinner/ |
H A D | aw_gmacclk.c | 178 struct clkdom *clkdom; in aw_gmacclk_attach() local 200 clkdom = clkdom_create(dev); in aw_gmacclk_attach() 222 clk = clknode_create(clkdom, &aw_gmacclk_clknode_class, &def); in aw_gmacclk_attach() 236 clknode_register(clkdom, clk); in aw_gmacclk_attach() 238 if (clkdom_finit(clkdom) != 0) { in aw_gmacclk_attach() 245 clkdom_dump(clkdom); in aw_gmacclk_attach()
|