[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