Commit | Line | Data |
---|---|---|
6d4cf750 RN |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* | |
3 | * SDM845 SoC device tree source | |
4 | * | |
5 | * Copyright (c) 2018, The Linux Foundation. All rights reserved. | |
6 | */ | |
7 | ||
8 | #include <dt-bindings/interrupt-controller/arm-gic.h> | |
9 | ||
10 | / { | |
11 | interrupt-parent = <&intc>; | |
12 | ||
13 | #address-cells = <2>; | |
14 | #size-cells = <2>; | |
15 | ||
16 | chosen { }; | |
17 | ||
18 | memory@80000000 { | |
19 | device_type = "memory"; | |
20 | /* We expect the bootloader to fill in the size */ | |
21 | reg = <0 0x80000000 0 0>; | |
22 | }; | |
23 | ||
71c8428e S |
24 | reserved-memory { |
25 | #address-cells = <2>; | |
26 | #size-cells = <2>; | |
27 | ranges; | |
28 | ||
29 | memory@85fc0000 { | |
30 | reg = <0 0x85fc0000 0 0x20000>; | |
31 | no-map; | |
32 | }; | |
33 | ||
2da52398 DA |
34 | memory@85fe0000 { |
35 | compatible = "qcom,cmd-db"; | |
36 | reg = <0x0 0x85fe0000 0x0 0x20000>; | |
37 | no-map; | |
38 | }; | |
39 | ||
71c8428e S |
40 | smem_mem: memory@86000000 { |
41 | reg = <0x0 0x86000000 0x0 0x200000>; | |
42 | no-map; | |
43 | }; | |
44 | ||
45 | memory@86200000 { | |
46 | reg = <0 0x86200000 0 0x2d00000>; | |
47 | no-map; | |
48 | }; | |
49 | }; | |
50 | ||
6d4cf750 RN |
51 | cpus { |
52 | #address-cells = <2>; | |
53 | #size-cells = <0>; | |
54 | ||
55 | CPU0: cpu@0 { | |
56 | device_type = "cpu"; | |
57 | compatible = "qcom,kryo385"; | |
58 | reg = <0x0 0x0>; | |
59 | enable-method = "psci"; | |
60 | next-level-cache = <&L2_0>; | |
61 | L2_0: l2-cache { | |
62 | compatible = "cache"; | |
63 | next-level-cache = <&L3_0>; | |
64 | L3_0: l3-cache { | |
65 | compatible = "cache"; | |
66 | }; | |
67 | }; | |
68 | }; | |
69 | ||
70 | CPU1: cpu@100 { | |
71 | device_type = "cpu"; | |
72 | compatible = "qcom,kryo385"; | |
73 | reg = <0x0 0x100>; | |
74 | enable-method = "psci"; | |
75 | next-level-cache = <&L2_100>; | |
76 | L2_100: l2-cache { | |
77 | compatible = "cache"; | |
78 | next-level-cache = <&L3_0>; | |
79 | }; | |
80 | }; | |
81 | ||
82 | CPU2: cpu@200 { | |
83 | device_type = "cpu"; | |
84 | compatible = "qcom,kryo385"; | |
85 | reg = <0x0 0x200>; | |
86 | enable-method = "psci"; | |
87 | next-level-cache = <&L2_200>; | |
88 | L2_200: l2-cache { | |
89 | compatible = "cache"; | |
90 | next-level-cache = <&L3_0>; | |
91 | }; | |
92 | }; | |
93 | ||
94 | CPU3: cpu@300 { | |
95 | device_type = "cpu"; | |
96 | compatible = "qcom,kryo385"; | |
97 | reg = <0x0 0x300>; | |
98 | enable-method = "psci"; | |
99 | next-level-cache = <&L2_300>; | |
100 | L2_300: l2-cache { | |
101 | compatible = "cache"; | |
102 | next-level-cache = <&L3_0>; | |
103 | }; | |
104 | }; | |
105 | ||
106 | CPU4: cpu@400 { | |
107 | device_type = "cpu"; | |
108 | compatible = "qcom,kryo385"; | |
109 | reg = <0x0 0x400>; | |
110 | enable-method = "psci"; | |
111 | next-level-cache = <&L2_400>; | |
112 | L2_400: l2-cache { | |
113 | compatible = "cache"; | |
114 | next-level-cache = <&L3_0>; | |
115 | }; | |
116 | }; | |
117 | ||
118 | CPU5: cpu@500 { | |
119 | device_type = "cpu"; | |
120 | compatible = "qcom,kryo385"; | |
121 | reg = <0x0 0x500>; | |
122 | enable-method = "psci"; | |
123 | next-level-cache = <&L2_500>; | |
124 | L2_500: l2-cache { | |
125 | compatible = "cache"; | |
126 | next-level-cache = <&L3_0>; | |
127 | }; | |
128 | }; | |
129 | ||
130 | CPU6: cpu@600 { | |
131 | device_type = "cpu"; | |
132 | compatible = "qcom,kryo385"; | |
133 | reg = <0x0 0x600>; | |
134 | enable-method = "psci"; | |
135 | next-level-cache = <&L2_600>; | |
136 | L2_600: l2-cache { | |
137 | compatible = "cache"; | |
138 | next-level-cache = <&L3_0>; | |
139 | }; | |
140 | }; | |
141 | ||
142 | CPU7: cpu@700 { | |
143 | device_type = "cpu"; | |
144 | compatible = "qcom,kryo385"; | |
145 | reg = <0x0 0x700>; | |
146 | enable-method = "psci"; | |
147 | next-level-cache = <&L2_700>; | |
148 | L2_700: l2-cache { | |
149 | compatible = "cache"; | |
150 | next-level-cache = <&L3_0>; | |
151 | }; | |
152 | }; | |
153 | }; | |
154 | ||
000c4662 SB |
155 | pmu { |
156 | compatible = "arm,armv8-pmuv3"; | |
157 | interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>; | |
158 | }; | |
159 | ||
6d4cf750 RN |
160 | timer { |
161 | compatible = "arm,armv8-timer"; | |
162 | interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>, | |
163 | <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>, | |
164 | <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>, | |
165 | <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>; | |
166 | }; | |
167 | ||
168 | clocks { | |
169 | xo_board: xo-board { | |
170 | compatible = "fixed-clock"; | |
171 | #clock-cells = <0>; | |
5ea3939c DA |
172 | clock-frequency = <38400000>; |
173 | clock-output-names = "xo_board"; | |
6d4cf750 RN |
174 | }; |
175 | ||
176 | sleep_clk: sleep-clk { | |
177 | compatible = "fixed-clock"; | |
178 | #clock-cells = <0>; | |
179 | clock-frequency = <32764>; | |
180 | }; | |
181 | }; | |
182 | ||
71c8428e S |
183 | tcsr_mutex: hwlock { |
184 | compatible = "qcom,tcsr-mutex"; | |
185 | syscon = <&tcsr_mutex_regs 0 0x1000>; | |
186 | #hwlock-cells = <1>; | |
187 | }; | |
188 | ||
189 | smem { | |
190 | compatible = "qcom,smem"; | |
191 | memory-region = <&smem_mem>; | |
192 | hwlocks = <&tcsr_mutex 3>; | |
193 | }; | |
194 | ||
6d4cf750 RN |
195 | psci { |
196 | compatible = "arm,psci-1.0"; | |
197 | method = "smc"; | |
198 | }; | |
199 | ||
200 | soc: soc { | |
201 | #address-cells = <1>; | |
202 | #size-cells = <1>; | |
203 | ranges = <0 0 0 0xffffffff>; | |
204 | compatible = "simple-bus"; | |
205 | ||
54d7a20d DA |
206 | gcc: clock-controller@100000 { |
207 | compatible = "qcom,gcc-sdm845"; | |
208 | reg = <0x100000 0x1f0000>; | |
209 | #clock-cells = <1>; | |
210 | #reset-cells = <1>; | |
211 | #power-domain-cells = <1>; | |
212 | }; | |
213 | ||
214 | tcsr_mutex_regs: syscon@1f40000 { | |
215 | compatible = "syscon"; | |
216 | reg = <0x1f40000 0x40000>; | |
217 | }; | |
218 | ||
219 | tlmm: pinctrl@3400000 { | |
220 | compatible = "qcom,sdm845-pinctrl"; | |
221 | reg = <0x03400000 0xc00000>; | |
222 | interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; | |
223 | gpio-controller; | |
224 | #gpio-cells = <2>; | |
225 | interrupt-controller; | |
226 | #interrupt-cells = <2>; | |
227 | }; | |
228 | ||
229 | spmi_bus: spmi@c440000 { | |
230 | compatible = "qcom,spmi-pmic-arb"; | |
231 | reg = <0xc440000 0x1100>, | |
232 | <0xc600000 0x2000000>, | |
233 | <0xe600000 0x100000>, | |
234 | <0xe700000 0xa0000>, | |
235 | <0xc40a000 0x26000>; | |
236 | reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; | |
237 | interrupt-names = "periph_irq"; | |
238 | interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>; | |
239 | qcom,ee = <0>; | |
240 | qcom,channel = <0>; | |
241 | #address-cells = <2>; | |
242 | #size-cells = <0>; | |
243 | interrupt-controller; | |
244 | #interrupt-cells = <4>; | |
245 | cell-index = <0>; | |
246 | }; | |
247 | ||
248 | apss_shared: mailbox@17990000 { | |
249 | compatible = "qcom,sdm845-apss-shared"; | |
250 | reg = <0x17990000 0x1000>; | |
251 | #mbox-cells = <1>; | |
252 | }; | |
253 | ||
6d4cf750 RN |
254 | intc: interrupt-controller@17a00000 { |
255 | compatible = "arm,gic-v3"; | |
256 | #address-cells = <1>; | |
257 | #size-cells = <1>; | |
258 | ranges; | |
259 | #interrupt-cells = <3>; | |
260 | interrupt-controller; | |
261 | reg = <0x17a00000 0x10000>, /* GICD */ | |
262 | <0x17a60000 0x100000>; /* GICR * 8 */ | |
263 | interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; | |
264 | ||
265 | gic-its@17a40000 { | |
266 | compatible = "arm,gic-v3-its"; | |
267 | msi-controller; | |
268 | #msi-cells = <1>; | |
269 | reg = <0x17a40000 0x20000>; | |
270 | status = "disabled"; | |
271 | }; | |
272 | }; | |
273 | ||
6d4cf750 RN |
274 | timer@17c90000 { |
275 | #address-cells = <1>; | |
276 | #size-cells = <1>; | |
277 | ranges; | |
278 | compatible = "arm,armv7-timer-mem"; | |
279 | reg = <0x17c90000 0x1000>; | |
280 | ||
281 | frame@17ca0000 { | |
282 | frame-number = <0>; | |
283 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, | |
284 | <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | |
285 | reg = <0x17ca0000 0x1000>, | |
286 | <0x17cb0000 0x1000>; | |
287 | }; | |
288 | ||
289 | frame@17cc0000 { | |
290 | frame-number = <1>; | |
291 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | |
292 | reg = <0x17cc0000 0x1000>; | |
293 | status = "disabled"; | |
294 | }; | |
295 | ||
296 | frame@17cd0000 { | |
297 | frame-number = <2>; | |
298 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; | |
299 | reg = <0x17cd0000 0x1000>; | |
300 | status = "disabled"; | |
301 | }; | |
302 | ||
303 | frame@17ce0000 { | |
304 | frame-number = <3>; | |
305 | interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; | |
306 | reg = <0x17ce0000 0x1000>; | |
307 | status = "disabled"; | |
308 | }; | |
309 | ||
310 | frame@17cf0000 { | |
311 | frame-number = <4>; | |
312 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | |
313 | reg = <0x17cf0000 0x1000>; | |
314 | status = "disabled"; | |
315 | }; | |
316 | ||
317 | frame@17d00000 { | |
318 | frame-number = <5>; | |
319 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | |
320 | reg = <0x17d00000 0x1000>; | |
321 | status = "disabled"; | |
322 | }; | |
323 | ||
324 | frame@17d10000 { | |
325 | frame-number = <6>; | |
326 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; | |
327 | reg = <0x17d10000 0x1000>; | |
328 | status = "disabled"; | |
329 | }; | |
330 | }; | |
6d4cf750 RN |
331 | }; |
332 | }; |