Prototyping new CPU frequency binding for multi cluster SoC

Purpose

Define a better way to assign clock to CPU than the current one that does consider that CPU0 is using the same clock than the others CPUs inside the cluster. We will propose a new binding that allows to express explicitly the clock that feed each CPUs. In the case of a multi cluster, this will allow to see easily the clock used by the various clusters.

CPU topology binding

ARM defined a binging for the CPU topology. Thanks to that, it is easy to know the cluster details. It provides exactly the list of CPUs that belongs to a certain cluster.

cpu-map {
	cluster0 {
		core0 {
			cpu = <&cpu0>;
		};
		core1 {
			cpu = <&cpu1>;
		};
		core2 {
			cpu = <&cpu2>;
		};
		core3 {
			cpu = <&cpu3>;
		};
	};
};

How To

The patches to enable CPUIdle for the CA7 cluster are available here.

All these changes are available in this http://git.baylibre.com/pub/bcousson/linux-sh/log/?h=cpufreq-binding.

  Note: .

Results

Power measurement with and without CPUIlde enabled:

TBD. Doing accurate measurement will require modifying the Lager board as explained here : Enabling Power Measurements on Renesas H2 Lager Board

First results will be posted as soon as the board is modified.

renesas_r-car_h2/cpufreq-binding.txt · Last modified: 2014/09/22 10:08 by bcousson
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki