xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision 0a09223f3dae977e95f708b1de8aa5cdc017fbe3)
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
1007434f42bSFeng Kan	pmu {
1017434f42bSFeng Kan		compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
1027434f42bSFeng Kan		interrupts = <1 12 0xff04>;
1037434f42bSFeng Kan	};
1047434f42bSFeng Kan
105ca5b3410SRobert Richter	soc {
106ca5b3410SRobert Richter		compatible = "simple-bus";
107ca5b3410SRobert Richter		#address-cells = <2>;
108ca5b3410SRobert Richter		#size-cells = <2>;
109ca5b3410SRobert Richter		ranges;
11074e353e1SRameshwar Prasad Sahu		dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>;
111ca5b3410SRobert Richter
112ca5b3410SRobert Richter		clocks {
113ca5b3410SRobert Richter			#address-cells = <2>;
114ca5b3410SRobert Richter			#size-cells = <2>;
115ca5b3410SRobert Richter			ranges;
116ca5b3410SRobert Richter			refclk: refclk {
117ca5b3410SRobert Richter				compatible = "fixed-clock";
118ca5b3410SRobert Richter				#clock-cells = <1>;
119ca5b3410SRobert Richter				clock-frequency = <100000000>;
120ca5b3410SRobert Richter				clock-output-names = "refclk";
121ca5b3410SRobert Richter			};
122ca5b3410SRobert Richter
123ca5b3410SRobert Richter			pcppll: pcppll@17000100 {
124ca5b3410SRobert Richter				compatible = "apm,xgene-pcppll-clock";
125ca5b3410SRobert Richter				#clock-cells = <1>;
126ca5b3410SRobert Richter				clocks = <&refclk 0>;
127ca5b3410SRobert Richter				clock-names = "pcppll";
128ca5b3410SRobert Richter				reg = <0x0 0x17000100 0x0 0x1000>;
129ca5b3410SRobert Richter				clock-output-names = "pcppll";
130ca5b3410SRobert Richter				type = <0>;
131ca5b3410SRobert Richter			};
132ca5b3410SRobert Richter
133ca5b3410SRobert Richter			socpll: socpll@17000120 {
134ca5b3410SRobert Richter				compatible = "apm,xgene-socpll-clock";
135ca5b3410SRobert Richter				#clock-cells = <1>;
136ca5b3410SRobert Richter				clocks = <&refclk 0>;
137ca5b3410SRobert Richter				clock-names = "socpll";
138ca5b3410SRobert Richter				reg = <0x0 0x17000120 0x0 0x1000>;
139ca5b3410SRobert Richter				clock-output-names = "socpll";
140ca5b3410SRobert Richter				type = <1>;
141ca5b3410SRobert Richter			};
142ca5b3410SRobert Richter
143ca5b3410SRobert Richter			socplldiv2: socplldiv2  {
144ca5b3410SRobert Richter				compatible = "fixed-factor-clock";
145ca5b3410SRobert Richter				#clock-cells = <1>;
146ca5b3410SRobert Richter				clocks = <&socpll 0>;
147ca5b3410SRobert Richter				clock-names = "socplldiv2";
148ca5b3410SRobert Richter				clock-mult = <1>;
149ca5b3410SRobert Richter				clock-div = <2>;
150ca5b3410SRobert Richter				clock-output-names = "socplldiv2";
151ca5b3410SRobert Richter			};
152ca5b3410SRobert Richter
153b0e7a85aSDuc Dang			ahbclk: ahbclk@17000000 {
1548f74e861SSuman Tripathi				compatible = "apm,xgene-device-clock";
1558f74e861SSuman Tripathi				#clock-cells = <1>;
1568f74e861SSuman Tripathi				clocks = <&socplldiv2 0>;
157b0e7a85aSDuc Dang				reg = <0x0 0x17000000 0x0 0x2000>;
158b0e7a85aSDuc Dang				reg-names = "div-reg";
1598f74e861SSuman Tripathi				divider-offset = <0x164>;
1608f74e861SSuman Tripathi				divider-width = <0x5>;
1618f74e861SSuman Tripathi				divider-shift = <0x0>;
1628f74e861SSuman Tripathi				clock-output-names = "ahbclk";
1638f74e861SSuman Tripathi			};
1648f74e861SSuman Tripathi
1658f74e861SSuman Tripathi			sdioclk: sdioclk@1f2ac000 {
1668f74e861SSuman Tripathi				compatible = "apm,xgene-device-clock";
1678f74e861SSuman Tripathi				#clock-cells = <1>;
1688f74e861SSuman Tripathi				clocks = <&socplldiv2 0>;
1698f74e861SSuman Tripathi				reg = <0x0 0x1f2ac000 0x0 0x1000
1708f74e861SSuman Tripathi					0x0 0x17000000 0x0 0x2000>;
1718f74e861SSuman Tripathi				reg-names = "csr-reg", "div-reg";
1728f74e861SSuman Tripathi				csr-offset = <0x0>;
1738f74e861SSuman Tripathi				csr-mask = <0x2>;
1748f74e861SSuman Tripathi				enable-offset = <0x8>;
1758f74e861SSuman Tripathi				enable-mask = <0x2>;
1768f74e861SSuman Tripathi				divider-offset = <0x178>;
1778f74e861SSuman Tripathi				divider-width = <0x8>;
1788f74e861SSuman Tripathi				divider-shift = <0x0>;
1798f74e861SSuman Tripathi				clock-output-names = "sdioclk";
1808f74e861SSuman Tripathi			};
1818f74e861SSuman Tripathi
182ca5b3410SRobert Richter			qmlclk: qmlclk {
183ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
184ca5b3410SRobert Richter				#clock-cells = <1>;
185ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
186ca5b3410SRobert Richter				clock-names = "qmlclk";
187ca5b3410SRobert Richter				reg = <0x0 0x1703C000 0x0 0x1000>;
188ca5b3410SRobert Richter				reg-names = "csr-reg";
189ca5b3410SRobert Richter				clock-output-names = "qmlclk";
190ca5b3410SRobert Richter			};
191ca5b3410SRobert Richter
192ca5b3410SRobert Richter			ethclk: ethclk {
193ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
194ca5b3410SRobert Richter				#clock-cells = <1>;
195ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
196ca5b3410SRobert Richter				clock-names = "ethclk";
197ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x1000>;
198ca5b3410SRobert Richter				reg-names = "div-reg";
199ca5b3410SRobert Richter				divider-offset = <0x238>;
200ca5b3410SRobert Richter				divider-width = <0x9>;
201ca5b3410SRobert Richter				divider-shift = <0x0>;
202ca5b3410SRobert Richter				clock-output-names = "ethclk";
203ca5b3410SRobert Richter			};
204ca5b3410SRobert Richter
205ca5b3410SRobert Richter			menetclk: menetclk {
206ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
207ca5b3410SRobert Richter				#clock-cells = <1>;
208ca5b3410SRobert Richter				clocks = <&ethclk 0>;
209ca5b3410SRobert Richter				reg = <0x0 0x1702C000 0x0 0x1000>;
210ca5b3410SRobert Richter				reg-names = "csr-reg";
211ca5b3410SRobert Richter				clock-output-names = "menetclk";
212ca5b3410SRobert Richter			};
213ca5b3410SRobert Richter
214ca5b3410SRobert Richter			sge0clk: sge0clk@1f21c000 {
215ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
216ca5b3410SRobert Richter				#clock-cells = <1>;
217ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
218ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
219ca5b3410SRobert Richter				reg-names = "csr-reg";
220ca5b3410SRobert Richter				csr-mask = <0x3>;
221ca5b3410SRobert Richter				clock-output-names = "sge0clk";
222ca5b3410SRobert Richter			};
223ca5b3410SRobert Richter
2242d33394eSKeyur Chudgar			sge1clk: sge1clk@1f21c000 {
2252d33394eSKeyur Chudgar				compatible = "apm,xgene-device-clock";
2262d33394eSKeyur Chudgar				#clock-cells = <1>;
2272d33394eSKeyur Chudgar				clocks = <&socplldiv2 0>;
2282d33394eSKeyur Chudgar				reg = <0x0 0x1f21c000 0x0 0x1000>;
2292d33394eSKeyur Chudgar				reg-names = "csr-reg";
2302d33394eSKeyur Chudgar				csr-mask = <0xc>;
2312d33394eSKeyur Chudgar				clock-output-names = "sge1clk";
2322d33394eSKeyur Chudgar			};
2332d33394eSKeyur Chudgar
234ca5b3410SRobert Richter			xge0clk: xge0clk@1f61c000 {
235ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
236ca5b3410SRobert Richter				#clock-cells = <1>;
237ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
238ca5b3410SRobert Richter				reg = <0x0 0x1f61c000 0x0 0x1000>;
239ca5b3410SRobert Richter				reg-names = "csr-reg";
240ca5b3410SRobert Richter				csr-mask = <0x3>;
241ca5b3410SRobert Richter				clock-output-names = "xge0clk";
242ca5b3410SRobert Richter			};
243ca5b3410SRobert Richter
244e63c7a09SIyappan Subramanian			xge1clk: xge1clk@1f62c000 {
245e63c7a09SIyappan Subramanian				compatible = "apm,xgene-device-clock";
246e63c7a09SIyappan Subramanian				status = "disabled";
247e63c7a09SIyappan Subramanian				#clock-cells = <1>;
248e63c7a09SIyappan Subramanian				clocks = <&socplldiv2 0>;
249e63c7a09SIyappan Subramanian				reg = <0x0 0x1f62c000 0x0 0x1000>;
250e63c7a09SIyappan Subramanian				reg-names = "csr-reg";
251e63c7a09SIyappan Subramanian				csr-mask = <0x3>;
252e63c7a09SIyappan Subramanian				clock-output-names = "xge1clk";
253e63c7a09SIyappan Subramanian			};
254e63c7a09SIyappan Subramanian
255ca5b3410SRobert Richter			sataphy1clk: sataphy1clk@1f21c000 {
256ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
257ca5b3410SRobert Richter				#clock-cells = <1>;
258ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
259ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
260ca5b3410SRobert Richter				reg-names = "csr-reg";
261ca5b3410SRobert Richter				clock-output-names = "sataphy1clk";
262ca5b3410SRobert Richter				status = "disabled";
263ca5b3410SRobert Richter				csr-offset = <0x4>;
264ca5b3410SRobert Richter				csr-mask = <0x00>;
265ca5b3410SRobert Richter				enable-offset = <0x0>;
266ca5b3410SRobert Richter				enable-mask = <0x06>;
267ca5b3410SRobert Richter			};
268ca5b3410SRobert Richter
269ca5b3410SRobert Richter			sataphy2clk: sataphy1clk@1f22c000 {
270ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
271ca5b3410SRobert Richter				#clock-cells = <1>;
272ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
273ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
274ca5b3410SRobert Richter				reg-names = "csr-reg";
275ca5b3410SRobert Richter				clock-output-names = "sataphy2clk";
276ca5b3410SRobert Richter				status = "ok";
277ca5b3410SRobert Richter				csr-offset = <0x4>;
278ca5b3410SRobert Richter				csr-mask = <0x3a>;
279ca5b3410SRobert Richter				enable-offset = <0x0>;
280ca5b3410SRobert Richter				enable-mask = <0x06>;
281ca5b3410SRobert Richter			};
282ca5b3410SRobert Richter
283ca5b3410SRobert Richter			sataphy3clk: sataphy1clk@1f23c000 {
284ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
285ca5b3410SRobert Richter				#clock-cells = <1>;
286ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
287ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
288ca5b3410SRobert Richter				reg-names = "csr-reg";
289ca5b3410SRobert Richter				clock-output-names = "sataphy3clk";
290ca5b3410SRobert Richter				status = "ok";
291ca5b3410SRobert Richter				csr-offset = <0x4>;
292ca5b3410SRobert Richter				csr-mask = <0x3a>;
293ca5b3410SRobert Richter				enable-offset = <0x0>;
294ca5b3410SRobert Richter				enable-mask = <0x06>;
295ca5b3410SRobert Richter			};
296ca5b3410SRobert Richter
297ca5b3410SRobert Richter			sata01clk: sata01clk@1f21c000 {
298ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
299ca5b3410SRobert Richter				#clock-cells = <1>;
300ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
301ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
302ca5b3410SRobert Richter				reg-names = "csr-reg";
303ca5b3410SRobert Richter				clock-output-names = "sata01clk";
304ca5b3410SRobert Richter				csr-offset = <0x4>;
305ca5b3410SRobert Richter				csr-mask = <0x05>;
306ca5b3410SRobert Richter				enable-offset = <0x0>;
307ca5b3410SRobert Richter				enable-mask = <0x39>;
308ca5b3410SRobert Richter			};
309ca5b3410SRobert Richter
310ca5b3410SRobert Richter			sata23clk: sata23clk@1f22c000 {
311ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
312ca5b3410SRobert Richter				#clock-cells = <1>;
313ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
314ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
315ca5b3410SRobert Richter				reg-names = "csr-reg";
316ca5b3410SRobert Richter				clock-output-names = "sata23clk";
317ca5b3410SRobert Richter				csr-offset = <0x4>;
318ca5b3410SRobert Richter				csr-mask = <0x05>;
319ca5b3410SRobert Richter				enable-offset = <0x0>;
320ca5b3410SRobert Richter				enable-mask = <0x39>;
321ca5b3410SRobert Richter			};
322ca5b3410SRobert Richter
323ca5b3410SRobert Richter			sata45clk: sata45clk@1f23c000 {
324ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
325ca5b3410SRobert Richter				#clock-cells = <1>;
326ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
327ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
328ca5b3410SRobert Richter				reg-names = "csr-reg";
329ca5b3410SRobert Richter				clock-output-names = "sata45clk";
330ca5b3410SRobert Richter				csr-offset = <0x4>;
331ca5b3410SRobert Richter				csr-mask = <0x05>;
332ca5b3410SRobert Richter				enable-offset = <0x0>;
333ca5b3410SRobert Richter				enable-mask = <0x39>;
334ca5b3410SRobert Richter			};
335ca5b3410SRobert Richter
336ca5b3410SRobert Richter			rtcclk: rtcclk@17000000 {
337ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
338ca5b3410SRobert Richter				#clock-cells = <1>;
339ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
340ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
341ca5b3410SRobert Richter				reg-names = "csr-reg";
342ca5b3410SRobert Richter				csr-offset = <0xc>;
343ca5b3410SRobert Richter				csr-mask = <0x2>;
344ca5b3410SRobert Richter				enable-offset = <0x10>;
345ca5b3410SRobert Richter				enable-mask = <0x2>;
346ca5b3410SRobert Richter				clock-output-names = "rtcclk";
347ca5b3410SRobert Richter			};
348ca5b3410SRobert Richter
349ca5b3410SRobert Richter			rngpkaclk: rngpkaclk@17000000 {
350ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
351ca5b3410SRobert Richter				#clock-cells = <1>;
352ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
353ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
354ca5b3410SRobert Richter				reg-names = "csr-reg";
355ca5b3410SRobert Richter				csr-offset = <0xc>;
356ca5b3410SRobert Richter				csr-mask = <0x10>;
357ca5b3410SRobert Richter				enable-offset = <0x10>;
358ca5b3410SRobert Richter				enable-mask = <0x10>;
359ca5b3410SRobert Richter				clock-output-names = "rngpkaclk";
360ca5b3410SRobert Richter			};
361ca5b3410SRobert Richter
362ca5b3410SRobert Richter			pcie0clk: pcie0clk@1f2bc000 {
363ca5b3410SRobert Richter				status = "disabled";
364ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
365ca5b3410SRobert Richter				#clock-cells = <1>;
366ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
367ca5b3410SRobert Richter				reg = <0x0 0x1f2bc000 0x0 0x1000>;
368ca5b3410SRobert Richter				reg-names = "csr-reg";
369ca5b3410SRobert Richter				clock-output-names = "pcie0clk";
370ca5b3410SRobert Richter			};
371ca5b3410SRobert Richter
372ca5b3410SRobert Richter			pcie1clk: pcie1clk@1f2cc000 {
373ca5b3410SRobert Richter				status = "disabled";
374ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
375ca5b3410SRobert Richter				#clock-cells = <1>;
376ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
377ca5b3410SRobert Richter				reg = <0x0 0x1f2cc000 0x0 0x1000>;
378ca5b3410SRobert Richter				reg-names = "csr-reg";
379ca5b3410SRobert Richter				clock-output-names = "pcie1clk";
380ca5b3410SRobert Richter			};
381ca5b3410SRobert Richter
382ca5b3410SRobert Richter			pcie2clk: pcie2clk@1f2dc000 {
383ca5b3410SRobert Richter				status = "disabled";
384ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
385ca5b3410SRobert Richter				#clock-cells = <1>;
386ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
387ca5b3410SRobert Richter				reg = <0x0 0x1f2dc000 0x0 0x1000>;
388ca5b3410SRobert Richter				reg-names = "csr-reg";
389ca5b3410SRobert Richter				clock-output-names = "pcie2clk";
390ca5b3410SRobert Richter			};
391ca5b3410SRobert Richter
392ca5b3410SRobert Richter			pcie3clk: pcie3clk@1f50c000 {
393ca5b3410SRobert Richter				status = "disabled";
394ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
395ca5b3410SRobert Richter				#clock-cells = <1>;
396ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
397ca5b3410SRobert Richter				reg = <0x0 0x1f50c000 0x0 0x1000>;
398ca5b3410SRobert Richter				reg-names = "csr-reg";
399ca5b3410SRobert Richter				clock-output-names = "pcie3clk";
400ca5b3410SRobert Richter			};
401ca5b3410SRobert Richter
402ca5b3410SRobert Richter			pcie4clk: pcie4clk@1f51c000 {
403ca5b3410SRobert Richter				status = "disabled";
404ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
405ca5b3410SRobert Richter				#clock-cells = <1>;
406ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
407ca5b3410SRobert Richter				reg = <0x0 0x1f51c000 0x0 0x1000>;
408ca5b3410SRobert Richter				reg-names = "csr-reg";
409ca5b3410SRobert Richter				clock-output-names = "pcie4clk";
410ca5b3410SRobert Richter			};
41174e353e1SRameshwar Prasad Sahu
41274e353e1SRameshwar Prasad Sahu			dmaclk: dmaclk@1f27c000 {
41374e353e1SRameshwar Prasad Sahu				compatible = "apm,xgene-device-clock";
41474e353e1SRameshwar Prasad Sahu				#clock-cells = <1>;
41574e353e1SRameshwar Prasad Sahu				clocks = <&socplldiv2 0>;
41674e353e1SRameshwar Prasad Sahu				reg = <0x0 0x1f27c000 0x0 0x1000>;
41774e353e1SRameshwar Prasad Sahu				reg-names = "csr-reg";
41874e353e1SRameshwar Prasad Sahu				clock-output-names = "dmaclk";
41974e353e1SRameshwar Prasad Sahu			};
420ca5b3410SRobert Richter		};
421ca5b3410SRobert Richter
422e1e6e5c4SDuc Dang		msi: msi@79000000 {
423e1e6e5c4SDuc Dang			compatible = "apm,xgene1-msi";
424e1e6e5c4SDuc Dang			msi-controller;
425e1e6e5c4SDuc Dang			reg = <0x00 0x79000000 0x0 0x900000>;
426e1e6e5c4SDuc Dang			interrupts = <  0x0 0x10 0x4
427e1e6e5c4SDuc Dang					0x0 0x11 0x4
428e1e6e5c4SDuc Dang					0x0 0x12 0x4
429e1e6e5c4SDuc Dang					0x0 0x13 0x4
430e1e6e5c4SDuc Dang					0x0 0x14 0x4
431e1e6e5c4SDuc Dang					0x0 0x15 0x4
432e1e6e5c4SDuc Dang					0x0 0x16 0x4
433e1e6e5c4SDuc Dang					0x0 0x17 0x4
434e1e6e5c4SDuc Dang					0x0 0x18 0x4
435e1e6e5c4SDuc Dang					0x0 0x19 0x4
436e1e6e5c4SDuc Dang					0x0 0x1a 0x4
437e1e6e5c4SDuc Dang					0x0 0x1b 0x4
438e1e6e5c4SDuc Dang					0x0 0x1c 0x4
439e1e6e5c4SDuc Dang					0x0 0x1d 0x4
440e1e6e5c4SDuc Dang					0x0 0x1e 0x4
441e1e6e5c4SDuc Dang					0x0 0x1f 0x4>;
442e1e6e5c4SDuc Dang		};
443e1e6e5c4SDuc Dang
4445c3a87e3SFeng Kan		scu: system-clk-controller@17000000 {
4455c3a87e3SFeng Kan			compatible = "apm,xgene-scu","syscon";
4465c3a87e3SFeng Kan			reg = <0x0 0x17000000 0x0 0x400>;
4475c3a87e3SFeng Kan		};
4485c3a87e3SFeng Kan
4495c3a87e3SFeng Kan		reboot: reboot@17000014 {
4505c3a87e3SFeng Kan			compatible = "syscon-reboot";
4515c3a87e3SFeng Kan			regmap = <&scu>;
4525c3a87e3SFeng Kan			offset = <0x14>;
4535c3a87e3SFeng Kan			mask = <0x1>;
4545c3a87e3SFeng Kan		};
4555c3a87e3SFeng Kan
4568f2ae6f3SLoc Ho		csw: csw@7e200000 {
4578f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
4588f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
4598f2ae6f3SLoc Ho		};
4608f2ae6f3SLoc Ho
4618f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
4628f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4638f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
4648f2ae6f3SLoc Ho		};
4658f2ae6f3SLoc Ho
4668f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
4678f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4688f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
4698f2ae6f3SLoc Ho		};
4708f2ae6f3SLoc Ho
4718f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
4728f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
4738f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
4748f2ae6f3SLoc Ho		};
4758f2ae6f3SLoc Ho
4768f2ae6f3SLoc Ho		edac@78800000 {
4778f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
4788f2ae6f3SLoc Ho			#address-cells = <2>;
4798f2ae6f3SLoc Ho			#size-cells = <2>;
4808f2ae6f3SLoc Ho			ranges;
4818f2ae6f3SLoc Ho			regmap-csw = <&csw>;
4828f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
4838f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
4848f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
4858f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
4868f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
4878f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
4888f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
4898f2ae6f3SLoc Ho
4908f2ae6f3SLoc Ho			edacmc@7e800000 {
4918f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4928f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
4938f2ae6f3SLoc Ho				memory-controller = <0>;
4948f2ae6f3SLoc Ho			};
4958f2ae6f3SLoc Ho
4968f2ae6f3SLoc Ho			edacmc@7e840000 {
4978f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4988f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
4998f2ae6f3SLoc Ho				memory-controller = <1>;
5008f2ae6f3SLoc Ho			};
5018f2ae6f3SLoc Ho
5028f2ae6f3SLoc Ho			edacmc@7e880000 {
5038f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5048f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
5058f2ae6f3SLoc Ho				memory-controller = <2>;
5068f2ae6f3SLoc Ho			};
5078f2ae6f3SLoc Ho
5088f2ae6f3SLoc Ho			edacmc@7e8c0000 {
5098f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5108f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
5118f2ae6f3SLoc Ho				memory-controller = <3>;
5128f2ae6f3SLoc Ho			};
5138f2ae6f3SLoc Ho
5148f2ae6f3SLoc Ho			edacpmd@7c000000 {
5158f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5168f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
5178f2ae6f3SLoc Ho				pmd-controller = <0>;
5188f2ae6f3SLoc Ho			};
5198f2ae6f3SLoc Ho
5208f2ae6f3SLoc Ho			edacpmd@7c200000 {
5218f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5228f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
5238f2ae6f3SLoc Ho				pmd-controller = <1>;
5248f2ae6f3SLoc Ho			};
5258f2ae6f3SLoc Ho
5268f2ae6f3SLoc Ho			edacpmd@7c400000 {
5278f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5288f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
5298f2ae6f3SLoc Ho				pmd-controller = <2>;
5308f2ae6f3SLoc Ho			};
5318f2ae6f3SLoc Ho
5328f2ae6f3SLoc Ho			edacpmd@7c600000 {
5338f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5348f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
5358f2ae6f3SLoc Ho				pmd-controller = <3>;
5368f2ae6f3SLoc Ho			};
537043cba96SLoc Ho
538043cba96SLoc Ho			edacl3@7e600000 {
539043cba96SLoc Ho				compatible = "apm,xgene-edac-l3";
540043cba96SLoc Ho				reg = <0x0 0x7e600000 0x0 0x1000>;
541043cba96SLoc Ho			};
542043cba96SLoc Ho
543043cba96SLoc Ho			edacsoc@7e930000 {
544043cba96SLoc Ho				compatible = "apm,xgene-edac-soc-v1";
545043cba96SLoc Ho				reg = <0x0 0x7e930000 0x0 0x1000>;
546043cba96SLoc Ho			};
5478f2ae6f3SLoc Ho		};
5488f2ae6f3SLoc Ho
549ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
550ca5b3410SRobert Richter			status = "disabled";
551ca5b3410SRobert Richter			device_type = "pci";
552ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
553ca5b3410SRobert Richter			#interrupt-cells = <1>;
554ca5b3410SRobert Richter			#size-cells = <2>;
555ca5b3410SRobert Richter			#address-cells = <3>;
556ca5b3410SRobert Richter			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
557ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
558ca5b3410SRobert Richter			reg-names = "csr", "cfg";
559ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
56080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000   /* mem */
56180bb3edaSDuc Dang				  0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
562ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
563ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
564ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
565ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
566ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
567ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
568ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
569ca5b3410SRobert Richter			dma-coherent;
570ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
571e1e6e5c4SDuc Dang			msi-parent = <&msi>;
572ca5b3410SRobert Richter		};
573ca5b3410SRobert Richter
574ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
575ca5b3410SRobert Richter			status = "disabled";
576ca5b3410SRobert Richter			device_type = "pci";
577ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
578ca5b3410SRobert Richter			#interrupt-cells = <1>;
579ca5b3410SRobert Richter			#size-cells = <2>;
580ca5b3410SRobert Richter			#address-cells = <3>;
581ca5b3410SRobert Richter			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
582ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
583ca5b3410SRobert Richter			reg-names = "csr", "cfg";
58480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
58580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000   /* mem */
58680bb3edaSDuc Dang				  0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
587ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
588ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
589ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
590ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
591ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
592ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
593ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
594ca5b3410SRobert Richter			dma-coherent;
595ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
596e1e6e5c4SDuc Dang			msi-parent = <&msi>;
597ca5b3410SRobert Richter		};
598ca5b3410SRobert Richter
599ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
600ca5b3410SRobert Richter			status = "disabled";
601ca5b3410SRobert Richter			device_type = "pci";
602ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
603ca5b3410SRobert Richter			#interrupt-cells = <1>;
604ca5b3410SRobert Richter			#size-cells = <2>;
605ca5b3410SRobert Richter			#address-cells = <3>;
606ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
607ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
608ca5b3410SRobert Richter			reg-names = "csr", "cfg";
60980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000   /* io  */
61080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000   /* mem */
61180bb3edaSDuc Dang				  0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
612ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
613ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
614ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
615ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
616ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
617ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
618ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
619ca5b3410SRobert Richter			dma-coherent;
620ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
621e1e6e5c4SDuc Dang			msi-parent = <&msi>;
622ca5b3410SRobert Richter		};
623ca5b3410SRobert Richter
624ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
625ca5b3410SRobert Richter			status = "disabled";
626ca5b3410SRobert Richter			device_type = "pci";
627ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
628ca5b3410SRobert Richter			#interrupt-cells = <1>;
629ca5b3410SRobert Richter			#size-cells = <2>;
630ca5b3410SRobert Richter			#address-cells = <3>;
631ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
632ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
633ca5b3410SRobert Richter			reg-names = "csr", "cfg";
63480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io  */
63580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000   /* mem */
63680bb3edaSDuc Dang				  0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
637ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
638ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
639ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
640ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
641ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
642ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
643ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
644ca5b3410SRobert Richter			dma-coherent;
645ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
646e1e6e5c4SDuc Dang			msi-parent = <&msi>;
647ca5b3410SRobert Richter		};
648ca5b3410SRobert Richter
649ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
650ca5b3410SRobert Richter			status = "disabled";
651ca5b3410SRobert Richter			device_type = "pci";
652ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
653ca5b3410SRobert Richter			#interrupt-cells = <1>;
654ca5b3410SRobert Richter			#size-cells = <2>;
655ca5b3410SRobert Richter			#address-cells = <3>;
656ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
657ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
658ca5b3410SRobert Richter			reg-names = "csr", "cfg";
65980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io  */
66080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000   /* mem */
66180bb3edaSDuc Dang				  0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
662ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
663ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
664ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
665ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
666ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
667ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
668ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
669ca5b3410SRobert Richter			dma-coherent;
670ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
671e1e6e5c4SDuc Dang			msi-parent = <&msi>;
672ca5b3410SRobert Richter		};
673ca5b3410SRobert Richter
674ca5b3410SRobert Richter		serial0: serial@1c020000 {
675ca5b3410SRobert Richter			status = "disabled";
676ca5b3410SRobert Richter			device_type = "serial";
677ca5b3410SRobert Richter			compatible = "ns16550a";
678ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
679ca5b3410SRobert Richter			reg-shift = <2>;
680ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
681ca5b3410SRobert Richter			interrupt-parent = <&gic>;
682ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
683ca5b3410SRobert Richter		};
684ca5b3410SRobert Richter
685ca5b3410SRobert Richter		serial1: serial@1c021000 {
686ca5b3410SRobert Richter			status = "disabled";
687ca5b3410SRobert Richter			device_type = "serial";
688ca5b3410SRobert Richter			compatible = "ns16550a";
689ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
690ca5b3410SRobert Richter			reg-shift = <2>;
691ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
692ca5b3410SRobert Richter			interrupt-parent = <&gic>;
693ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
694ca5b3410SRobert Richter		};
695ca5b3410SRobert Richter
696ca5b3410SRobert Richter		serial2: serial@1c022000 {
697ca5b3410SRobert Richter			status = "disabled";
698ca5b3410SRobert Richter			device_type = "serial";
699ca5b3410SRobert Richter			compatible = "ns16550a";
700ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
701ca5b3410SRobert Richter			reg-shift = <2>;
702ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
703ca5b3410SRobert Richter			interrupt-parent = <&gic>;
704ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
705ca5b3410SRobert Richter		};
706ca5b3410SRobert Richter
707ca5b3410SRobert Richter		serial3: serial@1c023000 {
708ca5b3410SRobert Richter			status = "disabled";
709ca5b3410SRobert Richter			device_type = "serial";
710ca5b3410SRobert Richter			compatible = "ns16550a";
711ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
712ca5b3410SRobert Richter			reg-shift = <2>;
713ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
714ca5b3410SRobert Richter			interrupt-parent = <&gic>;
715ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
716ca5b3410SRobert Richter		};
717ca5b3410SRobert Richter
7188f74e861SSuman Tripathi		mmc0: mmc@1c000000 {
7198f74e861SSuman Tripathi			compatible = "arasan,sdhci-4.9a";
7208f74e861SSuman Tripathi			reg = <0x0 0x1c000000 0x0 0x100>;
7218f74e861SSuman Tripathi			interrupts = <0x0 0x49 0x4>;
7228f74e861SSuman Tripathi			dma-coherent;
7238f74e861SSuman Tripathi			no-1-8-v;
7248f74e861SSuman Tripathi			clock-names = "clk_xin", "clk_ahb";
7258f74e861SSuman Tripathi			clocks = <&sdioclk 0>, <&ahbclk 0>;
7268f74e861SSuman Tripathi		};
7278f74e861SSuman Tripathi
728*0a09223fSDuc Dang		gfcgpio: gfcgpio0@1701c000 {
729*0a09223fSDuc Dang			compatible = "apm,xgene-gpio";
730*0a09223fSDuc Dang			reg = <0x0 0x1701c000 0x0 0x40>;
731*0a09223fSDuc Dang			gpio-controller;
732*0a09223fSDuc Dang			#gpio-cells = <2>;
733*0a09223fSDuc Dang		};
734*0a09223fSDuc Dang
735ca5b3410SRobert Richter		phy1: phy@1f21a000 {
736ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
737ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
738ca5b3410SRobert Richter			#phy-cells = <1>;
739ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
740ca5b3410SRobert Richter			status = "disabled";
741ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
742ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
743ca5b3410SRobert Richter		};
744ca5b3410SRobert Richter
745ca5b3410SRobert Richter		phy2: phy@1f22a000 {
746ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
747ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
748ca5b3410SRobert Richter			#phy-cells = <1>;
749ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
750ca5b3410SRobert Richter			status = "ok";
751ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
752ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
753ca5b3410SRobert Richter		};
754ca5b3410SRobert Richter
755ca5b3410SRobert Richter		phy3: phy@1f23a000 {
756ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
757ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
758ca5b3410SRobert Richter			#phy-cells = <1>;
759ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
760ca5b3410SRobert Richter			status = "ok";
761ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
762ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
763ca5b3410SRobert Richter		};
764ca5b3410SRobert Richter
765ca5b3410SRobert Richter		sata1: sata@1a000000 {
766ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
767ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
768ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
769ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
770ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
771ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
772ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
773ca5b3410SRobert Richter			dma-coherent;
774ca5b3410SRobert Richter			status = "disabled";
775ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
776ca5b3410SRobert Richter			phys = <&phy1 0>;
777ca5b3410SRobert Richter			phy-names = "sata-phy";
778ca5b3410SRobert Richter		};
779ca5b3410SRobert Richter
780ca5b3410SRobert Richter		sata2: sata@1a400000 {
781ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
782ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
783ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
784ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
785ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
786ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
787ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
788ca5b3410SRobert Richter			dma-coherent;
789ca5b3410SRobert Richter			status = "ok";
790ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
791ca5b3410SRobert Richter			phys = <&phy2 0>;
792ca5b3410SRobert Richter			phy-names = "sata-phy";
793ca5b3410SRobert Richter		};
794ca5b3410SRobert Richter
795ca5b3410SRobert Richter		sata3: sata@1a800000 {
796ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
797ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
798ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
799ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
800ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
801ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
802ca5b3410SRobert Richter			dma-coherent;
803ca5b3410SRobert Richter			status = "ok";
804ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
805ca5b3410SRobert Richter			phys = <&phy3 0>;
806ca5b3410SRobert Richter			phy-names = "sata-phy";
807ca5b3410SRobert Richter		};
808ca5b3410SRobert Richter
809bd410233SDuc Dang		/* Do not change dwusb name, coded for backward compatibility */
810bd410233SDuc Dang		usb0: dwusb@19000000 {
811bd410233SDuc Dang			status = "disabled";
812bd410233SDuc Dang			compatible = "snps,dwc3";
813bd410233SDuc Dang			reg =  <0x0 0x19000000 0x0 0x100000>;
814bd410233SDuc Dang			interrupts = <0x0 0x89 0x4>;
815bd410233SDuc Dang			dma-coherent;
816bd410233SDuc Dang			dr_mode = "host";
817bd410233SDuc Dang		};
818bd410233SDuc Dang
819bd410233SDuc Dang		usb1: dwusb@19800000 {
820bd410233SDuc Dang			status = "disabled";
821bd410233SDuc Dang			compatible = "snps,dwc3";
822bd410233SDuc Dang			reg =  <0x0 0x19800000 0x0 0x100000>;
823bd410233SDuc Dang			interrupts = <0x0 0x8a 0x4>;
824bd410233SDuc Dang			dma-coherent;
825bd410233SDuc Dang			dr_mode = "host";
826bd410233SDuc Dang		};
827bd410233SDuc Dang
828ea21feb3SY Vo		sbgpio: sbgpio@17001000{
829ea21feb3SY Vo			compatible = "apm,xgene-gpio-sb";
830ea21feb3SY Vo			reg = <0x0 0x17001000 0x0 0x400>;
831ea21feb3SY Vo			#gpio-cells = <2>;
832ea21feb3SY Vo			gpio-controller;
833ea21feb3SY Vo			interrupts = 	<0x0 0x28 0x1>,
834ea21feb3SY Vo					<0x0 0x29 0x1>,
835ea21feb3SY Vo					<0x0 0x2a 0x1>,
836ea21feb3SY Vo					<0x0 0x2b 0x1>,
837ea21feb3SY Vo					<0x0 0x2c 0x1>,
838ea21feb3SY Vo					<0x0 0x2d 0x1>;
839ea21feb3SY Vo		};
840ea21feb3SY Vo
841ca5b3410SRobert Richter		rtc: rtc@10510000 {
842ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
843ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
844ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
845ca5b3410SRobert Richter			#clock-cells = <1>;
846ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
847ca5b3410SRobert Richter		};
848ca5b3410SRobert Richter
849ca5b3410SRobert Richter		menet: ethernet@17020000 {
850ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
851ca5b3410SRobert Richter			status = "disabled";
852ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
8536c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
854ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
855ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
856ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
857ca5b3410SRobert Richter			dma-coherent;
858ca5b3410SRobert Richter			clocks = <&menetclk 0>;
859ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
860ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
861ca5b3410SRobert Richter			phy-connection-type = "rgmii";
862ca5b3410SRobert Richter			phy-handle = <&menetphy>;
863ca5b3410SRobert Richter			mdio {
864ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
865ca5b3410SRobert Richter				#address-cells = <1>;
866ca5b3410SRobert Richter				#size-cells = <0>;
867ca5b3410SRobert Richter				menetphy: menetphy@3 {
868ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
869ca5b3410SRobert Richter					reg = <0x3>;
870ca5b3410SRobert Richter				};
871ca5b3410SRobert Richter
872ca5b3410SRobert Richter			};
873ca5b3410SRobert Richter		};
874ca5b3410SRobert Richter
875ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
8762a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
877ca5b3410SRobert Richter			status = "disabled";
8786c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
8796c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
8806c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
881ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
882d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
883d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
884ca5b3410SRobert Richter			dma-coherent;
885ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
886ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
887ca5b3410SRobert Richter			phy-connection-type = "sgmii";
888ca5b3410SRobert Richter		};
889ca5b3410SRobert Richter
8902d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
8912d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
8922d33394eSKeyur Chudgar			status = "disabled";
8932d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
8942d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
8952d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
8962d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
897d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
898d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
8992d33394eSKeyur Chudgar			port-id = <1>;
9002d33394eSKeyur Chudgar			dma-coherent;
9012d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
9022d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
9032d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
9042d33394eSKeyur Chudgar		};
9052d33394eSKeyur Chudgar
906ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
9072a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
908ca5b3410SRobert Richter			status = "disabled";
909ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
9106c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
911ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
912ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
913d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
914d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
915ca5b3410SRobert Richter			dma-coherent;
916ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
917ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
918ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
919ca5b3410SRobert Richter			phy-connection-type = "xgmii";
920ca5b3410SRobert Richter		};
921ca5b3410SRobert Richter
922e63c7a09SIyappan Subramanian		xgenet1: ethernet@1f620000 {
923e63c7a09SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
924e63c7a09SIyappan Subramanian			status = "disabled";
925e63c7a09SIyappan Subramanian			reg = <0x0 0x1f620000 0x0 0xd100>,
926e63c7a09SIyappan Subramanian			      <0x0 0x1f600000 0x0 0Xc300>,
927e63c7a09SIyappan Subramanian			      <0x0 0x18000000 0x0 0X8000>;
928e63c7a09SIyappan Subramanian			reg-names = "enet_csr", "ring_csr", "ring_cmd";
929e63c7a09SIyappan Subramanian			interrupts = <0x0 0x6C 0x4>,
930e63c7a09SIyappan Subramanian				     <0x0 0x6D 0x4>;
931e63c7a09SIyappan Subramanian			port-id = <1>;
932e63c7a09SIyappan Subramanian			dma-coherent;
933e63c7a09SIyappan Subramanian			clocks = <&xge1clk 0>;
934e63c7a09SIyappan Subramanian			/* mac address will be overwritten by the bootloader */
935e63c7a09SIyappan Subramanian			local-mac-address = [00 00 00 00 00 00];
936e63c7a09SIyappan Subramanian			phy-connection-type = "xgmii";
937e63c7a09SIyappan Subramanian		};
938e63c7a09SIyappan Subramanian
939ca5b3410SRobert Richter		rng: rng@10520000 {
940ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
941ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
942ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
943ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
944ca5b3410SRobert Richter		};
94574e353e1SRameshwar Prasad Sahu
94674e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
94774e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
94874e353e1SRameshwar Prasad Sahu			device_type = "dma";
94974e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
95074e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
951cda8e937SRameshwar Prasad Sahu			      <0x0 0x1b000000 0x0 0x400000>,
95274e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
95374e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
95474e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
95574e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
95674e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
95774e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
95874e353e1SRameshwar Prasad Sahu			dma-coherent;
95974e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
96074e353e1SRameshwar Prasad Sahu		};
961ca5b3410SRobert Richter	};
962ca5b3410SRobert Richter};
963