Lines Matching +full:tbg +full:- +full:b +full:- +full:p
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
71 { -1, 0 }
83 static const struct a37x0_tbg_def tbg[NUM_TBG] = { variable
84 {"TBG-A-P", TBG_A_REFDIV, TBG_A_FBDIV, TBG_CTRL8, TBG_A_VCODIV_DIFF, 9},
85 {"TBG-B-P", TBG_B_REFDIV, TBG_B_FBDIV, TBG_CTRL8,
87 {"TBG-A-S", TBG_A_REFDIV, TBG_A_FBDIV, TBG_CTRL1, TBG_A_VCODIV_SEL, 9},
88 {"TBG-B-S", TBG_B_REFDIV, TBG_B_FBDIV, TBG_CTRL1, TBG_B_VCODIV_SEL, 25}
122 *val = bus_read_4(sc->res, offset); in a37x0_tbg_read_4()
139 sc->dev = dev; in a37x0_tbg_attach()
141 if (bus_alloc_resources(dev, a37x0_tbg_clk_spec, &sc->res) != 0) { in a37x0_tbg_attach()
146 sc->clkdom = clkdom_create(dev); in a37x0_tbg_attach()
147 if (sc->clkdom == NULL) { in a37x0_tbg_attach()
155 bus_release_resources(dev, a37x0_tbg_clk_spec, &sc->res); in a37x0_tbg_attach()
165 def.clkdef.name = tbg[i].name; in a37x0_tbg_attach()
167 def.vcodiv.offset = tbg[i].vcodiv_offset; in a37x0_tbg_attach()
168 def.vcodiv.shift = tbg[i].vcodiv_shift; in a37x0_tbg_attach()
170 def.refdiv.shift = tbg[i].refdiv_shift; in a37x0_tbg_attach()
172 def.fbdiv.shift = tbg[i].fbdiv_shift; in a37x0_tbg_attach()
175 def.tbg_bypass.shift = tbg[i].tbg_bypass_en; in a37x0_tbg_attach()
178 error = a37x0_tbg_pll_clk_register(sc->clkdom, &def); in a37x0_tbg_attach()
183 &sc->res); in a37x0_tbg_attach()
188 error = clkdom_finit(sc->clkdom); in a37x0_tbg_attach()
192 bus_release_resources(dev, a37x0_tbg_clk_spec, &sc->res); in a37x0_tbg_attach()
197 clkdom_dump(sc->clkdom); in a37x0_tbg_attach()
209 if (!ofw_bus_is_compatible(dev, "marvell,armada-3700-tbg-clock")) in a37x0_tbg_probe()