aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-24 05:56:30 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-11-22 03:36:30 -0500
commitcd22000ade0cf023da30031b51ca810a5b6b1b8d (patch)
tree199a0b1b284fa12f327c0de6510906bd443ba2c6 /sound
parent6730049a4763e868d66caea622e8aef6b8afdb57 (diff)
ASoC: wm8994: Lower AIFnCLK divisor when dropping to 32kHz
When lowering SYSCLK to 50kHz for accessory detection also lower the AIFnCLK divisor to normalise the clocking configuration within the device. This will not disrupt audio as we cannot support active audio with such a low SYSCLK. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8994.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 1d1b43fe1722..ab332e380fb3 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -2258,6 +2258,18 @@ out:
2258 2258
2259 configure_clock(codec); 2259 configure_clock(codec);
2260 2260
2261 /*
2262 * If SYSCLK will be less than 50kHz adjust AIFnCLK dividers
2263 * for detection.
2264 */
2265 if (max(wm8994->aifclk[0], wm8994->aifclk[1]) < 50000) {
2266 dev_dbg(codec->dev, "Configuring AIFs for 128fs\n");
2267 snd_soc_update_bits(codec, WM8994_AIF1_RATE,
2268 WM8994_AIF1CLK_RATE_MASK, 0x1);
2269 snd_soc_update_bits(codec, WM8994_AIF2_RATE,
2270 WM8994_AIF2CLK_RATE_MASK, 0x1);
2271 }
2272
2261 return 0; 2273 return 0;
2262} 2274}
2263 2275