Newer versions of the Arizona IP have several differences in the FLL configuration. The reference and synchroniser paths have slightly difference FRATIO encodings and the expanded encoding on the reference path should be used to avoid integer mode operation.
This series of patches does some refactoring on the FLL configuration code, previously calculation of the FLL configuration was done before we knew whether this would be applied to reference or synchroniser path. These patches add some checks to make sure the requested clock can be accomodated and then does the calculations once we knew where they will be applied. Additionally, we add support for the encodings on the newer IP.
Thanks, Charles
Charles Keepax (9): ASoC: arizona: An OUTDIV of 1 is not valid, avoid this ASoC: arizona: Add defines for FLL configuration constants ASoC: arizona: Move set of OUTDIV in to arizona_apply_fll ASoC: arizona: Move calculation of FLL configuration ASoC: arizona: Don't pass Fout into arizona_calc_fll ASoC: arizona: Calculate OUTDIV first ASoC: arizona: Calculate FLL gain last mfd: arizona: Add support for new fratio encoding ASoC: arizona: Support new fratio encoding on the wm5110 rev D
include/linux/mfd/arizona/registers.h | 6 +- sound/soc/codecs/arizona.c | 254 ++++++++++++++++++++++----------- 2 files changed, 171 insertions(+), 89 deletions(-)