xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/apm/apm-shadowcat.dtsi (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
12874c5fdSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-or-later
2e144dc5bSFeng Kan/*
3e144dc5bSFeng Kan * dts file for AppliedMicro (APM) X-Gene Shadowcat SOC
4e144dc5bSFeng Kan *
5e144dc5bSFeng Kan * Copyright (C) 2015, Applied Micro Circuits Corporation
6e144dc5bSFeng Kan */
7e144dc5bSFeng Kan
8e144dc5bSFeng Kan/ {
9e144dc5bSFeng Kan	compatible = "apm,xgene-shadowcat";
10e144dc5bSFeng Kan	interrupt-parent = <&gic>;
11e144dc5bSFeng Kan	#address-cells = <2>;
12e144dc5bSFeng Kan	#size-cells = <2>;
13e144dc5bSFeng Kan
14e144dc5bSFeng Kan	cpus {
15e144dc5bSFeng Kan		#address-cells = <2>;
16e144dc5bSFeng Kan		#size-cells = <0>;
17e144dc5bSFeng Kan
18d8bcaabeSRob Herring		cpu@0 {
19e144dc5bSFeng Kan			device_type = "cpu";
2031af04cdSRob Herring			compatible = "apm,strega";
21e144dc5bSFeng Kan			reg = <0x0 0x000>;
22e144dc5bSFeng Kan			enable-method = "spin-table";
23e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
248000bc3fSDuc Dang			next-level-cache = <&xgene_L2_0>;
2539936ae1Shotran			#clock-cells = <1>;
2639936ae1Shotran			clocks = <&pmd0clk 0>;
27e144dc5bSFeng Kan		};
28d8bcaabeSRob Herring		cpu@1 {
29e144dc5bSFeng Kan			device_type = "cpu";
3031af04cdSRob Herring			compatible = "apm,strega";
31e144dc5bSFeng Kan			reg = <0x0 0x001>;
32e144dc5bSFeng Kan			enable-method = "spin-table";
33e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
348000bc3fSDuc Dang			next-level-cache = <&xgene_L2_0>;
3539936ae1Shotran			#clock-cells = <1>;
3639936ae1Shotran			clocks = <&pmd0clk 0>;
37e144dc5bSFeng Kan		};
38e144dc5bSFeng Kan		cpu@100 {
39e144dc5bSFeng Kan			device_type = "cpu";
4031af04cdSRob Herring			compatible = "apm,strega";
41e144dc5bSFeng Kan			reg = <0x0 0x100>;
42e144dc5bSFeng Kan			enable-method = "spin-table";
43e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
448000bc3fSDuc Dang			next-level-cache = <&xgene_L2_1>;
4539936ae1Shotran			#clock-cells = <1>;
4639936ae1Shotran			clocks = <&pmd1clk 0>;
47e144dc5bSFeng Kan		};
48e144dc5bSFeng Kan		cpu@101 {
49e144dc5bSFeng Kan			device_type = "cpu";
5031af04cdSRob Herring			compatible = "apm,strega";
51e144dc5bSFeng Kan			reg = <0x0 0x101>;
52e144dc5bSFeng Kan			enable-method = "spin-table";
53e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
548000bc3fSDuc Dang			next-level-cache = <&xgene_L2_1>;
5539936ae1Shotran			#clock-cells = <1>;
5639936ae1Shotran			clocks = <&pmd1clk 0>;
57e144dc5bSFeng Kan		};
58e144dc5bSFeng Kan		cpu@200 {
59e144dc5bSFeng Kan			device_type = "cpu";
6031af04cdSRob Herring			compatible = "apm,strega";
61e144dc5bSFeng Kan			reg = <0x0 0x200>;
62e144dc5bSFeng Kan			enable-method = "spin-table";
63e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
648000bc3fSDuc Dang			next-level-cache = <&xgene_L2_2>;
6539936ae1Shotran			#clock-cells = <1>;
6639936ae1Shotran			clocks = <&pmd2clk 0>;
67e144dc5bSFeng Kan		};
68e144dc5bSFeng Kan		cpu@201 {
69e144dc5bSFeng Kan			device_type = "cpu";
7031af04cdSRob Herring			compatible = "apm,strega";
71e144dc5bSFeng Kan			reg = <0x0 0x201>;
72e144dc5bSFeng Kan			enable-method = "spin-table";
73e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
748000bc3fSDuc Dang			next-level-cache = <&xgene_L2_2>;
7539936ae1Shotran			#clock-cells = <1>;
7639936ae1Shotran			clocks = <&pmd2clk 0>;
77e144dc5bSFeng Kan		};
78e144dc5bSFeng Kan		cpu@300 {
79e144dc5bSFeng Kan			device_type = "cpu";
8031af04cdSRob Herring			compatible = "apm,strega";
81e144dc5bSFeng Kan			reg = <0x0 0x300>;
82e144dc5bSFeng Kan			enable-method = "spin-table";
83e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
848000bc3fSDuc Dang			next-level-cache = <&xgene_L2_3>;
8539936ae1Shotran			#clock-cells = <1>;
8639936ae1Shotran			clocks = <&pmd3clk 0>;
87e144dc5bSFeng Kan		};
88e144dc5bSFeng Kan		cpu@301 {
89e144dc5bSFeng Kan			device_type = "cpu";
9031af04cdSRob Herring			compatible = "apm,strega";
91e144dc5bSFeng Kan			reg = <0x0 0x301>;
92e144dc5bSFeng Kan			enable-method = "spin-table";
93e144dc5bSFeng Kan			cpu-release-addr = <0x1 0x0000fff8>;
948000bc3fSDuc Dang			next-level-cache = <&xgene_L2_3>;
9539936ae1Shotran			#clock-cells = <1>;
9639936ae1Shotran			clocks = <&pmd3clk 0>;
978000bc3fSDuc Dang		};
988000bc3fSDuc Dang		xgene_L2_0: l2-cache-0 {
998000bc3fSDuc Dang			compatible = "cache";
100*0022cec7SKrzysztof Kozlowski			cache-level = <2>;
101*0022cec7SKrzysztof Kozlowski			cache-unified;
1028000bc3fSDuc Dang		};
1038000bc3fSDuc Dang		xgene_L2_1: l2-cache-1 {
1048000bc3fSDuc Dang			compatible = "cache";
105*0022cec7SKrzysztof Kozlowski			cache-level = <2>;
106*0022cec7SKrzysztof Kozlowski			cache-unified;
1078000bc3fSDuc Dang		};
1088000bc3fSDuc Dang		xgene_L2_2: l2-cache-2 {
1098000bc3fSDuc Dang			compatible = "cache";
110*0022cec7SKrzysztof Kozlowski			cache-level = <2>;
111*0022cec7SKrzysztof Kozlowski			cache-unified;
1128000bc3fSDuc Dang		};
1138000bc3fSDuc Dang		xgene_L2_3: l2-cache-3 {
1148000bc3fSDuc Dang			compatible = "cache";
115*0022cec7SKrzysztof Kozlowski			cache-level = <2>;
116*0022cec7SKrzysztof Kozlowski			cache-unified;
117e144dc5bSFeng Kan		};
118e144dc5bSFeng Kan	};
119e144dc5bSFeng Kan
120e144dc5bSFeng Kan	gic: interrupt-controller@78090000 {
121e144dc5bSFeng Kan		compatible = "arm,cortex-a15-gic";
122e144dc5bSFeng Kan		#interrupt-cells = <3>;
123e144dc5bSFeng Kan		#address-cells = <2>;
124e144dc5bSFeng Kan		#size-cells = <2>;
125e144dc5bSFeng Kan		interrupt-controller;
126e144dc5bSFeng Kan		interrupts = <1 9 0xf04>;	/* GIC Maintenence IRQ */
127e144dc5bSFeng Kan		ranges = <0 0 0 0x79000000 0x0 0x800000>; /* MSI Range */
128e144dc5bSFeng Kan		reg = <0x0 0x78090000 0x0 0x10000>,	/* GIC Dist */
129cafc4cd0SBjorn Helgaas		      <0x0 0x780a0000 0x0 0x20000>,	/* GIC CPU */
130cafc4cd0SBjorn Helgaas		      <0x0 0x780c0000 0x0 0x10000>,	/* GIC VCPU Control */
131cafc4cd0SBjorn Helgaas		      <0x0 0x780e0000 0x0 0x20000>;	/* GIC VCPU */
132d8bcaabeSRob Herring		v2m0: v2m@0 {
133726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
134726e92fdSDuc Dang			msi-controller;
135726e92fdSDuc Dang			reg = <0x0 0x0 0x0 0x1000>;
136726e92fdSDuc Dang		};
1370e999c79SBjorn Helgaas		v2m1: v2m@10000 {
138726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
139726e92fdSDuc Dang			msi-controller;
140726e92fdSDuc Dang			reg = <0x0 0x10000 0x0 0x1000>;
141726e92fdSDuc Dang		};
1420e999c79SBjorn Helgaas		v2m2: v2m@20000 {
143726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
144726e92fdSDuc Dang			msi-controller;
145726e92fdSDuc Dang			reg = <0x0 0x20000 0x0 0x1000>;
146726e92fdSDuc Dang		};
1470e999c79SBjorn Helgaas		v2m3: v2m@30000 {
148726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
149726e92fdSDuc Dang			msi-controller;
150726e92fdSDuc Dang			reg = <0x0 0x30000 0x0 0x1000>;
151726e92fdSDuc Dang		};
1520e999c79SBjorn Helgaas		v2m4: v2m@40000 {
153726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
154726e92fdSDuc Dang			msi-controller;
155726e92fdSDuc Dang			reg = <0x0 0x40000 0x0 0x1000>;
156726e92fdSDuc Dang		};
1570e999c79SBjorn Helgaas		v2m5: v2m@50000 {
158726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
159726e92fdSDuc Dang			msi-controller;
160726e92fdSDuc Dang			reg = <0x0 0x50000 0x0 0x1000>;
161726e92fdSDuc Dang		};
1620e999c79SBjorn Helgaas		v2m6: v2m@60000 {
163726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
164726e92fdSDuc Dang			msi-controller;
165726e92fdSDuc Dang			reg = <0x0 0x60000 0x0 0x1000>;
166726e92fdSDuc Dang		};
1670e999c79SBjorn Helgaas		v2m7: v2m@70000 {
168726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
169726e92fdSDuc Dang			msi-controller;
170726e92fdSDuc Dang			reg = <0x0 0x70000 0x0 0x1000>;
171726e92fdSDuc Dang		};
1720e999c79SBjorn Helgaas		v2m8: v2m@80000 {
173726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
174726e92fdSDuc Dang			msi-controller;
175726e92fdSDuc Dang			reg = <0x0 0x80000 0x0 0x1000>;
176726e92fdSDuc Dang		};
1770e999c79SBjorn Helgaas		v2m9: v2m@90000 {
178726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
179726e92fdSDuc Dang			msi-controller;
180726e92fdSDuc Dang			reg = <0x0 0x90000 0x0 0x1000>;
181726e92fdSDuc Dang		};
1820e999c79SBjorn Helgaas		v2m10: v2m@a0000 {
183726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
184726e92fdSDuc Dang			msi-controller;
185cafc4cd0SBjorn Helgaas			reg = <0x0 0xa0000 0x0 0x1000>;
186726e92fdSDuc Dang		};
1870e999c79SBjorn Helgaas		v2m11: v2m@b0000 {
188726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
189726e92fdSDuc Dang			msi-controller;
190cafc4cd0SBjorn Helgaas			reg = <0x0 0xb0000 0x0 0x1000>;
191726e92fdSDuc Dang		};
1920e999c79SBjorn Helgaas		v2m12: v2m@c0000 {
193726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
194726e92fdSDuc Dang			msi-controller;
195cafc4cd0SBjorn Helgaas			reg = <0x0 0xc0000 0x0 0x1000>;
196726e92fdSDuc Dang		};
1970e999c79SBjorn Helgaas		v2m13: v2m@d0000 {
198726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
199726e92fdSDuc Dang			msi-controller;
200cafc4cd0SBjorn Helgaas			reg = <0x0 0xd0000 0x0 0x1000>;
201726e92fdSDuc Dang		};
2020e999c79SBjorn Helgaas		v2m14: v2m@e0000 {
203726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
204726e92fdSDuc Dang			msi-controller;
205cafc4cd0SBjorn Helgaas			reg = <0x0 0xe0000 0x0 0x1000>;
206726e92fdSDuc Dang		};
2070e999c79SBjorn Helgaas		v2m15: v2m@f0000 {
208726e92fdSDuc Dang			compatible = "arm,gic-v2m-frame";
209726e92fdSDuc Dang			msi-controller;
210cafc4cd0SBjorn Helgaas			reg = <0x0 0xf0000 0x0 0x1000>;
211726e92fdSDuc Dang		};
212e144dc5bSFeng Kan	};
213e144dc5bSFeng Kan
214e144dc5bSFeng Kan	pmu {
215e144dc5bSFeng Kan		compatible = "arm,armv8-pmuv3";
216e144dc5bSFeng Kan		interrupts = <1 12 0xff04>;
217e144dc5bSFeng Kan	};
218e144dc5bSFeng Kan
219e144dc5bSFeng Kan	timer {
220e144dc5bSFeng Kan		compatible = "arm,armv8-timer";
221f0a78909SDuc Dang		interrupts = <1 0 0xff08>,	/* Secure Phys IRQ */
222f0a78909SDuc Dang			     <1 13 0xff08>,	/* Non-secure Phys IRQ */
223f0a78909SDuc Dang			     <1 14 0xff08>,	/* Virt IRQ */
224f0a78909SDuc Dang			     <1 15 0xff08>;	/* Hyp IRQ */
225e144dc5bSFeng Kan		clock-frequency = <50000000>;
226e144dc5bSFeng Kan	};
227e144dc5bSFeng Kan
228e144dc5bSFeng Kan	soc {
229e144dc5bSFeng Kan		compatible = "simple-bus";
230e144dc5bSFeng Kan		#address-cells = <2>;
231e144dc5bSFeng Kan		#size-cells = <2>;
232e144dc5bSFeng Kan		ranges;
233e144dc5bSFeng Kan
234e144dc5bSFeng Kan		clocks {
235e144dc5bSFeng Kan			#address-cells = <2>;
236e144dc5bSFeng Kan			#size-cells = <2>;
237e144dc5bSFeng Kan			ranges;
238e144dc5bSFeng Kan
239e144dc5bSFeng Kan			refclk: refclk {
240e144dc5bSFeng Kan				compatible = "fixed-clock";
241e144dc5bSFeng Kan				#clock-cells = <1>;
242e144dc5bSFeng Kan				clock-frequency = <100000000>;
243e144dc5bSFeng Kan				clock-output-names = "refclk";
244e144dc5bSFeng Kan			};
245e144dc5bSFeng Kan
24639936ae1Shotran			pmdpll: pmdpll@170000f0 {
24739936ae1Shotran				compatible = "apm,xgene-pcppll-v2-clock";
24839936ae1Shotran				#clock-cells = <1>;
24939936ae1Shotran				clocks = <&refclk 0>;
25039936ae1Shotran				reg = <0x0 0x170000f0 0x0 0x10>;
25139936ae1Shotran				clock-output-names = "pmdpll";
25239936ae1Shotran			};
25339936ae1Shotran
25439936ae1Shotran			pmd0clk: pmd0clk@7e200200 {
25539936ae1Shotran				compatible = "apm,xgene-pmd-clock";
25639936ae1Shotran				#clock-cells = <1>;
25739936ae1Shotran				clocks = <&pmdpll 0>;
25839936ae1Shotran				reg = <0x0 0x7e200200 0x0 0x10>;
25939936ae1Shotran				clock-output-names = "pmd0clk";
26039936ae1Shotran			};
26139936ae1Shotran
26239936ae1Shotran			pmd1clk: pmd1clk@7e200210 {
26339936ae1Shotran				compatible = "apm,xgene-pmd-clock";
26439936ae1Shotran				#clock-cells = <1>;
26539936ae1Shotran				clocks = <&pmdpll 0>;
26639936ae1Shotran				reg = <0x0 0x7e200210 0x0 0x10>;
26739936ae1Shotran				clock-output-names = "pmd1clk";
26839936ae1Shotran			};
26939936ae1Shotran
27039936ae1Shotran			pmd2clk: pmd2clk@7e200220 {
27139936ae1Shotran				compatible = "apm,xgene-pmd-clock";
27239936ae1Shotran				#clock-cells = <1>;
27339936ae1Shotran				clocks = <&pmdpll 0>;
27439936ae1Shotran				reg = <0x0 0x7e200220 0x0 0x10>;
27539936ae1Shotran				clock-output-names = "pmd2clk";
27639936ae1Shotran			};
27739936ae1Shotran
27839936ae1Shotran			pmd3clk: pmd3clk@7e200230 {
27939936ae1Shotran				compatible = "apm,xgene-pmd-clock";
28039936ae1Shotran				#clock-cells = <1>;
28139936ae1Shotran				clocks = <&pmdpll 0>;
28239936ae1Shotran				reg = <0x0 0x7e200230 0x0 0x10>;
28339936ae1Shotran				clock-output-names = "pmd3clk";
28439936ae1Shotran			};
28539936ae1Shotran
286e144dc5bSFeng Kan			socpll: socpll@17000120 {
2878943f553SLoc Ho				compatible = "apm,xgene-socpll-v2-clock";
288e144dc5bSFeng Kan				#clock-cells = <1>;
289e144dc5bSFeng Kan				clocks = <&refclk 0>;
290e144dc5bSFeng Kan				reg = <0x0 0x17000120 0x0 0x1000>;
291e144dc5bSFeng Kan				clock-output-names = "socpll";
292e144dc5bSFeng Kan			};
293e144dc5bSFeng Kan
294e144dc5bSFeng Kan			socplldiv2: socplldiv2  {
295e144dc5bSFeng Kan				compatible = "fixed-factor-clock";
296e144dc5bSFeng Kan				#clock-cells = <1>;
297e144dc5bSFeng Kan				clocks = <&socpll 0>;
298e144dc5bSFeng Kan				clock-mult = <1>;
299e144dc5bSFeng Kan				clock-div = <2>;
300e144dc5bSFeng Kan				clock-output-names = "socplldiv2";
301e144dc5bSFeng Kan			};
302e144dc5bSFeng Kan
303b0e7a85aSDuc Dang			ahbclk: ahbclk@17000000 {
3040ae8c000SDuc Dang				compatible = "apm,xgene-device-clock";
3050ae8c000SDuc Dang				#clock-cells = <1>;
3060ae8c000SDuc Dang				clocks = <&socplldiv2 0>;
307b0e7a85aSDuc Dang				reg = <0x0 0x17000000 0x0 0x2000>;
308b0e7a85aSDuc Dang				reg-names = "div-reg";
3090ae8c000SDuc Dang				divider-offset = <0x164>;
3100ae8c000SDuc Dang				divider-width = <0x5>;
3110ae8c000SDuc Dang				divider-shift = <0x0>;
3120ae8c000SDuc Dang				clock-output-names = "ahbclk";
3130ae8c000SDuc Dang			};
3140ae8c000SDuc Dang
315d0181354SDuc Dang			sbapbclk: sbapbclk@1704c000 {
316d0181354SDuc Dang				compatible = "apm,xgene-device-clock";
317d0181354SDuc Dang				#clock-cells = <1>;
318d0181354SDuc Dang				clocks = <&ahbclk 0>;
319d0181354SDuc Dang				reg = <0x0 0x1704c000 0x0 0x2000>;
320d0181354SDuc Dang				reg-names = "div-reg";
321d0181354SDuc Dang				divider-offset = <0x10>;
322d0181354SDuc Dang				divider-width = <0x2>;
323d0181354SDuc Dang				divider-shift = <0x0>;
324d0181354SDuc Dang				clock-output-names = "sbapbclk";
325d0181354SDuc Dang			};
326d0181354SDuc Dang
3270ae8c000SDuc Dang			sdioclk: sdioclk@1f2ac000 {
3280ae8c000SDuc Dang				compatible = "apm,xgene-device-clock";
3290ae8c000SDuc Dang				#clock-cells = <1>;
3300ae8c000SDuc Dang				clocks = <&socplldiv2 0>;
3310ae8c000SDuc Dang				reg = <0x0 0x1f2ac000 0x0 0x1000
3320ae8c000SDuc Dang					0x0 0x17000000 0x0 0x2000>;
3330ae8c000SDuc Dang				reg-names = "csr-reg", "div-reg";
3340ae8c000SDuc Dang				csr-offset = <0x0>;
3350ae8c000SDuc Dang				csr-mask = <0x2>;
3360ae8c000SDuc Dang				enable-offset = <0x8>;
3370ae8c000SDuc Dang				enable-mask = <0x2>;
3380ae8c000SDuc Dang				divider-offset = <0x178>;
3390ae8c000SDuc Dang				divider-width = <0x8>;
3400ae8c000SDuc Dang				divider-shift = <0x0>;
3410ae8c000SDuc Dang				clock-output-names = "sdioclk";
3420ae8c000SDuc Dang			};
3430ae8c000SDuc Dang
344e144dc5bSFeng Kan			pcie0clk: pcie0clk@1f2bc000 {
345e144dc5bSFeng Kan				compatible = "apm,xgene-device-clock";
346e144dc5bSFeng Kan				#clock-cells = <1>;
347e144dc5bSFeng Kan				clocks = <&socplldiv2 0>;
348e144dc5bSFeng Kan				reg = <0x0 0x1f2bc000 0x0 0x1000>;
349e144dc5bSFeng Kan				reg-names = "csr-reg";
350e144dc5bSFeng Kan				clock-output-names = "pcie0clk";
351e144dc5bSFeng Kan			};
352e144dc5bSFeng Kan
353b055e9deSDuc Dang			pcie1clk: pcie1clk@1f2cc000 {
354b055e9deSDuc Dang				compatible = "apm,xgene-device-clock";
355b055e9deSDuc Dang				#clock-cells = <1>;
356b055e9deSDuc Dang				clocks = <&socplldiv2 0>;
357b055e9deSDuc Dang				reg = <0x0 0x1f2cc000 0x0 0x1000>;
358b055e9deSDuc Dang				reg-names = "csr-reg";
359b055e9deSDuc Dang				clock-output-names = "pcie1clk";
360b055e9deSDuc Dang			};
361b055e9deSDuc Dang
362e144dc5bSFeng Kan			xge0clk: xge0clk@1f61c000 {
363e144dc5bSFeng Kan				compatible = "apm,xgene-device-clock";
364e144dc5bSFeng Kan				#clock-cells = <1>;
365e144dc5bSFeng Kan				clocks = <&socplldiv2 0>;
366e144dc5bSFeng Kan				reg = <0x0 0x1f61c000 0x0 0x1000>;
367e144dc5bSFeng Kan				reg-names = "csr-reg";
368e144dc5bSFeng Kan				enable-mask = <0x3>;
369e144dc5bSFeng Kan				csr-mask = <0x3>;
370e144dc5bSFeng Kan				clock-output-names = "xge0clk";
371e144dc5bSFeng Kan			};
372e144dc5bSFeng Kan
373e144dc5bSFeng Kan			xge1clk: xge1clk@1f62c000 {
374e144dc5bSFeng Kan				compatible = "apm,xgene-device-clock";
375e144dc5bSFeng Kan				#clock-cells = <1>;
376e144dc5bSFeng Kan				clocks = <&socplldiv2 0>;
377e144dc5bSFeng Kan				reg = <0x0 0x1f62c000 0x0 0x1000>;
378e144dc5bSFeng Kan				reg-names = "csr-reg";
379e144dc5bSFeng Kan				enable-mask = <0x3>;
380e144dc5bSFeng Kan				csr-mask = <0x3>;
381e144dc5bSFeng Kan				clock-output-names = "xge1clk";
382e144dc5bSFeng Kan			};
383e6ae03c4SDuc Dang
384e6ae03c4SDuc Dang			rngpkaclk: rngpkaclk@17000000 {
385e6ae03c4SDuc Dang				compatible = "apm,xgene-device-clock";
386e6ae03c4SDuc Dang				#clock-cells = <1>;
387e6ae03c4SDuc Dang				clocks = <&socplldiv2 0>;
388e6ae03c4SDuc Dang				reg = <0x0 0x17000000 0x0 0x2000>;
389e6ae03c4SDuc Dang				reg-names = "csr-reg";
390e6ae03c4SDuc Dang				csr-offset = <0xc>;
391e6ae03c4SDuc Dang				csr-mask = <0x10>;
392e6ae03c4SDuc Dang				enable-offset = <0x10>;
393e6ae03c4SDuc Dang				enable-mask = <0x10>;
394e6ae03c4SDuc Dang				clock-output-names = "rngpkaclk";
395e6ae03c4SDuc Dang			};
396d0181354SDuc Dang
397d0181354SDuc Dang			i2c4clk: i2c4clk@1704c000 {
398d0181354SDuc Dang				compatible = "apm,xgene-device-clock";
399d0181354SDuc Dang				#clock-cells = <1>;
400d0181354SDuc Dang				clocks = <&sbapbclk 0>;
401d0181354SDuc Dang				reg = <0x0 0x1704c000 0x0 0x1000>;
402d0181354SDuc Dang				reg-names = "csr-reg";
403d0181354SDuc Dang				csr-offset = <0x0>;
404d0181354SDuc Dang				csr-mask = <0x40>;
405d0181354SDuc Dang				enable-offset = <0x8>;
406d0181354SDuc Dang				enable-mask = <0x40>;
407d0181354SDuc Dang				clock-output-names = "i2c4clk";
408d0181354SDuc Dang			};
409e144dc5bSFeng Kan		};
410e144dc5bSFeng Kan
411991c1292SDuc Dang		scu: system-clk-controller@17000000 {
412991c1292SDuc Dang			compatible = "apm,xgene-scu","syscon";
413991c1292SDuc Dang			reg = <0x0 0x17000000 0x0 0x400>;
414991c1292SDuc Dang		};
415991c1292SDuc Dang
416991c1292SDuc Dang		reboot: reboot@17000014 {
417991c1292SDuc Dang			compatible = "syscon-reboot";
418991c1292SDuc Dang			regmap = <&scu>;
419991c1292SDuc Dang			offset = <0x14>;
420991c1292SDuc Dang			mask = <0x1>;
421991c1292SDuc Dang		};
422991c1292SDuc Dang
4231a47bc82SDuc Dang		csw: csw@7e200000 {
4241a47bc82SDuc Dang			compatible = "apm,xgene-csw", "syscon";
4251a47bc82SDuc Dang			reg = <0x0 0x7e200000 0x0 0x1000>;
4261a47bc82SDuc Dang		};
4271a47bc82SDuc Dang
4281a47bc82SDuc Dang		mcba: mcba@7e700000 {
4291a47bc82SDuc Dang			compatible = "apm,xgene-mcb", "syscon";
4301a47bc82SDuc Dang			reg = <0x0 0x7e700000 0x0 0x1000>;
4311a47bc82SDuc Dang		};
4321a47bc82SDuc Dang
4331a47bc82SDuc Dang		mcbb: mcbb@7e720000 {
4341a47bc82SDuc Dang			compatible = "apm,xgene-mcb", "syscon";
4351a47bc82SDuc Dang			reg = <0x0 0x7e720000 0x0 0x1000>;
4361a47bc82SDuc Dang		};
4371a47bc82SDuc Dang
4381a47bc82SDuc Dang		efuse: efuse@1054a000 {
4391a47bc82SDuc Dang			compatible = "apm,xgene-efuse", "syscon";
4401a47bc82SDuc Dang			reg = <0x0 0x1054a000 0x0 0x20>;
4411a47bc82SDuc Dang		};
4421a47bc82SDuc Dang
4431a47bc82SDuc Dang		edac@78800000 {
4441a47bc82SDuc Dang			compatible = "apm,xgene-edac";
4451a47bc82SDuc Dang			#address-cells = <2>;
4461a47bc82SDuc Dang			#size-cells = <2>;
4471a47bc82SDuc Dang			ranges;
4481a47bc82SDuc Dang			regmap-csw = <&csw>;
4491a47bc82SDuc Dang			regmap-mcba = <&mcba>;
4501a47bc82SDuc Dang			regmap-mcbb = <&mcbb>;
4511a47bc82SDuc Dang			regmap-efuse = <&efuse>;
4521a47bc82SDuc Dang			reg = <0x0 0x78800000 0x0 0x100>;
4531a47bc82SDuc Dang			interrupts = <0x0 0x20 0x4>,
4541a47bc82SDuc Dang				     <0x0 0x21 0x4>,
4551a47bc82SDuc Dang				     <0x0 0x27 0x4>;
4561a47bc82SDuc Dang
4571a47bc82SDuc Dang			edacmc@7e800000 {
4581a47bc82SDuc Dang				compatible = "apm,xgene-edac-mc";
4591a47bc82SDuc Dang				reg = <0x0 0x7e800000 0x0 0x1000>;
4601a47bc82SDuc Dang				memory-controller = <0>;
4611a47bc82SDuc Dang			};
4621a47bc82SDuc Dang
4631a47bc82SDuc Dang			edacmc@7e840000 {
4641a47bc82SDuc Dang				compatible = "apm,xgene-edac-mc";
4651a47bc82SDuc Dang				reg = <0x0 0x7e840000 0x0 0x1000>;
4661a47bc82SDuc Dang				memory-controller = <1>;
4671a47bc82SDuc Dang			};
4681a47bc82SDuc Dang
4691a47bc82SDuc Dang			edacmc@7e880000 {
4701a47bc82SDuc Dang				compatible = "apm,xgene-edac-mc";
4711a47bc82SDuc Dang				reg = <0x0 0x7e880000 0x0 0x1000>;
4721a47bc82SDuc Dang				memory-controller = <2>;
4731a47bc82SDuc Dang			};
4741a47bc82SDuc Dang
4751a47bc82SDuc Dang			edacmc@7e8c0000 {
4761a47bc82SDuc Dang				compatible = "apm,xgene-edac-mc";
4771a47bc82SDuc Dang				reg = <0x0 0x7e8c0000 0x0 0x1000>;
4781a47bc82SDuc Dang				memory-controller = <3>;
4791a47bc82SDuc Dang			};
4801a47bc82SDuc Dang
4811a47bc82SDuc Dang			edacpmd@7c000000 {
4821a47bc82SDuc Dang				compatible = "apm,xgene-edac-pmd";
4831a47bc82SDuc Dang				reg = <0x0 0x7c000000 0x0 0x200000>;
4841a47bc82SDuc Dang				pmd-controller = <0>;
4851a47bc82SDuc Dang			};
4861a47bc82SDuc Dang
4871a47bc82SDuc Dang			edacpmd@7c200000 {
4881a47bc82SDuc Dang				compatible = "apm,xgene-edac-pmd";
4891a47bc82SDuc Dang				reg = <0x0 0x7c200000 0x0 0x200000>;
4901a47bc82SDuc Dang				pmd-controller = <1>;
4911a47bc82SDuc Dang			};
4921a47bc82SDuc Dang
4931a47bc82SDuc Dang			edacpmd@7c400000 {
4941a47bc82SDuc Dang				compatible = "apm,xgene-edac-pmd";
4951a47bc82SDuc Dang				reg = <0x0 0x7c400000 0x0 0x200000>;
4961a47bc82SDuc Dang				pmd-controller = <2>;
4971a47bc82SDuc Dang			};
4981a47bc82SDuc Dang
4991a47bc82SDuc Dang			edacpmd@7c600000 {
5001a47bc82SDuc Dang				compatible = "apm,xgene-edac-pmd";
5011a47bc82SDuc Dang				reg = <0x0 0x7c600000 0x0 0x200000>;
5021a47bc82SDuc Dang				pmd-controller = <3>;
5031a47bc82SDuc Dang			};
5041a47bc82SDuc Dang
5051a47bc82SDuc Dang			edacl3@7e600000 {
5061a47bc82SDuc Dang				compatible = "apm,xgene-edac-l3-v2";
5071a47bc82SDuc Dang				reg = <0x0 0x7e600000 0x0 0x1000>;
5081a47bc82SDuc Dang			};
5091a47bc82SDuc Dang
5101a47bc82SDuc Dang			edacsoc@7e930000 {
5111a47bc82SDuc Dang				compatible = "apm,xgene-edac-soc";
5121a47bc82SDuc Dang				reg = <0x0 0x7e930000 0x0 0x1000>;
5131a47bc82SDuc Dang			};
5141a47bc82SDuc Dang		};
5151a47bc82SDuc Dang
516d65b5d5aSDuc Dang		pmu: pmu@78810000 {
517d65b5d5aSDuc Dang			compatible = "apm,xgene-pmu-v2";
518d65b5d5aSDuc Dang			#address-cells = <2>;
519d65b5d5aSDuc Dang			#size-cells = <2>;
520d65b5d5aSDuc Dang			ranges;
521d65b5d5aSDuc Dang			regmap-csw = <&csw>;
522d65b5d5aSDuc Dang			regmap-mcba = <&mcba>;
523d65b5d5aSDuc Dang			regmap-mcbb = <&mcbb>;
524d65b5d5aSDuc Dang			reg = <0x0 0x78810000 0x0 0x1000>;
525d65b5d5aSDuc Dang			interrupts = <0x0 0x22 0x4>;
526d65b5d5aSDuc Dang
527d65b5d5aSDuc Dang			pmul3c@7e610000 {
528d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-l3c";
529d65b5d5aSDuc Dang				reg = <0x0 0x7e610000 0x0 0x1000>;
530d65b5d5aSDuc Dang			};
531d65b5d5aSDuc Dang
532d65b5d5aSDuc Dang			pmuiob@7e940000 {
533d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-iob";
534d65b5d5aSDuc Dang				reg = <0x0 0x7e940000 0x0 0x1000>;
535d65b5d5aSDuc Dang			};
536d65b5d5aSDuc Dang
537d65b5d5aSDuc Dang			pmucmcb@7e710000 {
538d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-mcb";
539d65b5d5aSDuc Dang				reg = <0x0 0x7e710000 0x0 0x1000>;
540d65b5d5aSDuc Dang				enable-bit-index = <0>;
541d65b5d5aSDuc Dang			};
542d65b5d5aSDuc Dang
543d65b5d5aSDuc Dang			pmucmcb@7e730000 {
544d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-mcb";
545d65b5d5aSDuc Dang				reg = <0x0 0x7e730000 0x0 0x1000>;
546d65b5d5aSDuc Dang				enable-bit-index = <1>;
547d65b5d5aSDuc Dang			};
548d65b5d5aSDuc Dang
549d65b5d5aSDuc Dang			pmucmc@7e810000 {
550d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-mc";
551d65b5d5aSDuc Dang				reg = <0x0 0x7e810000 0x0 0x1000>;
552d65b5d5aSDuc Dang				enable-bit-index = <0>;
553d65b5d5aSDuc Dang			};
554d65b5d5aSDuc Dang
555d65b5d5aSDuc Dang			pmucmc@7e850000 {
556d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-mc";
557d65b5d5aSDuc Dang				reg = <0x0 0x7e850000 0x0 0x1000>;
558d65b5d5aSDuc Dang				enable-bit-index = <1>;
559d65b5d5aSDuc Dang			};
560d65b5d5aSDuc Dang
561d65b5d5aSDuc Dang			pmucmc@7e890000 {
562d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-mc";
563d65b5d5aSDuc Dang				reg = <0x0 0x7e890000 0x0 0x1000>;
564d65b5d5aSDuc Dang				enable-bit-index = <2>;
565d65b5d5aSDuc Dang			};
566d65b5d5aSDuc Dang
567d65b5d5aSDuc Dang			pmucmc@7e8d0000 {
568d65b5d5aSDuc Dang				compatible = "apm,xgene-pmu-mc";
569d65b5d5aSDuc Dang				reg = <0x0 0x7e8d0000 0x0 0x1000>;
570d65b5d5aSDuc Dang				enable-bit-index = <3>;
571d65b5d5aSDuc Dang			};
572d65b5d5aSDuc Dang		};
573d65b5d5aSDuc Dang
574e99fe226SDuc Dang		mailbox: mailbox@10540000 {
575e99fe226SDuc Dang			compatible = "apm,xgene-slimpro-mbox";
576e99fe226SDuc Dang			reg = <0x0 0x10540000 0x0 0x8000>;
577e99fe226SDuc Dang			#mbox-cells = <1>;
578e99fe226SDuc Dang			interrupts =   <0x0 0x0 0x4
579e99fe226SDuc Dang					0x0 0x1 0x4
580e99fe226SDuc Dang					0x0 0x2 0x4
581e99fe226SDuc Dang					0x0 0x3 0x4
582e99fe226SDuc Dang					0x0 0x4 0x4
583e99fe226SDuc Dang					0x0 0x5 0x4
584e99fe226SDuc Dang					0x0 0x6 0x4
585e99fe226SDuc Dang					0x0 0x7 0x4>;
586e99fe226SDuc Dang		};
587e99fe226SDuc Dang
588406f5940SDuc Dang		i2cslimpro {
589406f5940SDuc Dang			compatible = "apm,xgene-slimpro-i2c";
590406f5940SDuc Dang			mboxes = <&mailbox 0>;
591406f5940SDuc Dang		};
592406f5940SDuc Dang
593c6d62be5Shotran		hwmonslimpro {
594c6d62be5Shotran			compatible = "apm,xgene-slimpro-hwmon";
595c6d62be5Shotran			mboxes = <&mailbox 7>;
596c6d62be5Shotran		};
597c6d62be5Shotran
598e144dc5bSFeng Kan		serial0: serial@10600000 {
599e144dc5bSFeng Kan			compatible = "ns16550";
600e144dc5bSFeng Kan			reg = <0 0x10600000 0x0 0x1000>;
601e144dc5bSFeng Kan			reg-shift = <2>;
602e144dc5bSFeng Kan			clock-frequency = <10000000>;
603e144dc5bSFeng Kan			interrupt-parent = <&gic>;
604e144dc5bSFeng Kan			interrupts = <0x0 0x4c 0x4>;
605e144dc5bSFeng Kan		};
606e144dc5bSFeng Kan
60787ccc38eSSerge Semin		/* Node-name might need to be coded as dwusb for backward compatibility */
60887ccc38eSSerge Semin		usb0: usb@19000000 {
60930fd9d51SDuc Dang			status = "disabled";
61030fd9d51SDuc Dang			compatible = "snps,dwc3";
61130fd9d51SDuc Dang			reg = <0x0 0x19000000 0x0 0x100000>;
61230fd9d51SDuc Dang			interrupts = <0x0 0x5d 0x4>;
61330fd9d51SDuc Dang			dma-coherent;
61430fd9d51SDuc Dang			dr_mode = "host";
61530fd9d51SDuc Dang		};
61630fd9d51SDuc Dang
617b055e9deSDuc Dang		pcie0: pcie@1f2b0000 {
618b055e9deSDuc Dang			status = "disabled";
619b055e9deSDuc Dang			device_type = "pci";
620b055e9deSDuc Dang			compatible = "apm,xgene-pcie", "apm,xgene2-pcie";
621b055e9deSDuc Dang			#interrupt-cells = <1>;
622b055e9deSDuc Dang			#size-cells = <2>;
623b055e9deSDuc Dang			#address-cells = <3>;
624b055e9deSDuc Dang			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
625b055e9deSDuc Dang				0xc0 0xd0000000 0x0 0x00040000>; /* PCI config space */
626b055e9deSDuc Dang			reg-names = "csr", "cfg";
627b055e9deSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io */
628b055e9deSDuc Dang				  0x02000000 0x00 0x20000000 0xc1 0x20000000 0x00 0x20000000   /* mem */
629b055e9deSDuc Dang				  0x43000000 0xe0 0x00000000 0xe0 0x00000000 0x20 0x00000000>; /* mem */
630b055e9deSDuc Dang			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
631b055e9deSDuc Dang				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
6326b5fc336SRob Herring			bus-range = <0x00 0xff>;
633b055e9deSDuc Dang			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
6347c7b08bfSDuc Dang			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x10 0x4
6357c7b08bfSDuc Dang					 0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x11 0x4
6367c7b08bfSDuc Dang					 0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x12 0x4
6377c7b08bfSDuc Dang					 0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x13 0x4>;
638b055e9deSDuc Dang			dma-coherent;
639b055e9deSDuc Dang			clocks = <&pcie0clk 0>;
640b055e9deSDuc Dang			msi-parent = <&v2m0>;
641b055e9deSDuc Dang		};
642b055e9deSDuc Dang
643b055e9deSDuc Dang		pcie1: pcie@1f2c0000 {
644b055e9deSDuc Dang			status = "disabled";
645b055e9deSDuc Dang			device_type = "pci";
646b055e9deSDuc Dang			compatible = "apm,xgene-pcie", "apm,xgene2-pcie";
647b055e9deSDuc Dang			#interrupt-cells = <1>;
648b055e9deSDuc Dang			#size-cells = <2>;
649b055e9deSDuc Dang			#address-cells = <3>;
650b055e9deSDuc Dang			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
651b055e9deSDuc Dang				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
652b055e9deSDuc Dang			reg-names = "csr", "cfg";
653b055e9deSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io */
654b055e9deSDuc Dang				  0x02000000 0x00 0x20000000 0xa1 0x20000000 0x00 0x20000000   /* mem */
655b055e9deSDuc Dang				  0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
656b055e9deSDuc Dang			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
657b055e9deSDuc Dang				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
6586b5fc336SRob Herring			bus-range = <0x00 0xff>;
659b055e9deSDuc Dang			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
6607c7b08bfSDuc Dang			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x16 0x4
6617c7b08bfSDuc Dang					 0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x17 0x4
6627c7b08bfSDuc Dang					 0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x18 0x4
6637c7b08bfSDuc Dang					 0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x19 0x4>;
664b055e9deSDuc Dang			dma-coherent;
665b055e9deSDuc Dang			clocks = <&pcie1clk 0>;
666b055e9deSDuc Dang			msi-parent = <&v2m0>;
667b055e9deSDuc Dang		};
668b055e9deSDuc Dang
669e144dc5bSFeng Kan		sata1: sata@1a000000 {
67001d1b6e5SRameshwar Prasad Sahu			compatible = "apm,xgene-ahci-v2";
671e144dc5bSFeng Kan			reg = <0x0 0x1a000000 0x0 0x1000>,
672e144dc5bSFeng Kan			      <0x0 0x1f200000 0x0 0x1000>,
673e144dc5bSFeng Kan			      <0x0 0x1f20d000 0x0 0x1000>,
674e144dc5bSFeng Kan			      <0x0 0x1f20e000 0x0 0x1000>;
675e144dc5bSFeng Kan			interrupts = <0x0 0x5a 0x4>;
676e144dc5bSFeng Kan			dma-coherent;
677e144dc5bSFeng Kan		};
678e144dc5bSFeng Kan
679e144dc5bSFeng Kan		sata2: sata@1a200000 {
68001d1b6e5SRameshwar Prasad Sahu			compatible = "apm,xgene-ahci-v2";
681e144dc5bSFeng Kan			reg = <0x0 0x1a200000 0x0 0x1000>,
682e144dc5bSFeng Kan			      <0x0 0x1f210000 0x0 0x1000>,
683e144dc5bSFeng Kan			      <0x0 0x1f21d000 0x0 0x1000>,
684e144dc5bSFeng Kan			      <0x0 0x1f21e000 0x0 0x1000>;
685e144dc5bSFeng Kan			interrupts = <0x0 0x5b 0x4>;
686e144dc5bSFeng Kan			dma-coherent;
687e144dc5bSFeng Kan		};
688e144dc5bSFeng Kan
689e144dc5bSFeng Kan		sata3: sata@1a400000 {
69001d1b6e5SRameshwar Prasad Sahu			compatible = "apm,xgene-ahci-v2";
691e144dc5bSFeng Kan			reg = <0x0 0x1a400000 0x0 0x1000>,
692e144dc5bSFeng Kan			      <0x0 0x1f220000 0x0 0x1000>,
693e144dc5bSFeng Kan			      <0x0 0x1f22d000 0x0 0x1000>,
694e144dc5bSFeng Kan			      <0x0 0x1f22e000 0x0 0x1000>;
695e144dc5bSFeng Kan			interrupts = <0x0 0x5c 0x4>;
696e144dc5bSFeng Kan			dma-coherent;
697e144dc5bSFeng Kan		};
698e144dc5bSFeng Kan
6990ae8c000SDuc Dang		mmc0: mmc@1c000000 {
7000ae8c000SDuc Dang			compatible = "arasan,sdhci-4.9a";
7010ae8c000SDuc Dang			reg = <0x0 0x1c000000 0x0 0x100>;
7020ae8c000SDuc Dang			interrupts = <0x0 0x49 0x4>;
7030ae8c000SDuc Dang			dma-coherent;
7040ae8c000SDuc Dang			no-1-8-v;
7050ae8c000SDuc Dang			clock-names = "clk_xin", "clk_ahb";
7060ae8c000SDuc Dang			clocks = <&sdioclk 0>, <&ahbclk 0>;
7070ae8c000SDuc Dang		};
7080ae8c000SDuc Dang
70993beff2cSDuc Dang		gfcgpio: gpio@1f63c000 {
7109e81a200SDuc Dang			compatible = "apm,xgene-gpio";
7119e81a200SDuc Dang			reg = <0x0 0x1f63c000 0x0 0x40>;
7129e81a200SDuc Dang			gpio-controller;
7139e81a200SDuc Dang			#gpio-cells = <2>;
7149e81a200SDuc Dang		};
7159e81a200SDuc Dang
71693beff2cSDuc Dang		dwgpio: gpio@1c024000 {
7179ba6739dSDuc Dang			compatible = "snps,dw-apb-gpio";
7189ba6739dSDuc Dang			reg = <0x0 0x1c024000 0x0 0x1000>;
7199ba6739dSDuc Dang			#address-cells = <1>;
7209ba6739dSDuc Dang			#size-cells = <0>;
7219ba6739dSDuc Dang
7229ba6739dSDuc Dang			porta: gpio-controller@0 {
7239ba6739dSDuc Dang				compatible = "snps,dw-apb-gpio-port";
7249ba6739dSDuc Dang				gpio-controller;
725e90ac411SKrzysztof Kozlowski				#gpio-cells = <2>;
7269ba6739dSDuc Dang				snps,nr-gpios = <32>;
7279ba6739dSDuc Dang				reg = <0>;
7289ba6739dSDuc Dang			};
7299ba6739dSDuc Dang		};
7309ba6739dSDuc Dang
73193beff2cSDuc Dang		sbgpio: gpio@17001000{
7325fc86b51SDuc Dang			compatible = "apm,xgene-gpio-sb";
7335fc86b51SDuc Dang			reg = <0x0 0x17001000 0x0 0x400>;
7345fc86b51SDuc Dang			#gpio-cells = <2>;
7355fc86b51SDuc Dang			gpio-controller;
7365fc86b51SDuc Dang			interrupts = <0x0 0x28 0x1>,
7375fc86b51SDuc Dang				     <0x0 0x29 0x1>,
7385fc86b51SDuc Dang				     <0x0 0x2a 0x1>,
7395fc86b51SDuc Dang				     <0x0 0x2b 0x1>,
7405fc86b51SDuc Dang				     <0x0 0x2c 0x1>,
7415fc86b51SDuc Dang				     <0x0 0x2d 0x1>,
7425fc86b51SDuc Dang				     <0x0 0x2e 0x1>,
7435fc86b51SDuc Dang				     <0x0 0x2f 0x1>;
744b8a4ee33SDuc Dang			interrupt-parent = <&gic>;
745b8a4ee33SDuc Dang			#interrupt-cells = <2>;
746b8a4ee33SDuc Dang			interrupt-controller;
747b8a4ee33SDuc Dang			apm,nr-gpios = <22>;
748b8a4ee33SDuc Dang			apm,nr-irqs = <8>;
749b8a4ee33SDuc Dang			apm,irq-start = <8>;
7505fc86b51SDuc Dang		};
7515fc86b51SDuc Dang
7528e694cd2SIyappan Subramanian		mdio: mdio@1f610000 {
7538e694cd2SIyappan Subramanian			compatible = "apm,xgene-mdio-xfi";
7548e694cd2SIyappan Subramanian			#address-cells = <1>;
7558e694cd2SIyappan Subramanian			#size-cells = <0>;
7568e694cd2SIyappan Subramanian			reg = <0x0 0x1f610000 0x0 0xd100>;
7578e694cd2SIyappan Subramanian			clocks = <&xge0clk 0>;
7588e694cd2SIyappan Subramanian		};
7598e694cd2SIyappan Subramanian
760e144dc5bSFeng Kan		sgenet0: ethernet@1f610000 {
761e144dc5bSFeng Kan			compatible = "apm,xgene2-sgenet";
762e144dc5bSFeng Kan			status = "disabled";
7638e694cd2SIyappan Subramanian			reg = <0x0 0x1f610000 0x0 0xd100>,
764cafc4cd0SBjorn Helgaas			      <0x0 0x1f600000 0x0 0xd100>,
765cafc4cd0SBjorn Helgaas			      <0x0 0x20000000 0x0 0x20000>;
766e144dc5bSFeng Kan			interrupts = <0 96 4>,
767e144dc5bSFeng Kan				     <0 97 4>;
768e144dc5bSFeng Kan			dma-coherent;
769e144dc5bSFeng Kan			clocks = <&xge0clk 0>;
770e144dc5bSFeng Kan			local-mac-address = [00 01 73 00 00 01];
771e144dc5bSFeng Kan			phy-connection-type = "sgmii";
7728e694cd2SIyappan Subramanian			phy-handle = <&sgenet0phy>;
773e144dc5bSFeng Kan		};
774e144dc5bSFeng Kan
775e144dc5bSFeng Kan		xgenet1: ethernet@1f620000 {
776e144dc5bSFeng Kan			compatible = "apm,xgene2-xgenet";
777e144dc5bSFeng Kan			status = "disabled";
778e144dc5bSFeng Kan			reg = <0x0 0x1f620000 0x0 0x10000>,
779cafc4cd0SBjorn Helgaas			      <0x0 0x1f600000 0x0 0xd100>,
780cafc4cd0SBjorn Helgaas			      <0x0 0x20000000 0x0 0x220000>;
781e144dc5bSFeng Kan			interrupts = <0 108 4>,
7820d2c2515SIyappan Subramanian				     <0 109 4>,
7830d2c2515SIyappan Subramanian				     <0 110 4>,
7840d2c2515SIyappan Subramanian				     <0 111 4>,
7850d2c2515SIyappan Subramanian				     <0 112 4>,
7860d2c2515SIyappan Subramanian				     <0 113 4>,
7870d2c2515SIyappan Subramanian				     <0 114 4>,
7880d2c2515SIyappan Subramanian				     <0 115 4>;
7896619ac5aSIyappan Subramanian			channel = <12>;
790e144dc5bSFeng Kan			port-id = <1>;
791e144dc5bSFeng Kan			dma-coherent;
792e144dc5bSFeng Kan			clocks = <&xge1clk 0>;
793e144dc5bSFeng Kan			local-mac-address = [00 01 73 00 00 02];
794e144dc5bSFeng Kan			phy-connection-type = "xgmii";
795e144dc5bSFeng Kan		};
796e6ae03c4SDuc Dang
797e6ae03c4SDuc Dang		rng: rng@10520000 {
798e6ae03c4SDuc Dang			compatible = "apm,xgene-rng";
799e6ae03c4SDuc Dang			reg = <0x0 0x10520000 0x0 0x100>;
800e6ae03c4SDuc Dang			interrupts = <0x0 0x41 0x4>;
801e6ae03c4SDuc Dang			clocks = <&rngpkaclk 0>;
802e6ae03c4SDuc Dang		};
803d0181354SDuc Dang
80493beff2cSDuc Dang		i2c1: i2c@10511000 {
805d0181354SDuc Dang			#address-cells = <1>;
806d0181354SDuc Dang			#size-cells = <0>;
807d0181354SDuc Dang			compatible = "snps,designware-i2c";
808d0181354SDuc Dang			reg = <0x0 0x10511000 0x0 0x1000>;
809d0181354SDuc Dang			interrupts = <0 0x45 0x4>;
810d0181354SDuc Dang			#clock-cells = <1>;
8119ebf47bbSDuc Dang			clocks = <&sbapbclk 0>;
812d0181354SDuc Dang			bus_num = <1>;
813d0181354SDuc Dang		};
814d0181354SDuc Dang
81593beff2cSDuc Dang		i2c4: i2c@10640000 {
816d0181354SDuc Dang			#address-cells = <1>;
817d0181354SDuc Dang			#size-cells = <0>;
818d0181354SDuc Dang			compatible = "snps,designware-i2c";
819d0181354SDuc Dang			reg = <0x0 0x10640000 0x0 0x1000>;
820cafc4cd0SBjorn Helgaas			interrupts = <0 0x3a 0x4>;
821d0181354SDuc Dang			clocks = <&i2c4clk 0>;
822d0181354SDuc Dang			bus_num = <4>;
823d0181354SDuc Dang		};
824e144dc5bSFeng Kan	};
825e144dc5bSFeng Kan};
826