[alsa-devel] [PATCH 1/2] ASoC: fsl_ssi: Let it understand mono

Fabio Estevam festevam at gmail.com
Wed Sep 19 16:07:33 CEST 2012

On Tue, Sep 18, 2012 at 1:14 PM, Timur Tabi <timur at freescale.com> wrote:
> Fabio Estevam wrote:
>> Can you please try to play a mono track on your PowerPC platform with these
>> series applied?
> I'm pretty sure this won't work.  The SSI is programmed to expect a left
> and right sample.  There is no code in fsl_ssi.c for checking the channel
> count and adjusting the hardware accordingly.  I don't see any code like
> that in imx-ssi.c either, so I don't even know how it's supposed to work.

It works for me on mx6qsabrelite.

However, in order to play the mono track at the correct rate I also need:

--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -938,7 +938,7 @@ static struct snd_soc_dai_driver sgtl5000_dai = {
        .name = "sgtl5000",
        .playback = {
                .stream_name = "Playback",
-               .channels_min = 1,
+               .channels_min = 2,
                .channels_max = 2,
                 * only support 8~48K + 96

I would like to understand when channels_min should be set to 1 or 2
in the platform driver (sound/soc/fsl/fsl_ssi.c in this case) or
inside the codec. Could anyone clarify this, please?

Currently we have:

channels_min=1 for imx-ssi.c (FSL BSP also does the same)
channels_min=2 for fsl_ssi.c

Which one is correct?

Adding Sascha, who originally used 'channels_min=1' for imx-ssi.c.


Fabio Estevam

More information about the Alsa-devel mailing list