All of lore.kernel.org
 help / color / mirror / Atom feed
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 8/8] dt: regulator: pwm-regulator: Re-write bindings
Date: Fri, 5 Jun 2015 19:47:11 +0100	[thread overview]
Message-ID: <20150605184711.GG7058@x1> (raw)
In-Reply-To: <1433529771-24496-9-git-send-email-lee.jones@linaro.org>

Whoops, nearly forgot the DT folks.

Sorry chaps.

> * Add support for continuous-voltage mode
> * Put more meat on the bones with regards to voltage-table mode
> * Sort out formatting for ease of consumption
> 
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  .../bindings/regulator/pwm-regulator.txt           | 66 ++++++++++++++++++----
>  1 file changed, 54 insertions(+), 12 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
> index ce91f61..9a8269f 100644
> --- a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
> @@ -1,27 +1,69 @@
> -pwm regulator bindings
> +Bindings for the Generic PWM Regulator
> +======================================
> +
> +Currently supports 2 modes of operation:
> +
> +voltage-table:		When in this mode, a voltage table (See below) of predefined
> +			voltage <=> duty-cycle values must be provided via DT.
> +			Limitations are that the regulator can only operate at the
> +			voltages supplied in the table.  Intermediary duty-cycle
> +			values which would normally allow finer grained voltage
> +			selection are ignored and rendered useless.  Although more
> +			control is given to the user if the assumptions made in
> +			continuous-voltage mode do not reign true.
> +
> +continuous-voltage:	This mode uses the regulator's maximum and minimum supplied
> +			voltages specified in the regulator-{min,max}-microvolt
> +			properties to calculate appropriate duty-cycle values.  This
> +			allows for a much more fine grained solution when compared
> +			with voltage-table mode above.  This solution does make an
> +			assumption that a %50 duty-cycle value will cause the
> +			regulator voltage to run at half way between the supplied
> +			max_uV and min_uV values.
>  
>  Required properties:
> -- compatible: Should be "pwm-regulator"
> -- pwms: OF device-tree PWM specification (see PWM binding pwm.txt)
> -- voltage-table: voltage and duty table, include 2 members in each set of
> -  brackets, first one is voltage(unit: uv), the next is duty(unit: percent)
> +--------------------
> +- compatible:		Should be "pwm-regulator"
> +
> +- pwms:			PWM specification (See: ../pwm/pwm.txt)
> +
> +One of these must be provided:
> +- voltage-table: 	Voltage and Duty-Cycle table consisting of 2 cells
> +			    First cell is voltage in microvolts (uV)
> +			    Second cell is duty-cycle in percent (%)
> +
> +- max-duty-cycle:	Maximum Duty-Cycle value -- this will normally be 255 (0xff)
> +			for an 8 bit PMU device
>  
> -Any property defined as part of the core regulator binding defined in
> -regulator.txt can also be used.
> +If both are provided, the current default is voltage-table mode.
>  
> -Example:
> +Any property defined as part of the core regulator binding can also be used.
> +(See: ../regulator/regulator.txt)
> +
> +Continuous Voltage Example:
>  	pwm_regulator {
>  		compatible = "pwm-regulator;
>  		pwms = <&pwm1 0 8448 0>;
> +		regulator-min-microvolt = <1016000>;
> +		regulator-max-microvolt = <1114000>;
> +		regulator-name = "vdd_logic";
> +
> +		max-duty-cycle = <255>; /* 8bit PWM */
> +	};
>  
> +Voltage Table Example:
> +	pwm_regulator {
> +		compatible = "pwm-regulator;
> +		pwms = <&pwm1 0 8448 0>;
> +		regulator-min-microvolt = <1016000>;
> +		regulator-max-microvolt = <1114000>;
> +		regulator-name = "vdd_logic";
> +
> +			      /* Voltage Duty-Cycle */
>  		voltage-table = <1114000 0>,
>  				<1095000 10>,
>  				<1076000 20>,
>  				<1056000 30>,
>  				<1036000 40>,
>  				<1016000 50>;
> -
> -		regulator-min-microvolt = <1016000>;
> -		regulator-max-microvolt = <1114000>;
> -		regulator-name = "vdd_logic";
>  	};

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Cc: kernel@stlinux.com, broonie@kernel.org, lgirdwood@gmail.com,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 8/8] dt: regulator: pwm-regulator: Re-write bindings
Date: Fri, 5 Jun 2015 19:47:11 +0100	[thread overview]
Message-ID: <20150605184711.GG7058@x1> (raw)
In-Reply-To: <1433529771-24496-9-git-send-email-lee.jones@linaro.org>

Whoops, nearly forgot the DT folks.

Sorry chaps.

