Messages in this thread Patch in this message | | | Date | Tue, 15 Sep 2015 09:00:27 +0530 | From | Viresh Kumar <> | Subject | Re: [PATCH 02/16] PM / OPP: Add 'opp-microvolt-triplets' binding |
| |
[+Cc Mark, I thought I cc'd him earlier, but no, I cc'd him only for the first patch]
On 14-09-15, 15:30, Rob Herring wrote: > On 09/11/2015 07:01 AM, Viresh Kumar wrote: > > If 'opp-microvolt' is used to specify values for multiple regulators, > > then we need this additional information to know if the values passed > > should be treated as <target> or <target min max>. > > Can't you determine this implicitly from # of cells / # of regulators > being either 1 or 3?
I thought the #<name>-cells property is used to pass arguments along with the phandle, so something like this:
supply0: regulator@f8000000 { regulator-cells = 1; ... }
cpu@1 { cpu-supply = <&supply0 XYZ> }
But if we can define something like:
supply0: regulator@f8000000 { regulator-cells or microvolt-cells = 1 or 3; ... }
And then do:
cpu@1 { cpu-supply = <&supply0> operating-points-v2 = "&opp-table"; }
opp-table: table {
...
opp0 { opp-hz = ...; ... opp-microvolt = <one or three values here> } }
then it will be very simple. Also, this would mean that with multiple regulators, we can have one regulator supporting single microvolts value and other supporting tar/min/max values..
> > > > This is because, DT doesn't differentiate between these two styles: > > > > prop = <x>, <y>, <z>; > > prop = <x y z>; > > > > Cc: devicetree@vger.kernel.org > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > > --- > > Documentation/devicetree/bindings/opp/opp.txt | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/opp/opp.txt b/Documentation/devicetree/bindings/opp/opp.txt > > index 8759bc4783ed..719603b87353 100644 > > --- a/Documentation/devicetree/bindings/opp/opp.txt > > +++ b/Documentation/devicetree/bindings/opp/opp.txt > > @@ -76,6 +76,16 @@ This describes the OPPs belonging to a device. This node can have following > > present here is important, as that should match the order in which values are > > present in 'opp-microvolt' and 'opp-microamp' properties. > > > > +- opp-microvolt-triplets: This is a required property, only if multiple supplies > > + are available for the device. Otherwise it is ignored. > > + > > + 'opp-microvolt' can be present in two forms: <target> or <target min max>, per > > + power-supply. 'opp-microvolt-triplets' property is used to find the form in > > + which 'opp-microvolt' is present. > > + > > + If present, then 'opp-microvolt' must be present in <target min max> form, > > + else in <target> form. > > This implies that bindings currently with triplets are wrong since they > will be missing opp-microvolt-triplets.
Yeah, the bindings are incomplete, but there are no users yet, which need the triplet thing. So, its all working just fine.
-- viresh
| |