xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision 8f2ae6f30d5e935c9d7f18b869df66e307d41793)
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
100ca5b3410SRobert Richter	soc {
101ca5b3410SRobert Richter		compatible = "simple-bus";
102ca5b3410SRobert Richter		#address-cells = <2>;
103ca5b3410SRobert Richter		#size-cells = <2>;
104ca5b3410SRobert Richter		ranges;
10574e353e1SRameshwar Prasad Sahu		dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>;
106ca5b3410SRobert Richter
107ca5b3410SRobert Richter		clocks {
108ca5b3410SRobert Richter			#address-cells = <2>;
109ca5b3410SRobert Richter			#size-cells = <2>;
110ca5b3410SRobert Richter			ranges;
111ca5b3410SRobert Richter			refclk: refclk {
112ca5b3410SRobert Richter				compatible = "fixed-clock";
113ca5b3410SRobert Richter				#clock-cells = <1>;
114ca5b3410SRobert Richter				clock-frequency = <100000000>;
115ca5b3410SRobert Richter				clock-output-names = "refclk";
116ca5b3410SRobert Richter			};
117ca5b3410SRobert Richter
118ca5b3410SRobert Richter			pcppll: pcppll@17000100 {
119ca5b3410SRobert Richter				compatible = "apm,xgene-pcppll-clock";
120ca5b3410SRobert Richter				#clock-cells = <1>;
121ca5b3410SRobert Richter				clocks = <&refclk 0>;
122ca5b3410SRobert Richter				clock-names = "pcppll";
123ca5b3410SRobert Richter				reg = <0x0 0x17000100 0x0 0x1000>;
124ca5b3410SRobert Richter				clock-output-names = "pcppll";
125ca5b3410SRobert Richter				type = <0>;
126ca5b3410SRobert Richter			};
127ca5b3410SRobert Richter
128ca5b3410SRobert Richter			socpll: socpll@17000120 {
129ca5b3410SRobert Richter				compatible = "apm,xgene-socpll-clock";
130ca5b3410SRobert Richter				#clock-cells = <1>;
131ca5b3410SRobert Richter				clocks = <&refclk 0>;
132ca5b3410SRobert Richter				clock-names = "socpll";
133ca5b3410SRobert Richter				reg = <0x0 0x17000120 0x0 0x1000>;
134ca5b3410SRobert Richter				clock-output-names = "socpll";
135ca5b3410SRobert Richter				type = <1>;
136ca5b3410SRobert Richter			};
137ca5b3410SRobert Richter
138ca5b3410SRobert Richter			socplldiv2: socplldiv2  {
139ca5b3410SRobert Richter				compatible = "fixed-factor-clock";
140ca5b3410SRobert Richter				#clock-cells = <1>;
141ca5b3410SRobert Richter				clocks = <&socpll 0>;
142ca5b3410SRobert Richter				clock-names = "socplldiv2";
143ca5b3410SRobert Richter				clock-mult = <1>;
144ca5b3410SRobert Richter				clock-div = <2>;
145ca5b3410SRobert Richter				clock-output-names = "socplldiv2";
146ca5b3410SRobert Richter			};
147ca5b3410SRobert Richter
148ca5b3410SRobert Richter			qmlclk: qmlclk {
149ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
150ca5b3410SRobert Richter				#clock-cells = <1>;
151ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
152ca5b3410SRobert Richter				clock-names = "qmlclk";
153ca5b3410SRobert Richter				reg = <0x0 0x1703C000 0x0 0x1000>;
154ca5b3410SRobert Richter				reg-names = "csr-reg";
155ca5b3410SRobert Richter				clock-output-names = "qmlclk";
156ca5b3410SRobert Richter			};
157ca5b3410SRobert Richter
158ca5b3410SRobert Richter			ethclk: ethclk {
159ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
160ca5b3410SRobert Richter				#clock-cells = <1>;
161ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
162ca5b3410SRobert Richter				clock-names = "ethclk";
163ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x1000>;
164ca5b3410SRobert Richter				reg-names = "div-reg";
165ca5b3410SRobert Richter				divider-offset = <0x238>;
166ca5b3410SRobert Richter				divider-width = <0x9>;
167ca5b3410SRobert Richter				divider-shift = <0x0>;
168ca5b3410SRobert Richter				clock-output-names = "ethclk";
169ca5b3410SRobert Richter			};
170ca5b3410SRobert Richter
171ca5b3410SRobert Richter			menetclk: menetclk {
172ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
173ca5b3410SRobert Richter				#clock-cells = <1>;
174ca5b3410SRobert Richter				clocks = <&ethclk 0>;
175ca5b3410SRobert Richter				reg = <0x0 0x1702C000 0x0 0x1000>;
176ca5b3410SRobert Richter				reg-names = "csr-reg";
177ca5b3410SRobert Richter				clock-output-names = "menetclk";
178ca5b3410SRobert Richter			};
179ca5b3410SRobert Richter
180ca5b3410SRobert Richter			sge0clk: sge0clk@1f21c000 {
181ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
182ca5b3410SRobert Richter				#clock-cells = <1>;
183ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
184ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
185ca5b3410SRobert Richter				reg-names = "csr-reg";
186ca5b3410SRobert Richter				csr-mask = <0x3>;
187ca5b3410SRobert Richter				clock-output-names = "sge0clk";
188ca5b3410SRobert Richter			};
189ca5b3410SRobert Richter
1902d33394eSKeyur Chudgar			sge1clk: sge1clk@1f21c000 {
1912d33394eSKeyur Chudgar				compatible = "apm,xgene-device-clock";
1922d33394eSKeyur Chudgar				#clock-cells = <1>;
1932d33394eSKeyur Chudgar				clocks = <&socplldiv2 0>;
1942d33394eSKeyur Chudgar				reg = <0x0 0x1f21c000 0x0 0x1000>;
1952d33394eSKeyur Chudgar				reg-names = "csr-reg";
1962d33394eSKeyur Chudgar				csr-mask = <0xc>;
1972d33394eSKeyur Chudgar				clock-output-names = "sge1clk";
1982d33394eSKeyur Chudgar			};
1992d33394eSKeyur Chudgar
200ca5b3410SRobert Richter			xge0clk: xge0clk@1f61c000 {
201ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
202ca5b3410SRobert Richter				#clock-cells = <1>;
203ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
204ca5b3410SRobert Richter				reg = <0x0 0x1f61c000 0x0 0x1000>;
205ca5b3410SRobert Richter				reg-names = "csr-reg";
206ca5b3410SRobert Richter				csr-mask = <0x3>;
207ca5b3410SRobert Richter				clock-output-names = "xge0clk";
208ca5b3410SRobert Richter			};
209ca5b3410SRobert Richter
210ca5b3410SRobert Richter			sataphy1clk: sataphy1clk@1f21c000 {
211ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
212ca5b3410SRobert Richter				#clock-cells = <1>;
213ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
214ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
215ca5b3410SRobert Richter				reg-names = "csr-reg";
216ca5b3410SRobert Richter				clock-output-names = "sataphy1clk";
217ca5b3410SRobert Richter				status = "disabled";
218ca5b3410SRobert Richter				csr-offset = <0x4>;
219ca5b3410SRobert Richter				csr-mask = <0x00>;
220ca5b3410SRobert Richter				enable-offset = <0x0>;
221ca5b3410SRobert Richter				enable-mask = <0x06>;
222ca5b3410SRobert Richter			};
223ca5b3410SRobert Richter
224ca5b3410SRobert Richter			sataphy2clk: sataphy1clk@1f22c000 {
225ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
226ca5b3410SRobert Richter				#clock-cells = <1>;
227ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
228ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
229ca5b3410SRobert Richter				reg-names = "csr-reg";
230ca5b3410SRobert Richter				clock-output-names = "sataphy2clk";
231ca5b3410SRobert Richter				status = "ok";
232ca5b3410SRobert Richter				csr-offset = <0x4>;
233ca5b3410SRobert Richter				csr-mask = <0x3a>;
234ca5b3410SRobert Richter				enable-offset = <0x0>;
235ca5b3410SRobert Richter				enable-mask = <0x06>;
236ca5b3410SRobert Richter			};
237ca5b3410SRobert Richter
238ca5b3410SRobert Richter			sataphy3clk: sataphy1clk@1f23c000 {
239ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
240ca5b3410SRobert Richter				#clock-cells = <1>;
241ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
242ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
243ca5b3410SRobert Richter				reg-names = "csr-reg";
244ca5b3410SRobert Richter				clock-output-names = "sataphy3clk";
245ca5b3410SRobert Richter				status = "ok";
246ca5b3410SRobert Richter				csr-offset = <0x4>;
247ca5b3410SRobert Richter				csr-mask = <0x3a>;
248ca5b3410SRobert Richter				enable-offset = <0x0>;
249ca5b3410SRobert Richter				enable-mask = <0x06>;
250ca5b3410SRobert Richter			};
251ca5b3410SRobert Richter
252ca5b3410SRobert Richter			sata01clk: sata01clk@1f21c000 {
253ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
254ca5b3410SRobert Richter				#clock-cells = <1>;
255ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
256ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
257ca5b3410SRobert Richter				reg-names = "csr-reg";
258ca5b3410SRobert Richter				clock-output-names = "sata01clk";
259ca5b3410SRobert Richter				csr-offset = <0x4>;
260ca5b3410SRobert Richter				csr-mask = <0x05>;
261ca5b3410SRobert Richter				enable-offset = <0x0>;
262ca5b3410SRobert Richter				enable-mask = <0x39>;
263ca5b3410SRobert Richter			};
264ca5b3410SRobert Richter
265ca5b3410SRobert Richter			sata23clk: sata23clk@1f22c000 {
266ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
267ca5b3410SRobert Richter				#clock-cells = <1>;
268ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
269ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
270ca5b3410SRobert Richter				reg-names = "csr-reg";
271ca5b3410SRobert Richter				clock-output-names = "sata23clk";
272ca5b3410SRobert Richter				csr-offset = <0x4>;
273ca5b3410SRobert Richter				csr-mask = <0x05>;
274ca5b3410SRobert Richter				enable-offset = <0x0>;
275ca5b3410SRobert Richter				enable-mask = <0x39>;
276ca5b3410SRobert Richter			};
277ca5b3410SRobert Richter
278ca5b3410SRobert Richter			sata45clk: sata45clk@1f23c000 {
279ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
280ca5b3410SRobert Richter				#clock-cells = <1>;
281ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
282ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
283ca5b3410SRobert Richter				reg-names = "csr-reg";
284ca5b3410SRobert Richter				clock-output-names = "sata45clk";
285ca5b3410SRobert Richter				csr-offset = <0x4>;
286ca5b3410SRobert Richter				csr-mask = <0x05>;
287ca5b3410SRobert Richter				enable-offset = <0x0>;
288ca5b3410SRobert Richter				enable-mask = <0x39>;
289ca5b3410SRobert Richter			};
290ca5b3410SRobert Richter
291ca5b3410SRobert Richter			rtcclk: rtcclk@17000000 {
292ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
293ca5b3410SRobert Richter				#clock-cells = <1>;
294ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
295ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
296ca5b3410SRobert Richter				reg-names = "csr-reg";
297ca5b3410SRobert Richter				csr-offset = <0xc>;
298ca5b3410SRobert Richter				csr-mask = <0x2>;
299ca5b3410SRobert Richter				enable-offset = <0x10>;
300ca5b3410SRobert Richter				enable-mask = <0x2>;
301ca5b3410SRobert Richter				clock-output-names = "rtcclk";
302ca5b3410SRobert Richter			};
303ca5b3410SRobert Richter
304ca5b3410SRobert Richter			rngpkaclk: rngpkaclk@17000000 {
305ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
306ca5b3410SRobert Richter				#clock-cells = <1>;
307ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
308ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
309ca5b3410SRobert Richter				reg-names = "csr-reg";
310ca5b3410SRobert Richter				csr-offset = <0xc>;
311ca5b3410SRobert Richter				csr-mask = <0x10>;
312ca5b3410SRobert Richter				enable-offset = <0x10>;
313ca5b3410SRobert Richter				enable-mask = <0x10>;
314ca5b3410SRobert Richter				clock-output-names = "rngpkaclk";
315ca5b3410SRobert Richter			};
316ca5b3410SRobert Richter
317ca5b3410SRobert Richter			pcie0clk: pcie0clk@1f2bc000 {
318ca5b3410SRobert Richter				status = "disabled";
319ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
320ca5b3410SRobert Richter				#clock-cells = <1>;
321ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
322ca5b3410SRobert Richter				reg = <0x0 0x1f2bc000 0x0 0x1000>;
323ca5b3410SRobert Richter				reg-names = "csr-reg";
324ca5b3410SRobert Richter				clock-output-names = "pcie0clk";
325ca5b3410SRobert Richter			};
326ca5b3410SRobert Richter
327ca5b3410SRobert Richter			pcie1clk: pcie1clk@1f2cc000 {
328ca5b3410SRobert Richter				status = "disabled";
329ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
330ca5b3410SRobert Richter				#clock-cells = <1>;
331ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
332ca5b3410SRobert Richter				reg = <0x0 0x1f2cc000 0x0 0x1000>;
333ca5b3410SRobert Richter				reg-names = "csr-reg";
334ca5b3410SRobert Richter				clock-output-names = "pcie1clk";
335ca5b3410SRobert Richter			};
336ca5b3410SRobert Richter
337ca5b3410SRobert Richter			pcie2clk: pcie2clk@1f2dc000 {
338ca5b3410SRobert Richter				status = "disabled";
339ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
340ca5b3410SRobert Richter				#clock-cells = <1>;
341ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
342ca5b3410SRobert Richter				reg = <0x0 0x1f2dc000 0x0 0x1000>;
343ca5b3410SRobert Richter				reg-names = "csr-reg";
344ca5b3410SRobert Richter				clock-output-names = "pcie2clk";
345ca5b3410SRobert Richter			};
346ca5b3410SRobert Richter
347ca5b3410SRobert Richter			pcie3clk: pcie3clk@1f50c000 {
348ca5b3410SRobert Richter				status = "disabled";
349ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
350ca5b3410SRobert Richter				#clock-cells = <1>;
351ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
352ca5b3410SRobert Richter				reg = <0x0 0x1f50c000 0x0 0x1000>;
353ca5b3410SRobert Richter				reg-names = "csr-reg";
354ca5b3410SRobert Richter				clock-output-names = "pcie3clk";
355ca5b3410SRobert Richter			};
356ca5b3410SRobert Richter
357ca5b3410SRobert Richter			pcie4clk: pcie4clk@1f51c000 {
358ca5b3410SRobert Richter				status = "disabled";
359ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
360ca5b3410SRobert Richter				#clock-cells = <1>;
361ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
362ca5b3410SRobert Richter				reg = <0x0 0x1f51c000 0x0 0x1000>;
363ca5b3410SRobert Richter				reg-names = "csr-reg";
364ca5b3410SRobert Richter				clock-output-names = "pcie4clk";
365ca5b3410SRobert Richter			};
36674e353e1SRameshwar Prasad Sahu
36774e353e1SRameshwar Prasad Sahu			dmaclk: dmaclk@1f27c000 {
36874e353e1SRameshwar Prasad Sahu				compatible = "apm,xgene-device-clock";
36974e353e1SRameshwar Prasad Sahu				#clock-cells = <1>;
37074e353e1SRameshwar Prasad Sahu				clocks = <&socplldiv2 0>;
37174e353e1SRameshwar Prasad Sahu				reg = <0x0 0x1f27c000 0x0 0x1000>;
37274e353e1SRameshwar Prasad Sahu				reg-names = "csr-reg";
37374e353e1SRameshwar Prasad Sahu				clock-output-names = "dmaclk";
37474e353e1SRameshwar Prasad Sahu			};
375ca5b3410SRobert Richter		};
376ca5b3410SRobert Richter
377*8f2ae6f3SLoc Ho		csw: csw@7e200000 {
378*8f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
379*8f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
380*8f2ae6f3SLoc Ho		};
381*8f2ae6f3SLoc Ho
382*8f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
383*8f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
384*8f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
385*8f2ae6f3SLoc Ho		};
386*8f2ae6f3SLoc Ho
387*8f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
388*8f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
389*8f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
390*8f2ae6f3SLoc Ho		};
391*8f2ae6f3SLoc Ho
392*8f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
393*8f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
394*8f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
395*8f2ae6f3SLoc Ho		};
396*8f2ae6f3SLoc Ho
397*8f2ae6f3SLoc Ho		edac@78800000 {
398*8f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
399*8f2ae6f3SLoc Ho			#address-cells = <2>;
400*8f2ae6f3SLoc Ho			#size-cells = <2>;
401*8f2ae6f3SLoc Ho			ranges;
402*8f2ae6f3SLoc Ho			regmap-csw = <&csw>;
403*8f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
404*8f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
405*8f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
406*8f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
407*8f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
408*8f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
409*8f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
410*8f2ae6f3SLoc Ho
411*8f2ae6f3SLoc Ho			edacmc@7e800000 {
412*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
413*8f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
414*8f2ae6f3SLoc Ho				memory-controller = <0>;
415*8f2ae6f3SLoc Ho			};
416*8f2ae6f3SLoc Ho
417*8f2ae6f3SLoc Ho			edacmc@7e840000 {
418*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
419*8f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
420*8f2ae6f3SLoc Ho				memory-controller = <1>;
421*8f2ae6f3SLoc Ho			};
422*8f2ae6f3SLoc Ho
423*8f2ae6f3SLoc Ho			edacmc@7e880000 {
424*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
425*8f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
426*8f2ae6f3SLoc Ho				memory-controller = <2>;
427*8f2ae6f3SLoc Ho			};
428*8f2ae6f3SLoc Ho
429*8f2ae6f3SLoc Ho			edacmc@7e8c0000 {
430*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
431*8f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
432*8f2ae6f3SLoc Ho				memory-controller = <3>;
433*8f2ae6f3SLoc Ho			};
434*8f2ae6f3SLoc Ho
435*8f2ae6f3SLoc Ho			edacpmd@7c000000 {
436*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
437*8f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
438*8f2ae6f3SLoc Ho				pmd-controller = <0>;
439*8f2ae6f3SLoc Ho			};
440*8f2ae6f3SLoc Ho
441*8f2ae6f3SLoc Ho			edacpmd@7c200000 {
442*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
443*8f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
444*8f2ae6f3SLoc Ho				pmd-controller = <1>;
445*8f2ae6f3SLoc Ho			};
446*8f2ae6f3SLoc Ho
447*8f2ae6f3SLoc Ho			edacpmd@7c400000 {
448*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
449*8f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
450*8f2ae6f3SLoc Ho				pmd-controller = <2>;
451*8f2ae6f3SLoc Ho			};
452*8f2ae6f3SLoc Ho
453*8f2ae6f3SLoc Ho			edacpmd@7c600000 {
454*8f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
455*8f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
456*8f2ae6f3SLoc Ho				pmd-controller = <3>;
457*8f2ae6f3SLoc Ho			};
458*8f2ae6f3SLoc Ho		};
459*8f2ae6f3SLoc Ho
460ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
461ca5b3410SRobert Richter			status = "disabled";
462ca5b3410SRobert Richter			device_type = "pci";
463ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
464ca5b3410SRobert Richter			#interrupt-cells = <1>;
465ca5b3410SRobert Richter			#size-cells = <2>;
466ca5b3410SRobert Richter			#address-cells = <3>;
467ca5b3410SRobert Richter			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
468ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
469ca5b3410SRobert Richter			reg-names = "csr", "cfg";
470ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
471ca5b3410SRobert Richter				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */
472ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
473ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
474ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
475ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
476ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
477ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
478ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
479ca5b3410SRobert Richter			dma-coherent;
480ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
481ca5b3410SRobert Richter		};
482ca5b3410SRobert Richter
483ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
484ca5b3410SRobert Richter			status = "disabled";
485ca5b3410SRobert Richter			device_type = "pci";
486ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
487ca5b3410SRobert Richter			#interrupt-cells = <1>;
488ca5b3410SRobert Richter			#size-cells = <2>;
489ca5b3410SRobert Richter			#address-cells = <3>;
490ca5b3410SRobert Richter			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
491ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
492ca5b3410SRobert Richter			reg-names = "csr", "cfg";
493ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
494ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0xd1 0x80000000 0x00 0x80000000>; /* mem */
495ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
496ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
497ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
498ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
499ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
500ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
501ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
502ca5b3410SRobert Richter			dma-coherent;
503ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
504ca5b3410SRobert Richter		};
505ca5b3410SRobert Richter
506ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
507ca5b3410SRobert Richter			status = "disabled";
508ca5b3410SRobert Richter			device_type = "pci";
509ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
510ca5b3410SRobert Richter			#interrupt-cells = <1>;
511ca5b3410SRobert Richter			#size-cells = <2>;
512ca5b3410SRobert Richter			#address-cells = <3>;
513ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
514ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
515ca5b3410SRobert Richter			reg-names = "csr", "cfg";
516ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0x90 0x10000000 0x0 0x00010000   /* io  */
517ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0x91 0x80000000 0x0 0x80000000>; /* mem */
518ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
519ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
520ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
521ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
522ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
523ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
524ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
525ca5b3410SRobert Richter			dma-coherent;
526ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
527ca5b3410SRobert Richter		};
528ca5b3410SRobert Richter
529ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
530ca5b3410SRobert Richter			status = "disabled";
531ca5b3410SRobert Richter			device_type = "pci";
532ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
533ca5b3410SRobert Richter			#interrupt-cells = <1>;
534ca5b3410SRobert Richter			#size-cells = <2>;
535ca5b3410SRobert Richter			#address-cells = <3>;
536ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
537ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
538ca5b3410SRobert Richter			reg-names = "csr", "cfg";
539ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0xa0 0x10000000 0x0 0x00010000   /* io   */
540ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0xa1 0x80000000 0x0 0x80000000>; /* mem  */
541ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
542ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
543ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
544ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
545ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
546ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
547ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
548ca5b3410SRobert Richter			dma-coherent;
549ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
550ca5b3410SRobert Richter		};
551ca5b3410SRobert Richter
552ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
553ca5b3410SRobert Richter			status = "disabled";
554ca5b3410SRobert Richter			device_type = "pci";
555ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
556ca5b3410SRobert Richter			#interrupt-cells = <1>;
557ca5b3410SRobert Richter			#size-cells = <2>;
558ca5b3410SRobert Richter			#address-cells = <3>;
559ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
560ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
561ca5b3410SRobert Richter			reg-names = "csr", "cfg";
562ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0xc0 0x10000000 0x0 0x00010000   /* io  */
563ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0xc1 0x80000000 0x0 0x80000000>; /* mem */
564ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
565ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
566ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
567ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
568ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
569ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
570ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
571ca5b3410SRobert Richter			dma-coherent;
572ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
573ca5b3410SRobert Richter		};
574ca5b3410SRobert Richter
575ca5b3410SRobert Richter		serial0: serial@1c020000 {
576ca5b3410SRobert Richter			status = "disabled";
577ca5b3410SRobert Richter			device_type = "serial";
578ca5b3410SRobert Richter			compatible = "ns16550a";
579ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
580ca5b3410SRobert Richter			reg-shift = <2>;
581ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
582ca5b3410SRobert Richter			interrupt-parent = <&gic>;
583ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
584ca5b3410SRobert Richter		};
585ca5b3410SRobert Richter
586ca5b3410SRobert Richter		serial1: serial@1c021000 {
587ca5b3410SRobert Richter			status = "disabled";
588ca5b3410SRobert Richter			device_type = "serial";
589ca5b3410SRobert Richter			compatible = "ns16550a";
590ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
591ca5b3410SRobert Richter			reg-shift = <2>;
592ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
593ca5b3410SRobert Richter			interrupt-parent = <&gic>;
594ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
595ca5b3410SRobert Richter		};
596ca5b3410SRobert Richter
597ca5b3410SRobert Richter		serial2: serial@1c022000 {
598ca5b3410SRobert Richter			status = "disabled";
599ca5b3410SRobert Richter			device_type = "serial";
600ca5b3410SRobert Richter			compatible = "ns16550a";
601ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
602ca5b3410SRobert Richter			reg-shift = <2>;
603ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
604ca5b3410SRobert Richter			interrupt-parent = <&gic>;
605ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
606ca5b3410SRobert Richter		};
607ca5b3410SRobert Richter
608ca5b3410SRobert Richter		serial3: serial@1c023000 {
609ca5b3410SRobert Richter			status = "disabled";
610ca5b3410SRobert Richter			device_type = "serial";
611ca5b3410SRobert Richter			compatible = "ns16550a";
612ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
613ca5b3410SRobert Richter			reg-shift = <2>;
614ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
615ca5b3410SRobert Richter			interrupt-parent = <&gic>;
616ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
617ca5b3410SRobert Richter		};
618ca5b3410SRobert Richter
619ca5b3410SRobert Richter		phy1: phy@1f21a000 {
620ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
621ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
622ca5b3410SRobert Richter			#phy-cells = <1>;
623ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
624ca5b3410SRobert Richter			status = "disabled";
625ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
626ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
627ca5b3410SRobert Richter		};
628ca5b3410SRobert Richter
629ca5b3410SRobert Richter		phy2: phy@1f22a000 {
630ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
631ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
632ca5b3410SRobert Richter			#phy-cells = <1>;
633ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
634ca5b3410SRobert Richter			status = "ok";
635ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
636ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
637ca5b3410SRobert Richter		};
638ca5b3410SRobert Richter
639ca5b3410SRobert Richter		phy3: phy@1f23a000 {
640ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
641ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
642ca5b3410SRobert Richter			#phy-cells = <1>;
643ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
644ca5b3410SRobert Richter			status = "ok";
645ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
646ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
647ca5b3410SRobert Richter		};
648ca5b3410SRobert Richter
649ca5b3410SRobert Richter		sata1: sata@1a000000 {
650ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
651ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
652ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
653ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
654ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
655ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
656ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
657ca5b3410SRobert Richter			dma-coherent;
658ca5b3410SRobert Richter			status = "disabled";
659ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
660ca5b3410SRobert Richter			phys = <&phy1 0>;
661ca5b3410SRobert Richter			phy-names = "sata-phy";
662ca5b3410SRobert Richter		};
663ca5b3410SRobert Richter
664ca5b3410SRobert Richter		sata2: sata@1a400000 {
665ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
666ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
667ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
668ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
669ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
670ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
671ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
672ca5b3410SRobert Richter			dma-coherent;
673ca5b3410SRobert Richter			status = "ok";
674ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
675ca5b3410SRobert Richter			phys = <&phy2 0>;
676ca5b3410SRobert Richter			phy-names = "sata-phy";
677ca5b3410SRobert Richter		};
678ca5b3410SRobert Richter
679ca5b3410SRobert Richter		sata3: sata@1a800000 {
680ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
681ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
682ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
683ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
684ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
685ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
686ca5b3410SRobert Richter			dma-coherent;
687ca5b3410SRobert Richter			status = "ok";
688ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
689ca5b3410SRobert Richter			phys = <&phy3 0>;
690ca5b3410SRobert Richter			phy-names = "sata-phy";
691ca5b3410SRobert Richter		};
692ca5b3410SRobert Richter
693ca5b3410SRobert Richter		rtc: rtc@10510000 {
694ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
695ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
696ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
697ca5b3410SRobert Richter			#clock-cells = <1>;
698ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
699ca5b3410SRobert Richter		};
700ca5b3410SRobert Richter
701ca5b3410SRobert Richter		menet: ethernet@17020000 {
702ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
703ca5b3410SRobert Richter			status = "disabled";
704ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
7056c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
706ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
707ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
708ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
709ca5b3410SRobert Richter			dma-coherent;
710ca5b3410SRobert Richter			clocks = <&menetclk 0>;
711ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
712ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
713ca5b3410SRobert Richter			phy-connection-type = "rgmii";
714ca5b3410SRobert Richter			phy-handle = <&menetphy>;
715ca5b3410SRobert Richter			mdio {
716ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
717ca5b3410SRobert Richter				#address-cells = <1>;
718ca5b3410SRobert Richter				#size-cells = <0>;
719ca5b3410SRobert Richter				menetphy: menetphy@3 {
720ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
721ca5b3410SRobert Richter					reg = <0x3>;
722ca5b3410SRobert Richter				};
723ca5b3410SRobert Richter
724ca5b3410SRobert Richter			};
725ca5b3410SRobert Richter		};
726ca5b3410SRobert Richter
727ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
7282a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
729ca5b3410SRobert Richter			status = "disabled";
7306c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
7316c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
7326c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
733ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
734d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
735d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
736ca5b3410SRobert Richter			dma-coherent;
737ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
738ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
739ca5b3410SRobert Richter			phy-connection-type = "sgmii";
740ca5b3410SRobert Richter		};
741ca5b3410SRobert Richter
7422d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
7432d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
7442d33394eSKeyur Chudgar			status = "disabled";
7452d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
7462d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
7472d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
7482d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
749d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
750d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
7512d33394eSKeyur Chudgar			port-id = <1>;
7522d33394eSKeyur Chudgar			dma-coherent;
7532d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
7542d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
7552d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
7562d33394eSKeyur Chudgar		};
7572d33394eSKeyur Chudgar
758ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
7592a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
760ca5b3410SRobert Richter			status = "disabled";
761ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
7626c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
763ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
764ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
765d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
766d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
767ca5b3410SRobert Richter			dma-coherent;
768ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
769ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
770ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
771ca5b3410SRobert Richter			phy-connection-type = "xgmii";
772ca5b3410SRobert Richter		};
773ca5b3410SRobert Richter
774ca5b3410SRobert Richter		rng: rng@10520000 {
775ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
776ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
777ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
778ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
779ca5b3410SRobert Richter		};
78074e353e1SRameshwar Prasad Sahu
78174e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
78274e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
78374e353e1SRameshwar Prasad Sahu			device_type = "dma";
78474e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
78574e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
78674e353e1SRameshwar Prasad Sahu			      <0x0 0x1b008000 0x0 0x2000>,
78774e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
78874e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
78974e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
79074e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
79174e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
79274e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
79374e353e1SRameshwar Prasad Sahu			dma-coherent;
79474e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
79574e353e1SRameshwar Prasad Sahu		};
796ca5b3410SRobert Richter	};
797ca5b3410SRobert Richter};
798