alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Liam Girdwood <lrg@slimlogic.co.uk>
To: "ext Candelaria Villarreal, Jorge" <jorge.candelaria@ti.com>
Cc: alsa-devel@alsa-project.org, Peter Ujfalusi <peter.ujfalusi@nokia.com>
Subject: Re: Problem adding support for digital mixer in codec
Date: Thu, 25 Mar 2010 09:13:36 +0000	[thread overview]
Message-ID: <1269508416.3758.19.camel@odin> (raw)
In-Reply-To: <201003250917.59531.peter.ujfalusi@nokia.com>

On Thu, 2010-03-25 at 09:17 +0200, Peter Ujfalusi wrote:
> Hi,
> 
> On Thursday 25 March 2010 04:33:54 ext Candelaria Villarreal, Jorge wrote:
> > Hi,
> > 
> > I am trying to add support for a digital mixer. The digital mixer is
> > connected like the following example:
> > 
> > 
> > Path 1 -------\
> > Path 2 --------\
> >                    MIXER ------> DAC----> ...
> > Path 3 --------/
> > Path 4 -------/
> > 
> > 
> > 
> > However, I think ALSA does not support this configuration, as the DAC
> > should be the first element in a route. I tried adding the DAC to the
> > route first, and connected its output to the mixer inputs, like this:
> > 
> > 	  {"Mixer", "Multimedia Ext Switch", "HSDAC Left"},
> >         {"Mixer", "Multimedia Ext Switch", "HSDAC Right"},
> > 
> >         {"Mixer", "Voice Switch", "HSDAC Left"},
> >         {"Mixer", "Voice Switch", "HSDAC Right"},
> > 
> >         {"Mixer", "Multimedia Uplink Switch", "HSDAC Left"},
> >         {"Mixer", "Multimedia Uplink Switch", "HSDAC Right"},
> > 
> >         {"Mixer", "Multimedia Switch", "HSDAC Left"},
> >         {"Mixer", "Multimedia Switch", "HSDAC Right"},
> > 
> > But this does not seem to work. Can anyone give me some tips? Any comment
> > would be appreciated.

The DAC is traditionally an endpoint (or source) widget within DAPM.
This means it is does not have a source widget to supply it with audio.

> 
> Hmm, how these paths are connected, and where?
> What I mean is I suppose you have one path, which is connected to the main CPU, 
> than I suspect you have a connection to a modem (voice?), than you have 
> possibility to connect some other components via digital link?
> 
> What I did with the TWL4030 codec, is that I have moved the actual DAC power 
> control from the DAPM_DAC to different widget (the DAPM_DAC is kind of a fake 
> one). This was needed to support the digital loopback functionality.
> 
> So if you reorder the DAPM widgets (making sure that the switch order still OK), 
> than I think you can treat one of the paths as normal playback path (fake 
> DAPM_DAC -> mixer (have the DAC power bit handled here) -> ...).
> Than you might consider of adding the rest of the paths as DAPM_INPUT, and 
> connect them to the mixer (which after the fake DAC).
> So you kind of have digital loopback from those to the analog domain.
> 

This approach currently works well on the twl4030. However, you may want
to consider using SND_SOC_DAPM_AIF_IN() for your input paths here. e.g.

AIF_IN -> MIXER -> DAC -> rest of codec

Liam

-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

  reply	other threads:[~2010-03-25  9:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-25  2:33 Problem adding support for digital mixer in codec Candelaria Villarreal, Jorge
2010-03-25  4:53 ` Raymond Yau
2010-03-25  7:17 ` Peter Ujfalusi
2010-03-25  9:13   ` Liam Girdwood [this message]
2010-03-25  9:22     ` Peter Ujfalusi
2010-03-25 16:56     ` Candelaria Villarreal, Jorge
2010-03-25  9:26 ` Mark Brown

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=1269508416.3758.19.camel@odin \
    --to=lrg@slimlogic.co.uk \
    --cc=alsa-devel@alsa-project.org \
    --cc=jorge.candelaria@ti.com \
    --cc=peter.ujfalusi@nokia.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;
as well as URLs for NNTP newsgroup(s).