summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-12 13:57:00 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-12 13:57:00 +0100
commit69976189c3a834b2c250c7829aa34719eb0f5994 (patch)
tree617179e6f56e92622a36a9d1d1c7fba6dd231f19
parente8704770b444e445310ebc61c92e4ab7279026dc (diff)
parentcadf2120ff756789a3adaac07c5b85a09649c66e (diff)
Merge remote-tracking branch 'asoc/topic/cs42l73' into asoc-next
-rw-r--r--sound/soc/codecs/cs42l73.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 6361dab48bd1..3b20c86cdb01 100644
--- a/sound/soc/codecs/cs42l73.c
+++ b/sound/soc/codecs/cs42l73.c
@@ -1180,7 +1180,11 @@ static int cs42l73_pcm_hw_params(struct snd_pcm_substream *substream,
priv->config[id].mmcc &= 0xC0;
priv->config[id].mmcc |= cs42l73_mclk_coeffs[mclk_coeff].mmcc;
priv->config[id].spc &= 0xFC;
- priv->config[id].spc |= MCK_SCLK_MCLK;
+ /* Use SCLK=64*Fs if internal MCLK >= 6.4MHz */
+ if (priv->mclk >= 6400000)
+ priv->config[id].spc |= MCK_SCLK_64FS;
+ else
+ priv->config[id].spc |= MCK_SCLK_MCLK;
} else {
/* CS42L73 Slave */
priv->config[id].spc &= 0xFC;