From: Lars-Peter Clausen <lars@metafoo.de>
To: Ricard Wanderlof <ricard.wanderlof@axis.com>,
alsa-devel@alsa-project.org
Subject: Re: Different codecs for playback and capture?
Date: Wed, 03 Jun 2015 16:26:07 +0200 [thread overview]
Message-ID: <556F0E7F.80802@metafoo.de> (raw)
In-Reply-To: <alpine.DEB.2.02.1506031045380.22011@lnxricardw1.se.axis.com>
On 06/03/2015 01:06 PM, Ricard Wanderlof wrote:
>
> Hi,
>
> I'm developing a machine driver for a system where we have two different
> codecs for input and output, connected to the same I2S interface. Normally
> a machine driver specifies which codec the I2S interface is connected to,
> but in this case there should really be two different ones, one for record
> and one for playback. I'm working on how to put this together, and just
> thought I'd try and get some input before going too far down the wrong
> track. The options I see are:
>
> 1. Specify two different codecs in the machine driver. Since one can
> specify several dai_links this would seem to be doable, however, I'm not
> sure ALSA can handle two codecs sharing a single CPU DAI in this way?
>
> 2. Use two separate machine drivers, one for each codec? Again, sharing a
> single CPU DAI would seem to be an issue here?
>
> 3. Write a special codec driver that is a merge between the two codecs,
> one for input and one for output. Seems like a bit of a hack, but should
> be possible.
>
> Any spontaneous thoughts?
Hi,
There has been support for multiple CODECs on the same DAI link for a while
now. Have a look at
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=88bd870f02dff5c9445286e185f21873f25a977f.
Instead of setting the codec_name/codec_dai_name fields in the dai_link
create a snd_soc_link_component array with a entry for each of the CODECs
and assign that to the codecs field in the DAI link.
I'm not too sure how well it works if one CODEC is playback only and the
other is capture only and there might be some issues. But this is the way to
go and if there are problems fix them.
- Lars
next prev parent reply other threads:[~2015-06-03 14:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 11:06 Different codecs for playback and capture? Ricard Wanderlof
2015-06-03 14:26 ` Lars-Peter Clausen [this message]
2015-06-04 8:06 ` Ricard Wanderlof
2015-06-04 13:58 ` Lars-Peter Clausen
2015-06-04 11:46 ` Ricard Wanderlof
2015-06-04 13:52 ` Lars-Peter Clausen
2015-06-04 14:22 ` Ricard Wanderlof
2015-06-04 14:54 ` Lars-Peter Clausen
2015-06-04 15:20 ` Ricard Wanderlof
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=556F0E7F.80802@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=ricard.wanderlof@axis.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox