Re: [PATCH 1/2] PM / Domains: Introduce domain-performance-state binding

From: Viresh Kumar
Date: Tue Nov 29 2016 - 01:57:46 EST


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>;
};
};

--
viresh