diff options
author | Markus Pargmann <mpa@pengutronix.de> | 2014-02-20 12:23:00 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-02-22 22:59:34 -0500 |
commit | 3154cc7404506700ff270b6f123ec9c734f002fd (patch) | |
tree | 0fab6cb10871cd91ba6b4b389ad51bea369c0378 | |
parent | 239b669b2dedc46d5e6b07d87c3d1dedf8d9477c (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.c | 32 |
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); |