Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / hisilicon / hip05.dtsi
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 };