All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.