[alsa-devel] No pcm device?

John Kacur jkacur at gmail.com
Mon Oct 20 15:54:32 CEST 2008


On Mon, Oct 20, 2008 at 3:24 PM, Mark Brown <broonie at sirena.org.uk> wrote:
> On Mon, Oct 20, 2008 at 03:16:27PM +0200, John Kacur wrote:
>
>> ...but I'm still scratching my head when I look at files like
>> sound/soc/s3c24xx/s3c24xx-pcm.c
>> It appears to be part of the DAI that connects the i2s driver and
>
> No, there is no direct connection between any of the platform drivers
> and the codec drivers - the platform drivers will be configured to
> produce and understand signals on I2S as configured by a combination of
> the machine drivers and core.  The codec will be configured compatibly
> but at no point should the codec and platform drivers directly know
> anything about each other.
>
>> codec together? So, back to my current source of confusion, do I need
>> to implement some basic kind of pcm driver for my scenario?
>
> There should be at least a stub platform driver.  The driver is
> responsible for things that apply over the entire platform - for most
> platforms this is DMA since the DMA control is the same for all the
> different audio interfaces the platform has.
>
> This is nothing to do with creating a card, that is initiated by the
> machine driver.
>

Here is the outline of my design. So, if I understand you correctly,
my jade-pcm.c file is just for implementing dma. Basically, I have a
simple scenario there is no capture, just read a wav file from user
space, transport it through i2s to the codec.

Machine Code (Jade)
-------------------
jade-xxsvideo.c
jade-xxsvideo.h

Platform Code
-------------
jade-pcm.c
jade-pcm.h

DAI (Digital Audio Interface)
-----------------------------
	.cpu_dai 	= &jade_i2s_dai
		jade-i2s.c
		jade-i2s.h
	.codec_dai	= &max5556_dai
		max5556.c
		max5556.h

Codec Code (MAX5556ESA_M, TDA7052BT/N1,  TDA8551T)
--------------------------------------------------
max5556.c
max5556.h


More information about the Alsa-devel mailing list