cpufreq(-dt) with two clocks but one regulator

Heiko Stübner heiko at sntech.de
Tue Sep 19 02:19:45 PDT 2017


Hi Doug,

Am Montag, 18. September 2017, 16:37:56 CEST schrieb Doug Anderson:
> On Mon, Sep 18, 2017 at 3:40 PM, Heiko Stuebner <heiko at sntech.de> wrote:
> > Current submitted OPPs can be found at
> > https://patchwork.kernel.org/patch/9908519/
> > 
> > There were still issues with higher frequencies, so they don't list the
> > 1.2 or 1.5GHz yet.
> > 
> > But opp sets pretty tight constraints. I.e. OPPs have of course one
> > preferred voltage, so you end up with u_volt_min = u_volt_max for each
> > operating point, thus the regulator also gets set in this way, removing
> > any
> > intersection and thus making the regulator framework fail to set a voltage
> > for one of the clusters.
> > 
> > So for example, you have one cluster running at 600MHz at 0.95V and the
> > other cluster running at 1008MHz at 1.05V this results in regulator
> > constraints being
> > 
> >         0.95V-0.95V
> > 
> > and
> > 
> >         1.05V-1.05V
> > 
> > thus no intersection and whoever comes second looses.
> 
> (Untested) Can't you change the opp table and use the fancier
> operating point descriptions that give <target min max>?

funny, that I never noticed that opps are also specified for
(target, min, max) values.

Thanks for pointing me to the right direction and this seems to
actually work. Although I noticed that obviously the max value
needs to always be the global maximum (1125000 here) for both
opp tables, to make the regulator framework happy.


> In theory the above is a more proper hardware description: AKA you're
> describing that it's OK to use the higher voltage even at lower
> operating points.


Thanks
Heiko




More information about the Linux-rockchip mailing list