cpufreq: frequency scaling spec in DT node
From: viresh.kumar@linaro.org (Viresh Kumar)
Date: 2017-06-29 14:35:23
Also in:
linux-pm
From: viresh.kumar@linaro.org (Viresh Kumar)
Date: 2017-06-29 14:35:23
Also in:
linux-pm
On 29-06-17, 15:01, Mason wrote:
On 29/06/2017 13:41, Mason wrote:quoted
On 29/06/2017 12:04, Viresh Kumar wrote:quoted
There is one thing you can do to avoid adding OPP entries in the DT. You can rather add them dynamically with help of: dev_pm_opp_add() and cpufreq-dt will continue to work with that too.In what driver should I call these... the clk driver? (drivers/clk/tegra/cvb.c seems to be doind that)The problem I run into is that calling get_cpu_device(0) from the clk driver returns NULL, because topology_init() has not run yet (to initialize the cpu_sys_devices). So the OPP table needs to be built *after* topology_init() but *before* dt_cpufreq_probe(). subsys_initcall(topology_init); device_initcall(cpufreq_dt_platdev_init); I'm not sure how to proceed.
As we discussed over IRC, you can control the creation of cpufreq-dt platform device and hence when the cpufreq-dt driver gets probed. Your own cpufreq driver is the way to go here. -- viresh