[alsa-devel] [RFC][ASoC] New device/driver arch

Liam Girdwood lg at opensource.wolfsonmicro.com
Fri Jun 15 11:04:19 CEST 2007

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 ;)


More information about the Alsa-devel mailing list