[meta-freescale] Audio glitch with SGTL5000

Nikolay Dimitrov picmaster at mail.bg
Thu Jan 22 11:20:26 PST 2015


Hi Eric,

On 01/22/2015 09:05 PM, Eric Nelson wrote:
> On 01/22/2015 11:35 AM, Gary Thomas wrote:
>> On 2015-01-22 11:32, Nikolay Dimitrov wrote:
>>> Hi Gary,
>>>
>>> On 01/22/2015 03:24 PM, Gary Thomas wrote:
>>>> Are you using headphone or line-out?
>>>>
>>>> My i.MX6 boards all suffer from this annoying pop - it would be great
>>>> to get to the bottom of this.
>>>
>>> Before applying my ugly fix, I can hear the glitch on both outputs,
>>> but need to warn you that my headphones test is flawed, as the
>>> SGTL5000 codec on my board is improperly
>>> connected to the headphones (audio output is only 2-wire DC-decoupled
>>> instead of using 3-wire cap-less output with virtual ground).
>>>
>>> Are you looking for a fix for line-out, headphones, both? Also, which
>>> kernel are you using?
>>
>> Currently, only headphones.
>>
>> I'm using linux-boundary/3.10.31
>>
>
> Which has the SMALL_POP fix applied:
> 	https://github.com/boundarydevices/linux-imx6/commit/983ce7a

As we discussed with Fabio, when you define SGTL5000_SMALL_POP as 0, the 
following call...

snd_soc_update_bits(codec, SGTL5000_CHIP_REF_CTRL, SGTL5000_SMALL_POP, 1);

...doesn't actually write to the I2C register, and leaves the default 
behavior, which is SMALL_POP = 1. And as Fabio noted, the audible 
behavior of this SMALL_POP bit is inverted as compared to the 
documentation, so SMALL_POP 0 should have the click audible, and 
SMALL_POP 1 should make it inaudible.

For me personally the patch is misleading written this way - it looks 
like it's writing to the register, but neither this write is actually 
happening (you can sniff the I2C bus if you wish), and also this patch 
hides the issue with improperly documented SMALL_POP bit.

Kind regards,
Nikolay


More information about the meta-freescale mailing list