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@xxxxxxxxxx> >>> --- >>> 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html