11d0ea069SThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only
2fcab303cSDing Tianhong/**
3fcab303cSDing Tianhong * dts file for Hisilicon D02 Development Board
4fcab303cSDing Tianhong *
5e3211e41SHao Fang * Copyright (C) 2014,2015 HiSilicon Ltd.
6fcab303cSDing Tianhong */
7fcab303cSDing Tianhong
8fcab303cSDing Tianhong#include <dt-bindings/interrupt-controller/arm-gic.h>
9fcab303cSDing Tianhong
10fcab303cSDing Tianhong/ {
11fcab303cSDing Tianhong	compatible = "hisilicon,hip05-d02";
12fcab303cSDing Tianhong	interrupt-parent = <&gic>;
13fcab303cSDing Tianhong	#address-cells = <2>;
14fcab303cSDing Tianhong	#size-cells = <2>;
15fcab303cSDing Tianhong
16fcab303cSDing Tianhong	psci {
17fcab303cSDing Tianhong		compatible = "arm,psci-0.2";
18fcab303cSDing Tianhong		method = "smc";
19fcab303cSDing Tianhong	};
20fcab303cSDing Tianhong
21fcab303cSDing Tianhong	cpus {
22fcab303cSDing Tianhong		#address-cells = <1>;
23fcab303cSDing Tianhong		#size-cells = <0>;
24fcab303cSDing Tianhong
25fcab303cSDing Tianhong		cpu-map {
26fcab303cSDing Tianhong			cluster0 {
27fcab303cSDing Tianhong				core0 {
28fcab303cSDing Tianhong					cpu = <&cpu0>;
29fcab303cSDing Tianhong				};
30fcab303cSDing Tianhong				core1 {
31fcab303cSDing Tianhong					cpu = <&cpu1>;
32fcab303cSDing Tianhong				};
33fcab303cSDing Tianhong				core2 {
34fcab303cSDing Tianhong					cpu = <&cpu2>;
35fcab303cSDing Tianhong				};
36fcab303cSDing Tianhong				core3 {
37fcab303cSDing Tianhong					cpu = <&cpu3>;
38fcab303cSDing Tianhong				};
39fcab303cSDing Tianhong			};
40fcab303cSDing Tianhong			cluster1 {
41fcab303cSDing Tianhong				core0 {
42fcab303cSDing Tianhong					cpu = <&cpu4>;
43fcab303cSDing Tianhong				};
44fcab303cSDing Tianhong				core1 {
45fcab303cSDing Tianhong					cpu = <&cpu5>;
46fcab303cSDing Tianhong				};
47fcab303cSDing Tianhong				core2 {
48fcab303cSDing Tianhong					cpu = <&cpu6>;
49fcab303cSDing Tianhong				};
50fcab303cSDing Tianhong				core3 {
51fcab303cSDing Tianhong					cpu = <&cpu7>;
52fcab303cSDing Tianhong				};
53fcab303cSDing Tianhong			};
54fcab303cSDing Tianhong			cluster2 {
55fcab303cSDing Tianhong				core0 {
56fcab303cSDing Tianhong					cpu = <&cpu8>;
57fcab303cSDing Tianhong				};
58fcab303cSDing Tianhong				core1 {
59fcab303cSDing Tianhong					cpu = <&cpu9>;
60fcab303cSDing Tianhong				};
61fcab303cSDing Tianhong				core2 {
62fcab303cSDing Tianhong					cpu = <&cpu10>;
63fcab303cSDing Tianhong				};
64fcab303cSDing Tianhong				core3 {
65fcab303cSDing Tianhong					cpu = <&cpu11>;
66fcab303cSDing Tianhong				};
67fcab303cSDing Tianhong			};
68fcab303cSDing Tianhong			cluster3 {
69fcab303cSDing Tianhong				core0 {
70fcab303cSDing Tianhong					cpu = <&cpu12>;
71fcab303cSDing Tianhong				};
72fcab303cSDing Tianhong				core1 {
73fcab303cSDing Tianhong					cpu = <&cpu13>;
74fcab303cSDing Tianhong				};
75fcab303cSDing Tianhong				core2 {
76fcab303cSDing Tianhong					cpu = <&cpu14>;
77fcab303cSDing Tianhong				};
78fcab303cSDing Tianhong				core3 {
79fcab303cSDing Tianhong					cpu = <&cpu15>;
80fcab303cSDing Tianhong				};
81fcab303cSDing Tianhong			};
82fcab303cSDing Tianhong		};
83fcab303cSDing Tianhong
84fcab303cSDing Tianhong		cpu0: cpu@20000 {
85fcab303cSDing Tianhong			device_type = "cpu";
8631af04cdSRob Herring			compatible = "arm,cortex-a57";
87fcab303cSDing Tianhong			reg = <0x20000>;
88fcab303cSDing Tianhong			enable-method = "psci";
89dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
90fcab303cSDing Tianhong		};
91fcab303cSDing Tianhong
92fcab303cSDing Tianhong		cpu1: cpu@20001 {
93fcab303cSDing Tianhong			device_type = "cpu";
9431af04cdSRob Herring			compatible = "arm,cortex-a57";
95fcab303cSDing Tianhong			reg = <0x20001>;
96fcab303cSDing Tianhong			enable-method = "psci";
97dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
98fcab303cSDing Tianhong		};
99fcab303cSDing Tianhong
100fcab303cSDing Tianhong		cpu2: cpu@20002 {
101fcab303cSDing Tianhong			device_type = "cpu";
10231af04cdSRob Herring			compatible = "arm,cortex-a57";
103fcab303cSDing Tianhong			reg = <0x20002>;
104fcab303cSDing Tianhong			enable-method = "psci";
105dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
106fcab303cSDing Tianhong		};
107fcab303cSDing Tianhong
108fcab303cSDing Tianhong		cpu3: cpu@20003 {
109fcab303cSDing Tianhong			device_type = "cpu";
11031af04cdSRob Herring			compatible = "arm,cortex-a57";
111fcab303cSDing Tianhong			reg = <0x20003>;
112fcab303cSDing Tianhong			enable-method = "psci";
113dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
114fcab303cSDing Tianhong		};
115fcab303cSDing Tianhong
116fcab303cSDing Tianhong		cpu4: cpu@20100 {
117fcab303cSDing Tianhong			device_type = "cpu";
11831af04cdSRob Herring			compatible = "arm,cortex-a57";
119fcab303cSDing Tianhong			reg = <0x20100>;
120fcab303cSDing Tianhong			enable-method = "psci";
121dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
122fcab303cSDing Tianhong		};
123fcab303cSDing Tianhong
124fcab303cSDing Tianhong		cpu5: cpu@20101 {
125fcab303cSDing Tianhong			device_type = "cpu";
12631af04cdSRob Herring			compatible = "arm,cortex-a57";
127fcab303cSDing Tianhong			reg = <0x20101>;
128fcab303cSDing Tianhong			enable-method = "psci";
129dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
130fcab303cSDing Tianhong		};
131fcab303cSDing Tianhong
132fcab303cSDing Tianhong		cpu6: cpu@20102 {
133fcab303cSDing Tianhong			device_type = "cpu";
13431af04cdSRob Herring			compatible = "arm,cortex-a57";
135fcab303cSDing Tianhong			reg = <0x20102>;
136fcab303cSDing Tianhong			enable-method = "psci";
137dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
138fcab303cSDing Tianhong		};
139fcab303cSDing Tianhong
140fcab303cSDing Tianhong		cpu7: cpu@20103 {
141fcab303cSDing Tianhong			device_type = "cpu";
14231af04cdSRob Herring			compatible = "arm,cortex-a57";
143fcab303cSDing Tianhong			reg = <0x20103>;
144fcab303cSDing Tianhong			enable-method = "psci";
145dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
146fcab303cSDing Tianhong		};
147fcab303cSDing Tianhong
148fcab303cSDing Tianhong		cpu8: cpu@20200 {
149fcab303cSDing Tianhong			device_type = "cpu";
15031af04cdSRob Herring			compatible = "arm,cortex-a57";
151fcab303cSDing Tianhong			reg = <0x20200>;
152fcab303cSDing Tianhong			enable-method = "psci";
153dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
154fcab303cSDing Tianhong		};
155fcab303cSDing Tianhong
156fcab303cSDing Tianhong		cpu9: cpu@20201 {
157fcab303cSDing Tianhong			device_type = "cpu";
15831af04cdSRob Herring			compatible = "arm,cortex-a57";
159fcab303cSDing Tianhong			reg = <0x20201>;
160fcab303cSDing Tianhong			enable-method = "psci";
161dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
162fcab303cSDing Tianhong		};
163fcab303cSDing Tianhong
164fcab303cSDing Tianhong		cpu10: cpu@20202 {
165fcab303cSDing Tianhong			device_type = "cpu";
16631af04cdSRob Herring			compatible = "arm,cortex-a57";
167fcab303cSDing Tianhong			reg = <0x20202>;
168fcab303cSDing Tianhong			enable-method = "psci";
169dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
170fcab303cSDing Tianhong		};
171fcab303cSDing Tianhong
172fcab303cSDing Tianhong		cpu11: cpu@20203 {
173fcab303cSDing Tianhong			device_type = "cpu";
17431af04cdSRob Herring			compatible = "arm,cortex-a57";
175fcab303cSDing Tianhong			reg = <0x20203>;
176fcab303cSDing Tianhong			enable-method = "psci";
177dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
178fcab303cSDing Tianhong		};
179fcab303cSDing Tianhong
180fcab303cSDing Tianhong		cpu12: cpu@20300 {
181fcab303cSDing Tianhong			device_type = "cpu";
18231af04cdSRob Herring			compatible = "arm,cortex-a57";
183fcab303cSDing Tianhong			reg = <0x20300>;
184fcab303cSDing Tianhong			enable-method = "psci";
185dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
186fcab303cSDing Tianhong		};
187fcab303cSDing Tianhong
188fcab303cSDing Tianhong		cpu13: cpu@20301 {
189fcab303cSDing Tianhong			device_type = "cpu";
19031af04cdSRob Herring			compatible = "arm,cortex-a57";
191fcab303cSDing Tianhong			reg = <0x20301>;
192fcab303cSDing Tianhong			enable-method = "psci";
193dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
194fcab303cSDing Tianhong		};
195fcab303cSDing Tianhong
196fcab303cSDing Tianhong		cpu14: cpu@20302 {
197fcab303cSDing Tianhong			device_type = "cpu";
19831af04cdSRob Herring			compatible = "arm,cortex-a57";
199fcab303cSDing Tianhong			reg = <0x20302>;
200fcab303cSDing Tianhong			enable-method = "psci";
201dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
202fcab303cSDing Tianhong		};
203fcab303cSDing Tianhong
204fcab303cSDing Tianhong		cpu15: cpu@20303 {
205fcab303cSDing Tianhong			device_type = "cpu";
20631af04cdSRob Herring			compatible = "arm,cortex-a57";
207fcab303cSDing Tianhong			reg = <0x20303>;
208fcab303cSDing Tianhong			enable-method = "psci";
209dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
210dbb58d0fSKefeng Wang		};
211dbb58d0fSKefeng Wang
212dbb58d0fSKefeng Wang		cluster0_l2: l2-cache0 {
213dbb58d0fSKefeng Wang			compatible = "cache";
2140de459a3SPierre Gondois			cache-level = <2>;
215*a0936e9eSKrzysztof Kozlowski			cache-unified;
216dbb58d0fSKefeng Wang		};
217dbb58d0fSKefeng Wang
218dbb58d0fSKefeng Wang		cluster1_l2: l2-cache1 {
219dbb58d0fSKefeng Wang			compatible = "cache";
2200de459a3SPierre Gondois			cache-level = <2>;
221*a0936e9eSKrzysztof Kozlowski			cache-unified;
222dbb58d0fSKefeng Wang		};
223dbb58d0fSKefeng Wang
224dbb58d0fSKefeng Wang		cluster2_l2: l2-cache2 {
225dbb58d0fSKefeng Wang			compatible = "cache";
2260de459a3SPierre Gondois			cache-level = <2>;
227*a0936e9eSKrzysztof Kozlowski			cache-unified;
228dbb58d0fSKefeng Wang		};
229dbb58d0fSKefeng Wang
230dbb58d0fSKefeng Wang		cluster3_l2: l2-cache3 {
231dbb58d0fSKefeng Wang			compatible = "cache";
2320de459a3SPierre Gondois			cache-level = <2>;
233*a0936e9eSKrzysztof Kozlowski			cache-unified;
234fcab303cSDing Tianhong		};
235fcab303cSDing Tianhong	};
236fcab303cSDing Tianhong
237fcab303cSDing Tianhong	gic: interrupt-controller@8d000000 {
238fcab303cSDing Tianhong		compatible = "arm,gic-v3";
239fcab303cSDing Tianhong                #interrupt-cells = <3>;
240fcab303cSDing Tianhong                #address-cells = <2>;
241fcab303cSDing Tianhong                #size-cells = <2>;
242fcab303cSDing Tianhong                ranges;
243fcab303cSDing Tianhong                interrupt-controller;
244fcab303cSDing Tianhong                #redistributor-regions = <1>;
245fcab303cSDing Tianhong                redistributor-stride = <0x0 0x30000>;
246fcab303cSDing Tianhong		reg = <0x0 0x8d000000 0 0x10000>,	/* GICD */
247fcab303cSDing Tianhong		      <0x0 0x8d100000 0 0x300000>,	/* GICR */
248fcab303cSDing Tianhong		      <0x0 0xfe000000 0 0x10000>,	/* GICC */
249fcab303cSDing Tianhong		      <0x0 0xfe010000 0 0x10000>,       /* GICH */
250fcab303cSDing Tianhong		      <0x0 0xfe020000 0 0x10000>;       /* GICV */
251fcab303cSDing Tianhong		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
252fcab303cSDing Tianhong
253c25b8464SZhen Lei		its_peri: msi-controller@8c000000 {
254fcab303cSDing Tianhong			compatible = "arm,gic-v3-its";
255fcab303cSDing Tianhong			msi-controller;
25670896650SKefeng Wang			#msi-cells = <1>;
257fcab303cSDing Tianhong			reg = <0x0 0x8c000000 0x0 0x40000>;
258fcab303cSDing Tianhong		};
259abf9c25dSKefeng Wang
260c25b8464SZhen Lei		its_m3: msi-controller@a3000000 {
261abf9c25dSKefeng Wang			compatible = "arm,gic-v3-its";
262abf9c25dSKefeng Wang			msi-controller;
26370896650SKefeng Wang			#msi-cells = <1>;
264abf9c25dSKefeng Wang			reg = <0x0 0xa3000000 0x0 0x40000>;
265abf9c25dSKefeng Wang		};
266abf9c25dSKefeng Wang
267c25b8464SZhen Lei		its_pcie: msi-controller@b7000000 {
268abf9c25dSKefeng Wang			compatible = "arm,gic-v3-its";
269abf9c25dSKefeng Wang			msi-controller;
27070896650SKefeng Wang			#msi-cells = <1>;
271abf9c25dSKefeng Wang			reg = <0x0 0xb7000000 0x0 0x40000>;
272abf9c25dSKefeng Wang		};
273abf9c25dSKefeng Wang
274c25b8464SZhen Lei		its_dsa: msi-controller@c6000000 {
275abf9c25dSKefeng Wang			compatible = "arm,gic-v3-its";
276abf9c25dSKefeng Wang			msi-controller;
27770896650SKefeng Wang			#msi-cells = <1>;
278abf9c25dSKefeng Wang			reg = <0x0 0xc6000000 0x0 0x40000>;
279abf9c25dSKefeng Wang		};
280fcab303cSDing Tianhong	};
281fcab303cSDing Tianhong
282fcab303cSDing Tianhong	timer {
283fcab303cSDing Tianhong		compatible = "arm,armv8-timer";
284fcab303cSDing Tianhong		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
285fcab303cSDing Tianhong			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
286fcab303cSDing Tianhong			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
287fcab303cSDing Tianhong			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
288fcab303cSDing Tianhong	};
289fcab303cSDing Tianhong
290fcab303cSDing Tianhong	pmu {
2916897db62SKefeng Wang		compatible = "arm,cortex-a57-pmu";
292fcab303cSDing Tianhong		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
293fcab303cSDing Tianhong	};
294fcab303cSDing Tianhong
295fcab303cSDing Tianhong	soc {
296fcab303cSDing Tianhong		compatible = "simple-bus";
297fcab303cSDing Tianhong		#address-cells = <2>;
298fcab303cSDing Tianhong		#size-cells = <2>;
299fcab303cSDing Tianhong		ranges;
300fcab303cSDing Tianhong
301fcab303cSDing Tianhong		refclk200mhz: refclk200mhz {
302fcab303cSDing Tianhong			compatible = "fixed-clock";
303fcab303cSDing Tianhong			#clock-cells = <0>;
304fcab303cSDing Tianhong			clock-frequency = <200000000>;
305fcab303cSDing Tianhong		};
306fcab303cSDing Tianhong
307bf69b862SZhen Lei		uart0: serial@80300000 {
308fcab303cSDing Tianhong			compatible = "snps,dw-apb-uart";
309fcab303cSDing Tianhong			reg = <0x0 0x80300000 0x0 0x10000>;
310fcab303cSDing Tianhong			interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
311c4cbd035SZhen Lei			clocks = <&refclk200mhz>, <&refclk200mhz>;
312c4cbd035SZhen Lei			clock-names = "baudclk", "apb_pclk";
313fcab303cSDing Tianhong			reg-shift = <2>;
314fcab303cSDing Tianhong			reg-io-width = <4>;
315fcab303cSDing Tianhong			status = "disabled";
316fcab303cSDing Tianhong		};
317fcab303cSDing Tianhong
318bf69b862SZhen Lei		uart1: serial@80310000 {
319fcab303cSDing Tianhong			compatible = "snps,dw-apb-uart";
320fcab303cSDing Tianhong			reg = <0x0 0x80310000 0x0 0x10000>;
321fcab303cSDing Tianhong			interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
322c4cbd035SZhen Lei			clocks = <&refclk200mhz>, <&refclk200mhz>;
323c4cbd035SZhen Lei			clock-names = "baudclk", "apb_pclk";
324fcab303cSDing Tianhong			reg-shift = <2>;
325fcab303cSDing Tianhong			reg-io-width = <4>;
326fcab303cSDing Tianhong			status = "disabled";
327fcab303cSDing Tianhong		};
3288f41d122SKefeng Wang
329a328818eSZhen Lei		lbc: local-bus@80380000 {
330162d23bfSKefeng Wang			compatible = "hisilicon,hisi-localbus", "simple-bus";
331162d23bfSKefeng Wang			reg = <0x0 0x80380000 0x0 0x10000>;
332162d23bfSKefeng Wang			status = "disabled";
333162d23bfSKefeng Wang		};
334162d23bfSKefeng Wang
3358f41d122SKefeng Wang		peri_gpio0: gpio@802e0000 {
3368f41d122SKefeng Wang			#address-cells = <1>;
3378f41d122SKefeng Wang			#size-cells = <0>;
3388f41d122SKefeng Wang			compatible = "snps,dw-apb-gpio";
3398f41d122SKefeng Wang			reg = <0x0 0x802e0000 0x0 0x10000>;
3408f41d122SKefeng Wang			status = "disabled";
3418f41d122SKefeng Wang
3428f41d122SKefeng Wang			porta: gpio-controller@0 {
3438f41d122SKefeng Wang				compatible = "snps,dw-apb-gpio-port";
3448f41d122SKefeng Wang				gpio-controller;
3458f41d122SKefeng Wang				#gpio-cells = <2>;
34625df3e1fSJisheng Zhang				ngpios = <32>;
3478f41d122SKefeng Wang				reg = <0>;
3488f41d122SKefeng Wang				interrupt-controller;
3498f41d122SKefeng Wang				#interrupt-cells = <2>;
3508f41d122SKefeng Wang				interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
3518f41d122SKefeng Wang			};
3528f41d122SKefeng Wang		};
3538f41d122SKefeng Wang
3548f41d122SKefeng Wang		peri_gpio1: gpio@802f0000 {
3558f41d122SKefeng Wang			#address-cells = <1>;
3568f41d122SKefeng Wang			#size-cells = <0>;
3578f41d122SKefeng Wang			compatible = "snps,dw-apb-gpio";
3588f41d122SKefeng Wang			reg = <0x0 0x802f0000 0x0 0x10000>;
3598f41d122SKefeng Wang			status = "disabled";
3608f41d122SKefeng Wang
3618f41d122SKefeng Wang			portb: gpio-controller@0 {
3628f41d122SKefeng Wang				compatible = "snps,dw-apb-gpio-port";
3638f41d122SKefeng Wang				gpio-controller;
3648f41d122SKefeng Wang				#gpio-cells = <2>;
36525df3e1fSJisheng Zhang				ngpios = <32>;
3668f41d122SKefeng Wang				reg = <0>;
3678f41d122SKefeng Wang				interrupt-controller;
3688f41d122SKefeng Wang				#interrupt-cells = <2>;
3698f41d122SKefeng Wang				interrupts = <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>;
3708f41d122SKefeng Wang			};
3718f41d122SKefeng Wang		};
372fcab303cSDing Tianhong	};
373fcab303cSDing Tianhong};
374