]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
arm: dts: exynos: Add missing cooling device properties for CPUs
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 25 May 2018 10:31:53 +0000 (16:01 +0530)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:57:02 +0000 (19:57 -0600)
BugLink: https://bugs.launchpad.net/bugs/1836802
commit 672f33198bee21ee91e6af2cb8f67cfc8bc97ec1 upstream.

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: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
arch/arm/boot/dts/exynos3250.dtsi
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos5250.dtsi

index 2bd3872221a1f627bce8f3b7a1bcba4a9b9962f1..8d09a62d65ef26269172a2ea3d560d5f86c29dc5 100644 (file)
                        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
+                       >;
                };
        };
 
index a33666d87c1706485b9a1acad74bb6448134ce66..07a60e4cde1c1433f0cb010cb2caca723ac9e516 100644 (file)
                        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 */
                };
        };
 
index 3028843cb05266a30679ec28fd67b050b6b4617e..37d12bfcc846512b674e83c00cdc485ee3fdd81f 100644 (file)
                        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 */
                };
        };