Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1370824 > unrolled thread

[PATCH] regulator: twl: Provide of_map_mode for twl4030

Started byIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
First post2016-04-04 21:00 +0200
Last post2016-04-08 20:00 +0200
Articles 8 — 5 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH] regulator: twl: Provide of_map_mode for twl4030 Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-04-04 21:00 +0200
    Re: [PATCH] regulator: twl: Provide of_map_mode for twl4030 Mark Brown <broonie@kernel.org> - 2016-04-05 04:30 +0200
      [PATCH v1] regulator: twl: Provide of_map_mode for twl4030 Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> - 2016-04-05 08:10 +0200
        Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030 Rob Herring <robh@kernel.org> - 2016-04-07 20:00 +0200
          Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030 Tony Lindgren <tony@atomide.com> - 2016-04-08 17:50 +0200
            Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030 Sebastian Reichel <sre@ring0.de> - 2016-04-08 18:10 +0200
              Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030 Tony Lindgren <tony@atomide.com> - 2016-04-08 18:20 +0200
                Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030 Tony Lindgren <tony@atomide.com> - 2016-04-08 20:00 +0200

#1370824 — [PATCH] regulator: twl: Provide of_map_mode for twl4030

FromIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Date2016-04-04 21:00 +0200
Subject[PATCH] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rkhTc-7zr-15@gated-at.bofh.it>
of_map_mode is needed so to be possible to set initial regulators mode from
the board DTS. Otherwise, for DT boot, regulators are left in their default
state after reset/reboot. Document device specific modes as well.

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
---
 .../devicetree/bindings/regulator/twl-regulator.txt      |  8 ++++++++
 drivers/regulator/twl-regulator.c                        | 16 +++++++++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/twl-regulator.txt b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
index 75b0c16..fe759903 100644
--- a/Documentation/devicetree/bindings/regulator/twl-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
@@ -57,6 +57,14 @@ For twl4030 regulators/LDOs
 
 Optional properties:
 - Any optional property defined in bindings/regulator/regulator.txt
+For twl4030 regulators/LDOs:
+ - regulator-initial-mode:
+  - 0x00 - Off mode, the output voltage is not maintained and voltage regulator
+           power consumption is 0.
+  - 0x08 - Sleep mode, the nominal output voltage is maintained with low power
+           consumption with low load current capability.
+  - 0x0e - Active mode, the regulator can deliver its nominal output voltage
+           with full-load current capability.
 
 Example:
 
diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
index aad748b0..be8d05e 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -395,6 +395,12 @@ static int twl4030reg_set_mode(struct regulator_dev *rdev, unsigned mode)
 	return twl4030_send_pb_msg(message);
 }
 
+static inline unsigned int twl4030reg_map_mode(unsigned int mode)
+{
+	return mode == RES_STATE_ACTIVE ?
+				REGULATOR_MODE_NORMAL : REGULATOR_MODE_STANDBY;
+}
+
 static int twl6030reg_set_mode(struct regulator_dev *rdev, unsigned mode)
 {
 	struct twlreg_info	*info = rdev_get_drvdata(rdev);
@@ -897,10 +903,11 @@ static struct regulator_ops twlsmps_ops = {
 #define TWL4030_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
 			remap_conf) \
 		TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
-			remap_conf, TWL4030, twl4030fixed_ops)
+			remap_conf, TWL4030, twl4030fixed_ops, \
+			twl4030reg_map_mode)
 #define TWL6030_FIXED_LDO(label, offset, mVolts, turnon_delay) \
 		TWL_FIXED_LDO(label, offset, mVolts, 0x0, turnon_delay, \
-			0x0, TWL6030, twl6030fixed_ops)
+			0x0, TWL6030, twl6030fixed_ops, 0x0)
 
 #define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf) \
 static const struct twlreg_info TWL4030_INFO_##label = { \
@@ -917,6 +924,7 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
 		.type = REGULATOR_VOLTAGE, \
 		.owner = THIS_MODULE, \
 		.enable_time = turnon_delay, \
+		.of_map_mode = twl4030reg_map_mode, \
 		}, \
 	}
 
