xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision 7434f42b8e5ca5d57262ca7ceb856a86e4ade0d4)
1ca5b3410SRobert Richter/*
2ca5b3410SRobert Richter * dts file for AppliedMicro (APM) X-Gene Storm SOC
3ca5b3410SRobert Richter *
4ca5b3410SRobert Richter * Copyright (C) 2013, Applied Micro Circuits Corporation
5ca5b3410SRobert Richter *
6ca5b3410SRobert Richter * This program is free software; you can redistribute it and/or
7ca5b3410SRobert Richter * modify it under the terms of the GNU General Public License as
8ca5b3410SRobert Richter * published by the Free Software Foundation; either version 2 of
9ca5b3410SRobert Richter * the License, or (at your option) any later version.
10ca5b3410SRobert Richter */
11ca5b3410SRobert Richter
12ca5b3410SRobert Richter/ {
13ca5b3410SRobert Richter	compatible = "apm,xgene-storm";
14ca5b3410SRobert Richter	interrupt-parent = <&gic>;
15ca5b3410SRobert Richter	#address-cells = <2>;
16ca5b3410SRobert Richter	#size-cells = <2>;
17ca5b3410SRobert Richter
18ca5b3410SRobert Richter	cpus {
19ca5b3410SRobert Richter		#address-cells = <2>;
20ca5b3410SRobert Richter		#size-cells = <0>;
21ca5b3410SRobert Richter
22ca5b3410SRobert Richter		cpu@000 {
23ca5b3410SRobert Richter			device_type = "cpu";
24ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
25ca5b3410SRobert Richter			reg = <0x0 0x000>;
26ca5b3410SRobert Richter			enable-method = "spin-table";
27ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
28ca5b3410SRobert Richter		};
29ca5b3410SRobert Richter		cpu@001 {
30ca5b3410SRobert Richter			device_type = "cpu";
31ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
32ca5b3410SRobert Richter			reg = <0x0 0x001>;
33ca5b3410SRobert Richter			enable-method = "spin-table";
34ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
35ca5b3410SRobert Richter		};
36ca5b3410SRobert Richter		cpu@100 {
37ca5b3410SRobert Richter			device_type = "cpu";
38ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
39ca5b3410SRobert Richter			reg = <0x0 0x100>;
40ca5b3410SRobert Richter			enable-method = "spin-table";
41ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
42ca5b3410SRobert Richter		};
43ca5b3410SRobert Richter		cpu@101 {
44ca5b3410SRobert Richter			device_type = "cpu";
45ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
46ca5b3410SRobert Richter			reg = <0x0 0x101>;
47ca5b3410SRobert Richter			enable-method = "spin-table";
48ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
49ca5b3410SRobert Richter		};
50ca5b3410SRobert Richter		cpu@200 {
51ca5b3410SRobert Richter			device_type = "cpu";
52ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
53ca5b3410SRobert Richter			reg = <0x0 0x200>;
54ca5b3410SRobert Richter			enable-method = "spin-table";
55ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
56ca5b3410SRobert Richter		};
57ca5b3410SRobert Richter		cpu@201 {
58ca5b3410SRobert Richter			device_type = "cpu";
59ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
60ca5b3410SRobert Richter			reg = <0x0 0x201>;
61ca5b3410SRobert Richter			enable-method = "spin-table";
62ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
63ca5b3410SRobert Richter		};
64ca5b3410SRobert Richter		cpu@300 {
65ca5b3410SRobert Richter			device_type = "cpu";
66ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
67ca5b3410SRobert Richter			reg = <0x0 0x300>;
68ca5b3410SRobert Richter			enable-method = "spin-table";
69ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
70ca5b3410SRobert Richter		};
71ca5b3410SRobert Richter		cpu@301 {
72ca5b3410SRobert Richter			device_type = "cpu";
73ca5b3410SRobert Richter			compatible = "apm,potenza", "arm,armv8";
74ca5b3410SRobert Richter			reg = <0x0 0x301>;
75ca5b3410SRobert Richter			enable-method = "spin-table";
76ca5b3410SRobert Richter			cpu-release-addr = <0x1 0x0000fff8>;
77ca5b3410SRobert Richter		};
78ca5b3410SRobert Richter	};
79ca5b3410SRobert Richter
80ca5b3410SRobert Richter	gic: interrupt-controller@78010000 {
81ca5b3410SRobert Richter		compatible = "arm,cortex-a15-gic";
82ca5b3410SRobert Richter		#interrupt-cells = <3>;
83ca5b3410SRobert Richter		interrupt-controller;
84ca5b3410SRobert Richter		reg = <0x0 0x78010000 0x0 0x1000>,	/* GIC Dist */
85ca5b3410SRobert Richter		      <0x0 0x78020000 0x0 0x1000>,	/* GIC CPU */
86ca5b3410SRobert Richter		      <0x0 0x78040000 0x0 0x2000>,	/* GIC VCPU Control */
87ca5b3410SRobert Richter		      <0x0 0x78060000 0x0 0x2000>;	/* GIC VCPU */
88ca5b3410SRobert Richter		interrupts = <1 9 0xf04>;	/* GIC Maintenence IRQ */
89ca5b3410SRobert Richter	};
90ca5b3410SRobert Richter
91ca5b3410SRobert Richter	timer {
92ca5b3410SRobert Richter		compatible = "arm,armv8-timer";
93ca5b3410SRobert Richter		interrupts = <1 0 0xff01>,	/* Secure Phys IRQ */
94ca5b3410SRobert Richter			     <1 13 0xff01>,	/* Non-secure Phys IRQ */
95ca5b3410SRobert Richter			     <1 14 0xff01>,	/* Virt IRQ */
96ca5b3410SRobert Richter			     <1 15 0xff01>;	/* Hyp IRQ */
97ca5b3410SRobert Richter		clock-frequency = <50000000>;
98ca5b3410SRobert Richter	};
99ca5b3410SRobert Richter
100*7434f42bSFeng Kan	pmu {
101*7434f42bSFeng Kan		compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
102*7434f42bSFeng Kan		interrupts = <1 12 0xff04>;
103*7434f42bSFeng Kan	};
104*7434f42bSFeng Kan
105ca5b3410SRobert Richter	soc {
106ca5b3410SRobert Richter		compatible = "simple-bus";
107ca5b3410SRobert Richter		#address-cells = <2>;
108ca5b3410SRobert Richter		#size-cells = <2>;
109ca5b3410SRobert Richter		ranges;
11074e353e1SRameshwar Prasad Sahu		dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>;
111ca5b3410SRobert Richter
112ca5b3410SRobert Richter		clocks {
113ca5b3410SRobert Richter			#address-cells = <2>;
114ca5b3410SRobert Richter			#size-cells = <2>;
115ca5b3410SRobert Richter			ranges;
116ca5b3410SRobert Richter			refclk: refclk {
117ca5b3410SRobert Richter				compatible = "fixed-clock";
118ca5b3410SRobert Richter				#clock-cells = <1>;
119ca5b3410SRobert Richter				clock-frequency = <100000000>;
120ca5b3410SRobert Richter				clock-output-names = "refclk";
121ca5b3410SRobert Richter			};
122ca5b3410SRobert Richter
123ca5b3410SRobert Richter			pcppll: pcppll@17000100 {
124ca5b3410SRobert Richter				compatible = "apm,xgene-pcppll-clock";
125ca5b3410SRobert Richter				#clock-cells = <1>;
126ca5b3410SRobert Richter				clocks = <&refclk 0>;
127ca5b3410SRobert Richter				clock-names = "pcppll";
128ca5b3410SRobert Richter				reg = <0x0 0x17000100 0x0 0x1000>;
129ca5b3410SRobert Richter				clock-output-names = "pcppll";
130ca5b3410SRobert Richter				type = <0>;
131ca5b3410SRobert Richter			};
132ca5b3410SRobert Richter
133ca5b3410SRobert Richter			socpll: socpll@17000120 {
134ca5b3410SRobert Richter				compatible = "apm,xgene-socpll-clock";
135ca5b3410SRobert Richter				#clock-cells = <1>;
136ca5b3410SRobert Richter				clocks = <&refclk 0>;
137ca5b3410SRobert Richter				clock-names = "socpll";
138ca5b3410SRobert Richter				reg = <0x0 0x17000120 0x0 0x1000>;
139ca5b3410SRobert Richter				clock-output-names = "socpll";
140ca5b3410SRobert Richter				type = <1>;
141ca5b3410SRobert Richter			};
142ca5b3410SRobert Richter
143ca5b3410SRobert Richter			socplldiv2: socplldiv2  {
144ca5b3410SRobert Richter				compatible = "fixed-factor-clock";
145ca5b3410SRobert Richter				#clock-cells = <1>;
146ca5b3410SRobert Richter				clocks = <&socpll 0>;
147ca5b3410SRobert Richter				clock-names = "socplldiv2";
148ca5b3410SRobert Richter				clock-mult = <1>;
149ca5b3410SRobert Richter				clock-div = <2>;
150ca5b3410SRobert Richter				clock-output-names = "socplldiv2";
151ca5b3410SRobert Richter			};
152ca5b3410SRobert Richter
153ca5b3410SRobert Richter			qmlclk: qmlclk {
154ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
155ca5b3410SRobert Richter				#clock-cells = <1>;
156ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
157ca5b3410SRobert Richter				clock-names = "qmlclk";
158ca5b3410SRobert Richter				reg = <0x0 0x1703C000 0x0 0x1000>;
159ca5b3410SRobert Richter				reg-names = "csr-reg";
160ca5b3410SRobert Richter				clock-output-names = "qmlclk";
161ca5b3410SRobert Richter			};
162ca5b3410SRobert Richter
163ca5b3410SRobert Richter			ethclk: ethclk {
164ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
165ca5b3410SRobert Richter				#clock-cells = <1>;
166ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
167ca5b3410SRobert Richter				clock-names = "ethclk";
168ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x1000>;
169ca5b3410SRobert Richter				reg-names = "div-reg";
170ca5b3410SRobert Richter				divider-offset = <0x238>;
171ca5b3410SRobert Richter				divider-width = <0x9>;
172ca5b3410SRobert Richter				divider-shift = <0x0>;
173ca5b3410SRobert Richter				clock-output-names = "ethclk";
174ca5b3410SRobert Richter			};
175ca5b3410SRobert Richter
176ca5b3410SRobert Richter			menetclk: menetclk {
177ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
178ca5b3410SRobert Richter				#clock-cells = <1>;
179ca5b3410SRobert Richter				clocks = <&ethclk 0>;
180ca5b3410SRobert Richter				reg = <0x0 0x1702C000 0x0 0x1000>;
181ca5b3410SRobert Richter				reg-names = "csr-reg";
182ca5b3410SRobert Richter				clock-output-names = "menetclk";
183ca5b3410SRobert Richter			};
184ca5b3410SRobert Richter
185ca5b3410SRobert Richter			sge0clk: sge0clk@1f21c000 {
186ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
187ca5b3410SRobert Richter				#clock-cells = <1>;
188ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
189ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
190ca5b3410SRobert Richter				reg-names = "csr-reg";
191ca5b3410SRobert Richter				csr-mask = <0x3>;
192ca5b3410SRobert Richter				clock-output-names = "sge0clk";
193ca5b3410SRobert Richter			};
194ca5b3410SRobert Richter
1952d33394eSKeyur Chudgar			sge1clk: sge1clk@1f21c000 {
1962d33394eSKeyur Chudgar				compatible = "apm,xgene-device-clock";
1972d33394eSKeyur Chudgar				#clock-cells = <1>;
1982d33394eSKeyur Chudgar				clocks = <&socplldiv2 0>;
1992d33394eSKeyur Chudgar				reg = <0x0 0x1f21c000 0x0 0x1000>;
2002d33394eSKeyur Chudgar				reg-names = "csr-reg";
2012d33394eSKeyur Chudgar				csr-mask = <0xc>;
2022d33394eSKeyur Chudgar				clock-output-names = "sge1clk";
2032d33394eSKeyur Chudgar			};
2042d33394eSKeyur Chudgar
205ca5b3410SRobert Richter			xge0clk: xge0clk@1f61c000 {
206ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
207ca5b3410SRobert Richter				#clock-cells = <1>;
208ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
209ca5b3410SRobert Richter				reg = <0x0 0x1f61c000 0x0 0x1000>;
210ca5b3410SRobert Richter				reg-names = "csr-reg";
211ca5b3410SRobert Richter				csr-mask = <0x3>;
212ca5b3410SRobert Richter				clock-output-names = "xge0clk";
213ca5b3410SRobert Richter			};
214ca5b3410SRobert Richter
215ca5b3410SRobert Richter			sataphy1clk: sataphy1clk@1f21c000 {
216ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
217ca5b3410SRobert Richter				#clock-cells = <1>;
218ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
219ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
220ca5b3410SRobert Richter				reg-names = "csr-reg";
221ca5b3410SRobert Richter				clock-output-names = "sataphy1clk";
222ca5b3410SRobert Richter				status = "disabled";
223ca5b3410SRobert Richter				csr-offset = <0x4>;
224ca5b3410SRobert Richter				csr-mask = <0x00>;
225ca5b3410SRobert Richter				enable-offset = <0x0>;
226ca5b3410SRobert Richter				enable-mask = <0x06>;
227ca5b3410SRobert Richter			};
228ca5b3410SRobert Richter
229ca5b3410SRobert Richter			sataphy2clk: sataphy1clk@1f22c000 {
230ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
231ca5b3410SRobert Richter				#clock-cells = <1>;
232ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
233ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
234ca5b3410SRobert Richter				reg-names = "csr-reg";
235ca5b3410SRobert Richter				clock-output-names = "sataphy2clk";
236ca5b3410SRobert Richter				status = "ok";
237ca5b3410SRobert Richter				csr-offset = <0x4>;
238ca5b3410SRobert Richter				csr-mask = <0x3a>;
239ca5b3410SRobert Richter				enable-offset = <0x0>;
240ca5b3410SRobert Richter				enable-mask = <0x06>;
241ca5b3410SRobert Richter			};
242ca5b3410SRobert Richter
243ca5b3410SRobert Richter			sataphy3clk: sataphy1clk@1f23c000 {
244ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
245ca5b3410SRobert Richter				#clock-cells = <1>;
246ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
247ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
248ca5b3410SRobert Richter				reg-names = "csr-reg";
249ca5b3410SRobert Richter				clock-output-names = "sataphy3clk";
250ca5b3410SRobert Richter				status = "ok";
251ca5b3410SRobert Richter				csr-offset = <0x4>;
252ca5b3410SRobert Richter				csr-mask = <0x3a>;
253ca5b3410SRobert Richter				enable-offset = <0x0>;
254ca5b3410SRobert Richter				enable-mask = <0x06>;
255ca5b3410SRobert Richter			};
256ca5b3410SRobert Richter
257ca5b3410SRobert Richter			sata01clk: sata01clk@1f21c000 {
258ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
259ca5b3410SRobert Richter				#clock-cells = <1>;
260ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
261ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
262ca5b3410SRobert Richter				reg-names = "csr-reg";
263ca5b3410SRobert Richter				clock-output-names = "sata01clk";
264ca5b3410SRobert Richter				csr-offset = <0x4>;
265ca5b3410SRobert Richter				csr-mask = <0x05>;
266ca5b3410SRobert Richter				enable-offset = <0x0>;
267ca5b3410SRobert Richter				enable-mask = <0x39>;
268ca5b3410SRobert Richter			};
269ca5b3410SRobert Richter
270ca5b3410SRobert Richter			sata23clk: sata23clk@1f22c000 {
271ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
272ca5b3410SRobert Richter				#clock-cells = <1>;
273ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
274ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
275ca5b3410SRobert Richter				reg-names = "csr-reg";
276ca5b3410SRobert Richter				clock-output-names = "sata23clk";
277ca5b3410SRobert Richter				csr-offset = <0x4>;
278ca5b3410SRobert Richter				csr-mask = <0x05>;
279ca5b3410SRobert Richter				enable-offset = <0x0>;
280ca5b3410SRobert Richter				enable-mask = <0x39>;
281ca5b3410SRobert Richter			};
282ca5b3410SRobert Richter
283ca5b3410SRobert Richter			sata45clk: sata45clk@1f23c000 {
284ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
285ca5b3410SRobert Richter				#clock-cells = <1>;
286ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
287ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
288ca5b3410SRobert Richter				reg-names = "csr-reg";
289ca5b3410SRobert Richter				clock-output-names = "sata45clk";
290ca5b3410SRobert Richter				csr-offset = <0x4>;
291ca5b3410SRobert Richter				csr-mask = <0x05>;
292ca5b3410SRobert Richter				enable-offset = <0x0>;
293ca5b3410SRobert Richter				enable-mask = <0x39>;
294ca5b3410SRobert Richter			};
295ca5b3410SRobert Richter
296ca5b3410SRobert Richter			rtcclk: rtcclk@17000000 {
297ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
298ca5b3410SRobert Richter				#clock-cells = <1>;
299ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
300ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
301ca5b3410SRobert Richter				reg-names = "csr-reg";
302ca5b3410SRobert Richter				csr-offset = <0xc>;
303ca5b3410SRobert Richter				csr-mask = <0x2>;
304ca5b3410SRobert Richter				enable-offset = <0x10>;
305ca5b3410SRobert Richter				enable-mask = <0x2>;
306ca5b3410SRobert Richter				clock-output-names = "rtcclk";
307ca5b3410SRobert Richter			};
308ca5b3410SRobert Richter
309ca5b3410SRobert Richter			rngpkaclk: rngpkaclk@17000000 {
310ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
311ca5b3410SRobert Richter				#clock-cells = <1>;
312ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
313ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
314ca5b3410SRobert Richter				reg-names = "csr-reg";
315ca5b3410SRobert Richter				csr-offset = <0xc>;
316ca5b3410SRobert Richter				csr-mask = <0x10>;
317ca5b3410SRobert Richter				enable-offset = <0x10>;
318ca5b3410SRobert Richter				enable-mask = <0x10>;
319ca5b3410SRobert Richter				clock-output-names = "rngpkaclk";
320ca5b3410SRobert Richter			};
321ca5b3410SRobert Richter
322ca5b3410SRobert Richter			pcie0clk: pcie0clk@1f2bc000 {
323ca5b3410SRobert Richter				status = "disabled";
324ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
325ca5b3410SRobert Richter				#clock-cells = <1>;
326ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
327ca5b3410SRobert Richter				reg = <0x0 0x1f2bc000 0x0 0x1000>;
328ca5b3410SRobert Richter				reg-names = "csr-reg";
329ca5b3410SRobert Richter				clock-output-names = "pcie0clk";
330ca5b3410SRobert Richter			};
331ca5b3410SRobert Richter
332ca5b3410SRobert Richter			pcie1clk: pcie1clk@1f2cc000 {
333ca5b3410SRobert Richter				status = "disabled";
334ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
335ca5b3410SRobert Richter				#clock-cells = <1>;
336ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
337ca5b3410SRobert Richter				reg = <0x0 0x1f2cc000 0x0 0x1000>;
338ca5b3410SRobert Richter				reg-names = "csr-reg";
339ca5b3410SRobert Richter				clock-output-names = "pcie1clk";
340ca5b3410SRobert Richter			};
341ca5b3410SRobert Richter
342ca5b3410SRobert Richter			pcie2clk: pcie2clk@1f2dc000 {
343ca5b3410SRobert Richter				status = "disabled";
344ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
345ca5b3410SRobert Richter				#clock-cells = <1>;
346ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
347ca5b3410SRobert Richter				reg = <0x0 0x1f2dc000 0x0 0x1000>;
348ca5b3410SRobert Richter				reg-names = "csr-reg";
349ca5b3410SRobert Richter				clock-output-names = "pcie2clk";
350ca5b3410SRobert Richter			};
351ca5b3410SRobert Richter
352ca5b3410SRobert Richter			pcie3clk: pcie3clk@1f50c000 {
353ca5b3410SRobert Richter				status = "disabled";
354ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
355ca5b3410SRobert Richter				#clock-cells = <1>;
356ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
357ca5b3410SRobert Richter				reg = <0x0 0x1f50c000 0x0 0x1000>;
358ca5b3410SRobert Richter				reg-names = "csr-reg";
359ca5b3410SRobert Richter				clock-output-names = "pcie3clk";
360ca5b3410SRobert Richter			};
361ca5b3410SRobert Richter
362ca5b3410SRobert Richter			pcie4clk: pcie4clk@1f51c000 {
363ca5b3410SRobert Richter				status = "disabled";
364ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
365ca5b3410SRobert Richter				#clock-cells = <1>;
366ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
367ca5b3410SRobert Richter				reg = <0x0 0x1f51c000 0x0 0x1000>;
368ca5b3410SRobert Richter				reg-names = "csr-reg";
369ca5b3410SRobert Richter				clock-output-names = "pcie4clk";
370ca5b3410SRobert Richter			};
37174e353e1SRameshwar Prasad Sahu
37274e353e1SRameshwar Prasad Sahu			dmaclk: dmaclk@1f27c000 {
37374e353e1SRameshwar Prasad Sahu				compatible = "apm,xgene-device-clock";
37474e353e1SRameshwar Prasad Sahu				#clock-cells = <1>;
37574e353e1SRameshwar Prasad Sahu				clocks = <&socplldiv2 0>;
37674e353e1SRameshwar Prasad Sahu				reg = <0x0 0x1f27c000 0x0 0x1000>;
37774e353e1SRameshwar Prasad Sahu				reg-names = "csr-reg";
37874e353e1SRameshwar Prasad Sahu				clock-output-names = "dmaclk";
37974e353e1SRameshwar Prasad Sahu			};
380ca5b3410SRobert Richter		};
381ca5b3410SRobert Richter
382e1e6e5c4SDuc Dang		msi: msi@79000000 {
383e1e6e5c4SDuc Dang			compatible = "apm,xgene1-msi";
384e1e6e5c4SDuc Dang			msi-controller;
385e1e6e5c4SDuc Dang			reg = <0x00 0x79000000 0x0 0x900000>;
386e1e6e5c4SDuc Dang			interrupts = <  0x0 0x10 0x4
387e1e6e5c4SDuc Dang					0x0 0x11 0x4
388e1e6e5c4SDuc Dang					0x0 0x12 0x4
389e1e6e5c4SDuc Dang					0x0 0x13 0x4
390e1e6e5c4SDuc Dang					0x0 0x14 0x4
391e1e6e5c4SDuc Dang					0x0 0x15 0x4
392e1e6e5c4SDuc Dang					0x0 0x16 0x4
393e1e6e5c4SDuc Dang					0x0 0x17 0x4
394e1e6e5c4SDuc Dang					0x0 0x18 0x4
395e1e6e5c4SDuc Dang					0x0 0x19 0x4
396e1e6e5c4SDuc Dang					0x0 0x1a 0x4
397e1e6e5c4SDuc Dang					0x0 0x1b 0x4
398e1e6e5c4SDuc Dang					0x0 0x1c 0x4
399e1e6e5c4SDuc Dang					0x0 0x1d 0x4
400e1e6e5c4SDuc Dang					0x0 0x1e 0x4
401e1e6e5c4SDuc Dang					0x0 0x1f 0x4>;
402e1e6e5c4SDuc Dang		};
403e1e6e5c4SDuc Dang
4045c3a87e3SFeng Kan		scu: system-clk-controller@17000000 {
4055c3a87e3SFeng Kan			compatible = "apm,xgene-scu","syscon";
4065c3a87e3SFeng Kan			reg = <0x0 0x17000000 0x0 0x400>;
4075c3a87e3SFeng Kan		};
4085c3a87e3SFeng Kan
4095c3a87e3SFeng Kan		reboot: reboot@17000014 {
4105c3a87e3SFeng Kan			compatible = "syscon-reboot";
4115c3a87e3SFeng Kan			regmap = <&scu>;
4125c3a87e3SFeng Kan			offset = <0x14>;
4135c3a87e3SFeng Kan			mask = <0x1>;
4145c3a87e3SFeng Kan		};
4155c3a87e3SFeng Kan
4168f2ae6f3SLoc Ho		csw: csw@7e200000 {
4178f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
4188f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
4198f2ae6f3SLoc Ho		};
4208f2ae6f3SLoc Ho
4218f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
4228f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4238f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
4248f2ae6f3SLoc Ho		};
4258f2ae6f3SLoc Ho
4268f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
4278f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4288f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
4298f2ae6f3SLoc Ho		};
4308f2ae6f3SLoc Ho
4318f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
4328f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
4338f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
4348f2ae6f3SLoc Ho		};
4358f2ae6f3SLoc Ho
4368f2ae6f3SLoc Ho		edac@78800000 {
4378f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
4388f2ae6f3SLoc Ho			#address-cells = <2>;
4398f2ae6f3SLoc Ho			#size-cells = <2>;
4408f2ae6f3SLoc Ho			ranges;
4418f2ae6f3SLoc Ho			regmap-csw = <&csw>;
4428f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
4438f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
4448f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
4458f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
4468f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
4478f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
4488f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
4498f2ae6f3SLoc Ho
4508f2ae6f3SLoc Ho			edacmc@7e800000 {
4518f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4528f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
4538f2ae6f3SLoc Ho				memory-controller = <0>;
4548f2ae6f3SLoc Ho			};
4558f2ae6f3SLoc Ho
4568f2ae6f3SLoc Ho			edacmc@7e840000 {
4578f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4588f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
4598f2ae6f3SLoc Ho				memory-controller = <1>;
4608f2ae6f3SLoc Ho			};
4618f2ae6f3SLoc Ho
4628f2ae6f3SLoc Ho			edacmc@7e880000 {
4638f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4648f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
4658f2ae6f3SLoc Ho				memory-controller = <2>;
4668f2ae6f3SLoc Ho			};
4678f2ae6f3SLoc Ho
4688f2ae6f3SLoc Ho			edacmc@7e8c0000 {
4698f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4708f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
4718f2ae6f3SLoc Ho				memory-controller = <3>;
4728f2ae6f3SLoc Ho			};
4738f2ae6f3SLoc Ho
4748f2ae6f3SLoc Ho			edacpmd@7c000000 {
4758f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4768f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
4778f2ae6f3SLoc Ho				pmd-controller = <0>;
4788f2ae6f3SLoc Ho			};
4798f2ae6f3SLoc Ho
4808f2ae6f3SLoc Ho			edacpmd@7c200000 {
4818f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4828f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
4838f2ae6f3SLoc Ho				pmd-controller = <1>;
4848f2ae6f3SLoc Ho			};
4858f2ae6f3SLoc Ho
4868f2ae6f3SLoc Ho			edacpmd@7c400000 {
4878f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4888f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
4898f2ae6f3SLoc Ho				pmd-controller = <2>;
4908f2ae6f3SLoc Ho			};
4918f2ae6f3SLoc Ho
4928f2ae6f3SLoc Ho			edacpmd@7c600000 {
4938f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4948f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
4958f2ae6f3SLoc Ho				pmd-controller = <3>;
4968f2ae6f3SLoc Ho			};
4978f2ae6f3SLoc Ho		};
4988f2ae6f3SLoc Ho
499ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
500ca5b3410SRobert Richter			status = "disabled";
501ca5b3410SRobert Richter			device_type = "pci";
502ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
503ca5b3410SRobert Richter			#interrupt-cells = <1>;
504ca5b3410SRobert Richter			#size-cells = <2>;
505ca5b3410SRobert Richter			#address-cells = <3>;
506ca5b3410SRobert Richter			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
507ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
508ca5b3410SRobert Richter			reg-names = "csr", "cfg";
509ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
51080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000   /* mem */
51180bb3edaSDuc Dang				  0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
512ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
513ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
514ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
515ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
516ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
517ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
518ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
519ca5b3410SRobert Richter			dma-coherent;
520ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
521e1e6e5c4SDuc Dang			msi-parent = <&msi>;
522ca5b3410SRobert Richter		};
523ca5b3410SRobert Richter
524ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
525ca5b3410SRobert Richter			status = "disabled";
526ca5b3410SRobert Richter			device_type = "pci";
527ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
528ca5b3410SRobert Richter			#interrupt-cells = <1>;
529ca5b3410SRobert Richter			#size-cells = <2>;
530ca5b3410SRobert Richter			#address-cells = <3>;
531ca5b3410SRobert Richter			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
532ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
533ca5b3410SRobert Richter			reg-names = "csr", "cfg";
53480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
53580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000   /* mem */
53680bb3edaSDuc Dang				  0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
537ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
538ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
539ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
540ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
541ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
542ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
543ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
544ca5b3410SRobert Richter			dma-coherent;
545ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
546e1e6e5c4SDuc Dang			msi-parent = <&msi>;
547ca5b3410SRobert Richter		};
548ca5b3410SRobert Richter
549ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
550ca5b3410SRobert Richter			status = "disabled";
551ca5b3410SRobert Richter			device_type = "pci";
552ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
553ca5b3410SRobert Richter			#interrupt-cells = <1>;
554ca5b3410SRobert Richter			#size-cells = <2>;
555ca5b3410SRobert Richter			#address-cells = <3>;
556ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
557ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
558ca5b3410SRobert Richter			reg-names = "csr", "cfg";
55980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000   /* io  */
56080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000   /* mem */
56180bb3edaSDuc Dang				  0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
562ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
563ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
564ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
565ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
566ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
567ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
568ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
569ca5b3410SRobert Richter			dma-coherent;
570ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
571e1e6e5c4SDuc Dang			msi-parent = <&msi>;
572ca5b3410SRobert Richter		};
573ca5b3410SRobert Richter
574ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
575ca5b3410SRobert Richter			status = "disabled";
576ca5b3410SRobert Richter			device_type = "pci";
577ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
578ca5b3410SRobert Richter			#interrupt-cells = <1>;
579ca5b3410SRobert Richter			#size-cells = <2>;
580ca5b3410SRobert Richter			#address-cells = <3>;
581ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
582ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
583ca5b3410SRobert Richter			reg-names = "csr", "cfg";
58480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io  */
58580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000   /* mem */
58680bb3edaSDuc Dang				  0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
587ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
588ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
589ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
590ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
591ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
592ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
593ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
594ca5b3410SRobert Richter			dma-coherent;
595ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
596e1e6e5c4SDuc Dang			msi-parent = <&msi>;
597ca5b3410SRobert Richter		};
598ca5b3410SRobert Richter
599ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
600ca5b3410SRobert Richter			status = "disabled";
601ca5b3410SRobert Richter			device_type = "pci";
602ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
603ca5b3410SRobert Richter			#interrupt-cells = <1>;
604ca5b3410SRobert Richter			#size-cells = <2>;
605ca5b3410SRobert Richter			#address-cells = <3>;
606ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
607ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
608ca5b3410SRobert Richter			reg-names = "csr", "cfg";
60980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io  */
61080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000   /* mem */
61180bb3edaSDuc Dang				  0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
612ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
613ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
614ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
615ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
616ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
617ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
618ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
619ca5b3410SRobert Richter			dma-coherent;
620ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
621e1e6e5c4SDuc Dang			msi-parent = <&msi>;
622ca5b3410SRobert Richter		};
623ca5b3410SRobert Richter
624ca5b3410SRobert Richter		serial0: serial@1c020000 {
625ca5b3410SRobert Richter			status = "disabled";
626ca5b3410SRobert Richter			device_type = "serial";
627ca5b3410SRobert Richter			compatible = "ns16550a";
628ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
629ca5b3410SRobert Richter			reg-shift = <2>;
630ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
631ca5b3410SRobert Richter			interrupt-parent = <&gic>;
632ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
633ca5b3410SRobert Richter		};
634ca5b3410SRobert Richter
635ca5b3410SRobert Richter		serial1: serial@1c021000 {
636ca5b3410SRobert Richter			status = "disabled";
637ca5b3410SRobert Richter			device_type = "serial";
638ca5b3410SRobert Richter			compatible = "ns16550a";
639ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
640ca5b3410SRobert Richter			reg-shift = <2>;
641ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
642ca5b3410SRobert Richter			interrupt-parent = <&gic>;
643ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
644ca5b3410SRobert Richter		};
645ca5b3410SRobert Richter
646ca5b3410SRobert Richter		serial2: serial@1c022000 {
647ca5b3410SRobert Richter			status = "disabled";
648ca5b3410SRobert Richter			device_type = "serial";
649ca5b3410SRobert Richter			compatible = "ns16550a";
650ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
651ca5b3410SRobert Richter			reg-shift = <2>;
652ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
653ca5b3410SRobert Richter			interrupt-parent = <&gic>;
654ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
655ca5b3410SRobert Richter		};
656ca5b3410SRobert Richter
657ca5b3410SRobert Richter		serial3: serial@1c023000 {
658ca5b3410SRobert Richter			status = "disabled";
659ca5b3410SRobert Richter			device_type = "serial";
660ca5b3410SRobert Richter			compatible = "ns16550a";
661ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
662ca5b3410SRobert Richter			reg-shift = <2>;
663ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
664ca5b3410SRobert Richter			interrupt-parent = <&gic>;
665ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
666ca5b3410SRobert Richter		};
667ca5b3410SRobert Richter
668ca5b3410SRobert Richter		phy1: phy@1f21a000 {
669ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
670ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
671ca5b3410SRobert Richter			#phy-cells = <1>;
672ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
673ca5b3410SRobert Richter			status = "disabled";
674ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
675ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
676ca5b3410SRobert Richter		};
677ca5b3410SRobert Richter
678ca5b3410SRobert Richter		phy2: phy@1f22a000 {
679ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
680ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
681ca5b3410SRobert Richter			#phy-cells = <1>;
682ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
683ca5b3410SRobert Richter			status = "ok";
684ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
685ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
686ca5b3410SRobert Richter		};
687ca5b3410SRobert Richter
688ca5b3410SRobert Richter		phy3: phy@1f23a000 {
689ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
690ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
691ca5b3410SRobert Richter			#phy-cells = <1>;
692ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
693ca5b3410SRobert Richter			status = "ok";
694ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
695ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
696ca5b3410SRobert Richter		};
697ca5b3410SRobert Richter
698ca5b3410SRobert Richter		sata1: sata@1a000000 {
699ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
700ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
701ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
702ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
703ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
704ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
705ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
706ca5b3410SRobert Richter			dma-coherent;
707ca5b3410SRobert Richter			status = "disabled";
708ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
709ca5b3410SRobert Richter			phys = <&phy1 0>;
710ca5b3410SRobert Richter			phy-names = "sata-phy";
711ca5b3410SRobert Richter		};
712ca5b3410SRobert Richter
713ca5b3410SRobert Richter		sata2: sata@1a400000 {
714ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
715ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
716ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
717ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
718ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
719ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
720ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
721ca5b3410SRobert Richter			dma-coherent;
722ca5b3410SRobert Richter			status = "ok";
723ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
724ca5b3410SRobert Richter			phys = <&phy2 0>;
725ca5b3410SRobert Richter			phy-names = "sata-phy";
726ca5b3410SRobert Richter		};
727ca5b3410SRobert Richter
728ca5b3410SRobert Richter		sata3: sata@1a800000 {
729ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
730ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
731ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
732ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
733ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
734ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
735ca5b3410SRobert Richter			dma-coherent;
736ca5b3410SRobert Richter			status = "ok";
737ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
738ca5b3410SRobert Richter			phys = <&phy3 0>;
739ca5b3410SRobert Richter			phy-names = "sata-phy";
740ca5b3410SRobert Richter		};
741ca5b3410SRobert Richter
742ea21feb3SY Vo		sbgpio: sbgpio@17001000{
743ea21feb3SY Vo			compatible = "apm,xgene-gpio-sb";
744ea21feb3SY Vo			reg = <0x0 0x17001000 0x0 0x400>;
745ea21feb3SY Vo			#gpio-cells = <2>;
746ea21feb3SY Vo			gpio-controller;
747ea21feb3SY Vo			interrupts = 	<0x0 0x28 0x1>,
748ea21feb3SY Vo					<0x0 0x29 0x1>,
749ea21feb3SY Vo					<0x0 0x2a 0x1>,
750ea21feb3SY Vo					<0x0 0x2b 0x1>,
751ea21feb3SY Vo					<0x0 0x2c 0x1>,
752ea21feb3SY Vo					<0x0 0x2d 0x1>;
753ea21feb3SY Vo		};
754ea21feb3SY Vo
755ca5b3410SRobert Richter		rtc: rtc@10510000 {
756ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
757ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
758ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
759ca5b3410SRobert Richter			#clock-cells = <1>;
760ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
761ca5b3410SRobert Richter		};
762ca5b3410SRobert Richter
763ca5b3410SRobert Richter		menet: ethernet@17020000 {
764ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
765ca5b3410SRobert Richter			status = "disabled";
766ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
7676c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
768ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
769ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
770ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
771ca5b3410SRobert Richter			dma-coherent;
772ca5b3410SRobert Richter			clocks = <&menetclk 0>;
773ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
774ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
775ca5b3410SRobert Richter			phy-connection-type = "rgmii";
776ca5b3410SRobert Richter			phy-handle = <&menetphy>;
777ca5b3410SRobert Richter			mdio {
778ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
779ca5b3410SRobert Richter				#address-cells = <1>;
780ca5b3410SRobert Richter				#size-cells = <0>;
781ca5b3410SRobert Richter				menetphy: menetphy@3 {
782ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
783ca5b3410SRobert Richter					reg = <0x3>;
784ca5b3410SRobert Richter				};
785ca5b3410SRobert Richter
786ca5b3410SRobert Richter			};
787ca5b3410SRobert Richter		};
788ca5b3410SRobert Richter
789ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
7902a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
791ca5b3410SRobert Richter			status = "disabled";
7926c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
7936c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
7946c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
795ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
796d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
797d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
798ca5b3410SRobert Richter			dma-coherent;
799ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
800ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
801ca5b3410SRobert Richter			phy-connection-type = "sgmii";
802ca5b3410SRobert Richter		};
803ca5b3410SRobert Richter
8042d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
8052d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
8062d33394eSKeyur Chudgar			status = "disabled";
8072d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
8082d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
8092d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
8102d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
811d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
812d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
8132d33394eSKeyur Chudgar			port-id = <1>;
8142d33394eSKeyur Chudgar			dma-coherent;
8152d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
8162d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
8172d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
8182d33394eSKeyur Chudgar		};
8192d33394eSKeyur Chudgar
820ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
8212a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
822ca5b3410SRobert Richter			status = "disabled";
823ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
8246c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
825ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
826ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
827d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
828d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
829ca5b3410SRobert Richter			dma-coherent;
830ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
831ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
832ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
833ca5b3410SRobert Richter			phy-connection-type = "xgmii";
834ca5b3410SRobert Richter		};
835ca5b3410SRobert Richter
836ca5b3410SRobert Richter		rng: rng@10520000 {
837ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
838ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
839ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
840ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
841ca5b3410SRobert Richter		};
84274e353e1SRameshwar Prasad Sahu
84374e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
84474e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
84574e353e1SRameshwar Prasad Sahu			device_type = "dma";
84674e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
84774e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
848cda8e937SRameshwar Prasad Sahu			      <0x0 0x1b000000 0x0 0x400000>,
84974e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
85074e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
85174e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
85274e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
85374e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
85474e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
85574e353e1SRameshwar Prasad Sahu			dma-coherent;
85674e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
85774e353e1SRameshwar Prasad Sahu		};
858ca5b3410SRobert Richter	};
859ca5b3410SRobert Richter};
860