diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-20 00:36:11 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-20 12:41:27 -0400 |
commit | 7d48a6acbcf5325a2551e948bd1557a46dec4c76 (patch) | |
tree | c19c1adf68c761e6aa085169eeb458aa54bf08ac /sound/soc/codecs/wm8994.c | |
parent | 136ff2a272ad4bee33bf85f8c490ff8a2dd08f96 (diff) |
ASoC: Set full range of WM8994 FLL Fratio values
Use all the available Fratio values when configuring the WM8994 FLL, not
just 0 and 3, following more complete characterisation of the device
performance.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8994.c')
-rw-r--r-- | sound/soc/codecs/wm8994.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index a27b2ff769d9..8d3ea9b24267 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c | |||
@@ -2784,9 +2784,18 @@ static int wm8994_get_fll_config(struct fll_div *fll, | |||
2784 | 2784 | ||
2785 | if (freq_in > 1000000) { | 2785 | if (freq_in > 1000000) { |
2786 | fll->fll_fratio = 0; | 2786 | fll->fll_fratio = 0; |
2787 | } else { | 2787 | } else if (freq_in > 256000) { |
2788 | fll->fll_fratio = 1; | ||
2789 | freq_in *= 2; | ||
2790 | } else if (freq_in > 128000) { | ||
2791 | fll->fll_fratio = 2; | ||
2792 | freq_in *= 4; | ||
2793 | } else if (freq_in > 64000) { | ||
2788 | fll->fll_fratio = 3; | 2794 | fll->fll_fratio = 3; |
2789 | freq_in *= 8; | 2795 | freq_in *= 8; |
2796 | } else { | ||
2797 | fll->fll_fratio = 4; | ||
2798 | freq_in *= 16; | ||
2790 | } | 2799 | } |
2791 | pr_debug("FLL_FRATIO=%d, Fref=%dHz\n", fll->fll_fratio, freq_in); | 2800 | pr_debug("FLL_FRATIO=%d, Fref=%dHz\n", fll->fll_fratio, freq_in); |
2792 | 2801 | ||