devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
To: broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
	patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org
Subject: [PATCH 5/6] mfd: arizona: Add support for new micbias regulators
Date: Tue, 21 Mar 2017 14:45:38 +0000	[thread overview]
Message-ID: <1490107539-23995-5-git-send-email-ckeepax@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1490107539-23995-1-git-send-email-ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>

Add mfd_cell's for each of the new micbias regulators,  provide the
appropriate supply mapping for these, and remove the old code that
configured the micbiases now that the regulator driver does so.

Signed-off-by: Charles Keepax <ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
---
 drivers/mfd/arizona-core.c | 56 ++++++++++++++++++----------------------------
 1 file changed, 22 insertions(+), 34 deletions(-)

diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index b6d4bc6..e7eba5d 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -936,10 +936,16 @@ static const char * const wm5102_supplies[] = {
 	"CPVDD",
 	"SPKVDDL",
 	"SPKVDDR",
+	"MICBIAS1",
+	"MICBIAS2",
+	"MICBIAS3",
 };
 
 static const struct mfd_cell wm5102_devs[] = {
 	{ .name = "arizona-micsupp" },
+	{ .name = "arizona-micbias", .id = 1 },
+	{ .name = "arizona-micbias", .id = 2 },
+	{ .name = "arizona-micbias", .id = 3 },
 	{ .name = "arizona-gpio" },
 	{
 		.name = "arizona-extcon",
@@ -957,6 +963,9 @@ static const struct mfd_cell wm5102_devs[] = {
 
 static const struct mfd_cell wm5110_devs[] = {
 	{ .name = "arizona-micsupp" },
+	{ .name = "arizona-micbias", .id = 1 },
+	{ .name = "arizona-micbias", .id = 2 },
+	{ .name = "arizona-micbias", .id = 3 },
 	{ .name = "arizona-gpio" },
 	{
 		.name = "arizona-extcon",
@@ -976,9 +985,13 @@ static const char * const cs47l24_supplies[] = {
 	"MICVDD",
 	"CPVDD",
 	"SPKVDD",
+	"MICBIAS1",
+	"MICBIAS2",
 };
 
 static const struct mfd_cell cs47l24_devs[] = {
+	{ .name = "arizona-micbias", .id = 1 },
+	{ .name = "arizona-micbias", .id = 2 },
 	{ .name = "arizona-gpio" },
 	{ .name = "arizona-haptics" },
 	{ .name = "arizona-pwm" },
@@ -994,10 +1007,16 @@ static const char * const wm8997_supplies[] = {
 	"DBVDD2",
 	"CPVDD",
 	"SPKVDD",
+	"MICBIAS1",
+	"MICBIAS2",
+	"MICBIAS3",
 };
 
 static const struct mfd_cell wm8997_devs[] = {
 	{ .name = "arizona-micsupp" },
+	{ .name = "arizona-micbias", .id = 1 },
+	{ .name = "arizona-micbias", .id = 2 },
+	{ .name = "arizona-micbias", .id = 3 },
 	{ .name = "arizona-gpio" },
 	{
 		.name = "arizona-extcon",
@@ -1015,6 +1034,9 @@ static const struct mfd_cell wm8997_devs[] = {
 
 static const struct mfd_cell wm8998_devs[] = {
 	{ .name = "arizona-micsupp" },
+	{ .name = "arizona-micbias", .id = 1 },
+	{ .name = "arizona-micbias", .id = 2 },
+	{ .name = "arizona-micbias", .id = 3 },
 	{ .name = "arizona-gpio" },
 	{
 		.name = "arizona-extcon",
@@ -1404,40 +1426,6 @@ int arizona_dev_init(struct arizona *arizona)
 		goto err_reset;
 	}
 
-	for (i = 0; i < ARIZONA_MAX_MICBIAS; i++) {
-		if (!arizona->pdata.micbias[i].mV &&
-		    !arizona->pdata.micbias[i].bypass)
-			continue;
-
-		/* Apply default for bypass mode */
-		if (!arizona->pdata.micbias[i].mV)
-			arizona->pdata.micbias[i].mV = 2800;
-
-		val = (arizona->pdata.micbias[i].mV - 1500) / 100;
-
-		val <<= ARIZONA_MICB1_LVL_SHIFT;
-
-		if (arizona->pdata.micbias[i].ext_cap)
-			val |= ARIZONA_MICB1_EXT_CAP;
-
-		if (arizona->pdata.micbias[i].discharge)
-			val |= ARIZONA_MICB1_DISCH;
-
-		if (arizona->pdata.micbias[i].soft_start)
-			val |= ARIZONA_MICB1_RATE;
-
-		if (arizona->pdata.micbias[i].bypass)
-			val |= ARIZONA_MICB1_BYPASS;
-
-		regmap_update_bits(arizona->regmap,
-				   ARIZONA_MIC_BIAS_CTRL_1 + i,
-				   ARIZONA_MICB1_LVL_MASK |
-				   ARIZONA_MICB1_EXT_CAP |
-				   ARIZONA_MICB1_DISCH |
-				   ARIZONA_MICB1_BYPASS |
-				   ARIZONA_MICB1_RATE, val);
-	}
-
 	for (i = 0; i < ARIZONA_MAX_INPUT; i++) {
 		/* Default for both is 0 so noop with defaults */
 		val = arizona->pdata.dmic_ref[i]
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-03-21 14:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 14:45 [PATCH 1/6] regulator: helpers: Add regmap set_soft_start helper Charles Keepax
2017-03-21 14:45 ` [PATCH 6/6] ASoC: arizona: Add support for new micbias regulators Charles Keepax
     [not found] ` <1490107539-23995-1-git-send-email-ckeepax-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2017-03-21 14:45   ` [PATCH 2/6] regulator: helpers: Add regmap set_pull_down helper Charles Keepax
2017-03-24 17:59     ` kbuild test robot
2017-03-21 14:45   ` [PATCH 3/6] regulator: arizona-micbias: Add regulator driver for Arizona micbiases Charles Keepax
2017-03-21 14:45   ` [PATCH 4/6] regulator: arizona-micbias: Add description of micbias binding Charles Keepax
2017-03-24 16:27     ` Rob Herring
2017-03-21 14:45   ` Charles Keepax [this message]
2017-03-24  9:42     ` [PATCH 5/6] mfd: arizona: Add support for new micbias regulators Lee Jones
2017-03-22 12:57   ` [PATCH 1/6] regulator: helpers: Add regmap set_soft_start helper Charles Keepax
2017-03-24 16:19 ` kbuild test robot

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=1490107539-23995-5-git-send-email-ckeepax@opensource.wolfsonmicro.com \
    --to=ckeepax-yzvpicuk2aatku/dhu1wvuem+bqzidxxqq4iyu8u01e@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=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=patches-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@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).