xref: /linux/scripts/dtc/include-prefixes/arm64/hisilicon/hip06.dtsi (revision aa8d3e74f54d0af737c46c77de35b39d9a44592b)
1*aa8d3e74SKefeng Wang/**
2*aa8d3e74SKefeng Wang * dts file for Hisilicon D03 Development Board
3*aa8d3e74SKefeng Wang *
4*aa8d3e74SKefeng Wang * Copyright (C) 2016 Hisilicon Ltd.
5*aa8d3e74SKefeng Wang *
6*aa8d3e74SKefeng Wang * This program is free software; you can redistribute it and/or modify
7*aa8d3e74SKefeng Wang * it under the terms of the GNU General Public License version 2 as
8*aa8d3e74SKefeng Wang * publishhed by the Free Software Foundation.
9*aa8d3e74SKefeng Wang *
10*aa8d3e74SKefeng Wang */
11*aa8d3e74SKefeng Wang
12*aa8d3e74SKefeng Wang#include <dt-bindings/interrupt-controller/arm-gic.h>
13*aa8d3e74SKefeng Wang
14*aa8d3e74SKefeng Wang/ {
15*aa8d3e74SKefeng Wang	compatible = "hisilicon,hip06-d03";
16*aa8d3e74SKefeng Wang	interrupt-parent = <&gic>;
17*aa8d3e74SKefeng Wang	#address-cells = <2>;
18*aa8d3e74SKefeng Wang	#size-cells = <2>;
19*aa8d3e74SKefeng Wang
20*aa8d3e74SKefeng Wang	psci {
21*aa8d3e74SKefeng Wang		compatible = "arm,psci-0.2";
22*aa8d3e74SKefeng Wang		method = "smc";
23*aa8d3e74SKefeng Wang	};
24*aa8d3e74SKefeng Wang
25*aa8d3e74SKefeng Wang	cpus {
26*aa8d3e74SKefeng Wang		#address-cells = <1>;
27*aa8d3e74SKefeng Wang		#size-cells = <0>;
28*aa8d3e74SKefeng Wang
29*aa8d3e74SKefeng Wang		cpu-map {
30*aa8d3e74SKefeng Wang			cluster0 {
31*aa8d3e74SKefeng Wang				core0 {
32*aa8d3e74SKefeng Wang					cpu = <&cpu0>;
33*aa8d3e74SKefeng Wang				};
34*aa8d3e74SKefeng Wang				core1 {
35*aa8d3e74SKefeng Wang					cpu = <&cpu1>;
36*aa8d3e74SKefeng Wang				};
37*aa8d3e74SKefeng Wang				core2 {
38*aa8d3e74SKefeng Wang					cpu = <&cpu2>;
39*aa8d3e74SKefeng Wang				};
40*aa8d3e74SKefeng Wang				core3 {
41*aa8d3e74SKefeng Wang					cpu = <&cpu3>;
42*aa8d3e74SKefeng Wang				};
43*aa8d3e74SKefeng Wang			};
44*aa8d3e74SKefeng Wang			cluster1 {
45*aa8d3e74SKefeng Wang				core0 {
46*aa8d3e74SKefeng Wang					cpu = <&cpu4>;
47*aa8d3e74SKefeng Wang				};
48*aa8d3e74SKefeng Wang				core1 {
49*aa8d3e74SKefeng Wang					cpu = <&cpu5>;
50*aa8d3e74SKefeng Wang				};
51*aa8d3e74SKefeng Wang				core2 {
52*aa8d3e74SKefeng Wang					cpu = <&cpu6>;
53*aa8d3e74SKefeng Wang				};
54*aa8d3e74SKefeng Wang				core3 {
55*aa8d3e74SKefeng Wang					cpu = <&cpu7>;
56*aa8d3e74SKefeng Wang				};
57*aa8d3e74SKefeng Wang			};
58*aa8d3e74SKefeng Wang			cluster2 {
59*aa8d3e74SKefeng Wang				core0 {
60*aa8d3e74SKefeng Wang					cpu = <&cpu8>;
61*aa8d3e74SKefeng Wang				};
62*aa8d3e74SKefeng Wang				core1 {
63*aa8d3e74SKefeng Wang					cpu = <&cpu9>;
64*aa8d3e74SKefeng Wang				};
65*aa8d3e74SKefeng Wang				core2 {
66*aa8d3e74SKefeng Wang					cpu = <&cpu10>;
67*aa8d3e74SKefeng Wang				};
68*aa8d3e74SKefeng Wang				core3 {
69*aa8d3e74SKefeng Wang					cpu = <&cpu11>;
70*aa8d3e74SKefeng Wang				};
71*aa8d3e74SKefeng Wang			};
72*aa8d3e74SKefeng Wang			cluster3 {
73*aa8d3e74SKefeng Wang				core0 {
74*aa8d3e74SKefeng Wang					cpu = <&cpu12>;
75*aa8d3e74SKefeng Wang				};
76*aa8d3e74SKefeng Wang				core1 {
77*aa8d3e74SKefeng Wang					cpu = <&cpu13>;
78*aa8d3e74SKefeng Wang				};
79*aa8d3e74SKefeng Wang				core2 {
80*aa8d3e74SKefeng Wang					cpu = <&cpu14>;
81*aa8d3e74SKefeng Wang				};
82*aa8d3e74SKefeng Wang				core3 {
83*aa8d3e74SKefeng Wang					cpu = <&cpu15>;
84*aa8d3e74SKefeng Wang				};
85*aa8d3e74SKefeng Wang			};
86*aa8d3e74SKefeng Wang		};
87*aa8d3e74SKefeng Wang
88*aa8d3e74SKefeng Wang		cpu0: cpu@10000 {
89*aa8d3e74SKefeng Wang			device_type = "cpu";
90*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
91*aa8d3e74SKefeng Wang			reg = <0x10000>;
92*aa8d3e74SKefeng Wang			enable-method = "psci";
93*aa8d3e74SKefeng Wang			next-level-cache = <&cluster0_l2>;
94*aa8d3e74SKefeng Wang		};
95*aa8d3e74SKefeng Wang
96*aa8d3e74SKefeng Wang		cpu1: cpu@10001 {
97*aa8d3e74SKefeng Wang			device_type = "cpu";
98*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
99*aa8d3e74SKefeng Wang			reg = <0x10001>;
100*aa8d3e74SKefeng Wang			enable-method = "psci";
101*aa8d3e74SKefeng Wang			next-level-cache = <&cluster0_l2>;
102*aa8d3e74SKefeng Wang		};
103*aa8d3e74SKefeng Wang
104*aa8d3e74SKefeng Wang		cpu2: cpu@10002 {
105*aa8d3e74SKefeng Wang			device_type = "cpu";
106*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
107*aa8d3e74SKefeng Wang			reg = <0x10002>;
108*aa8d3e74SKefeng Wang			enable-method = "psci";
109*aa8d3e74SKefeng Wang			next-level-cache = <&cluster0_l2>;
110*aa8d3e74SKefeng Wang		};
111*aa8d3e74SKefeng Wang
112*aa8d3e74SKefeng Wang		cpu3: cpu@10003 {
113*aa8d3e74SKefeng Wang			device_type = "cpu";
114*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
115*aa8d3e74SKefeng Wang			reg = <0x10003>;
116*aa8d3e74SKefeng Wang			enable-method = "psci";
117*aa8d3e74SKefeng Wang			next-level-cache = <&cluster0_l2>;
118*aa8d3e74SKefeng Wang		};
119*aa8d3e74SKefeng Wang
120*aa8d3e74SKefeng Wang		cpu4: cpu@10100 {
121*aa8d3e74SKefeng Wang			device_type = "cpu";
122*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
123*aa8d3e74SKefeng Wang			reg = <0x10100>;
124*aa8d3e74SKefeng Wang			enable-method = "psci";
125*aa8d3e74SKefeng Wang			next-level-cache = <&cluster1_l2>;
126*aa8d3e74SKefeng Wang		};
127*aa8d3e74SKefeng Wang
128*aa8d3e74SKefeng Wang		cpu5: cpu@10101 {
129*aa8d3e74SKefeng Wang			device_type = "cpu";
130*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
131*aa8d3e74SKefeng Wang			reg = <0x10101>;
132*aa8d3e74SKefeng Wang			enable-method = "psci";
133*aa8d3e74SKefeng Wang			next-level-cache = <&cluster1_l2>;
134*aa8d3e74SKefeng Wang		};
135*aa8d3e74SKefeng Wang
136*aa8d3e74SKefeng Wang		cpu6: cpu@10102 {
137*aa8d3e74SKefeng Wang			device_type = "cpu";
138*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
139*aa8d3e74SKefeng Wang			reg = <0x10102>;
140*aa8d3e74SKefeng Wang			enable-method = "psci";
141*aa8d3e74SKefeng Wang			next-level-cache = <&cluster1_l2>;
142*aa8d3e74SKefeng Wang		};
143*aa8d3e74SKefeng Wang
144*aa8d3e74SKefeng Wang		cpu7: cpu@10103 {
145*aa8d3e74SKefeng Wang			device_type = "cpu";
146*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
147*aa8d3e74SKefeng Wang			reg = <0x10103>;
148*aa8d3e74SKefeng Wang			enable-method = "psci";
149*aa8d3e74SKefeng Wang			next-level-cache = <&cluster1_l2>;
150*aa8d3e74SKefeng Wang		};
151*aa8d3e74SKefeng Wang
152*aa8d3e74SKefeng Wang		cpu8: cpu@10200 {
153*aa8d3e74SKefeng Wang			device_type = "cpu";
154*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
155*aa8d3e74SKefeng Wang			reg = <0x10200>;
156*aa8d3e74SKefeng Wang			enable-method = "psci";
157*aa8d3e74SKefeng Wang			next-level-cache = <&cluster2_l2>;
158*aa8d3e74SKefeng Wang		};
159*aa8d3e74SKefeng Wang
160*aa8d3e74SKefeng Wang		cpu9: cpu@10201 {
161*aa8d3e74SKefeng Wang			device_type = "cpu";
162*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
163*aa8d3e74SKefeng Wang			reg = <0x10201>;
164*aa8d3e74SKefeng Wang			enable-method = "psci";
165*aa8d3e74SKefeng Wang			next-level-cache = <&cluster2_l2>;
166*aa8d3e74SKefeng Wang		};
167*aa8d3e74SKefeng Wang
168*aa8d3e74SKefeng Wang		cpu10: cpu@10202 {
169*aa8d3e74SKefeng Wang			device_type = "cpu";
170*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
171*aa8d3e74SKefeng Wang			reg = <0x10202>;
172*aa8d3e74SKefeng Wang			enable-method = "psci";
173*aa8d3e74SKefeng Wang			next-level-cache = <&cluster2_l2>;
174*aa8d3e74SKefeng Wang		};
175*aa8d3e74SKefeng Wang
176*aa8d3e74SKefeng Wang		cpu11: cpu@10203 {
177*aa8d3e74SKefeng Wang			device_type = "cpu";
178*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
179*aa8d3e74SKefeng Wang			reg = <0x10203>;
180*aa8d3e74SKefeng Wang			enable-method = "psci";
181*aa8d3e74SKefeng Wang			next-level-cache = <&cluster2_l2>;
182*aa8d3e74SKefeng Wang		};
183*aa8d3e74SKefeng Wang
184*aa8d3e74SKefeng Wang		cpu12: cpu@10300 {
185*aa8d3e74SKefeng Wang			device_type = "cpu";
186*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
187*aa8d3e74SKefeng Wang			reg = <0x10300>;
188*aa8d3e74SKefeng Wang			enable-method = "psci";
189*aa8d3e74SKefeng Wang			next-level-cache = <&cluster3_l2>;
190*aa8d3e74SKefeng Wang		};
191*aa8d3e74SKefeng Wang
192*aa8d3e74SKefeng Wang		cpu13: cpu@10301 {
193*aa8d3e74SKefeng Wang			device_type = "cpu";
194*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
195*aa8d3e74SKefeng Wang			reg = <0x10301>;
196*aa8d3e74SKefeng Wang			enable-method = "psci";
197*aa8d3e74SKefeng Wang			next-level-cache = <&cluster3_l2>;
198*aa8d3e74SKefeng Wang		};
199*aa8d3e74SKefeng Wang
200*aa8d3e74SKefeng Wang		cpu14: cpu@10302 {
201*aa8d3e74SKefeng Wang			device_type = "cpu";
202*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
203*aa8d3e74SKefeng Wang			reg = <0x10302>;
204*aa8d3e74SKefeng Wang			enable-method = "psci";
205*aa8d3e74SKefeng Wang			next-level-cache = <&cluster3_l2>;
206*aa8d3e74SKefeng Wang		};
207*aa8d3e74SKefeng Wang
208*aa8d3e74SKefeng Wang		cpu15: cpu@10303 {
209*aa8d3e74SKefeng Wang			device_type = "cpu";
210*aa8d3e74SKefeng Wang			compatible = "arm,cortex-a57", "arm,armv8";
211*aa8d3e74SKefeng Wang			reg = <0x10303>;
212*aa8d3e74SKefeng Wang			enable-method = "psci";
213*aa8d3e74SKefeng Wang			next-level-cache = <&cluster3_l2>;
214*aa8d3e74SKefeng Wang		};
215*aa8d3e74SKefeng Wang
216*aa8d3e74SKefeng Wang		cluster0_l2: l2-cache0 {
217*aa8d3e74SKefeng Wang			compatible = "cache";
218*aa8d3e74SKefeng Wang		};
219*aa8d3e74SKefeng Wang
220*aa8d3e74SKefeng Wang		cluster1_l2: l2-cache1 {
221*aa8d3e74SKefeng Wang			compatible = "cache";
222*aa8d3e74SKefeng Wang		};
223*aa8d3e74SKefeng Wang
224*aa8d3e74SKefeng Wang		cluster2_l2: l2-cache2 {
225*aa8d3e74SKefeng Wang			compatible = "cache";
226*aa8d3e74SKefeng Wang		};
227*aa8d3e74SKefeng Wang
228*aa8d3e74SKefeng Wang		cluster3_l2: l2-cache3 {
229*aa8d3e74SKefeng Wang			compatible = "cache";
230*aa8d3e74SKefeng Wang		};
231*aa8d3e74SKefeng Wang	};
232*aa8d3e74SKefeng Wang
233*aa8d3e74SKefeng Wang	gic: interrupt-controller@4d000000 {
234*aa8d3e74SKefeng Wang		compatible = "arm,gic-v3";
235*aa8d3e74SKefeng Wang		#interrupt-cells = <3>;
236*aa8d3e74SKefeng Wang		#address-cells = <2>;
237*aa8d3e74SKefeng Wang		#size-cells = <2>;
238*aa8d3e74SKefeng Wang		ranges;
239*aa8d3e74SKefeng Wang		interrupt-controller;
240*aa8d3e74SKefeng Wang		#redistributor-regions = <1>;
241*aa8d3e74SKefeng Wang		redistributor-stride = <0x0 0x30000>;
242*aa8d3e74SKefeng Wang		reg = <0x0 0x4d000000 0 0x10000>,	/* GICD */
243*aa8d3e74SKefeng Wang		      <0x0 0x4d100000 0 0x300000>,	/* GICR */
244*aa8d3e74SKefeng Wang		      <0x0 0xfe000000 0 0x10000>,	/* GICC */
245*aa8d3e74SKefeng Wang		      <0x0 0xfe010000 0 0x10000>,       /* GICH */
246*aa8d3e74SKefeng Wang		      <0x0 0xfe020000 0 0x10000>;       /* GICV */
247*aa8d3e74SKefeng Wang		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
248*aa8d3e74SKefeng Wang
249*aa8d3e74SKefeng Wang		its_dsa: interrupt-controller@c6000000 {
250*aa8d3e74SKefeng Wang			compatible = "arm,gic-v3-its";
251*aa8d3e74SKefeng Wang			msi-controller;
252*aa8d3e74SKefeng Wang			#msi-cells = <1>;
253*aa8d3e74SKefeng Wang			reg = <0x0 0xc6000000 0x0 0x40000>;
254*aa8d3e74SKefeng Wang		};
255*aa8d3e74SKefeng Wang	};
256*aa8d3e74SKefeng Wang
257*aa8d3e74SKefeng Wang	timer {
258*aa8d3e74SKefeng Wang		compatible = "arm,armv8-timer";
259*aa8d3e74SKefeng Wang		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
260*aa8d3e74SKefeng Wang			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
261*aa8d3e74SKefeng Wang			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
262*aa8d3e74SKefeng Wang			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
263*aa8d3e74SKefeng Wang	};
264*aa8d3e74SKefeng Wang
265*aa8d3e74SKefeng Wang	pmu {
266*aa8d3e74SKefeng Wang		compatible = "arm,cortex-a57-pmu";
267*aa8d3e74SKefeng Wang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
268*aa8d3e74SKefeng Wang	};
269*aa8d3e74SKefeng Wang
270*aa8d3e74SKefeng Wang	mbigen_pcie@a0080000 {
271*aa8d3e74SKefeng Wang		compatible = "hisilicon,mbigen-v2";
272*aa8d3e74SKefeng Wang		reg = <0x0 0xa0080000 0x0 0x10000>;
273*aa8d3e74SKefeng Wang
274*aa8d3e74SKefeng Wang		mbigen_usb: intc_usb {
275*aa8d3e74SKefeng Wang			msi-parent = <&its_dsa 0x40080>;
276*aa8d3e74SKefeng Wang			interrupt-controller;
277*aa8d3e74SKefeng Wang			#interrupt-cells = <2>;
278*aa8d3e74SKefeng Wang			num-pins = <2>;
279*aa8d3e74SKefeng Wang		};
280*aa8d3e74SKefeng Wang	};
281*aa8d3e74SKefeng Wang
282*aa8d3e74SKefeng Wang	soc {
283*aa8d3e74SKefeng Wang		compatible = "simple-bus";
284*aa8d3e74SKefeng Wang		#address-cells = <2>;
285*aa8d3e74SKefeng Wang		#size-cells = <2>;
286*aa8d3e74SKefeng Wang		ranges;
287*aa8d3e74SKefeng Wang
288*aa8d3e74SKefeng Wang		usb_ohci: ohci@a7030000 {
289*aa8d3e74SKefeng Wang			compatible = "generic-ohci";
290*aa8d3e74SKefeng Wang			reg = <0x0 0xa7030000 0x0 0x10000>;
291*aa8d3e74SKefeng Wang			interrupt-parent = <&mbigen_usb>;
292*aa8d3e74SKefeng Wang			interrupts = <64 4>;
293*aa8d3e74SKefeng Wang			dma-coherent;
294*aa8d3e74SKefeng Wang			status = "disabled";
295*aa8d3e74SKefeng Wang		};
296*aa8d3e74SKefeng Wang
297*aa8d3e74SKefeng Wang		usb_ehci: ehci@a7020000 {
298*aa8d3e74SKefeng Wang			compatible = "generic-ehci";
299*aa8d3e74SKefeng Wang			reg = <0x0 0xa7020000 0x0 0x10000>;
300*aa8d3e74SKefeng Wang			interrupt-parent = <&mbigen_usb>;
301*aa8d3e74SKefeng Wang			interrupts = <65 4>;
302*aa8d3e74SKefeng Wang			dma-coherent;
303*aa8d3e74SKefeng Wang			status = "disabled";
304*aa8d3e74SKefeng Wang		};
305*aa8d3e74SKefeng Wang	};
306*aa8d3e74SKefeng Wang
307*aa8d3e74SKefeng Wang};
308