The simplest solution would probably be completely userspace. Write a jackd client which connects to the UART, gives itself RT priority using capabilities, and exposes however many input/output ports as you have. Google FFADO for an example of the programming model used.
If you need normal apps to drive into it, set up an .asoundrc with a device using the jack plugin. I still don't see why you need a kernel driver at all.
On Wed, Dec 23, 2009 at 2:15 AM, Stefan Schoenleitner < dev.c0debabe@gmail.com> wrote:
Alex Austin wrote:
Do you really need a socket, or are you just trying to move audio data from one app to another? Check out jack and netjack. They may already provide the functionality you need.
I need to move PCM samples to/from alsa from/to a DSP board. As the DSP board uses a serial interface (UART) it would be rather cumbersome to implement this functionality as kernel driver. My solution should be a little bit similar to bluetooth audio as it also uses an alsa io plugin and a daemon that actually talks to different (hardware-) devices.
cheers, stefan