Cc'ing Rob and Mason. On 30-03-16, 09:53, Arnd Bergmann wrote: > I think it should be something in the /cpus or the /opp_table hierarchy, > not the root of the device tree, but other than that I don't care much > whether it's a variation of the oppv2 compatible string or an additional > property in any of the nodes.
So you mean for future DT files we can have something like this: cpus { compatible = "operation-points-v2"; #address-cells = <1>; #size-cells = <0>; cpu@0 { compatible = "arm,cortex-a9"; reg = <0>; next-level-cache = <&L2>; operating-points-v2 = <&cpu0_opp_table>; }; }; cpu0_opp_table: opp_table0 { opp@1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <970000 975000 985000>; opp-microamp = <70000>; clock-latency-ns = <300000>; opp-suspend; }; opp@1100000000 { opp-hz = /bits/ 64 <1100000000>; opp-microvolt = <980000 1000000 1010000>; opp-microamp = <80000>; clock-latency-ns = <310000>; }; }; }; And the cpufreq-dt driver can match /cpus node's compatible string against "operating-points-v2" and create a device at runtime ? @Rob: Will that be acceptable to you? We are discussing (again) about how to probe cpufreq-dt driver automatically for platforms :) The cpus node doesn't have any 'compatible' property today, and I will be required to add that in this case. -- viresh