On 28-11-16, 10:27, Stephen Boyd wrote:
On 11/23/2016 08:40 PM, Viresh Kumar wrote:
But even in these cases we wouldn't be using the voltage values within the kernel as we will be giving only a performance state to the M3 core, right?
Nope. In these cases we need to set a certain voltage and we do that by requesting it via the M3 core.
Don't we need something like this then ?
parent: power-controller@12340000 { compatible = "foo,power-controller"; reg = <0x12340000 0x1000>; #power-domain-cells = <0>; domain-performance-states = <&perf_state0>; };
perf_state0: performance_states { pstate1: pstate@1 { index = <1>; /* Optional */ microvolt = <970000 975000 985000>; }; pstate2: pstate@2 { index = <2>; /* Optional */ microvolt = <970000 975000 985000>; }; pstate3: pstate@3 { index = <3>; /* Optional */ microvolt = <970000 975000 985000>; }; }
cpus { cpu@0 { ... power-domain = <&parent>; operating-points-v2 = <&cpu0_opp_table>; }; };
cpu0_opp_table: opp_table0 { compatible = "operating-points-v2"; opp-shared;
opp@1000000000 { opp-hz = /bits/ 64 <1000000000>; domain-performance-state = <&pstate1>; }; opp@1100000000 { opp-hz = /bits/ 64 <1100000000>; domain-performance-state = <&pstate2>; }; opp@1200000000 { opp-hz = /bits/ 64 <1200000000>; domain-performance-state = <&pstate3>; }; };