Skip to content

Commit

Permalink
ASoC: mxs-saif: set a base clock rate for EXTMASTER mode work
Browse files Browse the repository at this point in the history
Set an initial clock rate for the saif internal logic to work
properly. This is important when working in EXTMASTER mode that
uses the other saif's BITCLK&LRCLK but it still needs a basic
clock which should be fast enough for the internal logic.

Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Dong Aisheng authored and Mark Brown committed Jul 24, 2012
1 parent c2e1d90 commit d0ba4c0
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion sound/soc/mxs/mxs-saif.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,8 +427,22 @@ static int mxs_saif_hw_params(struct snd_pcm_substream *substream,

/* prepare clk in hw_param, enable in trigger */
clk_prepare(saif->clk);
if (saif != master_saif)
if (saif != master_saif) {
/*
* Set an initial clock rate for the saif internal logic to work
* properly. This is important when working in EXTMASTER mode
* that uses the other saif's BITCLK&LRCLK but it still needs a
* basic clock which should be fast enough for the internal
* logic.
*/
clk_enable(saif->clk);
ret = clk_set_rate(saif->clk, 24000000);
clk_disable(saif->clk);
if (ret)
return ret;

clk_prepare(master_saif->clk);
}

scr = __raw_readl(saif->base + SAIF_CTRL);

Expand Down

0 comments on commit d0ba4c0

Please sign in to comment.