xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision cda8e937191c100025168ba3e22ab316c7298007)
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
3998f2ae6f3SLoc Ho		csw: csw@7e200000 {
4008f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
4018f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
4028f2ae6f3SLoc Ho		};
4038f2ae6f3SLoc Ho
4048f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
4058f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4068f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
4078f2ae6f3SLoc Ho		};
4088f2ae6f3SLoc Ho
4098f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
4108f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4118f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
4128f2ae6f3SLoc Ho		};
4138f2ae6f3SLoc Ho
4148f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
4158f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
4168f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
4178f2ae6f3SLoc Ho		};
4188f2ae6f3SLoc Ho
4198f2ae6f3SLoc Ho		edac@78800000 {
4208f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
4218f2ae6f3SLoc Ho			#address-cells = <2>;
4228f2ae6f3SLoc Ho			#size-cells = <2>;
4238f2ae6f3SLoc Ho			ranges;
4248f2ae6f3SLoc Ho			regmap-csw = <&csw>;
4258f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
4268f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
4278f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
4288f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
4298f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
4308f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
4318f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
4328f2ae6f3SLoc Ho
4338f2ae6f3SLoc Ho			edacmc@7e800000 {
4348f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4358f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
4368f2ae6f3SLoc Ho				memory-controller = <0>;
4378f2ae6f3SLoc Ho			};
4388f2ae6f3SLoc Ho
4398f2ae6f3SLoc Ho			edacmc@7e840000 {
4408f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4418f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
4428f2ae6f3SLoc Ho				memory-controller = <1>;
4438f2ae6f3SLoc Ho			};
4448f2ae6f3SLoc Ho
4458f2ae6f3SLoc Ho			edacmc@7e880000 {
4468f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4478f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
4488f2ae6f3SLoc Ho				memory-controller = <2>;
4498f2ae6f3SLoc Ho			};
4508f2ae6f3SLoc Ho
4518f2ae6f3SLoc Ho			edacmc@7e8c0000 {
4528f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4538f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
4548f2ae6f3SLoc Ho				memory-controller = <3>;
4558f2ae6f3SLoc Ho			};
4568f2ae6f3SLoc Ho
4578f2ae6f3SLoc Ho			edacpmd@7c000000 {
4588f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4598f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
4608f2ae6f3SLoc Ho				pmd-controller = <0>;
4618f2ae6f3SLoc Ho			};
4628f2ae6f3SLoc Ho
4638f2ae6f3SLoc Ho			edacpmd@7c200000 {
4648f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4658f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
4668f2ae6f3SLoc Ho				pmd-controller = <1>;
4678f2ae6f3SLoc Ho			};
4688f2ae6f3SLoc Ho
4698f2ae6f3SLoc Ho			edacpmd@7c400000 {
4708f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4718f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
4728f2ae6f3SLoc Ho				pmd-controller = <2>;
4738f2ae6f3SLoc Ho			};
4748f2ae6f3SLoc Ho
4758f2ae6f3SLoc Ho			edacpmd@7c600000 {
4768f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
4778f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
4788f2ae6f3SLoc Ho				pmd-controller = <3>;
4798f2ae6f3SLoc Ho			};
4808f2ae6f3SLoc Ho		};
4818f2ae6f3SLoc Ho
482ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
483ca5b3410SRobert Richter			status = "disabled";
484ca5b3410SRobert Richter			device_type = "pci";
485ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
486ca5b3410SRobert Richter			#interrupt-cells = <1>;
487ca5b3410SRobert Richter			#size-cells = <2>;
488ca5b3410SRobert Richter			#address-cells = <3>;
489ca5b3410SRobert Richter			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
490ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
491ca5b3410SRobert Richter			reg-names = "csr", "cfg";
492ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
493ca5b3410SRobert Richter				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */
494ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
495ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
496ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
497ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
498ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
499ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
500ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
501ca5b3410SRobert Richter			dma-coherent;
502ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
503e1e6e5c4SDuc Dang			msi-parent = <&msi>;
504ca5b3410SRobert Richter		};
505ca5b3410SRobert Richter
506ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
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 0x1f2c0000 0x0 0x00010000   /* Controller registers */
514ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
515ca5b3410SRobert Richter			reg-names = "csr", "cfg";
516ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
517ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0xd1 0x80000000 0x00 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 0xc8 0x1
522ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
523ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
524ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
525ca5b3410SRobert Richter			dma-coherent;
526ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
527e1e6e5c4SDuc Dang			msi-parent = <&msi>;
528ca5b3410SRobert Richter		};
529ca5b3410SRobert Richter
530ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
531ca5b3410SRobert Richter			status = "disabled";
532ca5b3410SRobert Richter			device_type = "pci";
533ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
534ca5b3410SRobert Richter			#interrupt-cells = <1>;
535ca5b3410SRobert Richter			#size-cells = <2>;
536ca5b3410SRobert Richter			#address-cells = <3>;
537ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
538ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
539ca5b3410SRobert Richter			reg-names = "csr", "cfg";
540ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0x90 0x10000000 0x0 0x00010000   /* io  */
541ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0x91 0x80000000 0x0 0x80000000>; /* mem */
542ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
543ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
544ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
545ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
546ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
547ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
548ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
549ca5b3410SRobert Richter			dma-coherent;
550ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
551e1e6e5c4SDuc Dang			msi-parent = <&msi>;
552ca5b3410SRobert Richter		};
553ca5b3410SRobert Richter
554ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
555ca5b3410SRobert Richter			status = "disabled";
556ca5b3410SRobert Richter			device_type = "pci";
557ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
558ca5b3410SRobert Richter			#interrupt-cells = <1>;
559ca5b3410SRobert Richter			#size-cells = <2>;
560ca5b3410SRobert Richter			#address-cells = <3>;
561ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
562ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
563ca5b3410SRobert Richter			reg-names = "csr", "cfg";
564ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0xa0 0x10000000 0x0 0x00010000   /* io   */
565ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0xa1 0x80000000 0x0 0x80000000>; /* mem  */
566ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
567ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
568ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
569ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
570ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
571ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
572ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
573ca5b3410SRobert Richter			dma-coherent;
574ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
575e1e6e5c4SDuc Dang			msi-parent = <&msi>;
576ca5b3410SRobert Richter		};
577ca5b3410SRobert Richter
578ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
579ca5b3410SRobert Richter			status = "disabled";
580ca5b3410SRobert Richter			device_type = "pci";
581ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
582ca5b3410SRobert Richter			#interrupt-cells = <1>;
583ca5b3410SRobert Richter			#size-cells = <2>;
584ca5b3410SRobert Richter			#address-cells = <3>;
585ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
586ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
587ca5b3410SRobert Richter			reg-names = "csr", "cfg";
588ca5b3410SRobert Richter			ranges = <0x01000000 0x0 0x00000000 0xc0 0x10000000 0x0 0x00010000   /* io  */
589ca5b3410SRobert Richter				  0x02000000 0x0 0x80000000 0xc1 0x80000000 0x0 0x80000000>; /* mem */
590ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
591ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
592ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
593ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
594ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
595ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
596ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
597ca5b3410SRobert Richter			dma-coherent;
598ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
599e1e6e5c4SDuc Dang			msi-parent = <&msi>;
600ca5b3410SRobert Richter		};
601ca5b3410SRobert Richter
602ca5b3410SRobert Richter		serial0: serial@1c020000 {
603ca5b3410SRobert Richter			status = "disabled";
604ca5b3410SRobert Richter			device_type = "serial";
605ca5b3410SRobert Richter			compatible = "ns16550a";
606ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
607ca5b3410SRobert Richter			reg-shift = <2>;
608ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
609ca5b3410SRobert Richter			interrupt-parent = <&gic>;
610ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
611ca5b3410SRobert Richter		};
612ca5b3410SRobert Richter
613ca5b3410SRobert Richter		serial1: serial@1c021000 {
614ca5b3410SRobert Richter			status = "disabled";
615ca5b3410SRobert Richter			device_type = "serial";
616ca5b3410SRobert Richter			compatible = "ns16550a";
617ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
618ca5b3410SRobert Richter			reg-shift = <2>;
619ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
620ca5b3410SRobert Richter			interrupt-parent = <&gic>;
621ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
622ca5b3410SRobert Richter		};
623ca5b3410SRobert Richter
624ca5b3410SRobert Richter		serial2: serial@1c022000 {
625ca5b3410SRobert Richter			status = "disabled";
626ca5b3410SRobert Richter			device_type = "serial";
627ca5b3410SRobert Richter			compatible = "ns16550a";
628ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
629ca5b3410SRobert Richter			reg-shift = <2>;
630ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
631ca5b3410SRobert Richter			interrupt-parent = <&gic>;
632ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
633ca5b3410SRobert Richter		};
634ca5b3410SRobert Richter
635ca5b3410SRobert Richter		serial3: serial@1c023000 {
636ca5b3410SRobert Richter			status = "disabled";
637ca5b3410SRobert Richter			device_type = "serial";
638ca5b3410SRobert Richter			compatible = "ns16550a";
639ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
640ca5b3410SRobert Richter			reg-shift = <2>;
641ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
642ca5b3410SRobert Richter			interrupt-parent = <&gic>;
643ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
644ca5b3410SRobert Richter		};
645ca5b3410SRobert Richter
646ca5b3410SRobert Richter		phy1: phy@1f21a000 {
647ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
648ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
649ca5b3410SRobert Richter			#phy-cells = <1>;
650ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
651ca5b3410SRobert Richter			status = "disabled";
652ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
653ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
654ca5b3410SRobert Richter		};
655ca5b3410SRobert Richter
656ca5b3410SRobert Richter		phy2: phy@1f22a000 {
657ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
658ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
659ca5b3410SRobert Richter			#phy-cells = <1>;
660ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
661ca5b3410SRobert Richter			status = "ok";
662ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
663ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
664ca5b3410SRobert Richter		};
665ca5b3410SRobert Richter
666ca5b3410SRobert Richter		phy3: phy@1f23a000 {
667ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
668ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
669ca5b3410SRobert Richter			#phy-cells = <1>;
670ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
671ca5b3410SRobert Richter			status = "ok";
672ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
673ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
674ca5b3410SRobert Richter		};
675ca5b3410SRobert Richter
676ca5b3410SRobert Richter		sata1: sata@1a000000 {
677ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
678ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
679ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
680ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
681ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
682ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
683ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
684ca5b3410SRobert Richter			dma-coherent;
685ca5b3410SRobert Richter			status = "disabled";
686ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
687ca5b3410SRobert Richter			phys = <&phy1 0>;
688ca5b3410SRobert Richter			phy-names = "sata-phy";
689ca5b3410SRobert Richter		};
690ca5b3410SRobert Richter
691ca5b3410SRobert Richter		sata2: sata@1a400000 {
692ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
693ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
694ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
695ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
696ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
697ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
698ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
699ca5b3410SRobert Richter			dma-coherent;
700ca5b3410SRobert Richter			status = "ok";
701ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
702ca5b3410SRobert Richter			phys = <&phy2 0>;
703ca5b3410SRobert Richter			phy-names = "sata-phy";
704ca5b3410SRobert Richter		};
705ca5b3410SRobert Richter
706ca5b3410SRobert Richter		sata3: sata@1a800000 {
707ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
708ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
709ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
710ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
711ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
712ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
713ca5b3410SRobert Richter			dma-coherent;
714ca5b3410SRobert Richter			status = "ok";
715ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
716ca5b3410SRobert Richter			phys = <&phy3 0>;
717ca5b3410SRobert Richter			phy-names = "sata-phy";
718ca5b3410SRobert Richter		};
719ca5b3410SRobert Richter
720ea21feb3SY Vo		sbgpio: sbgpio@17001000{
721ea21feb3SY Vo			compatible = "apm,xgene-gpio-sb";
722ea21feb3SY Vo			reg = <0x0 0x17001000 0x0 0x400>;
723ea21feb3SY Vo			#gpio-cells = <2>;
724ea21feb3SY Vo			gpio-controller;
725ea21feb3SY Vo			interrupts = 	<0x0 0x28 0x1>,
726ea21feb3SY Vo					<0x0 0x29 0x1>,
727ea21feb3SY Vo					<0x0 0x2a 0x1>,
728ea21feb3SY Vo					<0x0 0x2b 0x1>,
729ea21feb3SY Vo					<0x0 0x2c 0x1>,
730ea21feb3SY Vo					<0x0 0x2d 0x1>;
731ea21feb3SY Vo		};
732ea21feb3SY Vo
733ca5b3410SRobert Richter		rtc: rtc@10510000 {
734ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
735ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
736ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
737ca5b3410SRobert Richter			#clock-cells = <1>;
738ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
739ca5b3410SRobert Richter		};
740ca5b3410SRobert Richter
741ca5b3410SRobert Richter		menet: ethernet@17020000 {
742ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
743ca5b3410SRobert Richter			status = "disabled";
744ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
7456c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
746ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
747ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
748ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
749ca5b3410SRobert Richter			dma-coherent;
750ca5b3410SRobert Richter			clocks = <&menetclk 0>;
751ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
752ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
753ca5b3410SRobert Richter			phy-connection-type = "rgmii";
754ca5b3410SRobert Richter			phy-handle = <&menetphy>;
755ca5b3410SRobert Richter			mdio {
756ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
757ca5b3410SRobert Richter				#address-cells = <1>;
758ca5b3410SRobert Richter				#size-cells = <0>;
759ca5b3410SRobert Richter				menetphy: menetphy@3 {
760ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
761ca5b3410SRobert Richter					reg = <0x3>;
762ca5b3410SRobert Richter				};
763ca5b3410SRobert Richter
764ca5b3410SRobert Richter			};
765ca5b3410SRobert Richter		};
766ca5b3410SRobert Richter
767ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
7682a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
769ca5b3410SRobert Richter			status = "disabled";
7706c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
7716c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
7726c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
773ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
774d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
775d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
776ca5b3410SRobert Richter			dma-coherent;
777ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
778ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
779ca5b3410SRobert Richter			phy-connection-type = "sgmii";
780ca5b3410SRobert Richter		};
781ca5b3410SRobert Richter
7822d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
7832d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
7842d33394eSKeyur Chudgar			status = "disabled";
7852d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
7862d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
7872d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
7882d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
789d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
790d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
7912d33394eSKeyur Chudgar			port-id = <1>;
7922d33394eSKeyur Chudgar			dma-coherent;
7932d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
7942d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
7952d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
7962d33394eSKeyur Chudgar		};
7972d33394eSKeyur Chudgar
798ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
7992a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
800ca5b3410SRobert Richter			status = "disabled";
801ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
8026c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
803ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
804ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
805d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
806d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
807ca5b3410SRobert Richter			dma-coherent;
808ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
809ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
810ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
811ca5b3410SRobert Richter			phy-connection-type = "xgmii";
812ca5b3410SRobert Richter		};
813ca5b3410SRobert Richter
814ca5b3410SRobert Richter		rng: rng@10520000 {
815ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
816ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
817ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
818ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
819ca5b3410SRobert Richter		};
82074e353e1SRameshwar Prasad Sahu
82174e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
82274e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
82374e353e1SRameshwar Prasad Sahu			device_type = "dma";
82474e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
82574e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
826*cda8e937SRameshwar Prasad Sahu			      <0x0 0x1b000000 0x0 0x400000>,
82774e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
82874e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
82974e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
83074e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
83174e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
83274e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
83374e353e1SRameshwar Prasad Sahu			dma-coherent;
83474e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
83574e353e1SRameshwar Prasad Sahu		};
836ca5b3410SRobert Richter	};
837ca5b3410SRobert Richter};
838