Dear Fabio Estevam,
[Fixing Mark's address in the CC.]
Hi Marek,
On Fri, May 24, 2013 at 12:34 AM, Marek Vasut marex@denx.de wrote:
The VAG_POWER must be enabled after all other bits in CHIP_ANA_POWER and disabled before any other bit in CHIP_ANA_POWER. See the SGTL5000 datasheet (Table 31, BIT 7, page 42-43). Failing to follow this order will result in ugly loud "POP" noise at the end of playback.
To achieve such order, use the _PRE and _POST DAPM widgets to trigger the power_vag_event, where the event type check has to be fixed accordingly as well.
Signed-off-by: Marek Vasut marex@denx.de Cc: Dong Aisheng dong.aisheng@linaro.org Cc: Eric Nelson eric.nelson@boundarydevices.com Cc: Fabio Estevam fabio.estevam@freescale.com Cc: Mark Brown broonie@opensource.wolfsonmicro.com
Thanks, tested on a mx51evk and it removes an annoying 'click' after an audio track is played.
That's good. But you still hear some noise when the headphone/lineout drivers are powered up/down, right?
case SND_SOC_DAPM_POST_PMD:
case SND_SOC_DAPM_PRE_PMD: snd_soc_update_bits(w->codec, SGTL5000_CHIP_ANA_POWER, SGTL5000_VAG_POWERUP, 0);
msleep(400);
mdelay(400);
What is the reasoning for this change?
Me being a moron, that's the full reasoning. Sorry.
Best regards, Marek Vasut