aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Pargmann <mpa@pengutronix.de>2014-02-20 12:23:00 -0500
committerMark Brown <broonie@linaro.org>2014-02-22 22:59:34 -0500
commit3154cc7404506700ff270b6f123ec9c734f002fd (patch)
tree0fab6cb10871cd91ba6b4b389ad51bea369c0378
parent239b669b2dedc46d5e6b07d87c3d1dedf8d9477c (diff)
ASoC: tlv320aic32x4: Rearrange clock tree shutdown
Rearrange clock tree shutdown to disable them in the reversed order of startup. First disable all dividers, then PLL followed by master clock. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--sound/soc/codecs/tlv320aic32x4.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
index d69c61ffcda8..c6bd7e75352d 100644
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -534,29 +534,29 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
534 case SND_SOC_BIAS_PREPARE: 534 case SND_SOC_BIAS_PREPARE:
535 break; 535 break;
536 case SND_SOC_BIAS_STANDBY: 536 case SND_SOC_BIAS_STANDBY:
537 /* Switch off PLL */ 537 /* Switch off BCLK_N Divider */
538 snd_soc_update_bits(codec, AIC32X4_PLLPR, 538 snd_soc_update_bits(codec, AIC32X4_BCLKN,
539 AIC32X4_PLLEN, 0); 539 AIC32X4_BCLKEN, 0);
540
541 /* Switch off NDAC Divider */
542 snd_soc_update_bits(codec, AIC32X4_NDAC,
543 AIC32X4_NDACEN, 0);
544 540
545 /* Switch off MDAC Divider */ 541 /* Switch off MADC Divider */
546 snd_soc_update_bits(codec, AIC32X4_MDAC, 542 snd_soc_update_bits(codec, AIC32X4_MADC,
547 AIC32X4_MDACEN, 0); 543 AIC32X4_MADCEN, 0);
548 544
549 /* Switch off NADC Divider */ 545 /* Switch off NADC Divider */
550 snd_soc_update_bits(codec, AIC32X4_NADC, 546 snd_soc_update_bits(codec, AIC32X4_NADC,
551 AIC32X4_NADCEN, 0); 547 AIC32X4_NADCEN, 0);
552 548
553 /* Switch off MADC Divider */ 549 /* Switch off MDAC Divider */
554 snd_soc_update_bits(codec, AIC32X4_MADC, 550 snd_soc_update_bits(codec, AIC32X4_MDAC,
555 AIC32X4_MADCEN, 0); 551 AIC32X4_MDACEN, 0);
556 552
557 /* Switch off BCLK_N Divider */ 553 /* Switch off NDAC Divider */
558 snd_soc_update_bits(codec, AIC32X4_BCLKN, 554 snd_soc_update_bits(codec, AIC32X4_NDAC,
559 AIC32X4_BCLKEN, 0); 555 AIC32X4_NDACEN, 0);
556
557 /* Switch off PLL */
558 snd_soc_update_bits(codec, AIC32X4_PLLPR,
559 AIC32X4_PLLEN, 0);
560 560
561 /* Switch off master clock */ 561 /* Switch off master clock */
562 clk_disable_unprepare(aic32x4->mclk); 562 clk_disable_unprepare(aic32x4->mclk);