Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@nokia.com>
To: ext Mark Brown <broonie@sirena.org.uk>
Cc: sakoman@gmail.com, alsa-devel@alsa-project.org
Subject: Re: [PATCH 2/8] ASoC: TWL4030: Add Analog PGA control switch to DAPM
Date: Mon, 8 Dec 2008 14:06:08 +0200	[thread overview]
Message-ID: <200812081406.08116.peter.ujfalusi@nokia.com> (raw)
In-Reply-To: <20081208112336.GC5159@sirena.org.uk>


On Monday 08 December 2008 13:23:37 ext Mark Brown wrote:
> On Mon, Dec 08, 2008 at 10:09:02AM +0200, Peter Ujfalusi wrote:
> > +	/* Analog PGAs
> > +	 * bit 0: APGA enable
> > +	 * bit 1: Digital to analog path enable
> > +	 */
> > +	SND_SOC_DAPM_REG(snd_soc_dapm_pga, "ARXR1_APGA",
> > +			TWL4030_REG_ARXR1_APGA_CTL, 0, 0x3, 0x3, 0x0),
> > +	SND_SOC_DAPM_REG(snd_soc_dapm_pga, "ARXL1_APGA",
> > +			TWL4030_REG_ARXL1_APGA_CTL, 0, 0x3, 0x3, 0x0),
> > +	SND_SOC_DAPM_REG(snd_soc_dapm_pga, "ARXR2_APGA",
> > +			TWL4030_REG_ARXR2_APGA_CTL, 0, 0x3, 0x3, 0x0),
> > +	SND_SOC_DAPM_REG(snd_soc_dapm_pga, "ARXL2_APGA",
> > +			TWL4030_REG_ARXL2_APGA_CTL, 0, 0x3, 0x3, 0x0),
> > +
>
> The PGA should be standard SND_SOC_DAPM_PGA()s with the digital to
> analogue switches used to implement mute controls for them.

Should I 'chain' these switches, like this:

/* Digital to analog enable/disable */
SND_SOC_DAPM_PGA("ARXR1_APGA", TWL4030_REG_ARXR1_APGA_CTL,
		1, 0, NULL, 0),
/* APGA enable/disable */
SND_SOC_DAPM_PGA("ARXR1_APGA Enable", TWL4030_REG_ARXR1_APGA_CTL,
		0, 0, NULL, 0),
...
{"ARXR1_APGA Enable", NULL, "DACR1"},
{"ARXR1_APGA", NULL, "ARXR1_APGA Enable"},

Or should I use the wcontrols, wncontrols to implement the DA enable/disable:

static const struct snd_kcontrol_new arxr1_apga_controls[] = {
SOC_DAPM_SINGLE("ARXR1_APGA Switch", TWL4030_REG_ARXR1_APGA_CTL, 1, 1, 0),
};
...
SND_SOC_DAPM_PGA("ARXR1_APGA", TWL4030_REG_ARXR1_APGA_CTL,
		0, 0, &arxr1_apga_controls[0], ARRAY_SIZE(arxr1_apga_controls)),

If the later is preferred, than probably it would be better to move the 
"DAC1 Analog Playback Volume" and "DAC2 Analog Playback Volume" from the 
twl4030_snd_controls to twl4030_dapm_widgets, separate the four paths and use 
SOC_DAPM_SINGLE_TLV("ARXR1_APGA Playback Volume" ?
Hmm, in this case the SOC_DAPM_SINGLE_TLV can be also part of the 
arxr1_apga_controls...

-- 
Péter

  reply	other threads:[~2008-12-08 12:06 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-08  8:09 [PATCH 0/8] ASoC: TWL4030: DAPM implementation for outputs (playback) Peter Ujfalusi
2008-12-08  8:09 ` [PATCH 1/8] ASoC: TWL4030: Correct DAPM_DAC with power control Peter Ujfalusi
2008-12-08  8:09   ` [PATCH 2/8] ASoC: TWL4030: Add Analog PGA control switch to DAPM Peter Ujfalusi
2008-12-08  8:09     ` [PATCH 3/8] ASoC: TWL4030: Add DAPM event handler for output MUX selection Peter Ujfalusi
2008-12-08  8:09       ` [PATCH 4/8] ASoC: TWL4030: DAPM mapping of the Earpiece output Peter Ujfalusi
2008-12-08  8:09         ` [PATCH 5/8] ASoC: TWL4030: DAPM mapping of the PreDriv outputs Peter Ujfalusi
2008-12-08  8:09           ` [PATCH 6/8] ASoC: TWL4030: DAPM mapping of the Headset outputs Peter Ujfalusi
2008-12-08  8:09             ` [PATCH 7/8] ASoC: TWL4030: DAPM mapping of the Carkit outputs Peter Ujfalusi
2008-12-08  8:09               ` [PATCH 8/8] ASoC: TWL4030: DAPM mapping of the Handsfree outputs Peter Ujfalusi
2008-12-08 11:28           ` [PATCH 5/8] ASoC: TWL4030: DAPM mapping of the PreDriv outputs Mark Brown
2008-12-08 11:40             ` Peter Ujfalusi
2008-12-08 13:50               ` Mark Brown
2008-12-08 11:24         ` [PATCH 4/8] ASoC: TWL4030: DAPM mapping of the Earpiece output Mark Brown
2008-12-08 11:23     ` [PATCH 2/8] ASoC: TWL4030: Add Analog PGA control switch to DAPM Mark Brown
2008-12-08 12:06       ` Peter Ujfalusi [this message]
2008-12-08 12:35         ` Mark Brown
2008-12-08 11:31 ` [PATCH 0/8] ASoC: TWL4030: DAPM implementation for outputs (playback) Mark Brown
2008-12-08 13:20 ` Mark Brown
2008-12-09  6:51   ` Peter Ujfalusi
2008-12-09  9:47     ` Mark Brown
2008-12-09 10:07       ` Peter Ujfalusi

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=200812081406.08116.peter.ujfalusi@nokia.com \
    --to=peter.ujfalusi@nokia.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@sirena.org.uk \
    --cc=sakoman@gmail.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