1 // SPDX-License-Identifier: GPL-2.0-only
2 /**
3 * dts file for Hisilicon D02 Development Board
4 *
5 * Copyright (C) 2014,2015 HiSilicon Ltd.
6 */
7
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9
10 / {
11 compatible = "hisilicon,hip05-d02";
12 interrupt-parent = <&gic>;
13 #address-cells = <2>;
14 #size-cells = <2>;
15
16 psci {
17 compatible = "arm,psci-0.2";
18 method = "smc";
19 };
20
21 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 cpu-map {
26 cluster0 {
27 core0 {
28 cpu = <&cpu0>;
29 };
30 core1 {
31 cpu = <&cpu1>;
32 };
33 core2 {
34 cpu = <&cpu2>;
35 };
36 core3 {
37 cpu = <&cpu3>;
38 };
39 };
40 cluster1 {
41 core0 {
42 cpu = <&cpu4>;
43 };
44 core1 {
45 cpu = <&cpu5>;
46 };
47 core2 {
48 cpu = <&cpu6>;
49 };
50 core3 {
51 cpu = <&cpu7>;
52 };
53 };
54 cluster2 {
55 core0 {
56 cpu = <&cpu8>;
57 };
58 core1 {
59 cpu = <&cpu9>;
60 };
61 core2 {
62 cpu = <&cpu10>;
63 };
64 core3 {
65 cpu = <&cpu11>;
66 };
67 };
68 cluster3 {
69 core0 {
70 cpu = <&cpu12>;
71 };
72 core1 {
73 cpu = <&cpu13>;
74 };
75 core2 {
76 cpu = <&cpu14>;
77 };
78 core3 {
79 cpu = <&cpu15>;
80 };
81 };
82 };
83
84 cpu0: cpu@20000 {
85 device_type = "cpu";
86 compatible = "arm,cortex-a57";
87 reg = <0x20000>;
88 enable-method = "psci";
89 next-level-cache = <&cluster0_l2>;
90 };
91
92 cpu1: cpu@20001 {
93 device_type = "cpu";
94 compatible = "arm,cortex-a57";
95 reg = <0x20001>;
96 enable-method = "psci";
97 next-level-cache = <&cluster0_l2>;
98 };
99
100 cpu2: cpu@20002 {
101 device_type = "cpu";
102 compatible = "arm,cortex-a57";
103 reg = <0x20002>;
104 enable-method = "psci";
105 next-level-cache = <&cluster0_l2>;
106 };
107
108 cpu3: cpu@20003 {
109 device_type = "cpu";
110 compatible = "arm,cortex-a57";
111 reg = <0x20003>;
112 enable-method = "psci";
113 next-level-cache = <&cluster0_l2>;
114 };
115
116 cpu4: cpu@20100 {
117 device_type = "cpu";
118 compatible = "arm,cortex-a57";
119 reg = <0x20100>;
120 enable-method = "psci";
121 next-level-cache = <&cluster1_l2>;
122 };
123
124 cpu5: cpu@20101 {
125 device_type = "cpu";
126 compatible = "arm,cortex-a57";
127 reg = <0x20101>;
128 enable-method = "psci";
129 next-level-cache = <&cluster1_l2>;
130 };
131
132 cpu6: cpu@20102 {
133 device_type = "cpu";
134 compatible = "arm,cortex-a57";
135 reg = <0x20102>;
136 enable-method = "psci";
137 next-level-cache = <&cluster1_l2>;
138 };
139
140 cpu7: cpu@20103 {
141 device_type = "cpu";
142 compatible = "arm,cortex-a57";
143 reg = <0x20103>;
144 enable-method = "psci";
145 next-level-cache = <&cluster1_l2>;
146 };
147
148 cpu8: cpu@20200 {
149 device_type = "cpu";
150 compatible = "arm,cortex-a57";
151 reg = <0x20200>;
152 enable-method = "psci";
153 next-level-cache = <&cluster2_l2>;
154 };
155
156 cpu9: cpu@20201 {
157 device_type = "cpu";
158 compatible = "arm,cortex-a57";
159 reg = <0x20201>;
160 enable-method = "psci";
161 next-level-cache = <&cluster2_l2>;
162 };
163
164 cpu10: cpu@20202 {
165 device_type = "cpu";
166 compatible = "arm,cortex-a57";
167 reg = <0x20202>;
168 enable-method = "psci";
169 next-level-cache = <&cluster2_l2>;
170 };
171
172 cpu11: cpu@20203 {
173 device_type = "cpu";
174 compatible = "arm,cortex-a57";
175 reg = <0x20203>;
176 enable-method = "psci";
177 next-level-cache = <&cluster2_l2>;
178 };
179
180 cpu12: cpu@20300 {
181 device_type = "cpu";
182 compatible = "arm,cortex-a57";
183 reg = <0x20300>;
184 enable-method = "psci";
185 next-level-cache = <&cluster3_l2>;
186 };
187
188 cpu13: cpu@20301 {
189 device_type = "cpu";
190 compatible = "arm,cortex-a57";
191 reg = <0x20301>;
192 enable-method = "psci";
193 next-level-cache = <&cluster3_l2>;
194 };
195
196 cpu14: cpu@20302 {
197 device_type = "cpu";
198 compatible = "arm,cortex-a57";
199 reg = <0x20302>;
200 enable-method = "psci";
201 next-level-cache = <&cluster3_l2>;
202 };
203
204 cpu15: cpu@20303 {
205 device_type = "cpu";
206 compatible = "arm,cortex-a57";
207 reg = <0x20303>;
208 enable-method = "psci";
209 next-level-cache = <&cluster3_l2>;
210 };
211
212 cluster0_l2: l2-cache0 {
213 compatible = "cache";
214 };
215
216 cluster1_l2: l2-cache1 {
217 compatible = "cache";
218 };
219
220 cluster2_l2: l2-cache2 {
221 compatible = "cache";
222 };
223
224 cluster3_l2: l2-cache3 {
225 compatible = "cache";
226 };
227 };
228
229 gic: interrupt-controller@8d000000 {
230 compatible = "arm,gic-v3";
231 #interrupt-cells = <3>;
232 #address-cells = <2>;
233 #size-cells = <2>;
234 ranges;
235 interrupt-controller;
236 #redistributor-regions = <1>;
237 redistributor-stride = <0x0 0x30000>;
238 reg = <0x0 0x8d000000 0 0x10000>, /* GICD */
239 <0x0 0x8d100000 0 0x300000>, /* GICR */
240 <0x0 0xfe000000 0 0x10000>, /* GICC */
241 <0x0 0xfe010000 0 0x10000>, /* GICH */
242 <0x0 0xfe020000 0 0x10000>; /* GICV */
243 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
244
245 its_peri: msi-controller@8c000000 {
246 compatible = "arm,gic-v3-its";
247 msi-controller;
248 #msi-cells = <1>;
249 reg = <0x0 0x8c000000 0x0 0x40000>;
250 };
251
252 its_m3: msi-controller@a3000000 {
253 compatible = "arm,gic-v3-its";
254 msi-controller;
255 #msi-cells = <1>;
256 reg = <0x0 0xa3000000 0x0 0x40000>;
257 };
258
259 its_pcie: msi-controller@b7000000 {
260 compatible = "arm,gic-v3-its";
261 msi-controller;
262 #msi-cells = <1>;
263 reg = <0x0 0xb7000000 0x0 0x40000>;
264 };
265
266 its_dsa: msi-controller@c6000000 {
267 compatible = "arm,gic-v3-its";
268 msi-controller;
269 #msi-cells = <1>;
270 reg = <0x0 0xc6000000 0x0 0x40000>;
271 };
272 };
273
274 timer {
275 compatible = "arm,armv8-timer";
276 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
277 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
278 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
279 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
280 };
281
282 pmu {
283 compatible = "arm,cortex-a57-pmu";
284 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
285 };
286
287 soc {
288 compatible = "simple-bus";
289 #address-cells = <2>;
290 #size-cells = <2>;
291 ranges;
292
293 refclk200mhz: refclk200mhz {
294 compatible = "fixed-clock";
295 #clock-cells = <0>;
296 clock-frequency = <200000000>;
297 };
298
299 uart0: serial@80300000 {
300 compatible = "snps,dw-apb-uart";
301 reg = <0x0 0x80300000 0x0 0x10000>;
302 interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
303 clocks = <&refclk200mhz>, <&refclk200mhz>;
304 clock-names = "baudclk", "apb_pclk";
305 reg-shift = <2>;
306 reg-io-width = <4>;
307 status = "disabled";
308 };
309
310 uart1: serial@80310000 {
311 compatible = "snps,dw-apb-uart";
312 reg = <0x0 0x80310000 0x0 0x10000>;
313 interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
314 clocks = <&refclk200mhz>, <&refclk200mhz>;
315 clock-names = "baudclk", "apb_pclk";
316 reg-shift = <2>;
317 reg-io-width = <4>;
318 status = "disabled";
319 };
320
321 lbc: local-bus@80380000 {
322 compatible = "hisilicon,hisi-localbus", "simple-bus";
323 reg = <0x0 0x80380000 0x0 0x10000>;
324 status = "disabled";
325 };
326
327 peri_gpio0: gpio@802e0000 {
328 #address-cells = <1>;
329 #size-cells = <0>;
330 compatible = "snps,dw-apb-gpio";
331 reg = <0x0 0x802e0000 0x0 0x10000>;
332 status = "disabled";
333
334 porta: gpio-controller@0 {
335 compatible = "snps,dw-apb-gpio-port";
336 gpio-controller;
337 #gpio-cells = <2>;
338 ngpios = <32>;
339 reg = <0>;
340 interrupt-controller;
341 #interrupt-cells = <2>;
342 interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
343 };
344 };
345
346 peri_gpio1: gpio@802f0000 {
347 #address-cells = <1>;
348 #size-cells = <0>;
349 compatible = "snps,dw-apb-gpio";
350 reg = <0x0 0x802f0000 0x0 0x10000>;
351 status = "disabled";
352
353 portb: gpio-controller@0 {
354 compatible = "snps,dw-apb-gpio-port";
355 gpio-controller;
356 #gpio-cells = <2>;
357 ngpios = <32>;
358 reg = <0>;
359 interrupt-controller;
360 #interrupt-cells = <2>;
361 interrupts = <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>;
362 };
363 };
364 };
365 };
Cache object: 88ff8c5bd332abea80e9b0c3516e0025
|