1fcab303cSDing Tianhong/**
2fcab303cSDing Tianhong * dts file for Hisilicon D02 Development Board
3fcab303cSDing Tianhong *
4fcab303cSDing Tianhong * Copyright (C) 2014,2015 Hisilicon Ltd.
5fcab303cSDing Tianhong *
6fcab303cSDing Tianhong * This program is free software; you can redistribute it and/or modify
7fcab303cSDing Tianhong * it under the terms of the GNU General Public License version 2 as
8fcab303cSDing Tianhong * publishhed by the Free Software Foundation.
9fcab303cSDing Tianhong *
10fcab303cSDing Tianhong */
11fcab303cSDing Tianhong
12fcab303cSDing Tianhong#include <dt-bindings/interrupt-controller/arm-gic.h>
13fcab303cSDing Tianhong
14fcab303cSDing Tianhong/ {
15fcab303cSDing Tianhong	compatible = "hisilicon,hip05-d02";
16fcab303cSDing Tianhong	interrupt-parent = <&gic>;
17fcab303cSDing Tianhong	#address-cells = <2>;
18fcab303cSDing Tianhong	#size-cells = <2>;
19fcab303cSDing Tianhong
20fcab303cSDing Tianhong	psci {
21fcab303cSDing Tianhong		compatible = "arm,psci-0.2";
22fcab303cSDing Tianhong		method = "smc";
23fcab303cSDing Tianhong	};
24fcab303cSDing Tianhong
25fcab303cSDing Tianhong	cpus {
26fcab303cSDing Tianhong		#address-cells = <1>;
27fcab303cSDing Tianhong		#size-cells = <0>;
28fcab303cSDing Tianhong
29fcab303cSDing Tianhong		cpu-map {
30fcab303cSDing Tianhong			cluster0 {
31fcab303cSDing Tianhong				core0 {
32fcab303cSDing Tianhong					cpu = <&cpu0>;
33fcab303cSDing Tianhong				};
34fcab303cSDing Tianhong				core1 {
35fcab303cSDing Tianhong					cpu = <&cpu1>;
36fcab303cSDing Tianhong				};
37fcab303cSDing Tianhong				core2 {
38fcab303cSDing Tianhong					cpu = <&cpu2>;
39fcab303cSDing Tianhong				};
40fcab303cSDing Tianhong				core3 {
41fcab303cSDing Tianhong					cpu = <&cpu3>;
42fcab303cSDing Tianhong				};
43fcab303cSDing Tianhong			};
44fcab303cSDing Tianhong			cluster1 {
45fcab303cSDing Tianhong				core0 {
46fcab303cSDing Tianhong					cpu = <&cpu4>;
47fcab303cSDing Tianhong				};
48fcab303cSDing Tianhong				core1 {
49fcab303cSDing Tianhong					cpu = <&cpu5>;
50fcab303cSDing Tianhong				};
51fcab303cSDing Tianhong				core2 {
52fcab303cSDing Tianhong					cpu = <&cpu6>;
53fcab303cSDing Tianhong				};
54fcab303cSDing Tianhong				core3 {
55fcab303cSDing Tianhong					cpu = <&cpu7>;
56fcab303cSDing Tianhong				};
57fcab303cSDing Tianhong			};
58fcab303cSDing Tianhong			cluster2 {
59fcab303cSDing Tianhong				core0 {
60fcab303cSDing Tianhong					cpu = <&cpu8>;
61fcab303cSDing Tianhong				};
62fcab303cSDing Tianhong				core1 {
63fcab303cSDing Tianhong					cpu = <&cpu9>;
64fcab303cSDing Tianhong				};
65fcab303cSDing Tianhong				core2 {
66fcab303cSDing Tianhong					cpu = <&cpu10>;
67fcab303cSDing Tianhong				};
68fcab303cSDing Tianhong				core3 {
69fcab303cSDing Tianhong					cpu = <&cpu11>;
70fcab303cSDing Tianhong				};
71fcab303cSDing Tianhong			};
72fcab303cSDing Tianhong			cluster3 {
73fcab303cSDing Tianhong				core0 {
74fcab303cSDing Tianhong					cpu = <&cpu12>;
75fcab303cSDing Tianhong				};
76fcab303cSDing Tianhong				core1 {
77fcab303cSDing Tianhong					cpu = <&cpu13>;
78fcab303cSDing Tianhong				};
79fcab303cSDing Tianhong				core2 {
80fcab303cSDing Tianhong					cpu = <&cpu14>;
81fcab303cSDing Tianhong				};
82fcab303cSDing Tianhong				core3 {
83fcab303cSDing Tianhong					cpu = <&cpu15>;
84fcab303cSDing Tianhong				};
85fcab303cSDing Tianhong			};
86fcab303cSDing Tianhong		};
87fcab303cSDing Tianhong
88fcab303cSDing Tianhong		cpu0: cpu@20000 {
89fcab303cSDing Tianhong			device_type = "cpu";
9031af04cdSRob Herring			compatible = "arm,cortex-a57";
91fcab303cSDing Tianhong			reg = <0x20000>;
92fcab303cSDing Tianhong			enable-method = "psci";
93dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
94fcab303cSDing Tianhong		};
95fcab303cSDing Tianhong
96fcab303cSDing Tianhong		cpu1: cpu@20001 {
97fcab303cSDing Tianhong			device_type = "cpu";
9831af04cdSRob Herring			compatible = "arm,cortex-a57";
99fcab303cSDing Tianhong			reg = <0x20001>;
100fcab303cSDing Tianhong			enable-method = "psci";
101dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
102fcab303cSDing Tianhong		};
103fcab303cSDing Tianhong
104fcab303cSDing Tianhong		cpu2: cpu@20002 {
105fcab303cSDing Tianhong			device_type = "cpu";
10631af04cdSRob Herring			compatible = "arm,cortex-a57";
107fcab303cSDing Tianhong			reg = <0x20002>;
108fcab303cSDing Tianhong			enable-method = "psci";
109dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
110fcab303cSDing Tianhong		};
111fcab303cSDing Tianhong
112fcab303cSDing Tianhong		cpu3: cpu@20003 {
113fcab303cSDing Tianhong			device_type = "cpu";
11431af04cdSRob Herring			compatible = "arm,cortex-a57";
115fcab303cSDing Tianhong			reg = <0x20003>;
116fcab303cSDing Tianhong			enable-method = "psci";
117dbb58d0fSKefeng Wang			next-level-cache = <&cluster0_l2>;
118fcab303cSDing Tianhong		};
119fcab303cSDing Tianhong
120fcab303cSDing Tianhong		cpu4: cpu@20100 {
121fcab303cSDing Tianhong			device_type = "cpu";
12231af04cdSRob Herring			compatible = "arm,cortex-a57";
123fcab303cSDing Tianhong			reg = <0x20100>;
124fcab303cSDing Tianhong			enable-method = "psci";
125dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
126fcab303cSDing Tianhong		};
127fcab303cSDing Tianhong
128fcab303cSDing Tianhong		cpu5: cpu@20101 {
129fcab303cSDing Tianhong			device_type = "cpu";
13031af04cdSRob Herring			compatible = "arm,cortex-a57";
131fcab303cSDing Tianhong			reg = <0x20101>;
132fcab303cSDing Tianhong			enable-method = "psci";
133dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
134fcab303cSDing Tianhong		};
135fcab303cSDing Tianhong
136fcab303cSDing Tianhong		cpu6: cpu@20102 {
137fcab303cSDing Tianhong			device_type = "cpu";
13831af04cdSRob Herring			compatible = "arm,cortex-a57";
139fcab303cSDing Tianhong			reg = <0x20102>;
140fcab303cSDing Tianhong			enable-method = "psci";
141dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
142fcab303cSDing Tianhong		};
143fcab303cSDing Tianhong
144fcab303cSDing Tianhong		cpu7: cpu@20103 {
145fcab303cSDing Tianhong			device_type = "cpu";
14631af04cdSRob Herring			compatible = "arm,cortex-a57";
147fcab303cSDing Tianhong			reg = <0x20103>;
148fcab303cSDing Tianhong			enable-method = "psci";
149dbb58d0fSKefeng Wang			next-level-cache = <&cluster1_l2>;
150fcab303cSDing Tianhong		};
151fcab303cSDing Tianhong
152fcab303cSDing Tianhong		cpu8: cpu@20200 {
153fcab303cSDing Tianhong			device_type = "cpu";
15431af04cdSRob Herring			compatible = "arm,cortex-a57";
155fcab303cSDing Tianhong			reg = <0x20200>;
156fcab303cSDing Tianhong			enable-method = "psci";
157dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
158fcab303cSDing Tianhong		};
159fcab303cSDing Tianhong
160fcab303cSDing Tianhong		cpu9: cpu@20201 {
161fcab303cSDing Tianhong			device_type = "cpu";
16231af04cdSRob Herring			compatible = "arm,cortex-a57";
163fcab303cSDing Tianhong			reg = <0x20201>;
164fcab303cSDing Tianhong			enable-method = "psci";
165dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
166fcab303cSDing Tianhong		};
167fcab303cSDing Tianhong
168fcab303cSDing Tianhong		cpu10: cpu@20202 {
169fcab303cSDing Tianhong			device_type = "cpu";
17031af04cdSRob Herring			compatible = "arm,cortex-a57";
171fcab303cSDing Tianhong			reg = <0x20202>;
172fcab303cSDing Tianhong			enable-method = "psci";
173dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
174fcab303cSDing Tianhong		};
175fcab303cSDing Tianhong
176fcab303cSDing Tianhong		cpu11: cpu@20203 {
177fcab303cSDing Tianhong			device_type = "cpu";
17831af04cdSRob Herring			compatible = "arm,cortex-a57";
179fcab303cSDing Tianhong			reg = <0x20203>;
180fcab303cSDing Tianhong			enable-method = "psci";
181dbb58d0fSKefeng Wang			next-level-cache = <&cluster2_l2>;
182fcab303cSDing Tianhong		};
183fcab303cSDing Tianhong
184fcab303cSDing Tianhong		cpu12: cpu@20300 {
185fcab303cSDing Tianhong			device_type = "cpu";
18631af04cdSRob Herring			compatible = "arm,cortex-a57";
187fcab303cSDing Tianhong			reg = <0x20300>;
188fcab303cSDing Tianhong			enable-method = "psci";
189dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
190fcab303cSDing Tianhong		};
191fcab303cSDing Tianhong
192fcab303cSDing Tianhong		cpu13: cpu@20301 {
193fcab303cSDing Tianhong			device_type = "cpu";
19431af04cdSRob Herring			compatible = "arm,cortex-a57";
195fcab303cSDing Tianhong			reg = <0x20301>;
196fcab303cSDing Tianhong			enable-method = "psci";
197dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
198fcab303cSDing Tianhong		};
199fcab303cSDing Tianhong
200fcab303cSDing Tianhong		cpu14: cpu@20302 {
201fcab303cSDing Tianhong			device_type = "cpu";
20231af04cdSRob Herring			compatible = "arm,cortex-a57";
203fcab303cSDing Tianhong			reg = <0x20302>;
204fcab303cSDing Tianhong			enable-method = "psci";
205dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
206fcab303cSDing Tianhong		};
207fcab303cSDing Tianhong
208fcab303cSDing Tianhong		cpu15: cpu@20303 {
209fcab303cSDing Tianhong			device_type = "cpu";
21031af04cdSRob Herring			compatible = "arm,cortex-a57";
211fcab303cSDing Tianhong			reg = <0x20303>;
212fcab303cSDing Tianhong			enable-method = "psci";
213dbb58d0fSKefeng Wang			next-level-cache = <&cluster3_l2>;
214dbb58d0fSKefeng Wang		};
215dbb58d0fSKefeng Wang
216dbb58d0fSKefeng Wang		cluster0_l2: l2-cache0 {
217dbb58d0fSKefeng Wang			compatible = "cache";
218dbb58d0fSKefeng Wang		};
219dbb58d0fSKefeng Wang
220dbb58d0fSKefeng Wang		cluster1_l2: l2-cache1 {
221dbb58d0fSKefeng Wang			compatible = "cache";
222dbb58d0fSKefeng Wang		};
223dbb58d0fSKefeng Wang
224dbb58d0fSKefeng Wang		cluster2_l2: l2-cache2 {
225dbb58d0fSKefeng Wang			compatible = "cache";
226dbb58d0fSKefeng Wang		};
227dbb58d0fSKefeng Wang
228dbb58d0fSKefeng Wang		cluster3_l2: l2-cache3 {
229dbb58d0fSKefeng Wang			compatible = "cache";
230fcab303cSDing Tianhong		};
231fcab303cSDing Tianhong	};
232fcab303cSDing Tianhong
233fcab303cSDing Tianhong	gic: interrupt-controller@8d000000 {
234fcab303cSDing Tianhong		compatible = "arm,gic-v3";
235fcab303cSDing Tianhong                #interrupt-cells = <3>;
236fcab303cSDing Tianhong                #address-cells = <2>;
237fcab303cSDing Tianhong                #size-cells = <2>;
238fcab303cSDing Tianhong                ranges;
239fcab303cSDing Tianhong                interrupt-controller;
240fcab303cSDing Tianhong                #redistributor-regions = <1>;
241fcab303cSDing Tianhong                redistributor-stride = <0x0 0x30000>;
242fcab303cSDing Tianhong		reg = <0x0 0x8d000000 0 0x10000>,	/* GICD */
243fcab303cSDing Tianhong		      <0x0 0x8d100000 0 0x300000>,	/* GICR */
244fcab303cSDing Tianhong		      <0x0 0xfe000000 0 0x10000>,	/* GICC */
245fcab303cSDing Tianhong		      <0x0 0xfe010000 0 0x10000>,       /* GICH */
246fcab303cSDing Tianhong		      <0x0 0xfe020000 0 0x10000>;       /* GICV */
247fcab303cSDing Tianhong		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
248fcab303cSDing Tianhong
249abf9c25dSKefeng Wang		its_peri: interrupt-controller@8c000000 {
250fcab303cSDing Tianhong			compatible = "arm,gic-v3-its";
251fcab303cSDing Tianhong			msi-controller;
25270896650SKefeng Wang			#msi-cells = <1>;
253fcab303cSDing Tianhong			reg = <0x0 0x8c000000 0x0 0x40000>;
254fcab303cSDing Tianhong		};
255abf9c25dSKefeng Wang
256abf9c25dSKefeng Wang		its_m3: interrupt-controller@a3000000 {
257abf9c25dSKefeng Wang			compatible = "arm,gic-v3-its";
258abf9c25dSKefeng Wang			msi-controller;
25970896650SKefeng Wang			#msi-cells = <1>;
260abf9c25dSKefeng Wang			reg = <0x0 0xa3000000 0x0 0x40000>;
261abf9c25dSKefeng Wang		};
262abf9c25dSKefeng Wang
263abf9c25dSKefeng Wang		its_pcie: interrupt-controller@b7000000 {
264abf9c25dSKefeng Wang			compatible = "arm,gic-v3-its";
265abf9c25dSKefeng Wang			msi-controller;
26670896650SKefeng Wang			#msi-cells = <1>;
267abf9c25dSKefeng Wang			reg = <0x0 0xb7000000 0x0 0x40000>;
268abf9c25dSKefeng Wang		};
269abf9c25dSKefeng Wang
270abf9c25dSKefeng Wang		its_dsa: interrupt-controller@c6000000 {
271abf9c25dSKefeng Wang			compatible = "arm,gic-v3-its";
272abf9c25dSKefeng Wang			msi-controller;
27370896650SKefeng Wang			#msi-cells = <1>;
274abf9c25dSKefeng Wang			reg = <0x0 0xc6000000 0x0 0x40000>;
275abf9c25dSKefeng Wang		};
276fcab303cSDing Tianhong	};
277fcab303cSDing Tianhong
278fcab303cSDing Tianhong	timer {
279fcab303cSDing Tianhong		compatible = "arm,armv8-timer";
280fcab303cSDing Tianhong		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
281fcab303cSDing Tianhong			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
282fcab303cSDing Tianhong			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
283fcab303cSDing Tianhong			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
284fcab303cSDing Tianhong	};
285fcab303cSDing Tianhong
286fcab303cSDing Tianhong	pmu {
2876897db62SKefeng Wang		compatible = "arm,cortex-a57-pmu";
288fcab303cSDing Tianhong		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
289fcab303cSDing Tianhong	};
290fcab303cSDing Tianhong
291fcab303cSDing Tianhong	soc {
292fcab303cSDing Tianhong		compatible = "simple-bus";
293fcab303cSDing Tianhong		#address-cells = <2>;
294fcab303cSDing Tianhong		#size-cells = <2>;
295fcab303cSDing Tianhong		ranges;
296fcab303cSDing Tianhong
297fcab303cSDing Tianhong		refclk200mhz: refclk200mhz {
298fcab303cSDing Tianhong			compatible = "fixed-clock";
299fcab303cSDing Tianhong			#clock-cells = <0>;
300fcab303cSDing Tianhong			clock-frequency = <200000000>;
301fcab303cSDing Tianhong		};
302fcab303cSDing Tianhong
303fcab303cSDing Tianhong		uart0: uart@80300000 {
304fcab303cSDing Tianhong			compatible = "snps,dw-apb-uart";
305fcab303cSDing Tianhong			reg = <0x0 0x80300000 0x0 0x10000>;
306fcab303cSDing Tianhong			interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
307fcab303cSDing Tianhong			clocks = <&refclk200mhz>;
308fcab303cSDing Tianhong			clock-names = "apb_pclk";
309fcab303cSDing Tianhong			reg-shift = <2>;
310fcab303cSDing Tianhong			reg-io-width = <4>;
311fcab303cSDing Tianhong			status = "disabled";
312fcab303cSDing Tianhong		};
313fcab303cSDing Tianhong
314fcab303cSDing Tianhong		uart1: uart@80310000 {
315fcab303cSDing Tianhong			compatible = "snps,dw-apb-uart";
316fcab303cSDing Tianhong			reg = <0x0 0x80310000 0x0 0x10000>;
317fcab303cSDing Tianhong			interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
318fcab303cSDing Tianhong			clocks = <&refclk200mhz>;
319fcab303cSDing Tianhong			clock-names = "apb_pclk";
320fcab303cSDing Tianhong			reg-shift = <2>;
321fcab303cSDing Tianhong			reg-io-width = <4>;
322fcab303cSDing Tianhong			status = "disabled";
323fcab303cSDing Tianhong		};
3248f41d122SKefeng Wang
325162d23bfSKefeng Wang		lbc: localbus@80380000 {
326162d23bfSKefeng Wang			compatible = "hisilicon,hisi-localbus", "simple-bus";
327162d23bfSKefeng Wang			reg = <0x0 0x80380000 0x0 0x10000>;
328162d23bfSKefeng Wang			status = "disabled";
329162d23bfSKefeng Wang		};
330162d23bfSKefeng Wang
3318f41d122SKefeng Wang		peri_gpio0: gpio@802e0000 {
3328f41d122SKefeng Wang			#address-cells = <1>;
3338f41d122SKefeng Wang			#size-cells = <0>;
3348f41d122SKefeng Wang			compatible = "snps,dw-apb-gpio";
3358f41d122SKefeng Wang			reg = <0x0 0x802e0000 0x0 0x10000>;
3368f41d122SKefeng Wang			status = "disabled";
3378f41d122SKefeng Wang
3388f41d122SKefeng Wang			porta: gpio-controller@0 {
3398f41d122SKefeng Wang				compatible = "snps,dw-apb-gpio-port";
3408f41d122SKefeng Wang				gpio-controller;
3418f41d122SKefeng Wang				#gpio-cells = <2>;
3428f41d122SKefeng Wang				snps,nr-gpios = <32>;
3438f41d122SKefeng Wang				reg = <0>;
3448f41d122SKefeng Wang				interrupt-controller;
3458f41d122SKefeng Wang				#interrupt-cells = <2>;
3468f41d122SKefeng Wang				interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
3478f41d122SKefeng Wang			};
3488f41d122SKefeng Wang		};
3498f41d122SKefeng Wang
3508f41d122SKefeng Wang		peri_gpio1: gpio@802f0000 {
3518f41d122SKefeng Wang			#address-cells = <1>;
3528f41d122SKefeng Wang			#size-cells = <0>;
3538f41d122SKefeng Wang			compatible = "snps,dw-apb-gpio";
3548f41d122SKefeng Wang			reg = <0x0 0x802f0000 0x0 0x10000>;
3558f41d122SKefeng Wang			status = "disabled";
3568f41d122SKefeng Wang
3578f41d122SKefeng Wang			portb: gpio-controller@0 {
3588f41d122SKefeng Wang				compatible = "snps,dw-apb-gpio-port";
3598f41d122SKefeng Wang				gpio-controller;
3608f41d122SKefeng Wang				#gpio-cells = <2>;
3618f41d122SKefeng Wang				snps,nr-gpios = <32>;
3628f41d122SKefeng Wang				reg = <0>;
3638f41d122SKefeng Wang				interrupt-controller;
3648f41d122SKefeng Wang				#interrupt-cells = <2>;
3658f41d122SKefeng Wang				interrupts = <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>;
3668f41d122SKefeng Wang			};
3678f41d122SKefeng Wang		};
368fcab303cSDing Tianhong	};
369fcab303cSDing Tianhong};
370