[alsa-devel] Two codecs using the same I2S bus

Niels Langendorff linux at langendorff.nl
Sat Dec 12 20:54:04 CET 2009

Hi Mark,

thanks for your response. My comments are in between.

Op 12 dec 2009, om 19:05 heeft Mark Brown het volgende geschreven:

> On Fri, Dec 11, 2009 at 01:29:07PM +0100, Niels Langendorff wrote:
>> for a samsung based project we have chosen two codecs, one for input, 
>> the other for output. The two codecs are using the same I2S bus due to 
>> audio requirements (HF audio in combination with EC)
>> When having two machine implementations at the same time for the two 
>> codecs we will run into problems attaching to the I2S bus. A solution is 
>> to combine the machine implementation into one file, but then I probaly 
>> have to modify generic kernel code.
>> I there some solution for this and/or example code
> This should work with the kernel as-is providing the two CODECs don't
> both need register control, just declare DAI links for each of the links
> you need from your machine driver.  
Both the codecs needs to be reconfigured by writing the registers for every playback/recording, so that is the difficulty.
I will have a look at the OMAP implementation as a good example.

> Nothing will stop you adding one DAI
> to multiple links.  You'll need to deal with resource contention issues
> in your machine driver but it should have enough hooks already to
> support that, or you can just arrange for your application to never try
> to do anything unsupported.
> If you run into problems doing this please bring them up on the list.

More information about the Alsa-devel mailing list