summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorLionel.Xu <r63889@freescale.com>2009-04-22 15:44:06 +0800
committerJustin Waters <justin.waters@timesys.com>2009-10-13 11:02:46 -0400
commit481f5f466d6d5db98dde672700a73aa36b20ad9d (patch)
treec6e3cb41455d6e6950b7a61cd1deb61657e60e53 /sound
parentbe214a8f0d7a4f3fdaacebcdd55630133a9b1bcc (diff)
ENGR00110748 SGTL5000: Shut down i2s sclk/lrclk after audio playback stops
Sgtl5000 sclk/lrclk should only be turned on when audio playback is running in i2s master mode. These clocks should be turned off after playback to save the power. Signed-off-by: Lionel Xu <r63889@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/sgtl5000.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 954784ab4b89..ed39df38d148 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -494,6 +494,10 @@ static void sgtl5000_pcm_shutdown(struct snd_pcm_substream *substream)
reg = sgtl5000_read(codec, SGTL5000_CHIP_DIG_POWER);
reg &= ~(SGTL5000_I2S_IN_POWERUP | SGTL5000_I2S_OUT_POWERUP);
sgtl5000_write(codec, SGTL5000_CHIP_DIG_POWER, reg);
+
+ reg = sgtl5000_read(codec, SGTL5000_CHIP_I2S_CTRL);
+ reg &= ~SGTL5000_I2S_MASTER;
+ sgtl5000_write(codec, SGTL5000_CHIP_I2S_CTRL, reg);
}
/*