@@ -932,6 +940,7 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
 		.type = REGULATOR_VOLTAGE, \
 		.owner = THIS_MODULE, \
 		.enable_time = turnon_delay, \
+		.of_map_mode = twl4030reg_map_mode, \
 		}, \
 	}
 
@@ -977,7 +986,7 @@ static const struct twlreg_info TWL6032_INFO_##label = { \
 	}
 
 #define TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, remap_conf, \
-		family, operations) \
+		family, operations, map_mode) \
 static const struct twlreg_info TWLFIXED_INFO_##label = { \
 	.base = offset, \
 	.id = num, \
@@ -992,6 +1001,7 @@ static const struct twlreg_info TWLFIXED_INFO_##label = { \
 		.owner = THIS_MODULE, \
 		.min_uV = mVolts * 1000, \
 		.enable_time = turnon_delay, \
+		.of_map_mode = map_mode, \
 		}, \
 	}
 
-- 
1.9.1

[toc] | [next] | [standalone]


#1371127

FromMark Brown <broonie@kernel.org>
Date2016-04-05 04:30 +0200
Message-ID<rkoUH-4m4-19@gated-at.bofh.it>
In reply to#1370824

[Multipart message — attachments visible in raw view] — view raw

On Mon, Apr 04, 2016 at 09:57:14PM +0300, Ivaylo Dimitrov wrote:

> +For twl4030 regulators/LDOs:
> + - regulator-initial-mode:
> +  - 0x00 - Off mode, the output voltage is not maintained and voltage regulator
> +           power consumption is 0.

This isn't a mode, it's just the regulator being off.  Just drop it.

> +static inline unsigned int twl4030reg_map_mode(unsigned int mode)
> +{
> +	return mode == RES_STATE_ACTIVE ?
> +				REGULATOR_MODE_NORMAL : REGULATOR_MODE_STANDBY;
> +}

Please write normal if statements, the code should be readable.

[toc] | [prev] | [next] | [standalone]


#1371243 — [PATCH v1] regulator: twl: Provide of_map_mode for twl4030

FromIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Date2016-04-05 08:10 +0200
Subject[PATCH v1] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rkslz-7f1-3@gated-at.bofh.it>
In reply to#1371127
of_map_mode is needed so to be possible to set initial regulators mode from
the board DTS. Otherwise, for DT boot, regulators are left in their default
state after reset/reboot. Document device specific modes as well.

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
---
 .../bindings/regulator/twl-regulator.txt           |  6 ++++++
 drivers/regulator/twl-regulator.c                  | 22 +++++++++++++++++++---
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/twl-regulator.txt b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
index 75b0c16..74a91c4 100644
--- a/Documentation/devicetree/bindings/regulator/twl-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
@@ -57,6 +57,12 @@ For twl4030 regulators/LDOs
 
 Optional properties:
 - Any optional property defined in bindings/regulator/regulator.txt
+For twl4030 regulators/LDOs:
+ - regulator-initial-mode:
+  - 0x08 - Sleep mode, the nominal output voltage is maintained with low power
+           consumption with low load current capability.
+  - 0x0e - Active mode, the regulator can deliver its nominal output voltage
+           with full-load current capability.
 
 Example:
 
diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
index aad748b0..53fcbb0 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -395,6 +395,18 @@ static int twl4030reg_set_mode(struct regulator_dev *rdev, unsigned mode)
 	return twl4030_send_pb_msg(message);
 }
 
+static inline unsigned int twl4030reg_map_mode(unsigned int mode)
+{
+	switch (mode) {
+	case RES_STATE_ACTIVE:
+		return REGULATOR_MODE_NORMAL;
+	case RES_STATE_SLEEP:
+		return REGULATOR_MODE_STANDBY;
+	default:
+		return -EINVAL;
+	}
+}
+
 static int twl6030reg_set_mode(struct regulator_dev *rdev, unsigned mode)
 {
 	struct twlreg_info	*info = rdev_get_drvdata(rdev);
@@ -897,10 +909,11 @@ static struct regulator_ops twlsmps_ops = {
 #define TWL4030_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
 			remap_conf) \
 		TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
-			remap_conf, TWL4030, twl4030fixed_ops)
+			remap_conf, TWL4030, twl4030fixed_ops, \
+			twl4030reg_map_mode)
 #define TWL6030_FIXED_LDO(label, offset, mVolts, turnon_delay) \
 		TWL_FIXED_LDO(label, offset, mVolts, 0x0, turnon_delay, \
-			0x0, TWL6030, twl6030fixed_ops)
+			0x0, TWL6030, twl6030fixed_ops, 0x0)
 
 #define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf) \
 static const struct twlreg_info TWL4030_INFO_##label = { \