> * Add support for continuous-voltage mode
> * Put more meat on the bones with regards to voltage-table mode
> * Sort out formatting for ease of consumption
> 
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  .../bindings/regulator/pwm-regulator.txt           | 66 ++++++++++++++++++----
>  1 file changed, 54 insertions(+), 12 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
> index ce91f61..9a8269f 100644
> --- a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
> @@ -1,27 +1,69 @@
> -pwm regulator bindings
> +Bindings for the Generic PWM Regulator
> +======================================
> +
> +Currently supports 2 modes of operation:
> +
> +voltage-table:		When in this mode, a voltage table (See below) of predefined
> +			voltage <=> duty-cycle values must be provided via DT.
> +			Limitations are that the regulator can only operate at the
> +			voltages supplied in the table.  Intermediary duty-cycle
> +			values which would normally allow finer grained voltage
> +			selection are ignored and rendered useless.  Although more
> +			control is given to the user if the assumptions made in
> +			continuous-voltage mode do not reign true.
> +
> +continuous-voltage:	This mode uses the regulator's maximum and minimum supplied
> +			voltages specified in the regulator-{min,max}-microvolt
> +			properties to calculate appropriate duty-cycle values.  This
> +			allows for a much more fine grained solution when compared
> +			with voltage-table mode above.  This solution does make an
> +			assumption that a %50 duty-cycle value will cause the
> +			regulator voltage to run at half way between the supplied
> +			max_uV and min_uV values.
>  
>  Required properties:
> -- compatible: Should be "pwm-regulator"
> -- pwms: OF device-tree PWM specification (see PWM binding pwm.txt)
> -- voltage-table: voltage and duty table, include 2 members in each set of
> -  brackets, first one is voltage(unit: uv), the next is duty(unit: percent)
> +--------------------
> +- compatible:		Should be "pwm-regulator"
> +
> +- pwms:			PWM specification (See: ../pwm/pwm.txt)
> +
> +One of these must be provided:
> +- voltage-table: 	Voltage and Duty-Cycle table consisting of 2 cells
> +			    First cell is voltage in microvolts (uV)
> +			    Second cell is duty-cycle in percent (%)
> +
> +- max-duty-cycle:	Maximum Duty-Cycle value -- this will normally be 255 (0xff)
> +			for an 8 bit PMU device
>  
> -Any property defined as part of the core regulator binding defined in
> -regulator.txt can also be used.
> +If both are provided, the current default is voltage-table mode.
>  
> -Example:
> +Any property defined as part of the core regulator binding can also be used.
> +(See: ../regulator/regulator.txt)
> +
> +Continuous Voltage Example:
>  	pwm_regulator {
>  		compatible = "pwm-regulator;
>  		pwms = <&pwm1 0 8448 0>;
> +		regulator-min-microvolt = <1016000>;
> +		regulator-max-microvolt = <1114000>;
> +		regulator-name = "vdd_logic";
> +
> +		max-duty-cycle = <255>; /* 8bit PWM */
> +	};
>  
> +Voltage Table Example:
> +	pwm_regulator {
> +		compatible = "pwm-regulator;
> +		pwms = <&pwm1 0 8448 0>;
> +		regulator-min-microvolt = <1016000>;
> +		regulator-max-microvolt = <1114000>;
> +		regulator-name = "vdd_logic";
> +
> +			      /* Voltage Duty-Cycle */
>  		voltage-table = <1114000 0>,
>  				<1095000 10>,
>  				<1076000 20>,
>  				<1056000 30>,
>  				<1036000 40>,
>  				<1016000 50>;
> -
> -		regulator-min-microvolt = <1016000>;
> -		regulator-max-microvolt = <1114000>;
> -		regulator-name = "vdd_logic";
>  	};

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2015-06-05 18:47 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 18:42 [PATCH 0/8] regulator: pwm-regulator: Introduce continuous-mode Lee Jones
2015-06-05 18:42 ` Lee Jones
2015-06-05 18:42 ` [PATCH 1/8] ARM: STi: STiH407: Add PWM Regulator node Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-05 18:42 ` [PATCH 2/8] regulator: pwm-regulator: Remove unnecessary descriptor attribute from ddata Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-08 18:11   ` Mark Brown
2015-06-08 18:11     ` Mark Brown
2015-06-05 18:42 ` [PATCH 3/8] regulator: pwm-regulator: Remove superfluous is_enabled check Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-08 18:11   ` Mark Brown
2015-06-08 18:11     ` Mark Brown
2015-06-05 18:42 ` [PATCH 4/8] regulator: pwm-regulator: Diffientiate between dev (device) and rdev (regulator_dev) Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-08 18:11   ` Mark Brown
2015-06-08 18:11     ` Mark Brown
2015-06-05 18:42 ` [PATCH 5/8] regulator: pwm-regulator: Don't assign structure attributes right away Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-08 18:07   ` Mark Brown
2015-06-08 18:07     ` Mark Brown
2015-06-09  7:03     ` Lee Jones
2015-06-09  7:03       ` Lee Jones
2015-06-09 10:10       ` Mark Brown
2015-06-09 10:10         ` Mark Brown
2015-06-09 11:07         ` Lee Jones
2015-06-09 11:07           ` Lee Jones
2015-06-05 18:42 ` [PATCH 6/8] regulator: pwm-regulator: Separate voltage-table initialisation Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-09 17:14   ` Mark Brown
2015-06-09 17:14     ` Mark Brown
2015-06-10  7:58     ` Lee Jones
2015-06-10  7:58       ` Lee Jones
2015-06-05 18:42 ` [PATCH 7/8] regulator: pwm-regulator: Add support for continuous-voltage Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-05 18:42 ` [PATCH 8/8] dt: regulator: pwm-regulator: Re-write bindings Lee Jones
2015-06-05 18:42   ` Lee Jones
2015-06-05 18:47   ` Lee Jones [this message]
2015-06-05 18:47     ` Lee Jones

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=20150605184711.GG7058@x1 \
    --to=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.