Lines Matching refs:div
56 uint8_t div; member
276 uint32_t div, in sam9x60_div_pll_set_div() argument
288 SHIFT_U32(div, core->layout->div_shift) | ena_val); in sam9x60_div_pll_set_div()
302 static TEE_Result sam9x60_div_pll_set(struct sam9x60_div *div) in sam9x60_div_pll_set() argument
304 struct sam9x60_pll_core *core = &div->core; in sam9x60_div_pll_set()
315 if ((val & core->layout->endiv_mask) && cdiv == div->div) in sam9x60_div_pll_set()
318 return sam9x60_div_pll_set_div(core, div->div, 1); in sam9x60_div_pll_set()
323 struct sam9x60_div *div = hw->priv; in sam9x60_div_pll_prepare() local
325 return sam9x60_div_pll_set(div); in sam9x60_div_pll_prepare()
330 struct sam9x60_div *div = hw->priv; in sam9x60_div_pll_unprepare() local
331 struct sam9x60_pll_core *core = &div->core; in sam9x60_div_pll_unprepare()
347 struct sam9x60_div *div = hw->priv; in sam9x60_div_pll_recalc_rate() local
349 return UDIV_ROUND_NEAREST(parent_rate, div->div + 1); in sam9x60_div_pll_recalc_rate()
356 struct sam9x60_div *div = hw->priv; in sam9x60_div_pll_set_rate() local
359 div->div = UDIV_ROUND_NEAREST(parent_rate, rate) - 1; in sam9x60_div_pll_set_rate()
361 div->div = 0; in sam9x60_div_pll_set_rate()
370 struct sam9x60_div *div = hw->priv; in sam9x60_div_pll_set_rate_chg() local
371 struct sam9x60_pll_core *core = &div->core; in sam9x60_div_pll_set_rate_chg()
377 div->div = UDIV_ROUND_NEAREST(parent_rate, rate) - 1; in sam9x60_div_pll_set_rate_chg()
379 div->div = 0; in sam9x60_div_pll_set_rate_chg()
388 if (cdiv == div->div) in sam9x60_div_pll_set_rate_chg()
391 return sam9x60_div_pll_set_div(core, div->div, 0); in sam9x60_div_pll_set_rate_chg()
491 struct sam9x60_div *div = NULL; in sam9x60_clk_register_div_pll() local
498 div = calloc(1, sizeof(*div)); in sam9x60_clk_register_div_pll()
499 if (!div) in sam9x60_clk_register_div_pll()
507 free(div); in sam9x60_clk_register_div_pll()
511 hw->priv = div; in sam9x60_clk_register_div_pll()
513 div->core.id = id; in sam9x60_clk_register_div_pll()
514 div->core.charac = charac; in sam9x60_clk_register_div_pll()
515 div->core.layout = layout; in sam9x60_clk_register_div_pll()
516 div->core.base = pmc->base; in sam9x60_clk_register_div_pll()
517 div->safe_div = safe_div; in sam9x60_clk_register_div_pll()
522 div->div = (val >> PMC_PLL_CTRL0_DIV_POS) & PMC_PLL_CTRL0_DIV_MASK; in sam9x60_clk_register_div_pll()
524 div->core.hw = hw; in sam9x60_clk_register_div_pll()
527 free(div); in sam9x60_clk_register_div_pll()