alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>,
	alsa-devel@alsa-project.org, Fabio Estevam <festevam@gmail.com>,
	javier.martin@vista-silicon.com,
	Sascha Hauer <kernel@pengutronix.de>
Subject: Re: [PATCH 1/2] ASoC: fsl_ssi: Let it understand mono
Date: Mon, 24 Sep 2012 08:50:41 -0500	[thread overview]
Message-ID: <50606531.8000606@freescale.com> (raw)
In-Reply-To: <20120922145619.GB4495@opensource.wolfsonmicro.com>

Mark Brown wrote:
> In I2S mono just means ignoring the right channel or duplicating the
> left channel into the right channel at one end of the link or the other.
> As you say the clocking always has to be for an even number of channels.

Let me see if I understand this correctly.  In order for I2S mono to work,
we need the following:

1) The I2S controller (the SSI in this case) needs to be programmed to DMA
data from memory into the left channel only of each frame, and it needs to
pump dummy data into the right channel.  If it automatically pumps the
same data into the right channel, then the codec doesn't need to do
anything.  Otherwise, we need one of these:

2a) The codec needs to be programmed to ignore the right channel and
internally duplicate the left channel into both left and right analog signals.

2b) The board needs to be wired such that only the left analog signal gets
routed to the speakers.

For item #1, as far as I know, there is only one way to get the SSI to do
that: use dual-FIFO mode.  The "left" FIFO points to the audio data as
normal, and the right FIFO points to whatever.  If the right FIFO also
points to the same audio data, then we don't need any codec changes.

I can say for certain that fsl_ssi.c does not implement dual-FIFO mode.  I
considered it once, but I figured it wasn't worth the effort.  Getting it
to work for audio capture would be difficult, and the feature must be
enabled for both capture and playback.  I don't think I could support
simultaneous playback and capture in dual-FIFO mode.

I do not see any code in imx-ssi.c that enables dual-FIFO mode.  This
would be done by setting SSI_SCR_TCH_EN in the SCR, and I don't see that
bit being set anywhere.

So unless there's some hackery happening on the mx6qsabrelite board, I
can't believe that any of these patches actually work.

-- 
Timur Tabi
Linux kernel developer at Freescale

  reply	other threads:[~2012-09-24 13:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-18 16:03 [PATCH 1/2] ASoC: fsl_ssi: Let it understand mono Fabio Estevam
2012-09-18 16:03 ` [PATCH 2/2] ASoC: cs4270: Remove mono support Fabio Estevam
2012-09-24 13:49   ` Timur Tabi
2012-09-25 12:53   ` Mark Brown
2012-09-25 17:22     ` UAC2 device recognized during boot but won't output sound Joao Bonina
2012-09-18 16:14 ` [PATCH 1/2] ASoC: fsl_ssi: Let it understand mono Timur Tabi
2012-09-19 14:07   ` Fabio Estevam
2012-09-19 21:49     ` Timur Tabi
2012-09-22 14:56       ` Mark Brown
2012-09-24 13:50         ` Timur Tabi [this message]
2012-09-25 12:53           ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50606531.8000606@freescale.com \
    --to=timur@freescale.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=fabio.estevam@freescale.com \
    --cc=festevam@gmail.com \
    --cc=javier.martin@vista-silicon.com \
    --cc=kernel@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).