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@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.