diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-07-09 11:45:12 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-07-16 08:54:13 -0400 |
commit | 3843607838cc5436d02a6771e661969a54c2fee0 (patch) | |
tree | 06ace83aaafc09ced693a1e9246e466d91005bda | |
parent | d7f3ec2b69f692d215deb991d109a3341b0d8da9 (diff) |
ARM: mvebu: update Armada XP DT for dynamic frequency scaling
In order to support dynamic frequency scaling:
* the cpuclk Device Tree node needs to be updated to describe a
second set of registers describing the PMU DFS registers.
* the clock-latency property of the CPUs must be filled, otherwise
the ondemand and conservative cpufreq governors refuse to work. The
latency is high because the cost of a frequency transition is quite
high on those CPUs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1404920715-19834-5-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78230.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78260.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78460.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp.dtsi | 2 |
4 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi index 1257ff1ed278..2592e1c13560 100644 --- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi | |||
@@ -34,6 +34,7 @@ | |||
34 | compatible = "marvell,sheeva-v7"; | 34 | compatible = "marvell,sheeva-v7"; |
35 | reg = <0>; | 35 | reg = <0>; |
36 | clocks = <&cpuclk 0>; | 36 | clocks = <&cpuclk 0>; |
37 | clock-latency = <1000000>; | ||
37 | }; | 38 | }; |
38 | 39 | ||
39 | cpu@1 { | 40 | cpu@1 { |
@@ -41,6 +42,7 @@ | |||
41 | compatible = "marvell,sheeva-v7"; | 42 | compatible = "marvell,sheeva-v7"; |
42 | reg = <1>; | 43 | reg = <1>; |
43 | clocks = <&cpuclk 1>; | 44 | clocks = <&cpuclk 1>; |
45 | clock-latency = <1000000>; | ||
44 | }; | 46 | }; |
45 | }; | 47 | }; |
46 | 48 | ||
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi index 3396b25b39e1..480e237a870f 100644 --- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi | |||
@@ -36,6 +36,7 @@ | |||
36 | compatible = "marvell,sheeva-v7"; | 36 | compatible = "marvell,sheeva-v7"; |
37 | reg = <0>; | 37 | reg = <0>; |
38 | clocks = <&cpuclk 0>; | 38 | clocks = <&cpuclk 0>; |
39 | clock-latency = <1000000>; | ||
39 | }; | 40 | }; |
40 | 41 | ||
41 | cpu@1 { | 42 | cpu@1 { |
@@ -43,6 +44,7 @@ | |||
43 | compatible = "marvell,sheeva-v7"; | 44 | compatible = "marvell,sheeva-v7"; |
44 | reg = <1>; | 45 | reg = <1>; |
45 | clocks = <&cpuclk 1>; | 46 | clocks = <&cpuclk 1>; |
47 | clock-latency = <1000000>; | ||
46 | }; | 48 | }; |
47 | }; | 49 | }; |
48 | 50 | ||
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi index 6da84bf40aaf..2c7b1fef4703 100644 --- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi | |||
@@ -37,6 +37,7 @@ | |||
37 | compatible = "marvell,sheeva-v7"; | 37 | compatible = "marvell,sheeva-v7"; |
38 | reg = <0>; | 38 | reg = <0>; |
39 | clocks = <&cpuclk 0>; | 39 | clocks = <&cpuclk 0>; |
40 | clock-latency = <1000000>; | ||
40 | }; | 41 | }; |
41 | 42 | ||
42 | cpu@1 { | 43 | cpu@1 { |
@@ -44,6 +45,7 @@ | |||
44 | compatible = "marvell,sheeva-v7"; | 45 | compatible = "marvell,sheeva-v7"; |
45 | reg = <1>; | 46 | reg = <1>; |
46 | clocks = <&cpuclk 1>; | 47 | clocks = <&cpuclk 1>; |
48 | clock-latency = <1000000>; | ||
47 | }; | 49 | }; |
48 | 50 | ||
49 | cpu@2 { | 51 | cpu@2 { |
@@ -51,6 +53,7 @@ | |||
51 | compatible = "marvell,sheeva-v7"; | 53 | compatible = "marvell,sheeva-v7"; |
52 | reg = <2>; | 54 | reg = <2>; |
53 | clocks = <&cpuclk 2>; | 55 | clocks = <&cpuclk 2>; |
56 | clock-latency = <1000000>; | ||
54 | }; | 57 | }; |
55 | 58 | ||
56 | cpu@3 { | 59 | cpu@3 { |
@@ -58,6 +61,7 @@ | |||
58 | compatible = "marvell,sheeva-v7"; | 61 | compatible = "marvell,sheeva-v7"; |
59 | reg = <3>; | 62 | reg = <3>; |
60 | clocks = <&cpuclk 3>; | 63 | clocks = <&cpuclk 3>; |
64 | clock-latency = <1000000>; | ||
61 | }; | 65 | }; |
62 | }; | 66 | }; |
63 | 67 | ||
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi index 5902e8359c91..bff9f6c18db1 100644 --- a/arch/arm/boot/dts/armada-xp.dtsi +++ b/arch/arm/boot/dts/armada-xp.dtsi | |||
@@ -99,7 +99,7 @@ | |||
99 | cpuclk: clock-complex@18700 { | 99 | cpuclk: clock-complex@18700 { |
100 | #clock-cells = <1>; | 100 | #clock-cells = <1>; |
101 | compatible = "marvell,armada-xp-cpu-clock"; | 101 | compatible = "marvell,armada-xp-cpu-clock"; |
102 | reg = <0x18700 0xA0>; | 102 | reg = <0x18700 0xA0>, <0x1c054 0x10>; |
103 | clocks = <&coreclk 1>; | 103 | clocks = <&coreclk 1>; |
104 | }; | 104 | }; |
105 | 105 | ||