xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision 8f74e861862e17b3f03f095f6b3e8dc3bddc5f0c)
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
153*8f74e861SSuman Tripathi			ahbclk: ahbclk@1f2ac000 {
154*8f74e861SSuman Tripathi				compatible = "apm,xgene-device-clock";
155*8f74e861SSuman Tripathi				#clock-cells = <1>;
156*8f74e861SSuman Tripathi				clocks = <&socplldiv2 0>;
157*8f74e861SSuman Tripathi				reg = <0x0 0x1f2ac000 0x0 0x1000
158*8f74e861SSuman Tripathi					0x0 0x17000000 0x0 0x2000>;
159*8f74e861SSuman Tripathi				reg-names = "csr-reg", "div-reg";
160*8f74e861SSuman Tripathi				csr-offset = <0x0>;
161*8f74e861SSuman Tripathi				csr-mask = <0x1>;
162*8f74e861SSuman Tripathi				enable-offset = <0x8>;
163*8f74e861SSuman Tripathi				enable-mask = <0x1>;
164*8f74e861SSuman Tripathi				divider-offset = <0x164>;
165*8f74e861SSuman Tripathi				divider-width = <0x5>;
166*8f74e861SSuman Tripathi				divider-shift = <0x0>;
167*8f74e861SSuman Tripathi				clock-output-names = "ahbclk";
168*8f74e861SSuman Tripathi			};
169*8f74e861SSuman Tripathi
170*8f74e861SSuman Tripathi			sdioclk: sdioclk@1f2ac000 {
171*8f74e861SSuman Tripathi				compatible = "apm,xgene-device-clock";
172*8f74e861SSuman Tripathi				#clock-cells = <1>;
173*8f74e861SSuman Tripathi				clocks = <&socplldiv2 0>;
174*8f74e861SSuman Tripathi				reg = <0x0 0x1f2ac000 0x0 0x1000
175*8f74e861SSuman Tripathi					0x0 0x17000000 0x0 0x2000>;
176*8f74e861SSuman Tripathi				reg-names = "csr-reg", "div-reg";
177*8f74e861SSuman Tripathi				csr-offset = <0x0>;
178*8f74e861SSuman Tripathi				csr-mask = <0x2>;
179*8f74e861SSuman Tripathi				enable-offset = <0x8>;
180*8f74e861SSuman Tripathi				enable-mask = <0x2>;
181*8f74e861SSuman Tripathi				divider-offset = <0x178>;
182*8f74e861SSuman Tripathi				divider-width = <0x8>;
183*8f74e861SSuman Tripathi				divider-shift = <0x0>;
184*8f74e861SSuman Tripathi				clock-output-names = "sdioclk";
185*8f74e861SSuman Tripathi			};
186*8f74e861SSuman Tripathi
187ca5b3410SRobert Richter			qmlclk: qmlclk {
188ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
189ca5b3410SRobert Richter				#clock-cells = <1>;
190ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
191ca5b3410SRobert Richter				clock-names = "qmlclk";
192ca5b3410SRobert Richter				reg = <0x0 0x1703C000 0x0 0x1000>;
193ca5b3410SRobert Richter				reg-names = "csr-reg";
194ca5b3410SRobert Richter				clock-output-names = "qmlclk";
195ca5b3410SRobert Richter			};
196ca5b3410SRobert Richter
197ca5b3410SRobert Richter			ethclk: ethclk {
198ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
199ca5b3410SRobert Richter				#clock-cells = <1>;
200ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
201ca5b3410SRobert Richter				clock-names = "ethclk";
202ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x1000>;
203ca5b3410SRobert Richter				reg-names = "div-reg";
204ca5b3410SRobert Richter				divider-offset = <0x238>;
205ca5b3410SRobert Richter				divider-width = <0x9>;
206ca5b3410SRobert Richter				divider-shift = <0x0>;
207ca5b3410SRobert Richter				clock-output-names = "ethclk";
208ca5b3410SRobert Richter			};
209ca5b3410SRobert Richter
210ca5b3410SRobert Richter			menetclk: menetclk {
211ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
212ca5b3410SRobert Richter				#clock-cells = <1>;
213ca5b3410SRobert Richter				clocks = <&ethclk 0>;
214ca5b3410SRobert Richter				reg = <0x0 0x1702C000 0x0 0x1000>;
215ca5b3410SRobert Richter				reg-names = "csr-reg";
216ca5b3410SRobert Richter				clock-output-names = "menetclk";
217ca5b3410SRobert Richter			};
218ca5b3410SRobert Richter
219ca5b3410SRobert Richter			sge0clk: sge0clk@1f21c000 {
220ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
221ca5b3410SRobert Richter				#clock-cells = <1>;
222ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
223ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
224ca5b3410SRobert Richter				reg-names = "csr-reg";
225ca5b3410SRobert Richter				csr-mask = <0x3>;
226ca5b3410SRobert Richter				clock-output-names = "sge0clk";
227ca5b3410SRobert Richter			};
228ca5b3410SRobert Richter
2292d33394eSKeyur Chudgar			sge1clk: sge1clk@1f21c000 {
2302d33394eSKeyur Chudgar				compatible = "apm,xgene-device-clock";
2312d33394eSKeyur Chudgar				#clock-cells = <1>;
2322d33394eSKeyur Chudgar				clocks = <&socplldiv2 0>;
2332d33394eSKeyur Chudgar				reg = <0x0 0x1f21c000 0x0 0x1000>;
2342d33394eSKeyur Chudgar				reg-names = "csr-reg";
2352d33394eSKeyur Chudgar				csr-mask = <0xc>;
2362d33394eSKeyur Chudgar				clock-output-names = "sge1clk";
2372d33394eSKeyur Chudgar			};
2382d33394eSKeyur Chudgar
239ca5b3410SRobert Richter			xge0clk: xge0clk@1f61c000 {
240ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
241ca5b3410SRobert Richter				#clock-cells = <1>;
242ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
243ca5b3410SRobert Richter				reg = <0x0 0x1f61c000 0x0 0x1000>;
244ca5b3410SRobert Richter				reg-names = "csr-reg";
245ca5b3410SRobert Richter				csr-mask = <0x3>;
246ca5b3410SRobert Richter				clock-output-names = "xge0clk";
247ca5b3410SRobert Richter			};
248ca5b3410SRobert Richter
249e63c7a09SIyappan Subramanian			xge1clk: xge1clk@1f62c000 {
250e63c7a09SIyappan Subramanian				compatible = "apm,xgene-device-clock";
251e63c7a09SIyappan Subramanian				status = "disabled";
252e63c7a09SIyappan Subramanian				#clock-cells = <1>;
253e63c7a09SIyappan Subramanian				clocks = <&socplldiv2 0>;
254e63c7a09SIyappan Subramanian				reg = <0x0 0x1f62c000 0x0 0x1000>;
255e63c7a09SIyappan Subramanian				reg-names = "csr-reg";
256e63c7a09SIyappan Subramanian				csr-mask = <0x3>;
257e63c7a09SIyappan Subramanian				clock-output-names = "xge1clk";
258e63c7a09SIyappan Subramanian			};
259e63c7a09SIyappan Subramanian
260ca5b3410SRobert Richter			sataphy1clk: sataphy1clk@1f21c000 {
261ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
262ca5b3410SRobert Richter				#clock-cells = <1>;
263ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
264ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
265ca5b3410SRobert Richter				reg-names = "csr-reg";
266ca5b3410SRobert Richter				clock-output-names = "sataphy1clk";
267ca5b3410SRobert Richter				status = "disabled";
268ca5b3410SRobert Richter				csr-offset = <0x4>;
269ca5b3410SRobert Richter				csr-mask = <0x00>;
270ca5b3410SRobert Richter				enable-offset = <0x0>;
271ca5b3410SRobert Richter				enable-mask = <0x06>;
272ca5b3410SRobert Richter			};
273ca5b3410SRobert Richter
274ca5b3410SRobert Richter			sataphy2clk: sataphy1clk@1f22c000 {
275ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
276ca5b3410SRobert Richter				#clock-cells = <1>;
277ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
278ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
279ca5b3410SRobert Richter				reg-names = "csr-reg";
280ca5b3410SRobert Richter				clock-output-names = "sataphy2clk";
281ca5b3410SRobert Richter				status = "ok";
282ca5b3410SRobert Richter				csr-offset = <0x4>;
283ca5b3410SRobert Richter				csr-mask = <0x3a>;
284ca5b3410SRobert Richter				enable-offset = <0x0>;
285ca5b3410SRobert Richter				enable-mask = <0x06>;
286ca5b3410SRobert Richter			};
287ca5b3410SRobert Richter
288ca5b3410SRobert Richter			sataphy3clk: sataphy1clk@1f23c000 {
289ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
290ca5b3410SRobert Richter				#clock-cells = <1>;
291ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
292ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
293ca5b3410SRobert Richter				reg-names = "csr-reg";
294ca5b3410SRobert Richter				clock-output-names = "sataphy3clk";
295ca5b3410SRobert Richter				status = "ok";
296ca5b3410SRobert Richter				csr-offset = <0x4>;
297ca5b3410SRobert Richter				csr-mask = <0x3a>;
298ca5b3410SRobert Richter				enable-offset = <0x0>;
299ca5b3410SRobert Richter				enable-mask = <0x06>;
300ca5b3410SRobert Richter			};
301ca5b3410SRobert Richter
302ca5b3410SRobert Richter			sata01clk: sata01clk@1f21c000 {
303ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
304ca5b3410SRobert Richter				#clock-cells = <1>;
305ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
306ca5b3410SRobert Richter				reg = <0x0 0x1f21c000 0x0 0x1000>;
307ca5b3410SRobert Richter				reg-names = "csr-reg";
308ca5b3410SRobert Richter				clock-output-names = "sata01clk";
309ca5b3410SRobert Richter				csr-offset = <0x4>;
310ca5b3410SRobert Richter				csr-mask = <0x05>;
311ca5b3410SRobert Richter				enable-offset = <0x0>;
312ca5b3410SRobert Richter				enable-mask = <0x39>;
313ca5b3410SRobert Richter			};
314ca5b3410SRobert Richter
315ca5b3410SRobert Richter			sata23clk: sata23clk@1f22c000 {
316ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
317ca5b3410SRobert Richter				#clock-cells = <1>;
318ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
319ca5b3410SRobert Richter				reg = <0x0 0x1f22c000 0x0 0x1000>;
320ca5b3410SRobert Richter				reg-names = "csr-reg";
321ca5b3410SRobert Richter				clock-output-names = "sata23clk";
322ca5b3410SRobert Richter				csr-offset = <0x4>;
323ca5b3410SRobert Richter				csr-mask = <0x05>;
324ca5b3410SRobert Richter				enable-offset = <0x0>;
325ca5b3410SRobert Richter				enable-mask = <0x39>;
326ca5b3410SRobert Richter			};
327ca5b3410SRobert Richter
328ca5b3410SRobert Richter			sata45clk: sata45clk@1f23c000 {
329ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
330ca5b3410SRobert Richter				#clock-cells = <1>;
331ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
332ca5b3410SRobert Richter				reg = <0x0 0x1f23c000 0x0 0x1000>;
333ca5b3410SRobert Richter				reg-names = "csr-reg";
334ca5b3410SRobert Richter				clock-output-names = "sata45clk";
335ca5b3410SRobert Richter				csr-offset = <0x4>;
336ca5b3410SRobert Richter				csr-mask = <0x05>;
337ca5b3410SRobert Richter				enable-offset = <0x0>;
338ca5b3410SRobert Richter				enable-mask = <0x39>;
339ca5b3410SRobert Richter			};
340ca5b3410SRobert Richter
341ca5b3410SRobert Richter			rtcclk: rtcclk@17000000 {
342ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
343ca5b3410SRobert Richter				#clock-cells = <1>;
344ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
345ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
346ca5b3410SRobert Richter				reg-names = "csr-reg";
347ca5b3410SRobert Richter				csr-offset = <0xc>;
348ca5b3410SRobert Richter				csr-mask = <0x2>;
349ca5b3410SRobert Richter				enable-offset = <0x10>;
350ca5b3410SRobert Richter				enable-mask = <0x2>;
351ca5b3410SRobert Richter				clock-output-names = "rtcclk";
352ca5b3410SRobert Richter			};
353ca5b3410SRobert Richter
354ca5b3410SRobert Richter			rngpkaclk: rngpkaclk@17000000 {
355ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
356ca5b3410SRobert Richter				#clock-cells = <1>;
357ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
358ca5b3410SRobert Richter				reg = <0x0 0x17000000 0x0 0x2000>;
359ca5b3410SRobert Richter				reg-names = "csr-reg";
360ca5b3410SRobert Richter				csr-offset = <0xc>;
361ca5b3410SRobert Richter				csr-mask = <0x10>;
362ca5b3410SRobert Richter				enable-offset = <0x10>;
363ca5b3410SRobert Richter				enable-mask = <0x10>;
364ca5b3410SRobert Richter				clock-output-names = "rngpkaclk";
365ca5b3410SRobert Richter			};
366ca5b3410SRobert Richter
367ca5b3410SRobert Richter			pcie0clk: pcie0clk@1f2bc000 {
368ca5b3410SRobert Richter				status = "disabled";
369ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
370ca5b3410SRobert Richter				#clock-cells = <1>;
371ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
372ca5b3410SRobert Richter				reg = <0x0 0x1f2bc000 0x0 0x1000>;
373ca5b3410SRobert Richter				reg-names = "csr-reg";
374ca5b3410SRobert Richter				clock-output-names = "pcie0clk";
375ca5b3410SRobert Richter			};
376ca5b3410SRobert Richter
377ca5b3410SRobert Richter			pcie1clk: pcie1clk@1f2cc000 {
378ca5b3410SRobert Richter				status = "disabled";
379ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
380ca5b3410SRobert Richter				#clock-cells = <1>;
381ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
382ca5b3410SRobert Richter				reg = <0x0 0x1f2cc000 0x0 0x1000>;
383ca5b3410SRobert Richter				reg-names = "csr-reg";
384ca5b3410SRobert Richter				clock-output-names = "pcie1clk";
385ca5b3410SRobert Richter			};
386ca5b3410SRobert Richter
387ca5b3410SRobert Richter			pcie2clk: pcie2clk@1f2dc000 {
388ca5b3410SRobert Richter				status = "disabled";
389ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
390ca5b3410SRobert Richter				#clock-cells = <1>;
391ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
392ca5b3410SRobert Richter				reg = <0x0 0x1f2dc000 0x0 0x1000>;
393ca5b3410SRobert Richter				reg-names = "csr-reg";
394ca5b3410SRobert Richter				clock-output-names = "pcie2clk";
395ca5b3410SRobert Richter			};
396ca5b3410SRobert Richter
397ca5b3410SRobert Richter			pcie3clk: pcie3clk@1f50c000 {
398ca5b3410SRobert Richter				status = "disabled";
399ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
400ca5b3410SRobert Richter				#clock-cells = <1>;
401ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
402ca5b3410SRobert Richter				reg = <0x0 0x1f50c000 0x0 0x1000>;
403ca5b3410SRobert Richter				reg-names = "csr-reg";
404ca5b3410SRobert Richter				clock-output-names = "pcie3clk";
405ca5b3410SRobert Richter			};
406ca5b3410SRobert Richter
407ca5b3410SRobert Richter			pcie4clk: pcie4clk@1f51c000 {
408ca5b3410SRobert Richter				status = "disabled";
409ca5b3410SRobert Richter				compatible = "apm,xgene-device-clock";
410ca5b3410SRobert Richter				#clock-cells = <1>;
411ca5b3410SRobert Richter				clocks = <&socplldiv2 0>;
412ca5b3410SRobert Richter				reg = <0x0 0x1f51c000 0x0 0x1000>;
413ca5b3410SRobert Richter				reg-names = "csr-reg";
414ca5b3410SRobert Richter				clock-output-names = "pcie4clk";
415ca5b3410SRobert Richter			};
41674e353e1SRameshwar Prasad Sahu
41774e353e1SRameshwar Prasad Sahu			dmaclk: dmaclk@1f27c000 {
41874e353e1SRameshwar Prasad Sahu				compatible = "apm,xgene-device-clock";
41974e353e1SRameshwar Prasad Sahu				#clock-cells = <1>;
42074e353e1SRameshwar Prasad Sahu				clocks = <&socplldiv2 0>;
42174e353e1SRameshwar Prasad Sahu				reg = <0x0 0x1f27c000 0x0 0x1000>;
42274e353e1SRameshwar Prasad Sahu				reg-names = "csr-reg";
42374e353e1SRameshwar Prasad Sahu				clock-output-names = "dmaclk";
42474e353e1SRameshwar Prasad Sahu			};
425ca5b3410SRobert Richter		};
426ca5b3410SRobert Richter
427e1e6e5c4SDuc Dang		msi: msi@79000000 {
428e1e6e5c4SDuc Dang			compatible = "apm,xgene1-msi";
429e1e6e5c4SDuc Dang			msi-controller;
430e1e6e5c4SDuc Dang			reg = <0x00 0x79000000 0x0 0x900000>;
431e1e6e5c4SDuc Dang			interrupts = <  0x0 0x10 0x4
432e1e6e5c4SDuc Dang					0x0 0x11 0x4
433e1e6e5c4SDuc Dang					0x0 0x12 0x4
434e1e6e5c4SDuc Dang					0x0 0x13 0x4
435e1e6e5c4SDuc Dang					0x0 0x14 0x4
436e1e6e5c4SDuc Dang					0x0 0x15 0x4
437e1e6e5c4SDuc Dang					0x0 0x16 0x4
438e1e6e5c4SDuc Dang					0x0 0x17 0x4
439e1e6e5c4SDuc Dang					0x0 0x18 0x4
440e1e6e5c4SDuc Dang					0x0 0x19 0x4
441e1e6e5c4SDuc Dang					0x0 0x1a 0x4
442e1e6e5c4SDuc Dang					0x0 0x1b 0x4
443e1e6e5c4SDuc Dang					0x0 0x1c 0x4
444e1e6e5c4SDuc Dang					0x0 0x1d 0x4
445e1e6e5c4SDuc Dang					0x0 0x1e 0x4
446e1e6e5c4SDuc Dang					0x0 0x1f 0x4>;
447e1e6e5c4SDuc Dang		};
448e1e6e5c4SDuc Dang
4495c3a87e3SFeng Kan		scu: system-clk-controller@17000000 {
4505c3a87e3SFeng Kan			compatible = "apm,xgene-scu","syscon";
4515c3a87e3SFeng Kan			reg = <0x0 0x17000000 0x0 0x400>;
4525c3a87e3SFeng Kan		};
4535c3a87e3SFeng Kan
4545c3a87e3SFeng Kan		reboot: reboot@17000014 {
4555c3a87e3SFeng Kan			compatible = "syscon-reboot";
4565c3a87e3SFeng Kan			regmap = <&scu>;
4575c3a87e3SFeng Kan			offset = <0x14>;
4585c3a87e3SFeng Kan			mask = <0x1>;
4595c3a87e3SFeng Kan		};
4605c3a87e3SFeng Kan
4618f2ae6f3SLoc Ho		csw: csw@7e200000 {
4628f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
4638f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
4648f2ae6f3SLoc Ho		};
4658f2ae6f3SLoc Ho
4668f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
4678f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4688f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
4698f2ae6f3SLoc Ho		};
4708f2ae6f3SLoc Ho
4718f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
4728f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4738f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
4748f2ae6f3SLoc Ho		};
4758f2ae6f3SLoc Ho
4768f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
4778f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
4788f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
4798f2ae6f3SLoc Ho		};
4808f2ae6f3SLoc Ho
4818f2ae6f3SLoc Ho		edac@78800000 {
4828f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
4838f2ae6f3SLoc Ho			#address-cells = <2>;
4848f2ae6f3SLoc Ho			#size-cells = <2>;
4858f2ae6f3SLoc Ho			ranges;
4868f2ae6f3SLoc Ho			regmap-csw = <&csw>;
4878f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
4888f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
4898f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
4908f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
4918f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
4928f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
4938f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
4948f2ae6f3SLoc Ho
4958f2ae6f3SLoc Ho			edacmc@7e800000 {
4968f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
4978f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
4988f2ae6f3SLoc Ho				memory-controller = <0>;
4998f2ae6f3SLoc Ho			};
5008f2ae6f3SLoc Ho
5018f2ae6f3SLoc Ho			edacmc@7e840000 {
5028f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5038f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
5048f2ae6f3SLoc Ho				memory-controller = <1>;
5058f2ae6f3SLoc Ho			};
5068f2ae6f3SLoc Ho
5078f2ae6f3SLoc Ho			edacmc@7e880000 {
5088f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5098f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
5108f2ae6f3SLoc Ho				memory-controller = <2>;
5118f2ae6f3SLoc Ho			};
5128f2ae6f3SLoc Ho
5138f2ae6f3SLoc Ho			edacmc@7e8c0000 {
5148f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5158f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
5168f2ae6f3SLoc Ho				memory-controller = <3>;
5178f2ae6f3SLoc Ho			};
5188f2ae6f3SLoc Ho
5198f2ae6f3SLoc Ho			edacpmd@7c000000 {
5208f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5218f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
5228f2ae6f3SLoc Ho				pmd-controller = <0>;
5238f2ae6f3SLoc Ho			};
5248f2ae6f3SLoc Ho
5258f2ae6f3SLoc Ho			edacpmd@7c200000 {
5268f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5278f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
5288f2ae6f3SLoc Ho				pmd-controller = <1>;
5298f2ae6f3SLoc Ho			};
5308f2ae6f3SLoc Ho
5318f2ae6f3SLoc Ho			edacpmd@7c400000 {
5328f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5338f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
5348f2ae6f3SLoc Ho				pmd-controller = <2>;
5358f2ae6f3SLoc Ho			};
5368f2ae6f3SLoc Ho
5378f2ae6f3SLoc Ho			edacpmd@7c600000 {
5388f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5398f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
5408f2ae6f3SLoc Ho				pmd-controller = <3>;
5418f2ae6f3SLoc Ho			};
542043cba96SLoc Ho
543043cba96SLoc Ho			edacl3@7e600000 {
544043cba96SLoc Ho				compatible = "apm,xgene-edac-l3";
545043cba96SLoc Ho				reg = <0x0 0x7e600000 0x0 0x1000>;
546043cba96SLoc Ho			};
547043cba96SLoc Ho
548043cba96SLoc Ho			edacsoc@7e930000 {
549043cba96SLoc Ho				compatible = "apm,xgene-edac-soc-v1";
550043cba96SLoc Ho				reg = <0x0 0x7e930000 0x0 0x1000>;
551043cba96SLoc Ho			};
5528f2ae6f3SLoc Ho		};
5538f2ae6f3SLoc Ho
554ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
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 0x1f2b0000 0x0 0x00010000   /* Controller registers */
562ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
563ca5b3410SRobert Richter			reg-names = "csr", "cfg";
564ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
56580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000   /* mem */
56680bb3edaSDuc Dang				  0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
567ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
568ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
569ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
570ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
571ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
572ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
573ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
574ca5b3410SRobert Richter			dma-coherent;
575ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
576e1e6e5c4SDuc Dang			msi-parent = <&msi>;
577ca5b3410SRobert Richter		};
578ca5b3410SRobert Richter
579ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
580ca5b3410SRobert Richter			status = "disabled";
581ca5b3410SRobert Richter			device_type = "pci";
582ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
583ca5b3410SRobert Richter			#interrupt-cells = <1>;
584ca5b3410SRobert Richter			#size-cells = <2>;
585ca5b3410SRobert Richter			#address-cells = <3>;
586ca5b3410SRobert Richter			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
587ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
588ca5b3410SRobert Richter			reg-names = "csr", "cfg";
58980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
59080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000   /* mem */
59180bb3edaSDuc Dang				  0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
592ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
593ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
594ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
595ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
596ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
597ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
598ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
599ca5b3410SRobert Richter			dma-coherent;
600ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
601e1e6e5c4SDuc Dang			msi-parent = <&msi>;
602ca5b3410SRobert Richter		};
603ca5b3410SRobert Richter
604ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
605ca5b3410SRobert Richter			status = "disabled";
606ca5b3410SRobert Richter			device_type = "pci";
607ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
608ca5b3410SRobert Richter			#interrupt-cells = <1>;
609ca5b3410SRobert Richter			#size-cells = <2>;
610ca5b3410SRobert Richter			#address-cells = <3>;
611ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
612ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
613ca5b3410SRobert Richter			reg-names = "csr", "cfg";
61480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000   /* io  */
61580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000   /* mem */
61680bb3edaSDuc Dang				  0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
617ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
618ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
619ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
620ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
621ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
622ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
623ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
624ca5b3410SRobert Richter			dma-coherent;
625ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
626e1e6e5c4SDuc Dang			msi-parent = <&msi>;
627ca5b3410SRobert Richter		};
628ca5b3410SRobert Richter
629ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
630ca5b3410SRobert Richter			status = "disabled";
631ca5b3410SRobert Richter			device_type = "pci";
632ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
633ca5b3410SRobert Richter			#interrupt-cells = <1>;
634ca5b3410SRobert Richter			#size-cells = <2>;
635ca5b3410SRobert Richter			#address-cells = <3>;
636ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
637ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
638ca5b3410SRobert Richter			reg-names = "csr", "cfg";
63980bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io  */
64080bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000   /* mem */
64180bb3edaSDuc Dang				  0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
642ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
643ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
644ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
645ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
646ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
647ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
648ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
649ca5b3410SRobert Richter			dma-coherent;
650ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
651e1e6e5c4SDuc Dang			msi-parent = <&msi>;
652ca5b3410SRobert Richter		};
653ca5b3410SRobert Richter
654ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
655ca5b3410SRobert Richter			status = "disabled";
656ca5b3410SRobert Richter			device_type = "pci";
657ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
658ca5b3410SRobert Richter			#interrupt-cells = <1>;
659ca5b3410SRobert Richter			#size-cells = <2>;
660ca5b3410SRobert Richter			#address-cells = <3>;
661ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
662ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
663ca5b3410SRobert Richter			reg-names = "csr", "cfg";
66480bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io  */
66580bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000   /* mem */
66680bb3edaSDuc Dang				  0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
667ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
668ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
669ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
670ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
671ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
672ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
673ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
674ca5b3410SRobert Richter			dma-coherent;
675ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
676e1e6e5c4SDuc Dang			msi-parent = <&msi>;
677ca5b3410SRobert Richter		};
678ca5b3410SRobert Richter
679ca5b3410SRobert Richter		serial0: serial@1c020000 {
680ca5b3410SRobert Richter			status = "disabled";
681ca5b3410SRobert Richter			device_type = "serial";
682ca5b3410SRobert Richter			compatible = "ns16550a";
683ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
684ca5b3410SRobert Richter			reg-shift = <2>;
685ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
686ca5b3410SRobert Richter			interrupt-parent = <&gic>;
687ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
688ca5b3410SRobert Richter		};
689ca5b3410SRobert Richter
690ca5b3410SRobert Richter		serial1: serial@1c021000 {
691ca5b3410SRobert Richter			status = "disabled";
692ca5b3410SRobert Richter			device_type = "serial";
693ca5b3410SRobert Richter			compatible = "ns16550a";
694ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
695ca5b3410SRobert Richter			reg-shift = <2>;
696ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
697ca5b3410SRobert Richter			interrupt-parent = <&gic>;
698ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
699ca5b3410SRobert Richter		};
700ca5b3410SRobert Richter
701ca5b3410SRobert Richter		serial2: serial@1c022000 {
702ca5b3410SRobert Richter			status = "disabled";
703ca5b3410SRobert Richter			device_type = "serial";
704ca5b3410SRobert Richter			compatible = "ns16550a";
705ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
706ca5b3410SRobert Richter			reg-shift = <2>;
707ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
708ca5b3410SRobert Richter			interrupt-parent = <&gic>;
709ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
710ca5b3410SRobert Richter		};
711ca5b3410SRobert Richter
712ca5b3410SRobert Richter		serial3: serial@1c023000 {
713ca5b3410SRobert Richter			status = "disabled";
714ca5b3410SRobert Richter			device_type = "serial";
715ca5b3410SRobert Richter			compatible = "ns16550a";
716ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
717ca5b3410SRobert Richter			reg-shift = <2>;
718ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
719ca5b3410SRobert Richter			interrupt-parent = <&gic>;
720ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
721ca5b3410SRobert Richter		};
722ca5b3410SRobert Richter
723*8f74e861SSuman Tripathi		mmc0: mmc@1c000000 {
724*8f74e861SSuman Tripathi			compatible = "arasan,sdhci-4.9a";
725*8f74e861SSuman Tripathi			reg = <0x0 0x1c000000 0x0 0x100>;
726*8f74e861SSuman Tripathi			interrupts = <0x0 0x49 0x4>;
727*8f74e861SSuman Tripathi			dma-coherent;
728*8f74e861SSuman Tripathi			no-1-8-v;
729*8f74e861SSuman Tripathi			clock-names = "clk_xin", "clk_ahb";
730*8f74e861SSuman Tripathi			clocks = <&sdioclk 0>, <&ahbclk 0>;
731*8f74e861SSuman Tripathi		};
732*8f74e861SSuman Tripathi
733ca5b3410SRobert Richter		phy1: phy@1f21a000 {
734ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
735ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
736ca5b3410SRobert Richter			#phy-cells = <1>;
737ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
738ca5b3410SRobert Richter			status = "disabled";
739ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
740ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
741ca5b3410SRobert Richter		};
742ca5b3410SRobert Richter
743ca5b3410SRobert Richter		phy2: phy@1f22a000 {
744ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
745ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
746ca5b3410SRobert Richter			#phy-cells = <1>;
747ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
748ca5b3410SRobert Richter			status = "ok";
749ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
750ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
751ca5b3410SRobert Richter		};
752ca5b3410SRobert Richter
753ca5b3410SRobert Richter		phy3: phy@1f23a000 {
754ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
755ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
756ca5b3410SRobert Richter			#phy-cells = <1>;
757ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
758ca5b3410SRobert Richter			status = "ok";
759ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
760ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
761ca5b3410SRobert Richter		};
762ca5b3410SRobert Richter
763ca5b3410SRobert Richter		sata1: sata@1a000000 {
764ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
765ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
766ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
767ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
768ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
769ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
770ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
771ca5b3410SRobert Richter			dma-coherent;
772ca5b3410SRobert Richter			status = "disabled";
773ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
774ca5b3410SRobert Richter			phys = <&phy1 0>;
775ca5b3410SRobert Richter			phy-names = "sata-phy";
776ca5b3410SRobert Richter		};
777ca5b3410SRobert Richter
778ca5b3410SRobert Richter		sata2: sata@1a400000 {
779ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
780ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
781ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
782ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
783ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
784ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
785ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
786ca5b3410SRobert Richter			dma-coherent;
787ca5b3410SRobert Richter			status = "ok";
788ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
789ca5b3410SRobert Richter			phys = <&phy2 0>;
790ca5b3410SRobert Richter			phy-names = "sata-phy";
791ca5b3410SRobert Richter		};
792ca5b3410SRobert Richter
793ca5b3410SRobert Richter		sata3: sata@1a800000 {
794ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
795ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
796ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
797ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
798ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
799ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
800ca5b3410SRobert Richter			dma-coherent;
801ca5b3410SRobert Richter			status = "ok";
802ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
803ca5b3410SRobert Richter			phys = <&phy3 0>;
804ca5b3410SRobert Richter			phy-names = "sata-phy";
805ca5b3410SRobert Richter		};
806ca5b3410SRobert Richter
807ea21feb3SY Vo		sbgpio: sbgpio@17001000{
808ea21feb3SY Vo			compatible = "apm,xgene-gpio-sb";
809ea21feb3SY Vo			reg = <0x0 0x17001000 0x0 0x400>;
810ea21feb3SY Vo			#gpio-cells = <2>;
811ea21feb3SY Vo			gpio-controller;
812ea21feb3SY Vo			interrupts = 	<0x0 0x28 0x1>,
813ea21feb3SY Vo					<0x0 0x29 0x1>,
814ea21feb3SY Vo					<0x0 0x2a 0x1>,
815ea21feb3SY Vo					<0x0 0x2b 0x1>,
816ea21feb3SY Vo					<0x0 0x2c 0x1>,
817ea21feb3SY Vo					<0x0 0x2d 0x1>;
818ea21feb3SY Vo		};
819ea21feb3SY Vo
820ca5b3410SRobert Richter		rtc: rtc@10510000 {
821ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
822ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
823ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
824ca5b3410SRobert Richter			#clock-cells = <1>;
825ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
826ca5b3410SRobert Richter		};
827ca5b3410SRobert Richter
828ca5b3410SRobert Richter		menet: ethernet@17020000 {
829ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
830ca5b3410SRobert Richter			status = "disabled";
831ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
8326c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
833ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
834ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
835ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
836ca5b3410SRobert Richter			dma-coherent;
837ca5b3410SRobert Richter			clocks = <&menetclk 0>;
838ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
839ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
840ca5b3410SRobert Richter			phy-connection-type = "rgmii";
841ca5b3410SRobert Richter			phy-handle = <&menetphy>;
842ca5b3410SRobert Richter			mdio {
843ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
844ca5b3410SRobert Richter				#address-cells = <1>;
845ca5b3410SRobert Richter				#size-cells = <0>;
846ca5b3410SRobert Richter				menetphy: menetphy@3 {
847ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
848ca5b3410SRobert Richter					reg = <0x3>;
849ca5b3410SRobert Richter				};
850ca5b3410SRobert Richter
851ca5b3410SRobert Richter			};
852ca5b3410SRobert Richter		};
853ca5b3410SRobert Richter
854ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
8552a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
856ca5b3410SRobert Richter			status = "disabled";
8576c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
8586c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
8596c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
860ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
861d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
862d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
863ca5b3410SRobert Richter			dma-coherent;
864ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
865ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
866ca5b3410SRobert Richter			phy-connection-type = "sgmii";
867ca5b3410SRobert Richter		};
868ca5b3410SRobert Richter
8692d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
8702d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
8712d33394eSKeyur Chudgar			status = "disabled";
8722d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
8732d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
8742d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
8752d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
876d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
877d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
8782d33394eSKeyur Chudgar			port-id = <1>;
8792d33394eSKeyur Chudgar			dma-coherent;
8802d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
8812d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
8822d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
8832d33394eSKeyur Chudgar		};
8842d33394eSKeyur Chudgar
885ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
8862a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
887ca5b3410SRobert Richter			status = "disabled";
888ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
8896c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
890ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
891ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
892d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
893d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
894ca5b3410SRobert Richter			dma-coherent;
895ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
896ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
897ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
898ca5b3410SRobert Richter			phy-connection-type = "xgmii";
899ca5b3410SRobert Richter		};
900ca5b3410SRobert Richter
901e63c7a09SIyappan Subramanian		xgenet1: ethernet@1f620000 {
902e63c7a09SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
903e63c7a09SIyappan Subramanian			status = "disabled";
904e63c7a09SIyappan Subramanian			reg = <0x0 0x1f620000 0x0 0xd100>,
905e63c7a09SIyappan Subramanian			      <0x0 0x1f600000 0x0 0Xc300>,
906e63c7a09SIyappan Subramanian			      <0x0 0x18000000 0x0 0X8000>;
907e63c7a09SIyappan Subramanian			reg-names = "enet_csr", "ring_csr", "ring_cmd";
908e63c7a09SIyappan Subramanian			interrupts = <0x0 0x6C 0x4>,
909e63c7a09SIyappan Subramanian				     <0x0 0x6D 0x4>;
910e63c7a09SIyappan Subramanian			port-id = <1>;
911e63c7a09SIyappan Subramanian			dma-coherent;
912e63c7a09SIyappan Subramanian			clocks = <&xge1clk 0>;
913e63c7a09SIyappan Subramanian			/* mac address will be overwritten by the bootloader */
914e63c7a09SIyappan Subramanian			local-mac-address = [00 00 00 00 00 00];
915e63c7a09SIyappan Subramanian			phy-connection-type = "xgmii";
916e63c7a09SIyappan Subramanian		};
917e63c7a09SIyappan Subramanian
918ca5b3410SRobert Richter		rng: rng@10520000 {
919ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
920ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
921ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
922ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
923ca5b3410SRobert Richter		};
92474e353e1SRameshwar Prasad Sahu
92574e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
92674e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
92774e353e1SRameshwar Prasad Sahu			device_type = "dma";
92874e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
92974e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
930cda8e937SRameshwar Prasad Sahu			      <0x0 0x1b000000 0x0 0x400000>,
93174e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
93274e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
93374e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
93474e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
93574e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
93674e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
93774e353e1SRameshwar Prasad Sahu			dma-coherent;
93874e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
93974e353e1SRameshwar Prasad Sahu		};
940ca5b3410SRobert Richter	};
941ca5b3410SRobert Richter};
942