Re: [PATCH v2 2/2] ASoC: codecs: pcm186x: Fix energysense SLEEP bit
From: Codrin.Ciubotariu
Date: Wed Feb 20 2019 - 05:59:24 EST
On 19.02.2019 19:06, Andrew F. Davis wrote:
> On 2/19/19 10:29 AM, Codrin.Ciubotariu@xxxxxxxxxxxxx wrote:
>> From: Codrin Ciubotariu <codrin.ciubotariu@xxxxxxxxxxxxx>
>>
>> The ADCs are sleeping when the SLEEP bit is set and running when it's
>> cleared, so the bit should be inverted.
>> Tested on pcm1863.
>>
>
> Did this work for you before? Strange it would if reversed, I wonder if
> the SLEEP bit is really doing anything here. Can investigate later, for
> this patch:
The SLEEP bit seems to work. At least STATE from register 114 says the
IP is sleeping. Without this change, if pcm1863 is used as master, I can
see BCK and LRCK generated while no sound is played. Once I start an
audio stream, the clocks stop.
Thank you for your ACK. I would really appreciate if you could also test
it on your side.
Best regards,
Codrin
>
> Acked-by: Andrew F. Davis <afd@xxxxxx>
>
>> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@xxxxxxxxxxxxx>
>> ---
>>
>> Changes in v2:
>> - none;
>>
>> sound/soc/codecs/pcm186x.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/sound/soc/codecs/pcm186x.c b/sound/soc/codecs/pcm186x.c
>> index c36a391fec8a..c5fcc632f670 100644
>> --- a/sound/soc/codecs/pcm186x.c
>> +++ b/sound/soc/codecs/pcm186x.c
>> @@ -158,7 +158,7 @@ static const struct snd_soc_dapm_widget pcm1863_dapm_widgets[] = {
>> * Put the codec into SLEEP mode when not in use, allowing the
>> * Energysense mechanism to operate.
>> */
>> - SND_SOC_DAPM_ADC("ADC", "HiFi Capture", PCM186X_POWER_CTRL, 1, 0),
>> + SND_SOC_DAPM_ADC("ADC", "HiFi Capture", PCM186X_POWER_CTRL, 1, 1),
>> };
>>
>> static const struct snd_soc_dapm_widget pcm1865_dapm_widgets[] = {
>> @@ -184,8 +184,8 @@ static const struct snd_soc_dapm_widget pcm1865_dapm_widgets[] = {
>> * Put the codec into SLEEP mode when not in use, allowing the
>> * Energysense mechanism to operate.
>> */
>> - SND_SOC_DAPM_ADC("ADC1", "HiFi Capture 1", PCM186X_POWER_CTRL, 1, 0),
>> - SND_SOC_DAPM_ADC("ADC2", "HiFi Capture 2", PCM186X_POWER_CTRL, 1, 0),
>> + SND_SOC_DAPM_ADC("ADC1", "HiFi Capture 1", PCM186X_POWER_CTRL, 1, 1),
>> + SND_SOC_DAPM_ADC("ADC2", "HiFi Capture 2", PCM186X_POWER_CTRL, 1, 1),
>> };
>>
>> static const struct snd_soc_dapm_route pcm1863_dapm_routes[] = {
>>