alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@leon.nu>
To: lrg@ti.com, broonie@opensource.wolfsonmicro.com,
	alsa-devel@alsa-project.org
Cc: Andrey Danin <danindrey@mail.ru>, Leon Romanovsky <leon@leon.nu>
Subject: [PATCH 07/12] ASoC: alc5632: Add DMIC switches and controls
Date: Sat, 11 Feb 2012 23:10:40 +0200	[thread overview]
Message-ID: <1328994645-8237-8-git-send-email-leon@leon.nu> (raw)
In-Reply-To: <1328994645-8237-1-git-send-email-leon@leon.nu>

From: Andrey Danin <danindrey@mail.ru>

Add DMIC switches and controls to ALC5632 codec.

Signed-off-by: Andrey Danin <danindrey@mail.ru>
Signed-off-by: Leon Romanovsky <leon@leon.nu>
---
 sound/soc/codecs/alc5632.c |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/alc5632.c b/sound/soc/codecs/alc5632.c
index a5b627e..30b8f80 100644
--- a/sound/soc/codecs/alc5632.c
+++ b/sound/soc/codecs/alc5632.c
@@ -196,8 +196,12 @@ static const struct snd_kcontrol_new alc5632_snd_controls[] = {
 			ALC5632_MIC_CTRL, 10, 2, 0, boost_tlv),
 	SOC_SINGLE_TLV("Mic 2 Boost Volume",
 			ALC5632_MIC_CTRL, 8, 2, 0, boost_tlv),
-	SOC_SINGLE_TLV("Digital Boost Volume",
+	SOC_SINGLE_TLV("DMIC Boost Volume",
 			ALC5632_DIGI_BOOST_CTRL, 0, 7, 0, dig_tlv),
+	SOC_SINGLE("DMIC En Capture Switch",
+			ALC5632_DIGI_BOOST_CTRL, 15, 1, 0),
+	SOC_SINGLE("DMIC PreFilter Capture Switch",
+			ALC5632_DIGI_BOOST_CTRL, 12, 1, 0),
 };
 
 /*
@@ -266,6 +270,14 @@ SOC_DAPM_SINGLE("SPK2REC_R Capture Switch", ALC5632_ADC_REC_MIXER, 1, 1, 1),
 SOC_DAPM_SINGLE("MONO2REC_R Capture Switch", ALC5632_ADC_REC_MIXER, 0, 1, 1),
 };
 
+/* Dmic Mixer */
+static const struct snd_kcontrol_new alc5632_dmicl_mixer_controls[] = {
+SOC_DAPM_SINGLE("DMICL2ADC Capture Switch", ALC5632_DIGI_BOOST_CTRL, 7, 1, 1),
+};
+static const struct snd_kcontrol_new alc5632_dmicr_mixer_controls[] = {
+SOC_DAPM_SINGLE("DMICR2ADC Capture Switch", ALC5632_DIGI_BOOST_CTRL, 6, 1, 1),
+};
+
 static const char *alc5632_spk_n_sour_sel[] = {
 		"RN/-R", "RP/+R", "LN/-R", "Mute"};
 static const char *alc5632_hpl_out_input_sel[] = {
@@ -364,6 +376,12 @@ SND_SOC_DAPM_MIXER("Mono Mix", ALC5632_PWR_MANAG_ADD2, 2, 0,
 SND_SOC_DAPM_MIXER("Speaker Mix", ALC5632_PWR_MANAG_ADD2, 3, 0,
 	&alc5632_speaker_mixer_controls[0],
 	ARRAY_SIZE(alc5632_speaker_mixer_controls)),
+SND_SOC_DAPM_MIXER("DMICL Mix", SND_SOC_NOPM, 0, 0,
+	&alc5632_dmicl_mixer_controls[0],
+	ARRAY_SIZE(alc5632_dmicl_mixer_controls)),
+SND_SOC_DAPM_MIXER("DMICR Mix", SND_SOC_NOPM, 0, 0,
+	&alc5632_dmicr_mixer_controls[0],
+	ARRAY_SIZE(alc5632_dmicr_mixer_controls)),
 
 /* input mixers */
 SND_SOC_DAPM_MIXER("Left Capture Mix", ALC5632_PWR_MANAG_ADD2, 1, 0,
@@ -538,12 +556,14 @@ static const struct snd_soc_dapm_route alc5632_dapm_routes[] = {
 
 	/* left ADC */
 	{"Left ADC", NULL,				"Left Capture Mix"},
-	{"Left ADC", NULL,				"DMICDAT"},
+	{"DMICL Mix", "DMICL2ADC Capture Switch", "DMICDAT"},
+	{"Left ADC", NULL,				"DMICL Mix"},
 	{"ADCLR", NULL,					"Left ADC"},
 
 	/* right ADC */
 	{"Right ADC", NULL, "Right Capture Mix"},
-	{"Right ADC", NULL, "DMICDAT"},
+	{"DMICR Mix", "DMICR2ADC Capture Switch", "DMICDAT"},
+	{"Right ADC", NULL, "DMICR Mix"},
 	{"ADCR Mux", "Stereo ADC", "Right ADC"},
 	{"ADCR Mux", "Voice ADC", "Right ADC"},
 	{"ADCLR", NULL, "ADCR Mux"},
-- 
1.7.3.4

  parent reply	other threads:[~2012-02-11 21:11 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-11 21:10 [PATCH 00/12] ASoC: ALC5632: Capture path improvements Leon Romanovsky
2012-02-11 21:10 ` [PATCH 01/12] ASoC: alc5632: Coding style. Remove two extra empty lines Leon Romanovsky
2012-02-11 21:10 ` [PATCH 02/12] ASoC: alc5632: Fixed voice DAC volume step Leon Romanovsky
2012-02-11 21:10 ` [PATCH 03/12] ASoC: alc5632: Add voice DAC playback switch Leon Romanovsky
2012-02-11 21:10 ` [PATCH 04/12] ASoC: alc5632: Rename capture switches to common scheme XXX2REC Leon Romanovsky
2012-02-11 21:10 ` [PATCH 05/12] ASoC: alc5632: Remove unexisting route from Phone Mix to Mono Mix Leon Romanovsky
2012-02-11 21:10 ` [PATCH 06/12] ASoC: alc5632: Refactored DAPM routes to add voice support Leon Romanovsky
2012-02-11 21:10 ` Leon Romanovsky [this message]
2012-02-11 21:10 ` [PATCH 08/12] ASoC: alc5632: Fix I2S digital interface power for recording Leon Romanovsky
2012-02-11 21:10 ` [PATCH 09/12] ASoC: alc5632: Connect HP/HPL/HPR mix'es to HPOut Mix Leon Romanovsky
2012-02-11 21:10 ` [PATCH 10/12] ASoC: alc5632: Fix Boost Volume TLVs used for the external microphones Leon Romanovsky
2012-02-11 21:10 ` [PATCH 11/12] ASoC: alc5632: Fix Capture/Playback attributes for microphone inputs Leon Romanovsky
2012-02-11 21:10 ` [PATCH 12/12] ASoC: alc5632: Allow 8kHz stream support Leon Romanovsky

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=1328994645-8237-8-git-send-email-leon@leon.nu \
    --to=leon@leon.nu \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=danindrey@mail.ru \
    --cc=lrg@ti.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).