diff mbox

[5/6] mfd: devicetree: bindings: 88pm800: Add DT property for dual phase enable

Message ID 1436442431-3471-6-git-send-email-vaibhav.hiremath@linaro.org
State Superseded, archived
Headers show

Commit Message

Vaibhav Hiremath July 9, 2015, 11:47 a.m. UTC
88PM860 family of device supports dual phase mode on BUCK1 supply
providing total 6A capacity.
Note that by default they operate independently with 3A capacity.

This patch adds the devicetree binding to enable this
feature.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
---
 Documentation/devicetree/bindings/mfd/88pm800.txt | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Krzysztof Kozlowski July 11, 2015, 7:16 a.m. UTC | #1
W dniu 09.07.2015 o 20:47, Vaibhav Hiremath pisze:
> 88PM860 family of device supports dual phase mode on BUCK1 supply
> providing total 6A capacity.
> Note that by default they operate independently with 3A capacity.
> 
> This patch adds the devicetree binding to enable this
> feature.
> 
> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
> ---
>  Documentation/devicetree/bindings/mfd/88pm800.txt | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/88pm800.txt b/Documentation/devicetree/bindings/mfd/88pm800.txt
> index ae1311c..c756b31 100644
> --- a/Documentation/devicetree/bindings/mfd/88pm800.txt
> +++ b/Documentation/devicetree/bindings/mfd/88pm800.txt
> @@ -15,6 +15,12 @@ Optional properties :
>        CLK32K3 - for 88pm800
>        CLK32K2 - for 88pm860
>  
> +   (Applicable only to PXA910 family):
> +
> + - marvell,88pm860-buck1-dualphase-en	: If set, enable dual phase on BUCK1,
> +   providing 6A capacity.
> +   Without this both BUCK1A and BUCK1B operates independently with 3A capacity.
> +

1. How does this relates to regulator driver? The
drivers/regulator/88pm800.c defines constraints for regulator which may
be contradictory.

2. This looks like a job for regulator driver, not MFD. Then you could
use standard regulator bindings (setting maximum current to 6A would
change the regulator to different mode).

Best regards,
Krzysztof

--
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
Vaibhav Hiremath July 13, 2015, 7:50 a.m. UTC | #2
On Saturday 11 July 2015 12:46 PM, Krzysztof Kozlowski wrote:
> W dniu 09.07.2015 o 20:47, Vaibhav Hiremath pisze:
>> 88PM860 family of device supports dual phase mode on BUCK1 supply
>> providing total 6A capacity.
>> Note that by default they operate independently with 3A capacity.
>>
>> This patch adds the devicetree binding to enable this
>> feature.
>>
>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
>> ---
>>   Documentation/devicetree/bindings/mfd/88pm800.txt | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/88pm800.txt b/Documentation/devicetree/bindings/mfd/88pm800.txt
>> index ae1311c..c756b31 100644
>> --- a/Documentation/devicetree/bindings/mfd/88pm800.txt
>> +++ b/Documentation/devicetree/bindings/mfd/88pm800.txt
>> @@ -15,6 +15,12 @@ Optional properties :
>>         CLK32K3 - for 88pm800
>>         CLK32K2 - for 88pm860
>>
>> +   (Applicable only to PXA910 family):
>> +
>> + - marvell,88pm860-buck1-dualphase-en	: If set, enable dual phase on BUCK1,
>> +   providing 6A capacity.
>> +   Without this both BUCK1A and BUCK1B operates independently with 3A capacity.
>> +
>
> 1. How does this relates to regulator driver? The
> drivers/regulator/88pm800.c defines constraints for regulator which may
> be contradictory.
>
> 2. This looks like a job for regulator driver, not MFD. Then you could
> use standard regulator bindings (setting maximum current to 6A would
> change the regulator to different mode).

Make sense. and even better.

I believe you are referring to,

regulator-min-microamp = <3000000>;
regulator-max-microamp = <6000000>;

And provide set_current_limit() callback, to set the dualphase.

Just to clarify more on this,

The DT property would look something like,

regulators {
	compatible = "marvell,88pm80x-regulator";

	buck1a: BUCK1A {
		regulator-compatible = "buck1";
		regulator-min-microvolt = <600000>;
		regulator-max-microvolt = <1800000>;

		regulator-min-microamp = <3000000>;
		regulator-max-microamp = <6000000>;

		regulator-boot-on;
		regulator-always-on;
	};

	buck1b: BUCK1B {
		regulator-compatible = "buck1b";
		regulator-min-microvolt = <600000>;
		regulator-max-microvolt = <1800000>;

		regulator-min-microamp = <3000000>;
		regulator-max-microamp = <6000000>;

		regulator-boot-on;
		regulator-always-on;
	};
};


