On Tue, 2007-04-17 at 17:57 +0200, Michel Benoit wrote:
Thanks. I got the code, included all the ASoc stuff in my local tree and rebuilt the kernel. If i understand the docs correctly I have to write a codec driver for my audio chip and some machine code to set up the particulars for my board (clocks, io pins etc.).
Your correct, you will need a codec driver and a machine driver to glue the codec to the AT91 SSC and do any machine specific config.
Fwiw, all the development is done here on the dev branch:-
http://opensource.wolfsonmicro.com/cgi-bin/gitweb/gitweb.cgi?p=linux-2.6-aso...
Am I missing something?
The codec we use has no control functions (no i2c/spi comm) it simply plays back the samples it reads on the i2s bus. This should thus translate to a simple codec driver. Is there a codec driver that uses i2s on the at91 that I can use as a base for my driver?
Frank has written a codec driver for a dumb BT codec (attached and link below). This could be renamed and with a little string changes could be used as a generic dumb codec driver.
http://opensource.wolfsonmicro.com/~lg/tmp/asoc-codec-bluecore.patch
I haven't really understood yet how to include the machine code. Should this be done in the same way as the other platform drivers in arch/arm/mach-at91rm9200/board-xxx.c? Is there some sample code that I can use as a model?
I would use the eti_b1_wm8731.c as an example machine driver for your board. You will need to replace any WM8731 references and add your boards own specific clocks, gpio's etc.
Liam