Commit 672f3319 authored by Viresh Kumar's avatar Viresh Kumar Committed by Krzysztof Kozlowski
Browse files

arm: dts: exynos: Add missing cooling device properties for CPUs



The cooling device properties, like "#cooling-cells" and
"dynamic-power-coefficient", should either be present for all the CPUs
of a cluster or none. If these are present only for a subset of CPUs of
a cluster then things will start falling apart as soon as the CPUs are
brought online in a different order. For example, this will happen
because the operating system looks for such properties in the CPU node
it is trying to bring up, so that it can register a cooling device.

Add such missing properties.

Fix other missing properties (clocks, OPP, clock latency) as well to
make it all work.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 7daf201d
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -78,6 +78,22 @@
			compatible = "arm,cortex-a7";
			reg = <1>;
			clock-frequency = <1000000000>;
			clocks = <&cmu CLK_ARM_CLK>;
			clock-names = "cpu";
			#cooling-cells = <2>;

			operating-points = <
				1000000 1150000
				900000  1112500
				800000  1075000
				700000  1037500
				600000  1000000
				500000  962500
				400000  925000
				300000  887500
				200000  850000
				100000  850000
			>;
		};
	};

+13 −0
Original line number Diff line number Diff line
@@ -55,6 +55,19 @@
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0x901>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			clock-latency = <160000>;

			operating-points = <
				1200000 1250000
				1000000 1150000
				800000	1075000
				500000	975000
				400000	975000
				200000	950000
			>;
			#cooling-cells = <2>; /* min followed by max */
		};
	};

+9 −0
Original line number Diff line number Diff line
@@ -49,21 +49,30 @@
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA01>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};

		cpu@a02 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA02>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};

		cpu@a03 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0xA03>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu0_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};
	};

+23 −0
Original line number Diff line number Diff line
@@ -84,6 +84,29 @@
			compatible = "arm,cortex-a15";
			reg = <1>;
			clock-frequency = <1700000000>;
			clocks = <&clock CLK_ARM_CLK>;
			clock-names = "cpu";
			clock-latency = <140000>;

			operating-points = <
				1700000 1300000
				1600000 1250000
				1500000 1225000
				1400000 1200000
				1300000 1150000
				1200000 1125000
				1100000 1100000
				1000000 1075000
				 900000 1050000
				 800000 1025000
				 700000 1012500
				 600000 1000000
				 500000  975000
				 400000  950000
				 300000  937500
				 200000  925000
			>;
			#cooling-cells = <2>; /* min followed by max */
		};
	};