xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision 5c3a87e363c09242541620a777d5b73e89b6c245)
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
377e1e6e5c4SDuc Dang		msi: msi@79000000 {
378e1e6e5c4SDuc Dang			compatible = "apm,xgene1-msi";
379e1e6e5c4SDuc Dang			msi-controller;
380e1e6e5c4SDuc Dang			reg = <0x00 0x79000000 0x0 0x900000>;
381e1e6e5c4SDuc Dang			interrupts = <  0x0 0x10 0x4
382e1e6e5c4SDuc Dang					0x0 0x11 0x4
383e1e6e5c4SDuc Dang					0x0 0x12 0x4
384e1e6e5c4SDuc Dang					0x0 0x13 0x4
385e1e6e5c4SDuc Dang					0x0 0x14 0x4
386e1e6e5c4SDuc Dang					0x0 0x15 0x4
387e1e6e5c4SDuc Dang					0x0 0x16 0x4
388e1e6e5c4SDuc Dang					0x0 0x17 0x4
389e1e6e5c4SDuc Dang					0x0 0x18 0x4
390e1e6e5c4SDuc Dang					0x0 0x19 0x4
391e1e6e5c4SDuc Dang					0x0 0x1a 0x4
392e1e6e5c4SDuc Dang					0x0 0x1b 0x4
393e1e6e5c4SDuc Dang					0x0 0x1c 0x4
394e1e6e5c4SDuc Dang					0x0 0x1d 0x4
395e1e6e5c4SDuc Dang					0x0 0x1e 0x4
396e1e6e5c4SDuc Dang					0x0 0x1f 0x4>;
397e1e6e5c4SDuc Dang		};
398e1e6e5c4SDuc Dang
399*5c3a87e3SFeng Kan		scu: system-clk-controller@17000000 {
400*5c3a87e3SFeng Kan			compatible = "apm,xgene-scu","syscon";
401*5c3a87e3SFeng Kan			reg = <0x0 0x17000000 0x0 0x400>;
402*5c3a87e3SFeng Kan		};
403*5c3a87e3SFeng Kan
404*5c3a87e3SFeng Kan		reboot: reboot@17000014 {
405*5c3a87e3SFeng Kan			compatible = "syscon-reboot";
406*5c3a87e3SFeng Kan			regmap = <&scu>;
407*5c3a87e3SFeng Kan			offset = <0x14>;
408*5c3a87e3SFeng Kan			mask = <0x1>;
409*5c3a87e3SFeng Kan		};
410*5c3a87e3SFeng Kan
4118f2ae6f3SLoc Ho		csw: csw@7e200000 {
4128f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
4138f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
4148f2ae6f3SLoc Ho		};
4158f2ae6f3SLoc Ho
4168f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
4178f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4188f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
4198f2ae6f3SLoc Ho		};
4208f2ae6f3SLoc Ho
4218f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
4228f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4238f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
4248f2ae6f3SLoc Ho		};
4258f2ae6f3SLoc Ho
4268f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
4278f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
4288f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
4298f2ae6f3SLoc Ho		};
4308f2ae6f3SLoc Ho
4318f2ae6f3SLoc Ho		edac@78800000 {
4328f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
4338f2ae6f3SLoc Ho			#address-cells = <2>;
4348f2ae6f3SLoc Ho			#size-cells = <2>;
4358f2ae6f3SLoc Ho			ranges;
4368f2ae6f3SLoc Ho			regmap-csw = <&csw>;
4378f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
4388f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
4398f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
4408f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
4418f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
4428f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
4438f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
4448f2ae6f3SLoc Ho
4458f2ae6f3SLoc Ho			edacmc@7e800000 {
4468f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4478f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
4488f2ae6f3SLoc Ho				memory-controller = <0>;
4498f2ae6f3SLoc Ho			};
4508f2ae6f3SLoc Ho
4518f2ae6f3SLoc Ho			edacmc@7e840000 {
4528f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4538f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
4548f2ae6f3SLoc Ho				memory-controller = <1>;
4558f2ae6f3SLoc Ho			};
4568f2ae6f3SLoc Ho
4578f2ae6f3SLoc Ho			edacmc@7e880000 {
4588f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4598f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
4608f2ae6f3SLoc Ho				memory-controller = <2>;
4618f2ae6f3SLoc Ho			};
4628f2ae6f3SLoc Ho
4638f2ae6f3SLoc Ho			edacmc@7e8c0000 {
4648f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4658f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
4668f2ae6f3SLoc Ho				memory-controller = <3>;
4678f2ae6f3SLoc Ho			};
4688f2ae6f3SLoc Ho
4698f2ae6f3SLoc Ho			edacpmd@7c000000 {
4708f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4718f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
4728f2ae6f3SLoc Ho				pmd-controller = <0>;
4738f2ae6f3SLoc Ho			};
4748f2ae6f3SLoc Ho
4758f2ae6f3SLoc Ho			edacpmd@7c200000 {
4768f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4778f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
4788f2ae6f3SLoc Ho				pmd-controller = <1>;
4798f2ae6f3SLoc Ho			};
4808f2ae6f3SLoc Ho
4818f2ae6f3SLoc Ho			edacpmd@7c400000 {
4828f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4838f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
4848f2ae6f3SLoc Ho				pmd-controller = <2>;
4858f2ae6f3SLoc Ho			};
4868f2ae6f3SLoc Ho
4878f2ae6f3SLoc Ho			edacpmd@7c600000 {
4888f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4898f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
4908f2ae6f3SLoc Ho				pmd-controller = <3>;
4918f2ae6f3SLoc Ho			};
4928f2ae6f3SLoc Ho		};
4938f2ae6f3SLoc Ho
494ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
495ca5b3410SRobert Richter			status = "disabled";
496ca5b3410SRobert Richter			device_type = "pci";
497ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
498ca5b3410SRobert Richter			#interrupt-cells = <1>;
499ca5b3410SRobert Richter			#size-cells = <2>;
500ca5b3410SRobert Richter			#address-cells = <3>;
501ca5b3410SRobert Richter			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
502ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
503ca5b3410SRobert Richter			reg-names = "csr", "cfg";
504ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
50580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000   /* mem */
50680bb3edaSDuc Dang				  0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
507ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
508ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
509ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
510ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
511ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
512ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
513ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
514ca5b3410SRobert Richter			dma-coherent;
515ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
516e1e6e5c4SDuc Dang			msi-parent = <&msi>;
517ca5b3410SRobert Richter		};
518ca5b3410SRobert Richter
519ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
520ca5b3410SRobert Richter			status = "disabled";
521ca5b3410SRobert Richter			device_type = "pci";
522ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
523ca5b3410SRobert Richter			#interrupt-cells = <1>;
524ca5b3410SRobert Richter			#size-cells = <2>;
525ca5b3410SRobert Richter			#address-cells = <3>;
526ca5b3410SRobert Richter			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
527ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
528ca5b3410SRobert Richter			reg-names = "csr", "cfg";
52980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
53080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000   /* mem */
53180bb3edaSDuc Dang				  0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
532ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
533ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
534ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
535ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
536ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
537ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
538ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
539ca5b3410SRobert Richter			dma-coherent;
540ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
541e1e6e5c4SDuc Dang			msi-parent = <&msi>;
542ca5b3410SRobert Richter		};
543ca5b3410SRobert Richter
544ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
545ca5b3410SRobert Richter			status = "disabled";
546ca5b3410SRobert Richter			device_type = "pci";
547ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
548ca5b3410SRobert Richter			#interrupt-cells = <1>;
549ca5b3410SRobert Richter			#size-cells = <2>;
550ca5b3410SRobert Richter			#address-cells = <3>;
551ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
552ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
553ca5b3410SRobert Richter			reg-names = "csr", "cfg";
55480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000   /* io  */
55580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000   /* mem */
55680bb3edaSDuc Dang				  0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
557ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
558ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
559ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
560ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
561ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
562ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
563ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
564ca5b3410SRobert Richter			dma-coherent;
565ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
566e1e6e5c4SDuc Dang			msi-parent = <&msi>;
567ca5b3410SRobert Richter		};
568ca5b3410SRobert Richter
569ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
570ca5b3410SRobert Richter			status = "disabled";
571ca5b3410SRobert Richter			device_type = "pci";
572ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
573ca5b3410SRobert Richter			#interrupt-cells = <1>;
574ca5b3410SRobert Richter			#size-cells = <2>;
575ca5b3410SRobert Richter			#address-cells = <3>;
576ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
577ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
578ca5b3410SRobert Richter			reg-names = "csr", "cfg";
57980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io  */
58080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000   /* mem */
58180bb3edaSDuc Dang				  0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
582ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
583ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
584ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
585ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
586ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
587ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
588ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
589ca5b3410SRobert Richter			dma-coherent;
590ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
591e1e6e5c4SDuc Dang			msi-parent = <&msi>;
592ca5b3410SRobert Richter		};
593ca5b3410SRobert Richter
594ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
595ca5b3410SRobert Richter			status = "disabled";
596ca5b3410SRobert Richter			device_type = "pci";
597ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
598ca5b3410SRobert Richter			#interrupt-cells = <1>;
599ca5b3410SRobert Richter			#size-cells = <2>;
600ca5b3410SRobert Richter			#address-cells = <3>;
601ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
602ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
603ca5b3410SRobert Richter			reg-names = "csr", "cfg";
60480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io  */
60580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000   /* mem */
60680bb3edaSDuc Dang				  0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
607ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
608ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
609ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
610ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
611ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
612ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
613ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
614ca5b3410SRobert Richter			dma-coherent;
615ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
616e1e6e5c4SDuc Dang			msi-parent = <&msi>;
617ca5b3410SRobert Richter		};
618ca5b3410SRobert Richter
619ca5b3410SRobert Richter		serial0: serial@1c020000 {
620ca5b3410SRobert Richter			status = "disabled";
621ca5b3410SRobert Richter			device_type = "serial";
622ca5b3410SRobert Richter			compatible = "ns16550a";
623ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
624ca5b3410SRobert Richter			reg-shift = <2>;
625ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
626ca5b3410SRobert Richter			interrupt-parent = <&gic>;
627ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
628ca5b3410SRobert Richter		};
629ca5b3410SRobert Richter
630ca5b3410SRobert Richter		serial1: serial@1c021000 {
631ca5b3410SRobert Richter			status = "disabled";
632ca5b3410SRobert Richter			device_type = "serial";
633ca5b3410SRobert Richter			compatible = "ns16550a";
634ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
635ca5b3410SRobert Richter			reg-shift = <2>;
636ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
637ca5b3410SRobert Richter			interrupt-parent = <&gic>;
638ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
639ca5b3410SRobert Richter		};
640ca5b3410SRobert Richter
641ca5b3410SRobert Richter		serial2: serial@1c022000 {
642ca5b3410SRobert Richter			status = "disabled";
643ca5b3410SRobert Richter			device_type = "serial";
644ca5b3410SRobert Richter			compatible = "ns16550a";
645ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
646ca5b3410SRobert Richter			reg-shift = <2>;
647ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
648ca5b3410SRobert Richter			interrupt-parent = <&gic>;
649ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
650ca5b3410SRobert Richter		};
651ca5b3410SRobert Richter
652ca5b3410SRobert Richter		serial3: serial@1c023000 {
653ca5b3410SRobert Richter			status = "disabled";
654ca5b3410SRobert Richter			device_type = "serial";
655ca5b3410SRobert Richter			compatible = "ns16550a";
656ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
657ca5b3410SRobert Richter			reg-shift = <2>;
658ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
659ca5b3410SRobert Richter			interrupt-parent = <&gic>;
660ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
661ca5b3410SRobert Richter		};
662ca5b3410SRobert Richter
663ca5b3410SRobert Richter		phy1: phy@1f21a000 {
664ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
665ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
666ca5b3410SRobert Richter			#phy-cells = <1>;
667ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
668ca5b3410SRobert Richter			status = "disabled";
669ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
670ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
671ca5b3410SRobert Richter		};
672ca5b3410SRobert Richter
673ca5b3410SRobert Richter		phy2: phy@1f22a000 {
674ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
675ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
676ca5b3410SRobert Richter			#phy-cells = <1>;
677ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
678ca5b3410SRobert Richter			status = "ok";
679ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
680ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
681ca5b3410SRobert Richter		};
682ca5b3410SRobert Richter
683ca5b3410SRobert Richter		phy3: phy@1f23a000 {
684ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
685ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
686ca5b3410SRobert Richter			#phy-cells = <1>;
687ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
688ca5b3410SRobert Richter			status = "ok";
689ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
690ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
691ca5b3410SRobert Richter		};
692ca5b3410SRobert Richter
693ca5b3410SRobert Richter		sata1: sata@1a000000 {
694ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
695ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
696ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
697ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
698ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
699ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
700ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
701ca5b3410SRobert Richter			dma-coherent;
702ca5b3410SRobert Richter			status = "disabled";
703ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
704ca5b3410SRobert Richter			phys = <&phy1 0>;
705ca5b3410SRobert Richter			phy-names = "sata-phy";
706ca5b3410SRobert Richter		};
707ca5b3410SRobert Richter
708ca5b3410SRobert Richter		sata2: sata@1a400000 {
709ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
710ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
711ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
712ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
713ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
714ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
715ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
716ca5b3410SRobert Richter			dma-coherent;
717ca5b3410SRobert Richter			status = "ok";
718ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
719ca5b3410SRobert Richter			phys = <&phy2 0>;
720ca5b3410SRobert Richter			phy-names = "sata-phy";
721ca5b3410SRobert Richter		};
722ca5b3410SRobert Richter
723ca5b3410SRobert Richter		sata3: sata@1a800000 {
724ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
725ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
726ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
727ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
728ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
729ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
730ca5b3410SRobert Richter			dma-coherent;
731ca5b3410SRobert Richter			status = "ok";
732ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
733ca5b3410SRobert Richter			phys = <&phy3 0>;
734ca5b3410SRobert Richter			phy-names = "sata-phy";
735ca5b3410SRobert Richter		};
736ca5b3410SRobert Richter
737ea21feb3SY Vo		sbgpio: sbgpio@17001000{
738ea21feb3SY Vo			compatible = "apm,xgene-gpio-sb";
739ea21feb3SY Vo			reg = <0x0 0x17001000 0x0 0x400>;
740ea21feb3SY Vo			#gpio-cells = <2>;
741ea21feb3SY Vo			gpio-controller;
742ea21feb3SY Vo			interrupts = 	<0x0 0x28 0x1>,
743ea21feb3SY Vo					<0x0 0x29 0x1>,
744ea21feb3SY Vo					<0x0 0x2a 0x1>,
745ea21feb3SY Vo					<0x0 0x2b 0x1>,
746ea21feb3SY Vo					<0x0 0x2c 0x1>,
747ea21feb3SY Vo					<0x0 0x2d 0x1>;
748ea21feb3SY Vo		};
749ea21feb3SY Vo
750ca5b3410SRobert Richter		rtc: rtc@10510000 {
751ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
752ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
753ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
754ca5b3410SRobert Richter			#clock-cells = <1>;
755ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
756ca5b3410SRobert Richter		};
757ca5b3410SRobert Richter
758ca5b3410SRobert Richter		menet: ethernet@17020000 {
759ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
760ca5b3410SRobert Richter			status = "disabled";
761ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
7626c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
763ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
764ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
765ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
766ca5b3410SRobert Richter			dma-coherent;
767ca5b3410SRobert Richter			clocks = <&menetclk 0>;
768ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
769ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
770ca5b3410SRobert Richter			phy-connection-type = "rgmii";
771ca5b3410SRobert Richter			phy-handle = <&menetphy>;
772ca5b3410SRobert Richter			mdio {
773ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
774ca5b3410SRobert Richter				#address-cells = <1>;
775ca5b3410SRobert Richter				#size-cells = <0>;
776ca5b3410SRobert Richter				menetphy: menetphy@3 {
777ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
778ca5b3410SRobert Richter					reg = <0x3>;
779ca5b3410SRobert Richter				};
780ca5b3410SRobert Richter
781ca5b3410SRobert Richter			};
782ca5b3410SRobert Richter		};
783ca5b3410SRobert Richter
784ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
7852a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
786ca5b3410SRobert Richter			status = "disabled";
7876c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
7886c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
7896c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
790ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
791d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
792d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
793ca5b3410SRobert Richter			dma-coherent;
794ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
795ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
796ca5b3410SRobert Richter			phy-connection-type = "sgmii";
797ca5b3410SRobert Richter		};
798ca5b3410SRobert Richter
7992d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
8002d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
8012d33394eSKeyur Chudgar			status = "disabled";
8022d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
8032d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
8042d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
8052d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
806d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
807d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
8082d33394eSKeyur Chudgar			port-id = <1>;
8092d33394eSKeyur Chudgar			dma-coherent;
8102d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
8112d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
8122d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
8132d33394eSKeyur Chudgar		};
8142d33394eSKeyur Chudgar
815ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
8162a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
817ca5b3410SRobert Richter			status = "disabled";
818ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
8196c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
820ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
821ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
822d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
823d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
824ca5b3410SRobert Richter			dma-coherent;
825ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
826ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
827ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
828ca5b3410SRobert Richter			phy-connection-type = "xgmii";
829ca5b3410SRobert Richter		};
830ca5b3410SRobert Richter
831ca5b3410SRobert Richter		rng: rng@10520000 {
832ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
833ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
834ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
835ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
836ca5b3410SRobert Richter		};
83774e353e1SRameshwar Prasad Sahu
83874e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
83974e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
84074e353e1SRameshwar Prasad Sahu			device_type = "dma";
84174e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
84274e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
843cda8e937SRameshwar Prasad Sahu			      <0x0 0x1b000000 0x0 0x400000>,
84474e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
84574e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
84674e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
84774e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
84874e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
84974e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
85074e353e1SRameshwar Prasad Sahu			dma-coherent;
85174e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
85274e353e1SRameshwar Prasad Sahu		};
853ca5b3410SRobert Richter	};
854ca5b3410SRobert Richter};
855