[alsa-devel] ASoC fsl_sai? Output stuck high causes loud pop
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
participants (1)
-
Cameron Kellough