[alsa-devel] SoC sound support for imx27
Juergen Beisert
jbe at pengutronix.de
Thu May 8 09:54:28 CEST 2008
On Monday 05 May 2008 14:42, Mark Brown wrote:
> On Mon, May 05, 2008 at 12:56:37PM +0200, Juergen Beisert wrote:
> > Hmm, I did a deeper look into this code. Why - for example - does the
> > file mx31ads-wm8753.c does the job of the BSP file? Why it registers
> > devices? For my board I want to register platform_devices only in
> > arc/arm/mach-mx2/pcm038.c. Nowhere else. If there is some glue required
> > to bring components together, IMHO also arc/arm/mach-mx2/pcm038.c is the
> > correct place to do so. Why you did it in sound/ ? If you do it in sound/
> > , you always need two locations to maintain. On in the arch/, one in
> > sound/ .
> That said, you don't need to do things this way, especially with ASoC v2
> where even if you do separate out the machine driver you can still
> register everything in your architecture code including a platform
> device for the machine driver.
It seems the documentation in the "asoc-v2-dev"
(Documentation/sound/alsa/soc/) is still v1, isn't it?
I'm confused how to link the pcm-layer and the transmission layer together.
pxa2xx-i2s.c registers a codec-dai (line 346), while the imx-ssi.c registers
(line 864) a platform-dai (internally called a cpu_dai. BTW: why a different
name?). I _believe_ the CPU DAI tries to connect the CPU-pcm to the
transmission interface like ssi or i2s on the same chip. But both
implementations are using the same layering (pcm-dma and ssi/i2s), but
registering different DAIs.
Now I have an ssi driver for my CPU (to be more precise: Two instances of it,
when I registering two ssi devices in my BSP file). But how to tell the CPU
pcm-layer which one it should use (and for what purpose, play, capture)? And
only the ssi driver itself knows how to interact with the DMA controller. But
this information is needed in the CPU pcm-layer as it setup the DMA.
Does a list exists, where I can store driver's private data in each layer
(mapped iomem addresses for example)? And how to access it, when I only get
a "struct snd_pcm_substream" as a parameter?
Regards
Juergen
--
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Vertretung Sued/Muenchen, Germany
Phone: +49-8766-939 228 | Fax: +49-5121-206917-9
More information about the Alsa-devel
mailing list