Lines Matching refs:fll

385 	struct fll_config fll[2], fll_suspend[2];  member
696 rate = wm8995->fll[0].out; in configure_aif_clock()
700 rate = wm8995->fll[1].out; in configure_aif_clock()
1724 static int wm8995_get_fll_config(struct fll_div *fll, in wm8995_get_fll_config() argument
1733 fll->clk_ref_div = 0; in wm8995_get_fll_config()
1735 fll->clk_ref_div++; in wm8995_get_fll_config()
1738 if (fll->clk_ref_div > 3) in wm8995_get_fll_config()
1741 pr_debug("CLK_REF_DIV=%d, Fref=%dHz\n", fll->clk_ref_div, freq_in); in wm8995_get_fll_config()
1744 fll->outdiv = 3; in wm8995_get_fll_config()
1745 while (freq_out * (fll->outdiv + 1) < 90000000) { in wm8995_get_fll_config()
1746 fll->outdiv++; in wm8995_get_fll_config()
1747 if (fll->outdiv > 63) in wm8995_get_fll_config()
1750 freq_out *= fll->outdiv + 1; in wm8995_get_fll_config()
1751 pr_debug("OUTDIV=%d, Fvco=%dHz\n", fll->outdiv, freq_out); in wm8995_get_fll_config()
1754 fll->fll_fratio = 0; in wm8995_get_fll_config()
1756 fll->fll_fratio = 1; in wm8995_get_fll_config()
1759 fll->fll_fratio = 2; in wm8995_get_fll_config()
1762 fll->fll_fratio = 3; in wm8995_get_fll_config()
1765 fll->fll_fratio = 4; in wm8995_get_fll_config()
1768 pr_debug("FLL_FRATIO=%d, Fref=%dHz\n", fll->fll_fratio, freq_in); in wm8995_get_fll_config()
1773 fll->n = Ndiv; in wm8995_get_fll_config()
1788 fll->k = K / 10; in wm8995_get_fll_config()
1790 pr_debug("N=%x K=%x\n", fll->n, fll->k); in wm8995_get_fll_config()
1802 struct fll_div fll; in wm8995_set_fll() local
1843 if (wm8995->fll[id].src == src && in wm8995_set_fll()
1844 wm8995->fll[id].in == freq_in && wm8995->fll[id].out == freq_out) in wm8995_set_fll()
1852 ret = wm8995_get_fll_config(&fll, freq_in, freq_out); in wm8995_set_fll()
1854 ret = wm8995_get_fll_config(&fll, wm8995->fll[id].in, in wm8995_set_fll()
1855 wm8995->fll[id].out); in wm8995_set_fll()
1869 reg = (fll.outdiv << WM8995_FLL1_OUTDIV_SHIFT) | in wm8995_set_fll()
1870 (fll.fll_fratio << WM8995_FLL1_FRATIO_SHIFT); in wm8995_set_fll()
1875 snd_soc_write(codec, WM8995_FLL1_CONTROL_3 + reg_offset, fll.k); in wm8995_set_fll()
1879 fll.n << WM8995_FLL1_N_SHIFT); in wm8995_set_fll()
1884 (fll.clk_ref_div << WM8995_FLL1_REFCLK_DIV_SHIFT) | in wm8995_set_fll()
1891 wm8995->fll[id].in = freq_in; in wm8995_set_fll()
1892 wm8995->fll[id].out = freq_out; in wm8995_set_fll()
1893 wm8995->fll[id].src = src; in wm8995_set_fll()