Thread (36 messages) flat view 36 messages, 6 authors, 2013-08-09

[PATCH 2/6] ARM: Tegra: Add CPU's OPPs for using cpufreq-cpu0 driver

From: viresh.kumar@linaro.org (Viresh Kumar)
Date: 2013-08-07 18:06:56
Also in: linux-pm, lkml

On 7 August 2013 23:12, Stephen Warren [off-list ref] wrote:
On 08/07/2013 08:46 AM, Viresh Kumar wrote:
quoted
cpufreq-cpu0 driver needs OPPs to be present in DT which can be probed by it to
get frequency table. This patch adds OPPs and clock-latency to tegra cpu0 node
for multiple SoCs.

Voltage levels aren't used until now for tegra and so a flat value which would
eventually be ignored is used to represent voltage.
This patch is problematic w.r.t. DT being an ABI.
:(
We can certainly add new optional properties to a DT binding that enable
new features. However, a new version of a binding can't require new
properties to exist that didn't before, since that means that old DTs
won't work with new kernels that require the new properties.
To be honest I didn't get it completely. You meant operating-points
wasn't present before? Its here:

Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
Documentation/devicetree/bindings/power/opp.txt

Or you meant, Tegra never required voltage levels and we are getting
them in here.
As such, I believe we do need some Tegra-specific piece of code that
defines these OPP tables in the kernel, so that the operating-points
property is not needed.
Generic cpufreq driver depends on OPP library and so somebody has
to provide them. Now you can do it by calling opp_add() for each OPP
you have or otherwise.

Btw, you must have some specific voltage level for each freq, we can
get them here..
Similarly, we can't put invalid voltages into the DT, since if a later
kernel version starts actually using that field, the HW will no longer
work correctly. Unless perhaps we put 0 into the DT and make the binding
define that 0 means "you can't change the voltage at all away from the
boot value"?
Hmm.. so if you help me in getting actual voltage levels for these freqs
then this problem will be resolved. Otherwise I can check what will happen
if we pass zero to voltage.
Is the operating-points property documented in
Documentation/devicetree/bindings/ somewhere?
Check above.
(Also Cc'ing the DT mailing list and maintainers)
Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help