Lines Matching refs:fll

382 	struct fll_config fll[2], fll_suspend[2];  member
693 rate = wm8995->fll[0].out; in configure_aif_clock()
697 rate = wm8995->fll[1].out; in configure_aif_clock()
1723 static int wm8995_get_fll_config(struct fll_div *fll, in wm8995_get_fll_config() argument
1732 fll->clk_ref_div = 0; in wm8995_get_fll_config()
1734 fll->clk_ref_div++; in wm8995_get_fll_config()
1737 if (fll->clk_ref_div > 3) in wm8995_get_fll_config()
1740 pr_debug("CLK_REF_DIV=%d, Fref=%dHz\n", fll->clk_ref_div, freq_in); in wm8995_get_fll_config()
1743 fll->outdiv = 3; in wm8995_get_fll_config()
1744 while (freq_out * (fll->outdiv + 1) < 90000000) { in wm8995_get_fll_config()
1745 fll->outdiv++; in wm8995_get_fll_config()
1746 if (fll->outdiv > 63) in wm8995_get_fll_config()
1749 freq_out *= fll->outdiv + 1; in wm8995_get_fll_config()
1750 pr_debug("OUTDIV=%d, Fvco=%dHz\n", fll->outdiv, freq_out); in wm8995_get_fll_config()
1753 fll->fll_fratio = 0; in wm8995_get_fll_config()
1755 fll->fll_fratio = 1; in wm8995_get_fll_config()
1758 fll->fll_fratio = 2; in wm8995_get_fll_config()
1761 fll->fll_fratio = 3; in wm8995_get_fll_config()
1764 fll->fll_fratio = 4; in wm8995_get_fll_config()
1767 pr_debug("FLL_FRATIO=%d, Fref=%dHz\n", fll->fll_fratio, freq_in); in wm8995_get_fll_config()
1772 fll->n = Ndiv; in wm8995_get_fll_config()
1787 fll->k = K / 10; in wm8995_get_fll_config()
1789 pr_debug("N=%x K=%x\n", fll->n, fll->k); in wm8995_get_fll_config()
1801 struct fll_div fll; in wm8995_set_fll() local
1842 if (wm8995->fll[id].src == src && in wm8995_set_fll()
1843 wm8995->fll[id].in == freq_in && wm8995->fll[id].out == freq_out) in wm8995_set_fll()
1851 ret = wm8995_get_fll_config(&fll, freq_in, freq_out); in wm8995_set_fll()
1853 ret = wm8995_get_fll_config(&fll, wm8995->fll[id].in, in wm8995_set_fll()
1854 wm8995->fll[id].out); in wm8995_set_fll()
1868 reg = (fll.outdiv << WM8995_FLL1_OUTDIV_SHIFT) | in wm8995_set_fll()
1869 (fll.fll_fratio << WM8995_FLL1_FRATIO_SHIFT); in wm8995_set_fll()
1874 snd_soc_component_write(component, WM8995_FLL1_CONTROL_3 + reg_offset, fll.k); in wm8995_set_fll()
1878 fll.n << WM8995_FLL1_N_SHIFT); in wm8995_set_fll()
1883 (fll.clk_ref_div << WM8995_FLL1_REFCLK_DIV_SHIFT) | in wm8995_set_fll()
1890 wm8995->fll[id].in = freq_in; in wm8995_set_fll()
1891 wm8995->fll[id].out = freq_out; in wm8995_set_fll()
1892 wm8995->fll[id].src = src; in wm8995_set_fll()