[alsa-devel] No pcm device?

Mark Brown broonie at sirena.org.uk
Mon Oct 20 15:02:01 CEST 2008

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:


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.

More information about the Alsa-devel mailing list