blob: 0cea02d380245317635f94cf4945c213d7c666ff [file] [log] [blame]
Runmin Wang4f5985b2017-04-19 15:55:12 -07001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
4 */
5
6#include "skeleton64.dtsi"
7#include <dt-bindings/interrupt-controller/arm-gic.h>
8/ {
9 model = "Qualcomm Technologies, Inc. kona";
10 compatible = "qcom,kona";
11 qcom,msm-id = <356 0x10000>;
12 interrupt-parent = <&intc>;
13
14 cpus {
15 #address-cells = <2>;
16 #size-cells = <0>;
17
18 CPU0: cpu@0 {
19 device_type = "cpu";
20 compatible = "qcom,kryo";
21 reg = <0x0 0x0>;
22 enable-method = "spin-table";
23 cache-size = <0x8000>;
24 cpu-release-addr = <0x0 0x90000000>;
25 next-level-cache = <&L2_0>;
26 L2_0: l2-cache {
27 compatible = "arm,arch-cache";
28 cache-size = <0x20000>;
29 cache-level = <2>;
30 next-level-cache = <&L3_0>;
31
32 L3_0: l3-cache {
33 compatible = "arm,arch-cache";
34 cache-size = <0x400000>;
35 cache-level = <3>;
36 };
37 };
38 };
39
40 CPU1: cpu@100 {
41 device_type = "cpu";
42 compatible = "qcom,kryo";
43 reg = <0x0 0x100>;
44 enable-method = "spin-table";
45 cache-size = <0x8000>;
46 cpu-release-addr = <0x0 0x90000000>;
47 next-level-cache = <&L2_1>;
48 L2_1: l2-cache {
49 compatible = "arm,arch-cache";
50 cache-size = <0x20000>;
51 cache-level = <2>;
52 next-level-cache = <&L3_0>;
53 };
54 };
55
56 CPU2: cpu@200 {
57 device_type = "cpu";
58 compatible = "qcom,kryo";
59 reg = <0x0 0x200>;
60 enable-method = "spin-table";
61 cache-size = <0x8000>;
62 cpu-release-addr = <0x0 0x90000000>;
63 next-level-cache = <&L2_2>;
64 L2_2: l2-cache {
65 compatible = "arm,arch-cache";
66 cache-size = <0x20000>;
67 cache-level = <2>;
68 next-level-cache = <&L3_0>;
69 };
70 };
71
72 CPU3: cpu@300 {
73 device_type = "cpu";
74 compatible = "qcom,kryo";
75 reg = <0x0 0x300>;
76 enable-method = "spin-table";
77 cache-size = <0x8000>;
78 cpu-release-addr = <0x0 0x90000000>;
79 next-level-cache = <&L2_3>;
80 L2_3: l2-cache {
81 compatible = "arm,arch-cache";
82 cache-size = <0x20000>;
83 cache-level = <2>;
84 next-level-cache = <&L3_0>;
85 };
86 };
87
88 CPU4: cpu@400 {
89 device_type = "cpu";
90 compatible = "qcom,kryo";
91 reg = <0x0 0x400>;
92 enable-method = "spin-table";
93 cache-size = <0x10000>;
94 cpu-release-addr = <0x0 0x90000000>;
95 next-level-cache = <&L2_4>;
96 L2_4: l2-cache {
97 compatible = "arm,arch-cache";
98 cache-size = <0x20000>;
99 cache-level = <2>;
100 next-level-cache = <&L3_0>;
101 };
102 };
103
104 CPU5: cpu@500 {
105 device_type = "cpu";
106 compatible = "qcom,kryo";
107 reg = <0x0 0x500>;
108 enable-method = "spin-table";
109 cache-size = <0x10000>;
110 cpu-release-addr = <0x0 0x90000000>;
111 next-level-cache = <&L2_5>;
112 L2_5: l2-cache {
113 compatible = "arm,arch-cache";
114 cache-size = <0x20000>;
115 cache-level = <2>;
116 next-level-cache = <&L3_0>;
117 };
118 };
119
120 CPU6: cpu@600 {
121 device_type = "cpu";
122 compatible = "qcom,kryo";
123 reg = <0x0 0x600>;
124 enable-method = "spin-table";
125 cache-size = <0x10000>;
126 cpu-release-addr = <0x0 0x90000000>;
127 next-level-cache = <&L2_6>;
128 L2_6: l2-cache {
129 compatible = "arm,arch-cache";
130 cache-size = <0x20000>;
131 cache-level = <2>;
132 next-level-cache = <&L3_0>;
133 };
134 };
135
136 CPU7: cpu@700 {
137 device_type = "cpu";
138 compatible = "qcom,kryo";
139 reg = <0x0 0x700>;
140 enable-method = "spin-table";
141 cache-size = <0x10000>;
142 cpu-release-addr = <0x0 0x90000000>;
143 next-level-cache = <&L2_7>;
144 L2_7: l2-cache {
145 compatible = "arm,arch-cache";
146 cache-size = <0x80000>;
147 cache-level = <2>;
148 next-level-cache = <&L3_0>;
149 };
150 };
151
152 cpu-map {
153 cluster0 {
154 core0 {
155 cpu = <&CPU0>;
156 };
157
158 core1 {
159 cpu = <&CPU1>;
160 };
161
162 core2 {
163 cpu = <&CPU2>;
164 };
165
166 core3 {
167 cpu = <&CPU3>;
168 };
169 };
170
171 cluster1 {
172 core0 {
173 cpu = <&CPU4>;
174 };
175
176 core1 {
177 cpu = <&CPU5>;
178 };
179
180 core2 {
181 cpu = <&CPU6>;
182 };
183
184 core3 {
185 cpu = <&CPU7>;
186 };
187 };
188 };
189 };
190
191 soc: soc { };
Swathi Sridhara79a9542018-06-21 11:40:44 -0700192
193 reserved-memory {
194 #address-cells = <2>;
195 #size-cells = <2>;
196 ranges;
197
198 hyp_mem: hyp_region@80000000 {
199 no-map;
200 reg = <0x0 0x80000000 0x0 0x600000>;
201 };
202
203 xbl_aop_mem: xbl_aop_region@80700000 {
204 no-map;
205 reg = <0x0 0x80700000 0x0 0x140000>;
206 };
207
208 smem_mem: smem_region@80900000 {
209 no-map;
210 reg = <0x0 0x80900000 0x0 0x200000>;
211 };
212
213 removed_mem: removed_region@80b00000 {
214 no-map;
215 reg = <0x0 0x80b00000 0x0 0xc00000>;
216 };
217
218 qtee_apps_mem: qtee_apps_region@81e00000 {
219 no-map;
220 reg = <0x0 0x81e00000 0x0 0x2600000>;
221 };
222
223 pil_camera_mem: pil_camera_region@86000000 {
224 no-map;
225 reg = <0x0 0x86000000 0x0 0x500000>;
226 };
227
228 pil_wlan_fw_mem: pil_wlan_fw_region@86500000 {
229 no-map;
230 reg = <0x0 0x86500000 0x0 0x100000>;
231 };
232
233 pil_ipa_fw_mem: pil_ipa_fw_region@86600000 {
234 no-map;
235 reg = <0x0 0x86600000 0x0 0x10000>;
236 };
237
238 pil_ipa_gsi_mem: pil_ipa_gsi_region@86610000 {
239 no-map;
240 reg = <0x0 0x86610000 0x0 0x5000>;
241 };
242
243 pil_gpu_mem: pil_gpu_region@86615000 {
244 no-map;
245 reg = <0x0 0x86615000 0x0 0x2000>;
246 };
247
248 pil_npu_mem: pil_npu_region@86680000 {
249 no-map;
250 reg = <0x0 0x86680000 0x0 0x80000>;
251 };
252
253 pil_video_mem: pil_video_region@86700000 {
254 no-map;
255 reg = <0x0 0x86700000 0x0 0x500000>;
256 };
257
258 pil_cvp_mem: pil_cvp_region@86c00000 {
259 no-map;
260 reg = <0x0 0x86c00000 0x0 0x500000>;
261 };
262
263 pil_cdsp_mem: pil_cdsp_region@87100000 {
264 no-map;
265 reg = <0x0 0x87100000 0x0 0x800000>;
266 };
267
268 pil_slpi_mem: pil_slpi_region@87900000 {
269 no-map;
270 reg = <0x0 0x87900000 0x0 0x1400000>;
271 };
272
273 pil_adsp_mem: pil_adsp_region@88d00000 {
274 no-map;
275 reg = <0x0 0x88d00000 0x0 0x1a00000>;
276 };
277
278 pil_spss_mem: pil_spss_region@8a700000 {
279 no-map;
280 reg = <0x0 0x8a700000 0x0 0x100000>;
281 };
282
283 /* global autoconfigured region for contiguous allocations */
284 linux,cma {
285 compatible = "shared-dma-pool";
286 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
287 reusable;
288 alignment = <0x0 0x400000>;
289 size = <0x0 0x2000000>;
290 linux,cma-default;
291 };
292 };
Runmin Wang4f5985b2017-04-19 15:55:12 -0700293};
294
295&soc {
296 #address-cells = <1>;
297 #size-cells = <1>;
298 ranges = <0 0 0 0xffffffff>;
299 compatible = "simple-bus";
300
301 intc: interrupt-controller@17a00000 {
302 compatible = "arm,gic-v3";
303 #interrupt-cells = <3>;
304 interrupt-controller;
305 #redistributor-regions = <1>;
306 redistributor-stride = <0x0 0x20000>;
307 reg = <0x17a00000 0x10000>, /* GICD */
308 <0x17a60000 0x100000>; /* GICR * 8 */
309 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
310 };
311
312 timer {
313 compatible = "arm,armv8-timer";
314 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
315 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
316 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
317 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
318 clock-frequency = <19200000>;
319 };
320
321 timer@0x17c00000{
322 #address-cells = <1>;
323 #size-cells = <1>;
324 ranges;
325 compatible = "arm,armv7-timer-mem";
326 reg = <0x17c00000 0x1000>;
327 clock-frequency = <19200000>;
328
329 frame@0x17c10000 {
330 frame-number = <0>;
331 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
332 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
333 reg = <0x17c10000 0x1000>,
334 <0x17c20000 0x1000>;
335 };
336
337 frame@17c30000 {
338 frame-number = <1>;
339 interrupts = <GIC_SPI 8 0x4>;
340 reg = <0x17c30000 0x1000>;
341 status = "disabled";
342 };
343
344 frame@17c40000 {
345 frame-number = <2>;
346 interrupts = <GIC_SPI 9 0x4>;
347 reg = <0x17c40000 0x1000>;
348 status = "disabled";
349 };
350
351 frame@17c60000 {
352 frame-number = <3>;
353 interrupts = <GIC_SPI 10 0x4>;
354 reg = <0x17c60000 0x1000>;
355 status = "disabled";
356 };
357
358 frame@17c70000 {
359 frame-number = <4>;
360 interrupts = <GIC_SPI 11 0x4>;
361 reg = <0x17c70000 0x1000>;
362 status = "disabled";
363 };
364
365 frame@17c800000 {
366 frame-number = <5>;
367 interrupts = <GIC_SPI 12 0x4>;
368 reg = <0x17c80000 0x1000>;
369 status = "disabled";
370 };
371
372 frame@17c90000 {
373 frame-number = <6>;
374 interrupts = <GIC_SPI 13 0x4>;
375 reg = <0x17c90000 0x1000>;
376 status = "disabled";
377 };
378 };
379};