And for the platforms, where dual phase is not required,
we can either choose not to set these properties or set it to


		regulator-min-microamp = <3000000>;
		regulator-max-microamp = <3000000>;


Thanks,
Vaibhav
--
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
Krzysztof Kozlowski July 13, 2015, 8:10 a.m. UTC | #3
On 13.07.2015 16:50, Vaibhav Hiremath wrote:
> 
> 
> On Saturday 11 July 2015 12:46 PM, Krzysztof Kozlowski wrote:
>> W dniu 09.07.2015 o 20:47, Vaibhav Hiremath pisze:
>>> 88PM860 family of device supports dual phase mode on BUCK1 supply
>>> providing total 6A capacity.
>>> Note that by default they operate independently with 3A capacity.
>>>
>>> This patch adds the devicetree binding to enable this
>>> feature.
>>>
>>> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
>>> ---
>>>   Documentation/devicetree/bindings/mfd/88pm800.txt | 6 ++++++
>>>   1 file changed, 6 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mfd/88pm800.txt
>>> b/Documentation/devicetree/bindings/mfd/88pm800.txt
>>> index ae1311c..c756b31 100644
>>> --- a/Documentation/devicetree/bindings/mfd/88pm800.txt
>>> +++ b/Documentation/devicetree/bindings/mfd/88pm800.txt
>>> @@ -15,6 +15,12 @@ Optional properties :
>>>         CLK32K3 - for 88pm800
>>>         CLK32K2 - for 88pm860
>>>
>>> +   (Applicable only to PXA910 family):
>>> +
>>> + - marvell,88pm860-buck1-dualphase-en    : If set, enable dual phase
>>> on BUCK1,
>>> +   providing 6A capacity.
>>> +   Without this both BUCK1A and BUCK1B operates independently with
>>> 3A capacity.
>>> +
>>
>> 1. How does this relates to regulator driver? The
>> drivers/regulator/88pm800.c defines constraints for regulator which may
>> be contradictory.
>>
>> 2. This looks like a job for regulator driver, not MFD. Then you could
>> use standard regulator bindings (setting maximum current to 6A would
>> change the regulator to different mode).
> 
> Make sense. and even better.
> 
> I believe you are referring to,
> 
> regulator-min-microamp = <3000000>;
> regulator-max-microamp = <6000000>;
> 
> And provide set_current_limit() callback, to set the dualphase.
> 
> Just to clarify more on this,
> 
> The DT property would look something like,
> 
> regulators {
>     compatible = "marvell,88pm80x-regulator";
> 
>     buck1a: BUCK1A {
>         regulator-compatible = "buck1";
>         regulator-min-microvolt = <600000>;
>         regulator-max-microvolt = <1800000>;
> 
>         regulator-min-microamp = <3000000>;
>         regulator-max-microamp = <6000000>;
> 
>         regulator-boot-on;
>         regulator-always-on;
>     };
> 
>     buck1b: BUCK1B {
>         regulator-compatible = "buck1b";
>         regulator-min-microvolt = <600000>;
>         regulator-max-microvolt = <1800000>;
> 
>         regulator-min-microamp = <3000000>;
>         regulator-max-microamp = <6000000>;
> 
>         regulator-boot-on;
>         regulator-always-on;
>     };
> };
> 
> 
> And for the platforms, where dual phase is not required,
> we can either choose not to set these properties or set it to
> 
> 
>         regulator-min-microamp = <3000000>;
>         regulator-max-microamp = <3000000>;

Yes, exactly. I only wonder if regulator core would support properly
such bindings - setting current limit for a voltage regulator. I didn't
tried this but it should work.

Best regards,
Krzysztof

--
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
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/mfd/88pm800.txt b/Documentation/devicetree/bindings/mfd/88pm800.txt
index ae1311c..c756b31 100644
--- a/Documentation/devicetree/bindings/mfd/88pm800.txt
+++ b/Documentation/devicetree/bindings/mfd/88pm800.txt
@@ -15,6 +15,12 @@  Optional properties :
       CLK32K3 - for 88pm800
       CLK32K2 - for 88pm860
 
+   (Applicable only to PXA910 family):
+
+ - marvell,88pm860-buck1-dualphase-en	: If set, enable dual phase on BUCK1,
+   providing 6A capacity.
+   Without this both BUCK1A and BUCK1B operates independently with 3A capacity.
+
 88pm80x family of devices consists of varied group of sub-devices:
 
 Device		 	Supply Names	 Description