On Wed, Jul 30, 2008 at 04:17:50PM -0700, Alessio Sangalli wrote:
Hi, we are writing a small driver to control a I2S interface on our ARM-based system...
Which processor are you using?
Right now we are going to implement a "easier" interface that allows to set some parameters, and then simply write to the device that will automatically control the DAC and then to the speakers.
Now, this is of course not ALSA compliant. How can we estimate the effort to make this simple driver ALSA compatible so that every ALSA application can use this device for playback? We do not have any volume control and the range of sound "modes" is extremely limited.
You might want to have a look at the ASoC subsystem under sound/soc - it provides a framework which should allow you to bring something up fairly quickly. The core of this framework handles the ALSA interfacing that isn't specific to a given piece of hardware with separate drivers being provided for each hardware component which only need implement the specifics for the device.
As well as the code there's some documentation in the kernel sources under Documentation/sound/alsa/soc.