[alsa-devel] ASoC fsl_sai? Output stuck high causes loud pop
Cameron Kellough
cameron at paloaltoinnovation.com
Wed Apr 10 21:57:20 CEST 2019
Hi ASoC developers,
I'm working with kernel 4.9.88 on an NXP IMX6ULL based PicoSOM from
Technexion. We have developed our own integration of this CPU with an audio
codec and a DSP. I'm hearing a loud pop at the end of playback for sounds
and after a lot of tracing, I think there may be a problem in or near the
fsl_sai driver. I suspect that the SAI transmitter is not being disabled
at the end of playback as the bus appears to be driven with all ones after
the end of playback.
Briefly, we have the IMX6ULL configured as an I2S slave to a DSP chip. In
this case, the DSP is continuously providing BCLK and LRCLK to the IMX6ULL
and the connected codec. When no sound is playing and I examine the output
of the Serial Data Out line from the IMX6ULL with an o-scope, the values on
it encode all high bits instead of all low bits. The popping noise we hear
seems to be the bus going from a relatively low value at the end of a
played sound to an infinite length set of samples of maximum volume. Based
on having set the pad control registers to no pullup, one would expect the
I2S bus to be low when no sound is being transmitted.
While the exact problem above involves a custom setup, a popping can be
observed using the Technexion IMX6ULL on the PI baseboard and playing a
sound with aplay. Some evidence on the NXP forum suggests the problem
also exists using the IMX6.
I'm sorry this isn't a lot to go on. I'm happy to provide more information
if anyone is interested in this issue.
--Cameron Kellough
More information about the Alsa-devel
mailing list