Lines Matching refs:pll

286 	struct pll_data *pll;  in clk_sysclk_recalc()  local
302 pll = clk->parent->pll_data; in clk_sysclk_recalc()
306 rate = pll->input_rate; in clk_sysclk_recalc()
311 v = __raw_readl(pll->base + clk->div_reg); in clk_sysclk_recalc()
313 plldiv = (v & pll->div_ratio_mask) + 1; in clk_sysclk_recalc()
324 struct pll_data *pll; in davinci_set_sysclk_rate() local
344 pll = clk->parent->pll_data; in davinci_set_sysclk_rate()
350 input = pll->input_rate; in davinci_set_sysclk_rate()
370 if (ratio > pll->div_ratio_mask) in davinci_set_sysclk_rate()
374 v = __raw_readl(pll->base + PLLSTAT); in davinci_set_sysclk_rate()
377 v = __raw_readl(pll->base + clk->div_reg); in davinci_set_sysclk_rate()
378 v &= ~pll->div_ratio_mask; in davinci_set_sysclk_rate()
380 __raw_writel(v, pll->base + clk->div_reg); in davinci_set_sysclk_rate()
382 v = __raw_readl(pll->base + PLLCMD); in davinci_set_sysclk_rate()
384 __raw_writel(v, pll->base + PLLCMD); in davinci_set_sysclk_rate()
387 v = __raw_readl(pll->base + PLLSTAT); in davinci_set_sysclk_rate()
412 struct pll_data *pll = clk->pll_data; in clk_pllclk_recalc() local
415 ctrl = __raw_readl(pll->base + PLLCTL); in clk_pllclk_recalc()
416 rate = pll->input_rate = clk->parent->rate; in clk_pllclk_recalc()
420 mult = __raw_readl(pll->base + PLLM); in clk_pllclk_recalc()
428 if (pll->flags & PLL_HAS_PREDIV) { in clk_pllclk_recalc()
429 prediv = __raw_readl(pll->base + PREDIV); in clk_pllclk_recalc()
431 prediv = (prediv & pll->div_ratio_mask) + 1; in clk_pllclk_recalc()
437 if (cpu_is_davinci_dm355() && pll->num == 1) in clk_pllclk_recalc()
440 if (pll->flags & PLL_HAS_POSTDIV) { in clk_pllclk_recalc()
441 postdiv = __raw_readl(pll->base + POSTDIV); in clk_pllclk_recalc()
443 postdiv = (postdiv & pll->div_ratio_mask) + 1; in clk_pllclk_recalc()
455 pll->num, clk->parent->rate / 1000000); in clk_pllclk_recalc()
479 int davinci_set_pllrate(struct pll_data *pll, unsigned int prediv, in davinci_set_pllrate() argument
486 if (pll->base == NULL) in davinci_set_pllrate()
508 ctrl = __raw_readl(pll->base + PLLCTL); in davinci_set_pllrate()
512 __raw_writel(ctrl, pll->base + PLLCTL); in davinci_set_pllrate()
518 __raw_writel(ctrl, pll->base + PLLCTL); in davinci_set_pllrate()
520 if (pll->flags & PLL_HAS_PREDIV) in davinci_set_pllrate()
521 __raw_writel(prediv, pll->base + PREDIV); in davinci_set_pllrate()
523 __raw_writel(mult, pll->base + PLLM); in davinci_set_pllrate()
525 if (pll->flags & PLL_HAS_POSTDIV) in davinci_set_pllrate()
526 __raw_writel(postdiv, pll->base + POSTDIV); in davinci_set_pllrate()
532 __raw_writel(ctrl, pll->base + PLLCTL); in davinci_set_pllrate()
538 __raw_writel(ctrl, pll->base + PLLCTL); in davinci_set_pllrate()
603 struct pll_data *pll = clk->pll_data; in davinci_clk_init() local
605 if (!pll->div_ratio_mask) in davinci_clk_init()
606 pll->div_ratio_mask = PLLDIV_RATIO_MASK; in davinci_clk_init()
608 if (pll->phys_base && !pll->base) { in davinci_clk_init()
609 pll->base = ioremap(pll->phys_base, SZ_4K); in davinci_clk_init()
610 WARN_ON(!pll->base); in davinci_clk_init()