[alsa-devel] No pcm device?

John Kacur jkacur at gmail.com
Mon Oct 20 15:16:27 CEST 2008


On Mon, Oct 20, 2008 at 3:02 PM, Mark Brown <broonie at sirena.org.uk> wrote:
> On Mon, Oct 20, 2008 at 02:51:04PM +0200, John Kacur wrote:
>> On Mon, Oct 20, 2008 at 2:40 PM, Mark Brown <broonie at sirena.org.uk> wrote:
>
>> >> There is however no sound card, thus no PCM device. Now the question
>> >> is how to proceed? In other words what kind of minimal PCM layer do I
>> >> need if any?
>
>> > Could you please clarify what you're attempting to do here?
>
>> On a simple level, I'm just trying to provide sound, by implementing
>> an alsa driver. I've implemented a low-level library that can
>> manipulate all my hardware's i2s registers, and I've been mirroring
>> other alsa-soc drivers, and I'm at the point where I'm scratching my
>> head over what to do about PCM. The confusion to me, is that the code
>> seems to describe actually hardware - and the only thing I can think
>> of it what my hardware i2s is capable of transmitting, does that sound
>> right?
>
> I think you've misunderstood how this is supposed to work.  None of the
> drivers for I2S or DMA controllers are responsible for creating a sound
> card by themselves.  They provide support for the features of the I2S
> or DMA controller but then rely on a separate machine driver to describe
> how they are actually connected into the system.
>
> There's some documentation of the model that's being used here in:
>
>        Documentation/sound/alsa/soc
>
> In your case you'll want to implement I2S and DMA drivers for your
> platform and a codec driver for the MAX5556 (looking at the datasheet it
> has no control of its own but you'll need to provide a DAI for it) and
> then provide a machine driver which connects them together.
>

I've surely misunderstood a thing or two without question. :)
However, I have read all of the documentation in
Documentation/sound/alsa/soc, and more than once. And I've been
reading the code for the ASoC drivers as well, and have been trying to
emulate it, especially, the code in sound/soc/s3c24xx and
sound/soc/pxa (as well as davinci at first until I realized that it
was incomplete)

...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
codec together? So, back to my current source of confusion, do I need
to implement some basic kind of pcm driver for my scenario?

Thank again for taking the time to answer all my somewhat confused questions.


More information about the Alsa-devel mailing list