All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Liam Girdwood <liam.r.girdwood@linux.intel.com>,
	Caleb Crome <caleb@crome.org>
Cc: "Lu, Han" <han.lu@intel.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	Mark Brown <broonie@kernel.org>,
	"Gautier, Bernard" <bernard.gautier@intel.com>
Subject: Re: Feasibility of adding alternative audio transport besides I2S/PWM/SPDIF, etc
Date: Tue, 13 Oct 2015 12:43:04 +0200	[thread overview]
Message-ID: <561CE038.10809@metafoo.de> (raw)
In-Reply-To: <1444730265.7124.24.camel@loki>

On 10/13/2015 11:57 AM, Liam Girdwood wrote:
> + Mark
> 
> On Fri, 2015-10-09 at 09:11 -0700, Caleb Crome wrote:
>> On Fri, Oct 9, 2015 at 2:34 AM, Liam Girdwood
>> <liam.r.girdwood@linux.intel.com> wrote:
>>> On Thu, 2015-10-08 at 08:51 -0700, Caleb Crome wrote:
>>>> Hi All,
>>>>    I'm in a constant struggle to bring up many channel audio on each
>>>> separate SoC.
>>>>
>>>> I can easily put a microcontroller in place that will collect and
>>>> distrubute all the TDM channels to the codecs, and connect the
>>>> hardware via an SPI interface to the SoC.
>>>>
>>>> So, instead of:
>>>>
>>>> CODECS <---TDM--->  SoC
>>>>
>>>> It would be
>>>>
>>>> CODECS <---TDM---> uC <---SPI---> SoC
>>>>
>>>> So, my questions are:
>>>>
>>>> * I suspect the SPI interface could be used more universally than each
>>>> individual I2S/TDM interface (like FSL SSI vs. Ti McBSP vs. Ti McASP,
>>>> etc).  and the SPI port would provide a very common API regardless of
>>>> SoC.   Is that true?
>>>
>>> Some SPI ports could probably be used for audio, but this depends on the
>>> SPI port HW capabilities. e.g. the SSP port on minnowboard can be
>>> configured for TDM, I2S and SPI (afaik). I don't think any advantage
>>> could be gained from running in SPI mode unless your HW permits some
>>> special features ?
>>
>> Sorry, I wasn't clear.  The point is to use the 'generic' SPI API in
>> the linux kernel to stream the data, and *not* use an audio format.
>> So, the idea is, the external micro would buffer up a block of data,
>> (in our case, maybe 160 samples * 32 channels  = 10 kBytes), then use
>> the SPI port to read and write to the micro as if it were a memory or
>> something like that to transfer the data.  So the external micro would
>> appear to the CPU as an external register bank, and would do all the
>> audio aggregation.
>>
> 
> Ok, so this sounds like a burst based DAI where the host sends audio
> data in bursts then sleeps. I think this has been done by some codec
> vendors, but I dont know if any code is upstream.

The upstream tlv320dac33 driver does something like this, but it is not
necessarily an implementation I'd recommend to mimic. The whole burst access
mode probably wants some support at the framework level.

  reply	other threads:[~2015-10-13 10:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 15:51 Feasibility of adding alternative audio transport besides I2S/PWM/SPDIF, etc Caleb Crome
2015-10-09  9:34 ` Liam Girdwood
2015-10-09 16:11   ` Caleb Crome
2015-10-13  9:57     ` Liam Girdwood
2015-10-13 10:43       ` Lars-Peter Clausen [this message]
2015-10-13 12:32       ` Mark Brown
2015-10-13 15:33         ` Caleb Crome
2015-10-13 15:37           ` 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=561CE038.10809@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=bernard.gautier@intel.com \
    --cc=broonie@kernel.org \
    --cc=caleb@crome.org \
    --cc=han.lu@intel.com \
    --cc=liam.r.girdwood@linux.intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.