Re: [PATCH 02/16] PM / OPP: Add 'opp-microvolt-triplets' binding

From: Viresh Kumar
Date: Mon Sep 14 2015 - 23:30:39 EST


[+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@xxxxxxxxxxxxxxx
> > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> > ---
> > 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/