@@ -917,6 +930,7 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
 		.type = REGULATOR_VOLTAGE, \
 		.owner = THIS_MODULE, \
 		.enable_time = turnon_delay, \
+		.of_map_mode = twl4030reg_map_mode, \
 		}, \
 	}
 
@@ -932,6 +946,7 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
 		.type = REGULATOR_VOLTAGE, \
 		.owner = THIS_MODULE, \
 		.enable_time = turnon_delay, \
+		.of_map_mode = twl4030reg_map_mode, \
 		}, \
 	}
 
@@ -977,7 +992,7 @@ static const struct twlreg_info TWL6032_INFO_##label = { \
 	}
 
 #define TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, remap_conf, \
-		family, operations) \
+		family, operations, map_mode) \
 static const struct twlreg_info TWLFIXED_INFO_##label = { \
 	.base = offset, \
 	.id = num, \
@@ -992,6 +1007,7 @@ static const struct twlreg_info TWLFIXED_INFO_##label = { \
 		.owner = THIS_MODULE, \
 		.min_uV = mVolts * 1000, \
 		.enable_time = turnon_delay, \
+		.of_map_mode = map_mode, \
 		}, \
 	}
 
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1373606 — Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030

FromRob Herring <robh@kernel.org>
Date2016-04-07 20:00 +0200
SubjectRe: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rlmnN-7Av-9@gated-at.bofh.it>
In reply to#1371243
On Tue, Apr 05, 2016 at 08:59:34AM +0300, Ivaylo Dimitrov wrote:
> of_map_mode is needed so to be possible to set initial regulators mode from
> the board DTS. Otherwise, for DT boot, regulators are left in their default
> state after reset/reboot. Document device specific modes as well.
> 
> Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> ---
>  .../bindings/regulator/twl-regulator.txt           |  6 ++++++

Acked-by: Rob Herring <robh@kernel.org>

>  drivers/regulator/twl-regulator.c                  | 22 +++++++++++++++++++---
>  2 files changed, 25 insertions(+), 3 deletions(-)
> 

[toc] | [prev] | [next] | [standalone]


#1374319 — Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030

FromTony Lindgren <tony@atomide.com>
Date2016-04-08 17:50 +0200
SubjectRe: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rlGPw-649-1@gated-at.bofh.it>
In reply to#1373606
* Rob Herring <robh@kernel.org> [160407 10:58]:
> On Tue, Apr 05, 2016 at 08:59:34AM +0300, Ivaylo Dimitrov wrote:
> > of_map_mode is needed so to be possible to set initial regulators mode from
> > the board DTS. Otherwise, for DT boot, regulators are left in their default
> > state after reset/reboot. Document device specific modes as well.
> > 
> > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> > ---
> >  .../bindings/regulator/twl-regulator.txt           |  6 ++++++
> 
> Acked-by: Rob Herring <robh@kernel.org>

I'd like to test these patches, but I don't know which combination
of patches needed? It seems we're waiting for an update on at least
one of the patches in this series?

Might be best to repost the whole series so people can test the
right patches.

Regards,

Tony

[toc] | [prev] | [next] | [standalone]


#1374335 — Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030

FromSebastian Reichel <sre@ring0.de>
Date2016-04-08 18:10 +0200
SubjectRe: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rlH8R-6t5-11@gated-at.bofh.it>
In reply to#1374319

[Multipart message — attachments visible in raw view] — view raw

Hi Tony,

