Commit 87383ac5 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown

ASoC: arizona: Add defines for FLL configuration constants

Improve readability by adding defines for some of the constants
associated with FLL configuration.
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent da28ed58
...@@ -53,6 +53,12 @@ ...@@ -53,6 +53,12 @@
#define ARIZONA_AIF_RX_ENABLES 0x1A #define ARIZONA_AIF_RX_ENABLES 0x1A
#define ARIZONA_AIF_FORCE_WRITE 0x1B #define ARIZONA_AIF_FORCE_WRITE 0x1B
#define ARIZONA_FLL_MAX_FREF 13500000
#define ARIZONA_FLL_MIN_FVCO 90000000
#define ARIZONA_FLL_MAX_REFDIV 8
#define ARIZONA_FLL_MIN_OUTDIV 2
#define ARIZONA_FLL_MAX_OUTDIV 7
#define arizona_fll_err(_fll, fmt, ...) \ #define arizona_fll_err(_fll, fmt, ...) \
dev_err(_fll->arizona->dev, "FLL%d: " fmt, _fll->id, ##__VA_ARGS__) dev_err(_fll->arizona->dev, "FLL%d: " fmt, _fll->id, ##__VA_ARGS__)
#define arizona_fll_warn(_fll, fmt, ...) \ #define arizona_fll_warn(_fll, fmt, ...) \
...@@ -1390,11 +1396,11 @@ static int arizona_calc_fll(struct arizona_fll *fll, ...@@ -1390,11 +1396,11 @@ static int arizona_calc_fll(struct arizona_fll *fll,
/* Fref must be <=13.5MHz */ /* Fref must be <=13.5MHz */
div = 1; div = 1;
cfg->refdiv = 0; cfg->refdiv = 0;
while ((Fref / div) > 13500000) { while ((Fref / div) > ARIZONA_FLL_MAX_FREF) {
div *= 2; div *= 2;
cfg->refdiv++; cfg->refdiv++;
if (div > 8) { if (div > ARIZONA_FLL_MAX_REFDIV) {
arizona_fll_err(fll, arizona_fll_err(fll,
"Can't scale %dMHz in to <=13.5MHz\n", "Can't scale %dMHz in to <=13.5MHz\n",
Fref); Fref);
...@@ -1406,10 +1412,10 @@ static int arizona_calc_fll(struct arizona_fll *fll, ...@@ -1406,10 +1412,10 @@ static int arizona_calc_fll(struct arizona_fll *fll,
Fref /= div; Fref /= div;
/* Fvco should be over the targt; don't check the upper bound */ /* Fvco should be over the targt; don't check the upper bound */
div = 2; div = ARIZONA_FLL_MIN_OUTDIV;
while (Fout * div < 90000000 * fll->vco_mult) { while (Fout * div < ARIZONA_FLL_MIN_FVCO * fll->vco_mult) {
div++; div++;
if (div > 7) { if (div > ARIZONA_FLL_MAX_OUTDIV) {
arizona_fll_err(fll, "No FLL_OUTDIV for Fout=%uHz\n", arizona_fll_err(fll, "No FLL_OUTDIV for Fout=%uHz\n",
Fout); Fout);
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment