[alsa-devel] PROBLEM: iMX6 SSI - set up as a master of external audio codec

Andrey Gelman andrey.gelman at compulab.co.il
Mon Apr 15 13:13:58 CEST 2013

Hi, everyone !

I'm bringing up a wm8731 audio codec on an iMX6 based board. I use the
slave mode, i.e. SSI outputs all the clocks towards the codec IC.
I work with 3.0.35 Android kernel provided by freescale.

While, generally, the playback is Ok, I face 2 issues:
- cannot play back mono streams (too high rate, one speaker produces
only noise)
- cannot play back streams with sampling rate as low as 8kHz (the sound
is accompanied by high distortion)
In the mainline kernel (commits to v3.6), there is a workaround to the
1-st issue by simply removing mono support from imx-ssi.c. Similar
approach would fix the 2-nd issue as well - SSI would report it does not
support 8kHz sampling rate.
In a later commit, this workaround has been reverted, enabling mono
support back.

My question is this:
Is this a real limitation of SSI ? Does it support mono playback or not ?
Does SSI support 8kHz sampling rate ? If yes, what could be possible
reason to the distortions I get, while higher rates are played back well ?
Is there a real fix to these issues, or only workarounds are available ?

Andrey Gelman

More information about the Alsa-devel mailing list