mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
ASoC: es8323: fixed es8323 suspend error
it produces a lot of heat when es8323 suspend, and fixed it. Signed-off-by: XiaoTan Luo <lxt@rock-chips.com> Change-Id: I26c9a5dacc15f4b9a5ca323993d4986848c6be7d
This commit is contained in:
@@ -290,7 +290,7 @@ static const struct snd_soc_dapm_widget es8323_dapm_widgets[] = {
|
||||
|
||||
/* gModify.Cmmt Implement when suspend/startup */
|
||||
SND_SOC_DAPM_DAC("Right DAC", "Right Playback", ES8323_DACPOWER, 7, 0),
|
||||
SND_SOC_DAPM_DAC("Left DAC", "Left Playback", ES8323_DACPOWER, 8, 0),
|
||||
SND_SOC_DAPM_DAC("Left DAC", "Left Playback", ES8323_DACPOWER, 6, 0),
|
||||
|
||||
SND_SOC_DAPM_MIXER("Left Mixer", SND_SOC_NOPM, 0, 0,
|
||||
&es8323_left_mixer_controls[0],
|
||||
@@ -767,12 +767,15 @@ static int es8323_suspend(struct snd_soc_component *component)
|
||||
snd_soc_component_write(component, 0x19, 0x06);
|
||||
snd_soc_component_write(component, 0x30, 0x00);
|
||||
snd_soc_component_write(component, 0x31, 0x00);
|
||||
snd_soc_component_write(component, ES8323_ADCPOWER, 0xFF);
|
||||
snd_soc_component_write(component, ES8323_DACCONTROL17, 0x38);
|
||||
snd_soc_component_write(component, ES8323_DACCONTROL20, 0x38);
|
||||
snd_soc_component_write(component, ES8323_DACPOWER, 0x00);
|
||||
snd_soc_component_write(component, ES8323_DACPOWER, 0xc0);
|
||||
snd_soc_component_write(component, ES8323_ADCPOWER, 0xFF);
|
||||
snd_soc_component_write(component, ES8323_CHIPPOWER, 0xF3);
|
||||
snd_soc_component_write(component, 0x00, 0x00);
|
||||
snd_soc_component_write(component, 0x01, 0x58);
|
||||
snd_soc_component_write(component, 0x2b, 0x9c);
|
||||
snd_soc_component_write(component, 0x00, 0x06);
|
||||
snd_soc_component_write(component, 0x01, 0x58);
|
||||
usleep_range(18000, 20000);
|
||||
return 0;
|
||||
}
|
||||
@@ -781,10 +784,12 @@ static int es8323_resume(struct snd_soc_component *component)
|
||||
{
|
||||
snd_soc_component_write(component, 0x2b, 0x80);
|
||||
snd_soc_component_write(component, 0x01, 0x50);
|
||||
snd_soc_component_write(component, 0x00, 0x32);
|
||||
snd_soc_component_write(component, 0x00, 0x16);
|
||||
snd_soc_component_write(component, ES8323_CHIPPOWER, 0x00);
|
||||
snd_soc_component_write(component, ES8323_DACPOWER, 0x0c);
|
||||
snd_soc_component_write(component, ES8323_ADCPOWER, 0x59);
|
||||
snd_soc_component_write(component, ES8323_DACCONTROL17, 0xb8);
|
||||
snd_soc_component_write(component, ES8323_DACCONTROL20, 0xb8);
|
||||
snd_soc_component_write(component, 0x31, es8323_DEF_VOL);
|
||||
snd_soc_component_write(component, 0x30, es8323_DEF_VOL);
|
||||
snd_soc_component_write(component, 0x19, 0x02);
|
||||
|
||||
Reference in New Issue
Block a user