Lines Matching refs:fll
184 rate = wm8994->fll[0].out; in configure_aif_clock()
189 rate = wm8994->fll[1].out; in configure_aif_clock()
2046 static int wm8994_get_fll_config(struct wm8994 *control, struct fll_div *fll, in wm8994_get_fll_config() argument
2055 fll->clk_ref_div = 0; in wm8994_get_fll_config()
2057 fll->clk_ref_div++; in wm8994_get_fll_config()
2060 if (fll->clk_ref_div > 3) in wm8994_get_fll_config()
2063 pr_debug("CLK_REF_DIV=%d, Fref=%dHz\n", fll->clk_ref_div, freq_in); in wm8994_get_fll_config()
2066 fll->outdiv = 3; in wm8994_get_fll_config()
2067 while (freq_out * (fll->outdiv + 1) < 90000000) { in wm8994_get_fll_config()
2068 fll->outdiv++; in wm8994_get_fll_config()
2069 if (fll->outdiv > 63) in wm8994_get_fll_config()
2072 freq_out *= fll->outdiv + 1; in wm8994_get_fll_config()
2073 pr_debug("OUTDIV=%d, Fvco=%dHz\n", fll->outdiv, freq_out); in wm8994_get_fll_config()
2076 fll->fll_fratio = 0; in wm8994_get_fll_config()
2078 fll->fll_fratio = 1; in wm8994_get_fll_config()
2081 fll->fll_fratio = 2; in wm8994_get_fll_config()
2084 fll->fll_fratio = 3; in wm8994_get_fll_config()
2087 fll->fll_fratio = 4; in wm8994_get_fll_config()
2090 pr_debug("FLL_FRATIO=%d, Fref=%dHz\n", fll->fll_fratio, freq_in); in wm8994_get_fll_config()
2095 fll->n = Ndiv; in wm8994_get_fll_config()
2112 fll->k = K / 10; in wm8994_get_fll_config()
2113 fll->lambda = 0; in wm8994_get_fll_config()
2115 pr_debug("N=%x K=%x\n", fll->n, fll->k); in wm8994_get_fll_config()
2121 fll->k = (freq_out - (freq_in * fll->n)) / gcd_fll; in wm8994_get_fll_config()
2122 fll->lambda = freq_in / gcd_fll; in wm8994_get_fll_config()
2135 struct fll_div fll; in _wm8994_set_fll() local
2163 src = wm8994->fll[id].src; in _wm8994_set_fll()
2179 if (wm8994->fll[id].src == src && in _wm8994_set_fll()
2180 wm8994->fll[id].in == freq_in && wm8994->fll[id].out == freq_out) in _wm8994_set_fll()
2188 ret = wm8994_get_fll_config(control, &fll, freq_in, freq_out); in _wm8994_set_fll()
2190 ret = wm8994_get_fll_config(control, &fll, wm8994->fll[id].in, in _wm8994_set_fll()
2191 wm8994->fll[id].out); in _wm8994_set_fll()
2222 reg = (fll.outdiv << WM8994_FLL1_OUTDIV_SHIFT) | in _wm8994_set_fll()
2223 (fll.fll_fratio << WM8994_FLL1_FRATIO_SHIFT); in _wm8994_set_fll()
2229 WM8994_FLL1_K_MASK, fll.k); in _wm8994_set_fll()
2233 fll.n << WM8994_FLL1_N_SHIFT); in _wm8994_set_fll()
2235 if (fll.lambda) { in _wm8994_set_fll()
2238 fll.lambda); in _wm8994_set_fll()
2252 (fll.clk_ref_div << WM8994_FLL1_REFCLK_DIV_SHIFT) | in _wm8994_set_fll()
2279 if (fll.k) in _wm8994_set_fll()
2316 wm8994->fll[id].in = freq_in; in _wm8994_set_fll()
2317 wm8994->fll[id].out = freq_out; in _wm8994_set_fll()
2318 wm8994->fll[id].src = src; in _wm8994_set_fll()
3157 for (i = 0; i < ARRAY_SIZE(wm8994->fll); i++) { in wm8994_codec_suspend()
3158 memcpy(&wm8994->fll_suspend[i], &wm8994->fll[i], in wm8994_codec_suspend()
3176 for (i = 0; i < ARRAY_SIZE(wm8994->fll); i++) { in wm8994_codec_resume()