From: Paul Handrigan Date: Tue, 5 Mar 2013 19:12:56 +0000 (-0600) Subject: ASoC: cs42l73: If Internal MCLK is >= 6.4MHz, then set SCLK to 64*Fs. X-Git-Tag: next-20130312~48^2~8^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cadf2120ff756789a3adaac07c5b85a09649c66e;p=karo-tx-linux.git ASoC: cs42l73: If Internal MCLK is >= 6.4MHz, then set SCLK to 64*Fs. Signed-off-by: Paul Handrigan Acked-by: Brian Austin Signed-off-by: Mark Brown --- 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;