Lines Matching refs:fll_div
679 static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
708 fll_div->fllclk_div = div >> 2;
711 fll_div->fll_slow_lock_ref = 1;
713 fll_div->fll_slow_lock_ref = 0;
718 fll_div->fll_ratio = 8;
720 fll_div->fll_ratio = 1;
722 fll_div->n = Ndiv / fll_div->fll_ratio;
723 Nmod = (target / fll_div->fll_ratio) % Fref;
736 fll_div->k = K / 10;
738 if (WARN_ON(target != Fout * (fll_div->fllclk_div << 2)) ||
739 WARN_ON(!K && target != Fref * fll_div->fll_ratio * fll_div->n))
749 struct _fll_div fll_div;
770 if (fll_factors(&fll_div, freq_in, freq_out) != 0)
779 fll_div.fll_ratio | WM8900_REG_FLLCTL1_OSC_ENA);
781 snd_soc_component_write(component, WM8900_REG_FLLCTL4, fll_div.n >> 5);
783 (fll_div.fllclk_div << 6) | (fll_div.n & 0x1f));
785 if (fll_div.k) {
787 (fll_div.k >> 8) | 0x100);
788 snd_soc_component_write(component, WM8900_REG_FLLCTL3, fll_div.k & 0xff);
792 if (fll_div.fll_slow_lock_ref)