[alsa-devel] SoC sound support for imx27

Liam Girdwood lg at opensource.wolfsonmicro.com
Thu May 8 13:25:13 CEST 2008

On Thu, 2008-05-08 at 09:54 +0200, Juergen Beisert wrote:

> 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?

You shouldn't need to write an I2S driver for the i.MX2x SSI port as the
i.MX3x SSI is very similar (maybe identical). Please try imx-ssi.c
first, although it may need some changes if the register defs are
different and will need changes for DMA config.

Fwiw, I've attached an older 2.4 OSS driver for the i.MX21. This may
help with the DMA.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mx2ads-wm8731.c
Type: text/x-csrc
Size: 42966 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20080508/330611ae/attachment-0001.c 

More information about the Alsa-devel mailing list