ASoC: wcd934x-dsp-cntl: Make sure memories can enter deep sleep
Current register settings for memory control allow only few memory banks to enter deep sleep. This could cause some of the memory banks to not enter deep sleep mode, resulting into higher power consumption. Fix the register sequence to make sure the memories are allowed to enter deep sleep mode. Change-Id: I2ae0fe35e9a207b33f88077ca6ec49d593d43b68 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
This commit is contained in:
parent
67598d8428
commit
3d76fcf83c
1 changed files with 4 additions and 1 deletions
|
@ -523,7 +523,9 @@ static int wcd_cntl_enable_memory(struct wcd_dsp_cntl *cntl)
|
|||
ARRAY_SIZE(mem_enable_values),
|
||||
mem_enable_values);
|
||||
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_0, 0x05);
|
||||
/* Make sure Deep sleep of memories is enabled for all banks */
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_0, 0xFF);
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_1, 0x0F);
|
||||
done:
|
||||
return ret;
|
||||
}
|
||||
|
@ -533,6 +535,7 @@ static void wcd_cntl_disable_memory(struct wcd_dsp_cntl *cntl)
|
|||
struct snd_soc_codec *codec = cntl->codec;
|
||||
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_0, 0xFF);
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_DEEPSLP_1, 0x0F);
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_3, 0xFF);
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_SYSMEM_SHUTDOWN_2, 0xFF);
|
||||
snd_soc_write(codec, WCD934X_CPE_SS_PWR_CPE_DRAM1_SHUTDOWN, 0x07);
|
||||
|
|
Loading…
Add table
Reference in a new issue