linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: alsa-devel@alsa-project.org, kumar.gala@freescale.com,
	broonie@opensource.wolfsonmicro.com, linuxppc-dev@ozlabs.org
Subject: Re: [alsa-devel] [PATCH 1/2] powerpc: add platform registration for ALSA SoC drivers
Date: Tue, 27 Apr 2010 09:52:41 -0500	[thread overview]
Message-ID: <4BD6FA39.3030400@freescale.com> (raw)
In-Reply-To: <1272355624.3204.52.camel@odin>

Liam Girdwood wrote:

> I think one of the difficulties encountered here is that the device tree
> root for sound in this case is the SSI (Digital Audio Interface)
> controller and not the sound card as in ASoC. So maybe the problem is
> how do we represent an ASoC sound card in the device tree ?

Yes, that is a topic of concern.

If you look at the 8610 DTS, you'll see that the SSI (i2s) is effectively the master.  In reality, I just modeled the board in the DTS.  The SSI node, for example, lists the two DMA channels it needs.  It also points to the codec that it's connected to.  And the clock-frequency property is in the codec node because the oscillator is connected to the codec on the board.

In theory, would could probably get rid of the DMA node pointers if I can update the standard DMA driver to allow me to reserve two DMA channels.  That's not an easy fix, though.

> The sound card within ASoC is a compound device that is made up of the
> SSI, Codec and audio DMA engine components. The SSI/Codec/DMA components
> do not have to be the sound cards child devices wrt the driver model but
> do register with the ASoC core and are 'joined' with each other and the
> sound card driver to form a working audio device.

Yes, today I just walk the device tree looking for these connections implicitly. The code may be ugly, but the device tree is more streamlined.

> Now I don't know the mechanics of adding an ASoC sound card to the
> device tree, but the device tree should be able to define an ASoC sound
> card and also represent the relationships between the sound card and the
> SSI/Codec/DMA components. The components should also be represented in
> the device tree. Parsing the device tree should probe() all the ASoC
> components and sound card. The ASoC core would then instantiated them as
> a sound device.  

Another problem is that ASoC won't let me probe the DMA channels independently.  That is, I cannot tell ASoC that I have a playback DMA and a capture DMA.  ASoC does not recognize two DMA devices for a single SSI.  If you can fix that, then I can turn the DMA driver into an OF driver.

-- 
Timur Tabi
Linux kernel developer at Freescale

  reply	other threads:[~2010-04-27 14:52 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-26 20:49 [PATCH 1/2] powerpc: add platform registration for ALSA SoC drivers Timur Tabi
2010-04-27  6:36 ` Benjamin Herrenschmidt
2010-04-27  8:07   ` [alsa-devel] " Liam Girdwood
2010-04-27 14:52     ` Timur Tabi [this message]
2010-04-27 15:20       ` Liam Girdwood
2010-04-27 15:28         ` Timur Tabi
2010-04-27 15:56           ` Timur Tabi
2010-04-27 16:41           ` Liam Girdwood
2010-04-27 18:32             ` Timur Tabi
2010-04-27 19:15               ` Grant Likely
2010-04-27 20:04                 ` Timur Tabi
2010-04-27 20:38                   ` Mark Brown
2010-04-28  4:19                   ` Benjamin Herrenschmidt
2010-04-28  4:18                 ` Benjamin Herrenschmidt
2010-04-30 21:46         ` Timur Tabi
2010-04-30 22:04           ` Timur Tabi
2010-04-27 20:24     ` Grant Likely
2010-04-27 20:46       ` Timur Tabi
2010-04-27 20:59         ` Mark Brown
2010-04-27 21:03           ` Timur Tabi
2010-04-27 21:11             ` Mark Brown
2010-04-28  4:25           ` Benjamin Herrenschmidt
2010-04-28 13:00             ` Mark Brown
2010-04-29  0:42               ` Benjamin Herrenschmidt
2010-04-28  5:37         ` Grant Likely
2010-04-28 13:35           ` Timur Tabi
2010-04-28 13:57             ` Grant Likely
2010-04-28 16:20               ` Timur Tabi
2010-04-28 16:47                 ` Grant Likely
2010-04-28 17:27                   ` Timur Tabi
2010-04-27 22:29       ` Mark Brown
2010-04-28  2:31         ` Grant Likely
2010-04-28  9:16           ` Mark Brown
2010-04-28  4:10         ` Benjamin Herrenschmidt
2010-04-28 12:07           ` Mark Brown
2010-04-29  0:36             ` Benjamin Herrenschmidt
2010-04-29  3:43               ` Grant Likely
2010-04-28 13:19         ` Timur Tabi
2010-04-28 13:39           ` Mark Brown
2010-04-27  9:54   ` Mark Brown
2010-04-27 10:09     ` Benjamin Herrenschmidt
2010-04-27 10:41       ` Mark Brown
2010-04-27 20:27       ` Grant Likely
2010-04-27 20:50         ` Mark Brown
2010-04-27 20:53           ` Timur Tabi
2010-04-28 12:49         ` [alsa-devel] " Liam Girdwood
2010-04-28 20:35       ` Timur Tabi
2010-04-28 21:58         ` Grant Likely
2010-04-28 22:13           ` Timur Tabi
2010-04-28 22:23             ` Grant Likely
2010-04-29  0:52             ` Benjamin Herrenschmidt
2010-04-29  3:44               ` Grant Likely
2010-04-29  0:50         ` Benjamin Herrenschmidt
2010-04-27 19:21 ` Grant Likely
2010-04-27 20:05   ` Timur Tabi

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=4BD6FA39.3030400@freescale.com \
    --to=timur@freescale.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=kumar.gala@freescale.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=lrg@slimlogic.co.uk \
    /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).