From: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
To: Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Jaroslav Kysela <perex-/Fr2/VpizcU@public.gmane.org>,
Takashi Iwai <tiwai-IBi9RG/b67k@public.gmane.org>
Cc: dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org>
Subject: [PATCH v3 1/9] ASoC: sun8i-codec-analog: split out mbias
Date: Wed, 24 May 2017 18:05:59 +0800 [thread overview]
Message-ID: <20170524100607.29790-2-icenowy@aosc.io> (raw)
In-Reply-To: <20170524100607.29790-1-icenowy-h8G6r0blFSE@public.gmane.org>
From: Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org>
Allwinner V3s features an analog codec without MBIAS pin.
Split out this part, in order to prepare for the V3s analog codec.
Signed-off-by: Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org>
---
Changes in v3:
- Fixed a missing line in v2.
sound/soc/sunxi/sun8i-codec-analog.c | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/sound/soc/sunxi/sun8i-codec-analog.c b/sound/soc/sunxi/sun8i-codec-analog.c
index 6c17c99c2c8d..edcc3eb7cd9a 100644
--- a/sound/soc/sunxi/sun8i-codec-analog.c
+++ b/sound/soc/sunxi/sun8i-codec-analog.c
@@ -289,11 +289,6 @@ static const struct snd_soc_dapm_widget sun8i_codec_common_widgets[] = {
/* Microphone input */
SND_SOC_DAPM_INPUT("MIC1"),
- /* Microphone Bias */
- SND_SOC_DAPM_SUPPLY("MBIAS", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
- SUN8I_ADDA_MIC1G_MICBIAS_CTRL_MMICBIASEN,
- 0, NULL, 0),
-
/* Mic input path */
SND_SOC_DAPM_PGA("Mic1 Amplifier", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
SUN8I_ADDA_MIC1G_MICBIAS_CTRL_MIC1AMPEN, 0, NULL, 0),
@@ -453,6 +448,27 @@ static int sun8i_codec_add_headphone(struct snd_soc_component *cmpnt)
return 0;
}
+/* mbias specific widget */
+static const struct snd_soc_dapm_widget sun8i_codec_mbias_widgets[] = {
+ SND_SOC_DAPM_SUPPLY("MBIAS", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
+ SUN8I_ADDA_MIC1G_MICBIAS_CTRL_MMICBIASEN,
+ 0, NULL, 0),
+};
+
+static int sun8i_codec_add_mbias(struct snd_soc_component *cmpnt)
+{
+ struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(cmpnt);
+ struct device *dev = cmpnt->dev;
+ int ret;
+
+ ret = snd_soc_dapm_new_controls(dapm, sun8i_codec_mbias_widgets,
+ ARRAY_SIZE(sun8i_codec_mbias_widgets));
+ if (ret)
+ dev_err(dev, "Failed to add MBIAS DAPM widgets: %d\n", ret);
+
+ return ret;
+}
+
/* hmic specific widget */
static const struct snd_soc_dapm_widget sun8i_codec_hmic_widgets[] = {
SND_SOC_DAPM_SUPPLY("HBIAS", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
@@ -679,6 +695,7 @@ struct sun8i_codec_analog_quirks {
bool has_hmic;
bool has_linein;
bool has_lineout;
+ bool has_mbias;
bool has_mic2;
};
@@ -686,12 +703,14 @@ static const struct sun8i_codec_analog_quirks sun8i_a23_quirks = {
.has_headphone = true,
.has_hmic = true,
.has_linein = true,
+ .has_mbias = true,
.has_mic2 = true,
};
static const struct sun8i_codec_analog_quirks sun8i_h3_quirks = {
.has_linein = true,
.has_lineout = true,
+ .has_mbias = true,
.has_mic2 = true,
};
@@ -734,6 +753,12 @@ static int sun8i_codec_analog_cmpnt_probe(struct snd_soc_component *cmpnt)
return ret;
}
+ if (quirks->has_mbias) {
+ ret = sun8i_codec_add_mbias(cmpnt);
+ if (ret)
+ return ret;
+ }
+
if (quirks->has_mic2) {
ret = sun8i_codec_add_mic2(cmpnt);
if (ret)
--
2.12.2
next prev parent reply other threads:[~2017-05-24 10:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-24 10:05 [PATCH v3 0/9] Add support for the audio codec on Allwinner V3s Icenowy Zheng
[not found] ` <20170524100607.29790-1-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-24 10:05 ` Icenowy Zheng [this message]
[not found] ` <20170524100607.29790-2-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-24 10:33 ` [PATCH v3 1/9] ASoC: sun8i-codec-analog: split out mbias Chen-Yu Tsai
2017-05-24 10:06 ` [PATCH v3 2/9] ASoC: sun8i-codec-analog: prepare a mixer control/widget/route set for V3s Icenowy Zheng
[not found] ` <20170524100607.29790-3-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-25 3:56 ` Chen-Yu Tsai
2017-05-24 10:06 ` [PATCH v3 3/9] ASoC: sun8i-codec-analog: add support for V3s SoC Icenowy Zheng
[not found] ` <20170524100607.29790-4-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-25 3:58 ` Chen-Yu Tsai
[not found] ` <CAGb2v673VPeF+KOZskWnHppWSMvZSfLS5JXxxSjM9diDF7NGeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-31 16:56 ` Rob Herring
2017-05-31 16:55 ` Rob Herring
2017-06-06 19:06 ` Applied "ASoC: sun8i-codec-analog: add support for V3s SoC" to the asoc tree Mark Brown
2017-05-24 10:06 ` [PATCH v3 4/9] ASoC: sun4i-codec: Add support for V3s codec Icenowy Zheng
[not found] ` <20170524100607.29790-5-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-31 16:56 ` Rob Herring
2017-06-06 19:06 ` Applied "ASoC: sun4i-codec: Add support for V3s codec" to the asoc tree Mark Brown
2017-05-24 10:06 ` [PATCH v3 5/9] dmaengine: sun6i: make gate bit in sun8i's DMA engines a common quirk Icenowy Zheng
[not found] ` <20170524100607.29790-6-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-24 10:30 ` Chen-Yu Tsai
2017-05-24 10:06 ` [PATCH v3 6/9] dmaengine: sun6i: support V3s SoC variant Icenowy Zheng
[not found] ` <20170524100607.29790-7-icenowy-h8G6r0blFSE@public.gmane.org>
2017-05-31 16:57 ` Rob Herring
2017-05-24 10:06 ` [PATCH v3 7/9] ARM: dts: sun8i: add DMA engine in V3s DTSI Icenowy Zheng
2017-05-24 10:06 ` [PATCH v3 8/9] ARM: dts: sun8i: add audio codec support into " Icenowy Zheng
2017-05-24 10:06 ` [PATCH v3 9/9] ARM: sun8i: v3s: enable audio on Lichee Pi Zero Dock board Icenowy Zheng
2017-05-24 10:40 ` [PATCH v3 0/9] Add support for the audio codec on Allwinner V3s Vinod Koul
2017-05-24 10:44 ` Vinod Koul
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=20170524100607.29790-2-icenowy@aosc.io \
--to=icenowy-h8g6r0blfse@public.gmane.org \
--cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=icenowy-ymACFijhrKM@public.gmane.org \
--cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=perex-/Fr2/VpizcU@public.gmane.org \
--cc=tiwai-IBi9RG/b67k@public.gmane.org \
--cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=wens-jdAy2FN1RRM@public.gmane.org \
/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).