aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2016-10-20 00:44:07 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2016-11-05 00:25:41 -0400
commit183ad3669f28e96e820c0fdf495927955b559662 (patch)
tree629b4248b15065714b4d0dfc9bf442c76b9cf833
parentbdb8183681810672dd7344ad14d070a3c8cf7d14 (diff)
arm64: dts: uniphier: add CPU clocks and OPP tables for LD20 SoC
Add a CPU clock to every CPU node and CPU OPP tables to use the generic cpufreq driver. All the CPUs in each cluster share the same OPP table. Note: clock-latency-ns (300ns) was calculated based on the CPU-gear switch sequencer spec; it takes 12 clock cycles on the sequencer running at 50 MHz, plus a bit additional latency. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi84
1 files changed, 84 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
index eaf260823084..c6462563ad88 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
@@ -79,28 +79,112 @@
79 device_type = "cpu"; 79 device_type = "cpu";
80 compatible = "arm,cortex-a72", "arm,armv8"; 80 compatible = "arm,cortex-a72", "arm,armv8";
81 reg = <0 0x000>; 81 reg = <0 0x000>;
82 clocks = <&sys_clk 32>;
82 enable-method = "psci"; 83 enable-method = "psci";
84 operating-points-v2 = <&cluster0_opp>;
83 }; 85 };
84 86
85 cpu1: cpu@1 { 87 cpu1: cpu@1 {
86 device_type = "cpu"; 88 device_type = "cpu";
87 compatible = "arm,cortex-a72", "arm,armv8"; 89 compatible = "arm,cortex-a72", "arm,armv8";
88 reg = <0 0x001>; 90 reg = <0 0x001>;
91 clocks = <&sys_clk 32>;
89 enable-method = "psci"; 92 enable-method = "psci";
93 operating-points-v2 = <&cluster0_opp>;
90 }; 94 };
91 95
92 cpu2: cpu@100 { 96 cpu2: cpu@100 {
93 device_type = "cpu"; 97 device_type = "cpu";
94 compatible = "arm,cortex-a53", "arm,armv8"; 98 compatible = "arm,cortex-a53", "arm,armv8";
95 reg = <0 0x100>; 99 reg = <0 0x100>;
100 clocks = <&sys_clk 33>;
96 enable-method = "psci"; 101 enable-method = "psci";
102 operating-points-v2 = <&cluster1_opp>;
97 }; 103 };
98 104
99 cpu3: cpu@101 { 105 cpu3: cpu@101 {
100 device_type = "cpu"; 106 device_type = "cpu";
101 compatible = "arm,cortex-a53", "arm,armv8"; 107 compatible = "arm,cortex-a53", "arm,armv8";
102 reg = <0 0x101>; 108 reg = <0 0x101>;
109 clocks = <&sys_clk 33>;
103 enable-method = "psci"; 110 enable-method = "psci";
111 operating-points-v2 = <&cluster1_opp>;
112 };
113 };
114
115 cluster0_opp: opp_table0 {
116 compatible = "operating-points-v2";
117 opp-shared;
118
119 opp@250000000 {
120 opp-hz = /bits/ 64 <250000000>;
121 clock-latency-ns = <300>;
122 };
123 opp@275000000 {
124 opp-hz = /bits/ 64 <275000000>;
125 clock-latency-ns = <300>;
126 };
127 opp@500000000 {
128 opp-hz = /bits/ 64 <500000000>;
129 clock-latency-ns = <300>;
130 };
131 opp@550000000 {
132 opp-hz = /bits/ 64 <550000000>;
133 clock-latency-ns = <300>;
134 };
135 opp@666667000 {
136 opp-hz = /bits/ 64 <666667000>;
137 clock-latency-ns = <300>;
138 };
139 opp@733334000 {
140 opp-hz = /bits/ 64 <733334000>;
141 clock-latency-ns = <300>;
142 };
143 opp@1000000000 {
144 opp-hz = /bits/ 64 <1000000000>;
145 clock-latency-ns = <300>;
146 };
147 opp@1100000000 {
148 opp-hz = /bits/ 64 <1100000000>;
149 clock-latency-ns = <300>;
150 };
151 };
152
153 cluster1_opp: opp_table1 {
154 compatible = "operating-points-v2";
155 opp-shared;
156
157 opp@250000000 {
158 opp-hz = /bits/ 64 <250000000>;
159 clock-latency-ns = <300>;
160 };
161 opp@275000000 {
162 opp-hz = /bits/ 64 <275000000>;
163 clock-latency-ns = <300>;
164 };
165 opp@500000000 {
166 opp-hz = /bits/ 64 <500000000>;
167 clock-latency-ns = <300>;
168 };
169 opp@550000000 {
170 opp-hz = /bits/ 64 <550000000>;
171 clock-latency-ns = <300>;
172 };
173 opp@666667000 {
174 opp-hz = /bits/ 64 <666667000>;
175 clock-latency-ns = <300>;
176 };
177 opp@733334000 {
178 opp-hz = /bits/ 64 <733334000>;
179 clock-latency-ns = <300>;
180 };
181 opp@1000000000 {
182 opp-hz = /bits/ 64 <1000000000>;
183 clock-latency-ns = <300>;
184 };
185 opp@1100000000 {
186 opp-hz = /bits/ 64 <1100000000>;
187 clock-latency-ns = <300>;
104 }; 188 };
105 }; 189 };
106 190