ASoC: Set full range of WM8994 FLL Fratio values
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 20 Apr 2010 04:36:11 +0000 (13:36 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 20 Apr 2010 16:41:27 +0000 (01:41 +0900)
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>
sound/soc/codecs/wm8994.c

index a27b2ff769d9f5c7f3f9e40789449a16f951a048..8d3ea9b24267b298a09d795a43ed2ac6c53adff9 100644 (file)
@@ -2784,9 +2784,18 @@ static int wm8994_get_fll_config(struct fll_div *fll,
 
        if (freq_in > 1000000) {
                fll->fll_fratio = 0;
-       } else {
+       } else if (freq_in > 256000) {
+               fll->fll_fratio = 1;
+               freq_in *= 2;
+       } else if (freq_in > 128000) {
+               fll->fll_fratio = 2;
+               freq_in *= 4;
+       } else if (freq_in > 64000) {
                fll->fll_fratio = 3;
                freq_in *= 8;
+       } else {
+               fll->fll_fratio = 4;
+               freq_in *= 16;
        }
        pr_debug("FLL_FRATIO=%d, Fref=%dHz\n", fll->fll_fratio, freq_in);