ASoC: da7213: Refactor sysclk(), pll() functions to improve handling
authorAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
Thu, 4 Aug 2016 14:35:40 +0000 (15:35 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 8 Aug 2016 10:54:40 +0000 (11:54 +0100)
commit4c75225aa05753217a81ed10f136b86fb94c5922
tree33bf8b068b3bd256d0a568b5b5c6cf41592f0bef
parentf612680fb5cd92a213240d82651a1f56bc38129e
ASoC: da7213: Refactor sysclk(), pll() functions to improve handling

Currently the handling of the PLL in the driver is a little clunky,
and not ideal for all modes. This patch updates the code to make it
cleaner and more sensible for the various PLL states.

Key items of note are:
 - MCLK squaring is now handled directly as part of the sysclk()
   function, removing the need for a private flag to set this feature.
 - All PLL modes are defined as an enum, and are handled as a case
   statement in pll() function to clean up configuration. This also
   removes any need for a private flag for SRM.
 - For 32KHz mode, checks are made on codec master mode and correct
   MCLK rates, to avoid incorrect usage of PLL for this operation.
 - For 32KHz mode, SRM flag now correctly enabled and fout set to
   sensible value to achieve appropriate PLL dividers.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7213.c
sound/soc/codecs/da7213.h
This page took 0.025657 seconds and 5 git commands to generate.