[v3,1/5] bindings: regulator: added support for suspend states

Message ID 1515752305-15907-2-git-send-email-zhang.chunyan@linaro.org
State Changes Requested
Headers show
Series
  • Add regulator suspend and resume support
Related show

Commit Message

Chunyan Zhang Jan. 12, 2018, 10:18 a.m.
Some systems need to set regulators to specific states when they enter
low power modes, especially around CPUs. There are many of these modes
depending on the particular runtime state.

Currently the regulator consumers are not granted permission to change
suspend state of regulator devices, the constraints are configured at
startup.  In order to allow changes in a vlotage range, we need to add
new properties for voltage range and a flag to give permission to
change the suspend voltage and suspend on/off in suspend mode.

Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
---
 Documentation/devicetree/bindings/regulator/regulator.txt | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Comments

Rob Herring Jan. 19, 2018, 10:11 p.m. | #1
On Fri, Jan 12, 2018 at 06:18:21PM +0800, Chunyan Zhang wrote:
> Some systems need to set regulators to specific states when they enter
> low power modes, especially around CPUs. There are many of these modes
> depending on the particular runtime state.
> 
> Currently the regulator consumers are not granted permission to change
> suspend state of regulator devices, the constraints are configured at
> startup.  In order to allow changes in a vlotage range, we need to add
> new properties for voltage range and a flag to give permission to
> change the suspend voltage and suspend on/off in suspend mode.
> 
> Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
> ---
>  Documentation/devicetree/bindings/regulator/regulator.txt | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
> index 378f6dc..532e286 100644
> --- a/Documentation/devicetree/bindings/regulator/regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/regulator.txt
> @@ -42,8 +42,19 @@ Optional properties:
>  - regulator-state-[mem/disk] node has following common properties:
>  	- regulator-on-in-suspend: regulator should be on in suspend state.
>  	- regulator-off-in-suspend: regulator should be off in suspend state.
> -	- regulator-suspend-microvolt: regulator should be set to this voltage
> -	  in suspend.
> +	- regulator-suspend-min-microvolt: minimum voltage may be set in
> +	  suspend state.
> +	- regulator-suspend-max-microvolt: maximum voltage may be set in
> +	  suspend state.
> +	- regulator-suspend-microvolt: the default voltage which regulator
> +	  would be set in suspend. The voltage for suspend also can be
> +	  adjusted among {regulator-suspend-min-microvolt,
> +	  regulator-suspend-max-microvolt} by calling
> +	  regulator_set_suspend_voltage(). This property is now deprecated,
> +	  setting voltage for suspend mode via API the regulator driver
> +	  provides is recommended.

Please reword. This is Linux implementation details that shouldn't be in 
the binding.

> +	- regulator-changeable-in-suspend: whether the default voltage and
> +	  the regulator on/off in suspend can be changed in runtime.
>  	- regulator-mode: operating mode in the given suspend state.
>  	  The set of possible operating modes depends on the capabilities of
>  	  every hardware so the valid modes are documented on each regulator
> -- 
> 2.7.4
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chunyan Zhang Jan. 22, 2018, 2:16 a.m. | #2
On 20 January 2018 at 06:11, Rob Herring <robh@kernel.org> wrote:
> On Fri, Jan 12, 2018 at 06:18:21PM +0800, Chunyan Zhang wrote:
>> Some systems need to set regulators to specific states when they enter
>> low power modes, especially around CPUs. There are many of these modes
>> depending on the particular runtime state.
>>
>> Currently the regulator consumers are not granted permission to change
>> suspend state of regulator devices, the constraints are configured at
>> startup.  In order to allow changes in a vlotage range, we need to add
>> new properties for voltage range and a flag to give permission to
>> change the suspend voltage and suspend on/off in suspend mode.
>>
>> Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org>
>> ---
>>  Documentation/devicetree/bindings/regulator/regulator.txt | 15 +++++++++++++--
>>  1 file changed, 13 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
>> index 378f6dc..532e286 100644
>> --- a/Documentation/devicetree/bindings/regulator/regulator.txt
>> +++ b/Documentation/devicetree/bindings/regulator/regulator.txt
>> @@ -42,8 +42,19 @@ Optional properties:
>>  - regulator-state-[mem/disk] node has following common properties:
>>       - regulator-on-in-suspend: regulator should be on in suspend state.
>>       - regulator-off-in-suspend: regulator should be off in suspend state.
>> -     - regulator-suspend-microvolt: regulator should be set to this voltage
>> -       in suspend.
>> +     - regulator-suspend-min-microvolt: minimum voltage may be set in
>> +       suspend state.
>> +     - regulator-suspend-max-microvolt: maximum voltage may be set in
>> +       suspend state.
>> +     - regulator-suspend-microvolt: the default voltage which regulator
>> +       would be set in suspend. The voltage for suspend also can be
>> +       adjusted among {regulator-suspend-min-microvolt,
>> +       regulator-suspend-max-microvolt} by calling
>> +       regulator_set_suspend_voltage(). This property is now deprecated,
>> +       setting voltage for suspend mode via API the regulator driver
>> +       provides is recommended.
>
> Please reword. This is Linux implementation details that shouldn't be in
> the binding.

Ok, I guess just updating this one instead of the whole patchset for
this minor modification should be fine.

>
>> +     - regulator-changeable-in-suspend: whether the default voltage and
>> +       the regulator on/off in suspend can be changed in runtime.
>>       - regulator-mode: operating mode in the given suspend state.
>>         The set of possible operating modes depends on the capabilities of
>>         every hardware so the valid modes are documented on each regulator
>> --
>> 2.7.4
>>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
index 378f6dc..532e286 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/regulator.txt
@@ -42,8 +42,19 @@  Optional properties:
 - regulator-state-[mem/disk] node has following common properties:
 	- regulator-on-in-suspend: regulator should be on in suspend state.
 	- regulator-off-in-suspend: regulator should be off in suspend state.
-	- regulator-suspend-microvolt: regulator should be set to this voltage
-	  in suspend.
+	- regulator-suspend-min-microvolt: minimum voltage may be set in
+	  suspend state.
+	- regulator-suspend-max-microvolt: maximum voltage may be set in
+	  suspend state.
+	- regulator-suspend-microvolt: the default voltage which regulator
+	  would be set in suspend. The voltage for suspend also can be
+	  adjusted among {regulator-suspend-min-microvolt,
+	  regulator-suspend-max-microvolt} by calling
+	  regulator_set_suspend_voltage(). This property is now deprecated,
+	  setting voltage for suspend mode via API the regulator driver
+	  provides is recommended.
+	- regulator-changeable-in-suspend: whether the default voltage and
+	  the regulator on/off in suspend can be changed in runtime.
 	- regulator-mode: operating mode in the given suspend state.
 	  The set of possible operating modes depends on the capabilities of
 	  every hardware so the valid modes are documented on each regulator