On 11/14, Rob Herring wrote:
On Fri, Nov 11, 2016 at 08:41:20AM +0530, Viresh Kumar wrote:
On 10-11-16, 14:51, Stephen Boyd wrote:
No. The supply names (and also clock names/index) should be left up to the consumer of the OPP table. We don't want to encode any sort of details like this between the OPP table and the consumer of it in DT because then it seriously couples the OPP table to the consumer device. "The binding" in this case that needs to be updated is the consumer binding, to indicate that it correlated foo-supply and bar-supply to index 0 and 1 of the OPP table voltages.
Are you saying that we shall have a property like this then?
diff --git a/Documentation/devicetree/bindings/opp/opp.txt b/Documentation/devicetree/bindings/opp/opp.txt index ee91cbdd95ee..733946df2fb8 100644 --- a/Documentation/devicetree/bindings/opp/opp.txt +++ b/Documentation/devicetree/bindings/opp/opp.txt @@ -389,7 +389,10 @@ Example 4: Handling multiple regulators compatible = "arm,cortex-a7"; ...
cpu-supply = <&cpu_supply0>, <&cpu_supply1>, <&cpu_supply2>;
vcc0-supply = <&cpu_supply0>;
vcc1-supply = <&cpu_supply1>;
vcc2-supply = <&cpu_supply2>;
opp-supply-names = "vcc0", "vcc1", "vcc2";
Uh, no. You already have the names in the *-supply properties. Yes, they are a PIA to retrieve compared to a *-names property, but that is the nature of this style of binding.
I think the problem is that Viresh wants the binding to be "self describing" so that the OPP can be used without a driver knowing that a supply corresponds to a particular column in the voltage table. I don't understand that though. Can't we set the supply names from C code somewhere based on the consumer of the OPPs? Similar to how we pick the different tables based on fuses?