[alsa-devel] [RFC PATCH 0/2] ASoC: wm8994: master clock issues

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Mon Mar 20 15:11:37 CET 2017


On Thu, Mar 16, 2017 at 05:41:21PM +0100, olivier moysan wrote:
> Hello,
> 
> I face two issues using wm8994 codec driver.
> Below is a description of the use cases rising the problem.
> I added the patches which allow to fix these issues.
> These minimalist patches can be seen as a starting point for a discussion on the best
> way to handle the use cases exposed.
> 
> 
> - ASoC: wm8994: default master clock selection
> 
> Use case:
> CPU DAI and codec are managed through simple card.
> Wolson codec wm8994 is set as slave of CPU DAI and CPU DAI feeds codec with master clock.
> Master clock is derived from mclk-fs property and provided to CPU DAI and codec 
> through snd_soc_dai_set_sysclk API. 
> 
> Analysis:
> The simple card assumes id 0 for master clock.
> However wm8994 codec exposes master clock ids from 1 to 4. (MCLK1, MCLK2 ..)
> 
> The proposal in this patch is to define a default selection regarding master clock
> when id 0 is provided.
> 
> 
> - ASoC: wm8994: delay aifxclk activation
> 
> Use case:
> Wolson codec wm8994 is set as slave of CPU DAI and CPU DAI feeds codec with master clock.
> CPU DAI generates master clock when enabled in trigger callback.
> So master clock is available only at runtime. 
> Master clock is not available when configuring codec through alsa controls.
> 
> Analysis:
> When we configure aifx clock while master clock is not active, related registers are not updated in wm8894 codec.
> A way to go around this problem, is to delay aifxclk activation until SND_SOC_DAPM_POST_PMU DAPM stage.
> The purpose of patch here is to illustrate this workaround. 
> 
> What I cannot clearly figure out, is  how this may impact other uses of wm8894 codec.
> I try to know if it's worth investigating further in this direction or if it will not be applicable.
> If not applicable, what maybe the other options ?
> 
> regards
> olivier

Would be good to CC patches at opensource.wolfsonmicro.com on the
next version of these patches as well, higher chance someone here
will notice and have a look over them.

Thanks,
Charles


More information about the Alsa-devel mailing list