On Fri, Apr 08, 2016 at 08:49:07AM -0700, Tony Lindgren wrote:
> * Rob Herring <robh@kernel.org> [160407 10:58]:
> > On Tue, Apr 05, 2016 at 08:59:34AM +0300, Ivaylo Dimitrov wrote:
> > > of_map_mode is needed so to be possible to set initial regulators mode from
> > > the board DTS. Otherwise, for DT boot, regulators are left in their default
> > > state after reset/reboot. Document device specific modes as well.
> > > 
> > > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> > > ---
> > >  .../bindings/regulator/twl-regulator.txt           |  6 ++++++
> > 
> > Acked-by: Rob Herring <robh@kernel.org>
> 
> I'd like to test these patches, but I don't know which combination
> of patches needed? It seems we're waiting for an update on at least
> one of the patches in this series?
> 
> Might be best to repost the whole series so people can test the
> right patches.

As far as I can see Mark has already queued all patches in his
for-next branch and they are already in today's linux-next, so
you can just test linux-next.

-- Sebastian

[toc] | [prev] | [next] | [standalone]


#1374344 — Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030

FromTony Lindgren <tony@atomide.com>
Date2016-04-08 18:20 +0200
SubjectRe: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rlHiy-6xv-7@gated-at.bofh.it>
In reply to#1374335
* Sebastian Reichel <sre@ring0.de> [160408 09:09]:
> Hi Tony,
> 
> On Fri, Apr 08, 2016 at 08:49:07AM -0700, Tony Lindgren wrote:
> > * Rob Herring <robh@kernel.org> [160407 10:58]:
> > > On Tue, Apr 05, 2016 at 08:59:34AM +0300, Ivaylo Dimitrov wrote:
> > > > of_map_mode is needed so to be possible to set initial regulators mode from
> > > > the board DTS. Otherwise, for DT boot, regulators are left in their default
> > > > state after reset/reboot. Document device specific modes as well.
> > > > 
> > > > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> > > > ---
> > > >  .../bindings/regulator/twl-regulator.txt           |  6 ++++++
> > > 
> > > Acked-by: Rob Herring <robh@kernel.org>
> > 
> > I'd like to test these patches, but I don't know which combination
> > of patches needed? It seems we're waiting for an update on at least
> > one of the patches in this series?
> > 
> > Might be best to repost the whole series so people can test the
> > right patches.
> 
> As far as I can see Mark has already queued all patches in his
> for-next branch and they are already in today's linux-next, so
> you can just test linux-next.

OK thanks will do.

Tony

[toc] | [prev] | [next] | [standalone]


#1374398 — Re: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030

FromTony Lindgren <tony@atomide.com>
Date2016-04-08 20:00 +0200
SubjectRe: [PATCH v1] regulator: twl: Provide of_map_mode for twl4030
Message-ID<rlIRj-7zs-1@gated-at.bofh.it>
In reply to#1374344
* Tony Lindgren <tony@atomide.com> [160408 09:21]:
> * Sebastian Reichel <sre@ring0.de> [160408 09:09]:
> > Hi Tony,
> > 
> > On Fri, Apr 08, 2016 at 08:49:07AM -0700, Tony Lindgren wrote:
> > > * Rob Herring <robh@kernel.org> [160407 10:58]:
> > > > On Tue, Apr 05, 2016 at 08:59:34AM +0300, Ivaylo Dimitrov wrote:
> > > > > of_map_mode is needed so to be possible to set initial regulators mode from
> > > > > the board DTS. Otherwise, for DT boot, regulators are left in their default
> > > > > state after reset/reboot. Document device specific modes as well.
> > > > > 
> > > > > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> > > > > ---
> > > > >  .../bindings/regulator/twl-regulator.txt           |  6 ++++++
> > > > 
> > > > Acked-by: Rob Herring <robh@kernel.org>
> > > 
> > > I'd like to test these patches, but I don't know which combination
> > > of patches needed? It seems we're waiting for an update on at least
> > > one of the patches in this series?
> > > 
> > > Might be best to repost the whole series so people can test the
> > > right patches.
> > 
> > As far as I can see Mark has already queued all patches in his
> > for-next branch and they are already in today's linux-next, so
> > you can just test linux-next.
> 
> OK thanks will do.

Yup PM seems to work just fine with these.

Tony

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web