diff options
author | Arnd Bergmann <arnd@arndb.de> | 2018-03-27 08:30:49 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2018-03-27 08:30:49 -0400 |
commit | 2430bcda3678dc031e442b700f8a694b093a9851 (patch) | |
tree | d2cff42d200e8b87a2cf533b5fb92eefd8d1af99 | |
parent | b6f67b039c64572adced5d5c0f01dc944e251bc2 (diff) | |
parent | e723795c702b52cfceb3bb3faa63059eb4658313 (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.txt | 1 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/qcom.txt | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/msm8916.dtsi | 60 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/msm8996.dtsi | 23 |
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 | ||
30 | The 'board' element must be one of the following strings: | 31 | The '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"; |