diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-10 17:03:46 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-10 17:17:35 +0100 |
commit | 2b4d39fc2a80e271ac8d44fccd02277a4b63c557 (patch) | |
tree | 9d4638752ae0466653fdec8015bde4128180b2cd /sound/soc/codecs/arizona.c | |
parent | a1f34af0ec35e3131d65e0ae4cec6b048cba3e88 (diff) | |
download | blackbird-op-linux-2b4d39fc2a80e271ac8d44fccd02277a4b63c557.tar.gz blackbird-op-linux-2b4d39fc2a80e271ac8d44fccd02277a4b63c557.zip |
ASoC: arizona: Support variable FLL VCO multipliers
Some Arizona chips have a higher frequency for the FLL VCO, support this
in the common code.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/arizona.c')
-rw-r--r-- | sound/soc/codecs/arizona.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index f3680c374347..5c9cacaf2d52 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c @@ -734,9 +734,9 @@ static int arizona_calc_fll(struct arizona_fll *fll, /* Apply the division for our remaining calculations */ Fref /= div; - /* Fvco should be 90-100MHz; don't check the upper bound */ + /* Fvco should be over the targt; don't check the upper bound */ div = 1; - while (Fout * div < 90000000) { + while (Fout * div < 90000000 * fll->vco_mult) { div++; if (div > 7) { arizona_fll_err(fll, "No FLL_OUTDIV for Fout=%uHz\n", @@ -744,7 +744,7 @@ static int arizona_calc_fll(struct arizona_fll *fll, return -EINVAL; } } - target = Fout * div; + target = Fout * div / fll->vco_mult; cfg->outdiv = div; arizona_fll_dbg(fll, "Fvco=%dHz\n", target); |