aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-03-27 08:30:49 -0400
committerArnd Bergmann <arnd@arndb.de>2018-03-27 08:30:49 -0400
commit2430bcda3678dc031e442b700f8a694b093a9851 (patch)
treed2cff42d200e8b87a2cf533b5fb92eefd8d1af99
parentb6f67b039c64572adced5d5c0f01dc944e251bc2 (diff)
parente723795c702b52cfceb3bb3faa63059eb4658313 (diff)
Merge tag 'qcom-arm64-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt
Pull "Qualcomm ARM64 Updates for v4.17" from Andy Gross: * Fix GIC_CPU_MASK_SIMPLE and SPI5 config on MSM8996 * Add SDM845 and kryo385 documentation * Add MSM8916 cooling maps, cpu frequency scaling, APCS, and A53 PLL * Switch APCS to use mailbox on MSM8916 * Add rmtfs-mem on MSM8996 * tag 'qcom-arm64-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux: arm64: dts: qcom: Fix SPI5 config on MSM8996 dt-bindings: qcom: Add SDM845 bindings dt-bindings: arm: Document kryo385 cpu arm64: dts: msm8916: Add cpu cooling maps arm64: dts: msm8996: Add rmtfs sharedmem node arm64: dts: qcom: msm8916: Add CPU frequency scaling support arm64: dts: qcom: msm8916: Add clock properties to the APCS node arm64: dts: qcom: msm8916: Probe the APCS mailbox driver arm64: dts: qcom: msm8916: Add msm8916 A53 PLL DT node arm64: dts: msm8996: Fix wrong use of GIC_CPU_MASK_SIMPLE()
-rw-r--r--Documentation/devicetree/bindings/arm/cpus.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/qcom.txt1
-rw-r--r--arch/arm64/boot/dts/qcom/msm8916.dtsi60
-rw-r--r--arch/arm64/boot/dts/qcom/msm8996.dtsi23
4 files changed, 76 insertions, 9 deletions
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index f4a777039f03..8b0328ff951d 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -185,6 +185,7 @@ described below.
185 "nvidia,tegra186-denver" 185 "nvidia,tegra186-denver"
186 "qcom,krait" 186 "qcom,krait"
187 "qcom,kryo" 187 "qcom,kryo"
188 "qcom,kryo385"
188 "qcom,scorpion" 189 "qcom,scorpion"
189 - enable-method 190 - enable-method
190 Value type: <stringlist> 191 Value type: <stringlist>
diff --git a/Documentation/devicetree/bindings/arm/qcom.txt b/Documentation/devicetree/bindings/arm/qcom.txt
index 0ed4d39d7fe1..ee532e705d6c 100644
--- a/Documentation/devicetree/bindings/arm/qcom.txt
+++ b/Documentation/devicetree/bindings/arm/qcom.txt
@@ -26,6 +26,7 @@ The 'SoC' element must be one of the following strings:
26 msm8996 26 msm8996
27 mdm9615 27 mdm9615
28 ipq8074 28 ipq8074
29 sdm845
29 30
30The 'board' element must be one of the following strings: 31The 'board' element must be one of the following strings:
31 32
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index e51b04900726..66b318e1de80 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -15,6 +15,7 @@
15#include <dt-bindings/clock/qcom,gcc-msm8916.h> 15#include <dt-bindings/clock/qcom,gcc-msm8916.h>
16#include <dt-bindings/reset/qcom,gcc-msm8916.h> 16#include <dt-bindings/reset/qcom,gcc-msm8916.h>
17#include <dt-bindings/clock/qcom,rpmcc.h> 17#include <dt-bindings/clock/qcom,rpmcc.h>
18#include <dt-bindings/thermal/thermal.h>
18 19
19/ { 20/ {
20 model = "Qualcomm Technologies, Inc. MSM8916"; 21 model = "Qualcomm Technologies, Inc. MSM8916";
@@ -113,6 +114,9 @@
113 next-level-cache = <&L2_0>; 114 next-level-cache = <&L2_0>;
114 enable-method = "psci"; 115 enable-method = "psci";
115 cpu-idle-states = <&CPU_SPC>; 116 cpu-idle-states = <&CPU_SPC>;
117 clocks = <&apcs 0>;
118 operating-points-v2 = <&cpu_opp_table>;
119 #cooling-cells = <2>;
116 }; 120 };
117 121
118 CPU1: cpu@1 { 122 CPU1: cpu@1 {
@@ -122,6 +126,9 @@
122 next-level-cache = <&L2_0>; 126 next-level-cache = <&L2_0>;
123 enable-method = "psci"; 127 enable-method = "psci";
124 cpu-idle-states = <&CPU_SPC>; 128 cpu-idle-states = <&CPU_SPC>;
129 clocks = <&apcs 0>;
130 operating-points-v2 = <&cpu_opp_table>;
131 #cooling-cells = <2>;
125 }; 132 };
126 133
127 CPU2: cpu@2 { 134 CPU2: cpu@2 {
@@ -131,6 +138,9 @@
131 next-level-cache = <&L2_0>; 138 next-level-cache = <&L2_0>;
132 enable-method = "psci"; 139 enable-method = "psci";
133 cpu-idle-states = <&CPU_SPC>; 140 cpu-idle-states = <&CPU_SPC>;
141 clocks = <&apcs 0>;
142 operating-points-v2 = <&cpu_opp_table>;
143 #cooling-cells = <2>;
134 }; 144 };
135 145
136 CPU3: cpu@3 { 146 CPU3: cpu@3 {
@@ -140,6 +150,9 @@
140 next-level-cache = <&L2_0>; 150 next-level-cache = <&L2_0>;
141 enable-method = "psci"; 151 enable-method = "psci";
142 cpu-idle-states = <&CPU_SPC>; 152 cpu-idle-states = <&CPU_SPC>;
153 clocks = <&apcs 0>;
154 operating-points-v2 = <&cpu_opp_table>;
155 #cooling-cells = <2>;
143 }; 156 };
144 157
145 L2_0: l2-cache { 158 L2_0: l2-cache {
@@ -188,6 +201,13 @@
188 type = "critical"; 201 type = "critical";
189 }; 202 };
190 }; 203 };
204
205 cooling-maps {
206 map0 {
207 trip = <&cpu_alert0>;
208 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
209 };
210 };
191 }; 211 };
192 212
193 cpu-thermal1 { 213 cpu-thermal1 {
@@ -208,10 +228,35 @@
208 type = "critical"; 228 type = "critical";
209 }; 229 };
210 }; 230 };
231
232 cooling-maps {
233 map0 {
234 trip = <&cpu_alert1>;
235 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
236 };
237 };
211 }; 238 };
212 239
213 }; 240 };
214 241
242 cpu_opp_table: cpu_opp_table {
243 compatible = "operating-points-v2";
244 opp-shared;
245
246 opp-200000000 {
247 opp-hz = /bits/ 64 <200000000>;
248 };
249 opp-400000000 {
250 opp-hz = /bits/ 64 <400000000>;
251 };
252 opp-800000000 {
253 opp-hz = /bits/ 64 <800000000>;
254 };
255 opp-998400000 {
256 opp-hz = /bits/ 64 <998400000>;
257 };
258 };
259
215 gpu_opp_table: opp_table { 260 gpu_opp_table: opp_table {
216 compatible = "operating-points-v2"; 261 compatible = "operating-points-v2";
217 262
@@ -326,9 +371,18 @@
326 status = "disabled"; 371 status = "disabled";
327 }; 372 };
328 373
329 apcs: syscon@b011000 { 374 a53pll: clock@b016000 {
330 compatible = "syscon"; 375 compatible = "qcom,msm8916-a53pll";
331 reg = <0x0b011000 0x1000>; 376 reg = <0xb016000 0x40>;
377 #clock-cells = <0>;
378 };
379
380 apcs: mailbox@b011000 {
381 compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
382 reg = <0xb011000 0x1000>;
383 #mbox-cells = <1>;
384 clocks = <&a53pll>;
385 #clock-cells = <0>;
332 }; 386 };
333 387
334 blsp1_uart2: serial@78b0000 { 388 blsp1_uart2: serial@78b0000 {
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 0a6f7952bbb1..410ae787ebb4 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -75,6 +75,17 @@
75 reg = <0x0 0x86200000 0x0 0x2600000>; 75 reg = <0x0 0x86200000 0x0 0x2600000>;
76 no-map; 76 no-map;
77 }; 77 };
78
79 rmtfs@86700000 {
80 compatible = "qcom,rmtfs-mem";
81
82 size = <0x0 0x200000>;
83 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
84 no-map;
85
86 qcom,client-id = <1>;
87 qcom,vmid = <15>;
88 };
78 }; 89 };
79 90
80 cpus { 91 cpus {
@@ -232,10 +243,10 @@
232 243
233 timer { 244 timer {
234 compatible = "arm,armv8-timer"; 245 compatible = "arm,armv8-timer";
235 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 246 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
236 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 247 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
237 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 248 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
238 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 249 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
239 }; 250 };
240 251
241 clocks { 252 clocks {
@@ -497,8 +508,8 @@
497 blsp2_spi5: spi@75ba000{ 508 blsp2_spi5: spi@75ba000{
498 compatible = "qcom,spi-qup-v2.2.1"; 509 compatible = "qcom,spi-qup-v2.2.1";
499 reg = <0x075ba000 0x600>; 510 reg = <0x075ba000 0x600>;
500 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 511 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
501 clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>, 512 clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
502 <&gcc GCC_BLSP2_AHB_CLK>; 513 <&gcc GCC_BLSP2_AHB_CLK>;
503 clock-names = "core", "iface"; 514 clock-names = "core", "iface";
504 pinctrl-names = "default", "sleep"; 515 pinctrl-names = "default", "sleep";