On Thu, 2007-06-14 at 20:06 +0200, Manuel Lauss wrote:
Hi Liam,
Is it possible to have 2 physical I2S units (which are connected to the same codec) be repesented as a single ASoC device? (The SH7760 has 2 I2S units which are "halfduplex" (only transmit OR capture at a time). My dev platform simply uses the second unit for capture
Yes. I would create two struct snd_soc_device_drivers in your i2s.c file. The first would be the driver for the 2 halfduplex I2S units and the second would be a full duplex driver for a merged I2S controller (made up of the 2 halfduplex units). This way a device can either probe against the halfduplex or full duplex driver based on the driver ID.
I need a trigger callback in the machine driver to properly support multichannel I2S audio on Au1200 (the Au1200 can only do stereo; to get more channels we double/quadruple the I2S LRCLK coming from the codec; however the CPLD needs to be told when a new sample starts; although maybe that can be worked around in VHDL)
I'll add trigger. Probably easier to do this in C than VHDL ;)
Liam