xref: /linux/scripts/dtc/include-prefixes/arm64/apm/apm-storm.dtsi (revision 62ff9683b5980327b2952f188e529fd67fddf94a)
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			};
420*62ff9683SDuc Dang
421*62ff9683SDuc Dang			i2cclk: i2cclk@17000000 {
422*62ff9683SDuc Dang				status = "disabled";
423*62ff9683SDuc Dang				compatible = "apm,xgene-device-clock";
424*62ff9683SDuc Dang				#clock-cells = <1>;
425*62ff9683SDuc Dang				clocks = <&ahbclk 0>;
426*62ff9683SDuc Dang				reg = <0x0 0x17000000 0x0 0x2000>;
427*62ff9683SDuc Dang				reg-names = "csr-reg";
428*62ff9683SDuc Dang				csr-offset = <0xc>;
429*62ff9683SDuc Dang				csr-mask = <0x4>;
430*62ff9683SDuc Dang				enable-offset = <0x10>;
431*62ff9683SDuc Dang				enable-mask = <0x4>;
432*62ff9683SDuc Dang				clock-output-names = "i2cclk";
433*62ff9683SDuc Dang			};
434ca5b3410SRobert Richter		};
435ca5b3410SRobert Richter
436e1e6e5c4SDuc Dang		msi: msi@79000000 {
437e1e6e5c4SDuc Dang			compatible = "apm,xgene1-msi";
438e1e6e5c4SDuc Dang			msi-controller;
439e1e6e5c4SDuc Dang			reg = <0x00 0x79000000 0x0 0x900000>;
440e1e6e5c4SDuc Dang			interrupts = <  0x0 0x10 0x4
441e1e6e5c4SDuc Dang					0x0 0x11 0x4
442e1e6e5c4SDuc Dang					0x0 0x12 0x4
443e1e6e5c4SDuc Dang					0x0 0x13 0x4
444e1e6e5c4SDuc Dang					0x0 0x14 0x4
445e1e6e5c4SDuc Dang					0x0 0x15 0x4
446e1e6e5c4SDuc Dang					0x0 0x16 0x4
447e1e6e5c4SDuc Dang					0x0 0x17 0x4
448e1e6e5c4SDuc Dang					0x0 0x18 0x4
449e1e6e5c4SDuc Dang					0x0 0x19 0x4
450e1e6e5c4SDuc Dang					0x0 0x1a 0x4
451e1e6e5c4SDuc Dang					0x0 0x1b 0x4
452e1e6e5c4SDuc Dang					0x0 0x1c 0x4
453e1e6e5c4SDuc Dang					0x0 0x1d 0x4
454e1e6e5c4SDuc Dang					0x0 0x1e 0x4
455e1e6e5c4SDuc Dang					0x0 0x1f 0x4>;
456e1e6e5c4SDuc Dang		};
457e1e6e5c4SDuc Dang
4585c3a87e3SFeng Kan		scu: system-clk-controller@17000000 {
4595c3a87e3SFeng Kan			compatible = "apm,xgene-scu","syscon";
4605c3a87e3SFeng Kan			reg = <0x0 0x17000000 0x0 0x400>;
4615c3a87e3SFeng Kan		};
4625c3a87e3SFeng Kan
4635c3a87e3SFeng Kan		reboot: reboot@17000014 {
4645c3a87e3SFeng Kan			compatible = "syscon-reboot";
4655c3a87e3SFeng Kan			regmap = <&scu>;
4665c3a87e3SFeng Kan			offset = <0x14>;
4675c3a87e3SFeng Kan			mask = <0x1>;
4685c3a87e3SFeng Kan		};
4695c3a87e3SFeng Kan
4708f2ae6f3SLoc Ho		csw: csw@7e200000 {
4718f2ae6f3SLoc Ho			compatible = "apm,xgene-csw", "syscon";
4728f2ae6f3SLoc Ho			reg = <0x0 0x7e200000 0x0 0x1000>;
4738f2ae6f3SLoc Ho		};
4748f2ae6f3SLoc Ho
4758f2ae6f3SLoc Ho		mcba: mcba@7e700000 {
4768f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4778f2ae6f3SLoc Ho			reg = <0x0 0x7e700000 0x0 0x1000>;
4788f2ae6f3SLoc Ho		};
4798f2ae6f3SLoc Ho
4808f2ae6f3SLoc Ho		mcbb: mcbb@7e720000 {
4818f2ae6f3SLoc Ho			compatible = "apm,xgene-mcb", "syscon";
4828f2ae6f3SLoc Ho			reg = <0x0 0x7e720000 0x0 0x1000>;
4838f2ae6f3SLoc Ho		};
4848f2ae6f3SLoc Ho
4858f2ae6f3SLoc Ho		efuse: efuse@1054a000 {
4868f2ae6f3SLoc Ho			compatible = "apm,xgene-efuse", "syscon";
4878f2ae6f3SLoc Ho			reg = <0x0 0x1054a000 0x0 0x20>;
4888f2ae6f3SLoc Ho		};
4898f2ae6f3SLoc Ho
4908f2ae6f3SLoc Ho		edac@78800000 {
4918f2ae6f3SLoc Ho			compatible = "apm,xgene-edac";
4928f2ae6f3SLoc Ho			#address-cells = <2>;
4938f2ae6f3SLoc Ho			#size-cells = <2>;
4948f2ae6f3SLoc Ho			ranges;
4958f2ae6f3SLoc Ho			regmap-csw = <&csw>;
4968f2ae6f3SLoc Ho			regmap-mcba = <&mcba>;
4978f2ae6f3SLoc Ho			regmap-mcbb = <&mcbb>;
4988f2ae6f3SLoc Ho			regmap-efuse = <&efuse>;
4998f2ae6f3SLoc Ho			reg = <0x0 0x78800000 0x0 0x100>;
5008f2ae6f3SLoc Ho			interrupts = <0x0 0x20 0x4>,
5018f2ae6f3SLoc Ho				     <0x0 0x21 0x4>,
5028f2ae6f3SLoc Ho				     <0x0 0x27 0x4>;
5038f2ae6f3SLoc Ho
5048f2ae6f3SLoc Ho			edacmc@7e800000 {
5058f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5068f2ae6f3SLoc Ho				reg = <0x0 0x7e800000 0x0 0x1000>;
5078f2ae6f3SLoc Ho				memory-controller = <0>;
5088f2ae6f3SLoc Ho			};
5098f2ae6f3SLoc Ho
5108f2ae6f3SLoc Ho			edacmc@7e840000 {
5118f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5128f2ae6f3SLoc Ho				reg = <0x0 0x7e840000 0x0 0x1000>;
5138f2ae6f3SLoc Ho				memory-controller = <1>;
5148f2ae6f3SLoc Ho			};
5158f2ae6f3SLoc Ho
5168f2ae6f3SLoc Ho			edacmc@7e880000 {
5178f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5188f2ae6f3SLoc Ho				reg = <0x0 0x7e880000 0x0 0x1000>;
5198f2ae6f3SLoc Ho				memory-controller = <2>;
5208f2ae6f3SLoc Ho			};
5218f2ae6f3SLoc Ho
5228f2ae6f3SLoc Ho			edacmc@7e8c0000 {
5238f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-mc";
5248f2ae6f3SLoc Ho				reg = <0x0 0x7e8c0000 0x0 0x1000>;
5258f2ae6f3SLoc Ho				memory-controller = <3>;
5268f2ae6f3SLoc Ho			};
5278f2ae6f3SLoc Ho
5288f2ae6f3SLoc Ho			edacpmd@7c000000 {
5298f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5308f2ae6f3SLoc Ho				reg = <0x0 0x7c000000 0x0 0x200000>;
5318f2ae6f3SLoc Ho				pmd-controller = <0>;
5328f2ae6f3SLoc Ho			};
5338f2ae6f3SLoc Ho
5348f2ae6f3SLoc Ho			edacpmd@7c200000 {
5358f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5368f2ae6f3SLoc Ho				reg = <0x0 0x7c200000 0x0 0x200000>;
5378f2ae6f3SLoc Ho				pmd-controller = <1>;
5388f2ae6f3SLoc Ho			};
5398f2ae6f3SLoc Ho
5408f2ae6f3SLoc Ho			edacpmd@7c400000 {
5418f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5428f2ae6f3SLoc Ho				reg = <0x0 0x7c400000 0x0 0x200000>;
5438f2ae6f3SLoc Ho				pmd-controller = <2>;
5448f2ae6f3SLoc Ho			};
5458f2ae6f3SLoc Ho
5468f2ae6f3SLoc Ho			edacpmd@7c600000 {
5478f2ae6f3SLoc Ho				compatible = "apm,xgene-edac-pmd";
5488f2ae6f3SLoc Ho				reg = <0x0 0x7c600000 0x0 0x200000>;
5498f2ae6f3SLoc Ho				pmd-controller = <3>;
5508f2ae6f3SLoc Ho			};
551043cba96SLoc Ho
552043cba96SLoc Ho			edacl3@7e600000 {
553043cba96SLoc Ho				compatible = "apm,xgene-edac-l3";
554043cba96SLoc Ho				reg = <0x0 0x7e600000 0x0 0x1000>;
555043cba96SLoc Ho			};
556043cba96SLoc Ho
557043cba96SLoc Ho			edacsoc@7e930000 {
558043cba96SLoc Ho				compatible = "apm,xgene-edac-soc-v1";
559043cba96SLoc Ho				reg = <0x0 0x7e930000 0x0 0x1000>;
560043cba96SLoc Ho			};
5618f2ae6f3SLoc Ho		};
5628f2ae6f3SLoc Ho
563ca5b3410SRobert Richter		pcie0: pcie@1f2b0000 {
564ca5b3410SRobert Richter			status = "disabled";
565ca5b3410SRobert Richter			device_type = "pci";
566ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
567ca5b3410SRobert Richter			#interrupt-cells = <1>;
568ca5b3410SRobert Richter			#size-cells = <2>;
569ca5b3410SRobert Richter			#address-cells = <3>;
570ca5b3410SRobert Richter			reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
571ca5b3410SRobert Richter				0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
572ca5b3410SRobert Richter			reg-names = "csr", "cfg";
573ca5b3410SRobert Richter			ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
57480bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000   /* mem */
57580bb3edaSDuc Dang				  0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
576ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
577ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
578ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
579ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
580ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
581ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
582ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
583ca5b3410SRobert Richter			dma-coherent;
584ca5b3410SRobert Richter			clocks = <&pcie0clk 0>;
585e1e6e5c4SDuc Dang			msi-parent = <&msi>;
586ca5b3410SRobert Richter		};
587ca5b3410SRobert Richter
588ca5b3410SRobert Richter		pcie1: pcie@1f2c0000 {
589ca5b3410SRobert Richter			status = "disabled";
590ca5b3410SRobert Richter			device_type = "pci";
591ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
592ca5b3410SRobert Richter			#interrupt-cells = <1>;
593ca5b3410SRobert Richter			#size-cells = <2>;
594ca5b3410SRobert Richter			#address-cells = <3>;
595ca5b3410SRobert Richter			reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
596ca5b3410SRobert Richter				0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
597ca5b3410SRobert Richter			reg-names = "csr", "cfg";
59880bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
59980bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000   /* mem */
60080bb3edaSDuc Dang				  0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
601ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
602ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
603ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
604ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
605ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
606ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
607ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
608ca5b3410SRobert Richter			dma-coherent;
609ca5b3410SRobert Richter			clocks = <&pcie1clk 0>;
610e1e6e5c4SDuc Dang			msi-parent = <&msi>;
611ca5b3410SRobert Richter		};
612ca5b3410SRobert Richter
613ca5b3410SRobert Richter		pcie2: pcie@1f2d0000 {
614ca5b3410SRobert Richter			status = "disabled";
615ca5b3410SRobert Richter			device_type = "pci";
616ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
617ca5b3410SRobert Richter			#interrupt-cells = <1>;
618ca5b3410SRobert Richter			#size-cells = <2>;
619ca5b3410SRobert Richter			#address-cells = <3>;
620ca5b3410SRobert Richter			reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
621ca5b3410SRobert Richter				 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
622ca5b3410SRobert Richter			reg-names = "csr", "cfg";
62380bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000   /* io  */
62480bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000   /* mem */
62580bb3edaSDuc Dang				  0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
626ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
627ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
628ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
629ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
630ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
631ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
632ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
633ca5b3410SRobert Richter			dma-coherent;
634ca5b3410SRobert Richter			clocks = <&pcie2clk 0>;
635e1e6e5c4SDuc Dang			msi-parent = <&msi>;
636ca5b3410SRobert Richter		};
637ca5b3410SRobert Richter
638ca5b3410SRobert Richter		pcie3: pcie@1f500000 {
639ca5b3410SRobert Richter			status = "disabled";
640ca5b3410SRobert Richter			device_type = "pci";
641ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
642ca5b3410SRobert Richter			#interrupt-cells = <1>;
643ca5b3410SRobert Richter			#size-cells = <2>;
644ca5b3410SRobert Richter			#address-cells = <3>;
645ca5b3410SRobert Richter			reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
646ca5b3410SRobert Richter				0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
647ca5b3410SRobert Richter			reg-names = "csr", "cfg";
64880bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io  */
64980bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000   /* mem */
65080bb3edaSDuc Dang				  0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
651ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
652ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
653ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
654ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
655ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
656ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
657ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
658ca5b3410SRobert Richter			dma-coherent;
659ca5b3410SRobert Richter			clocks = <&pcie3clk 0>;
660e1e6e5c4SDuc Dang			msi-parent = <&msi>;
661ca5b3410SRobert Richter		};
662ca5b3410SRobert Richter
663ca5b3410SRobert Richter		pcie4: pcie@1f510000 {
664ca5b3410SRobert Richter			status = "disabled";
665ca5b3410SRobert Richter			device_type = "pci";
666ca5b3410SRobert Richter			compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
667ca5b3410SRobert Richter			#interrupt-cells = <1>;
668ca5b3410SRobert Richter			#size-cells = <2>;
669ca5b3410SRobert Richter			#address-cells = <3>;
670ca5b3410SRobert Richter			reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
671ca5b3410SRobert Richter				0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
672ca5b3410SRobert Richter			reg-names = "csr", "cfg";
67380bb3edaSDuc Dang			ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io  */
67480bb3edaSDuc Dang				  0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000   /* mem */
67580bb3edaSDuc Dang				  0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
676ca5b3410SRobert Richter			dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
677ca5b3410SRobert Richter				      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
678ca5b3410SRobert Richter			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
679ca5b3410SRobert Richter			interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
680ca5b3410SRobert Richter					 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
681ca5b3410SRobert Richter					 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
682ca5b3410SRobert Richter					 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
683ca5b3410SRobert Richter			dma-coherent;
684ca5b3410SRobert Richter			clocks = <&pcie4clk 0>;
685e1e6e5c4SDuc Dang			msi-parent = <&msi>;
686ca5b3410SRobert Richter		};
687ca5b3410SRobert Richter
688ca5b3410SRobert Richter		serial0: serial@1c020000 {
689ca5b3410SRobert Richter			status = "disabled";
690ca5b3410SRobert Richter			device_type = "serial";
691ca5b3410SRobert Richter			compatible = "ns16550a";
692ca5b3410SRobert Richter			reg = <0 0x1c020000 0x0 0x1000>;
693ca5b3410SRobert Richter			reg-shift = <2>;
694ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
695ca5b3410SRobert Richter			interrupt-parent = <&gic>;
696ca5b3410SRobert Richter			interrupts = <0x0 0x4c 0x4>;
697ca5b3410SRobert Richter		};
698ca5b3410SRobert Richter
699ca5b3410SRobert Richter		serial1: serial@1c021000 {
700ca5b3410SRobert Richter			status = "disabled";
701ca5b3410SRobert Richter			device_type = "serial";
702ca5b3410SRobert Richter			compatible = "ns16550a";
703ca5b3410SRobert Richter			reg = <0 0x1c021000 0x0 0x1000>;
704ca5b3410SRobert Richter			reg-shift = <2>;
705ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
706ca5b3410SRobert Richter			interrupt-parent = <&gic>;
707ca5b3410SRobert Richter			interrupts = <0x0 0x4d 0x4>;
708ca5b3410SRobert Richter		};
709ca5b3410SRobert Richter
710ca5b3410SRobert Richter		serial2: serial@1c022000 {
711ca5b3410SRobert Richter			status = "disabled";
712ca5b3410SRobert Richter			device_type = "serial";
713ca5b3410SRobert Richter			compatible = "ns16550a";
714ca5b3410SRobert Richter			reg = <0 0x1c022000 0x0 0x1000>;
715ca5b3410SRobert Richter			reg-shift = <2>;
716ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
717ca5b3410SRobert Richter			interrupt-parent = <&gic>;
718ca5b3410SRobert Richter			interrupts = <0x0 0x4e 0x4>;
719ca5b3410SRobert Richter		};
720ca5b3410SRobert Richter
721ca5b3410SRobert Richter		serial3: serial@1c023000 {
722ca5b3410SRobert Richter			status = "disabled";
723ca5b3410SRobert Richter			device_type = "serial";
724ca5b3410SRobert Richter			compatible = "ns16550a";
725ca5b3410SRobert Richter			reg = <0 0x1c023000 0x0 0x1000>;
726ca5b3410SRobert Richter			reg-shift = <2>;
727ca5b3410SRobert Richter			clock-frequency = <10000000>; /* Updated by bootloader */
728ca5b3410SRobert Richter			interrupt-parent = <&gic>;
729ca5b3410SRobert Richter			interrupts = <0x0 0x4f 0x4>;
730ca5b3410SRobert Richter		};
731ca5b3410SRobert Richter
7328f74e861SSuman Tripathi		mmc0: mmc@1c000000 {
7338f74e861SSuman Tripathi			compatible = "arasan,sdhci-4.9a";
7348f74e861SSuman Tripathi			reg = <0x0 0x1c000000 0x0 0x100>;
7358f74e861SSuman Tripathi			interrupts = <0x0 0x49 0x4>;
7368f74e861SSuman Tripathi			dma-coherent;
7378f74e861SSuman Tripathi			no-1-8-v;
7388f74e861SSuman Tripathi			clock-names = "clk_xin", "clk_ahb";
7398f74e861SSuman Tripathi			clocks = <&sdioclk 0>, <&ahbclk 0>;
7408f74e861SSuman Tripathi		};
7418f74e861SSuman Tripathi
7420a09223fSDuc Dang		gfcgpio: gfcgpio0@1701c000 {
7430a09223fSDuc Dang			compatible = "apm,xgene-gpio";
7440a09223fSDuc Dang			reg = <0x0 0x1701c000 0x0 0x40>;
7450a09223fSDuc Dang			gpio-controller;
7460a09223fSDuc Dang			#gpio-cells = <2>;
7470a09223fSDuc Dang		};
7480a09223fSDuc Dang
749e38ec5b9SDuc Dang		dwgpio: dwgpio@1c024000 {
750e38ec5b9SDuc Dang			compatible = "snps,dw-apb-gpio";
751e38ec5b9SDuc Dang			reg = <0x0 0x1c024000 0x0 0x1000>;
752e38ec5b9SDuc Dang			reg-io-width = <4>;
753e38ec5b9SDuc Dang			#address-cells = <1>;
754e38ec5b9SDuc Dang			#size-cells = <0>;
755e38ec5b9SDuc Dang
756e38ec5b9SDuc Dang			porta: gpio-controller@0 {
757e38ec5b9SDuc Dang				compatible = "snps,dw-apb-gpio-port";
758e38ec5b9SDuc Dang				gpio-controller;
759e38ec5b9SDuc Dang				snps,nr-gpios = <32>;
760e38ec5b9SDuc Dang				reg = <0>;
761e38ec5b9SDuc Dang			};
762e38ec5b9SDuc Dang		};
763e38ec5b9SDuc Dang
764*62ff9683SDuc Dang		i2c0: i2c0@10512000 {
765*62ff9683SDuc Dang			status = "disabled";
766*62ff9683SDuc Dang			#address-cells = <1>;
767*62ff9683SDuc Dang			#size-cells = <0>;
768*62ff9683SDuc Dang			compatible = "snps,designware-i2c";
769*62ff9683SDuc Dang			reg = <0x0 0x10512000 0x0 0x1000>;
770*62ff9683SDuc Dang			interrupts = <0 0x44 0x4>;
771*62ff9683SDuc Dang			#clock-cells = <1>;
772*62ff9683SDuc Dang			clocks = <&i2cclk 0>;
773*62ff9683SDuc Dang			bus_num = <0>;
774*62ff9683SDuc Dang		};
775*62ff9683SDuc Dang
776ca5b3410SRobert Richter		phy1: phy@1f21a000 {
777ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
778ca5b3410SRobert Richter			reg = <0x0 0x1f21a000 0x0 0x100>;
779ca5b3410SRobert Richter			#phy-cells = <1>;
780ca5b3410SRobert Richter			clocks = <&sataphy1clk 0>;
781ca5b3410SRobert Richter			status = "disabled";
782ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
783ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
784ca5b3410SRobert Richter		};
785ca5b3410SRobert Richter
786ca5b3410SRobert Richter		phy2: phy@1f22a000 {
787ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
788ca5b3410SRobert Richter			reg = <0x0 0x1f22a000 0x0 0x100>;
789ca5b3410SRobert Richter			#phy-cells = <1>;
790ca5b3410SRobert Richter			clocks = <&sataphy2clk 0>;
791ca5b3410SRobert Richter			status = "ok";
792ca5b3410SRobert Richter			apm,tx-boost-gain = <30 30 30 30 30 30>;
793ca5b3410SRobert Richter			apm,tx-eye-tuning = <1 10 10 2 10 10>;
794ca5b3410SRobert Richter		};
795ca5b3410SRobert Richter
796ca5b3410SRobert Richter		phy3: phy@1f23a000 {
797ca5b3410SRobert Richter			compatible = "apm,xgene-phy";
798ca5b3410SRobert Richter			reg = <0x0 0x1f23a000 0x0 0x100>;
799ca5b3410SRobert Richter			#phy-cells = <1>;
800ca5b3410SRobert Richter			clocks = <&sataphy3clk 0>;
801ca5b3410SRobert Richter			status = "ok";
802ca5b3410SRobert Richter			apm,tx-boost-gain = <31 31 31 31 31 31>;
803ca5b3410SRobert Richter			apm,tx-eye-tuning = <2 10 10 2 10 10>;
804ca5b3410SRobert Richter		};
805ca5b3410SRobert Richter
806ca5b3410SRobert Richter		sata1: sata@1a000000 {
807ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
808ca5b3410SRobert Richter			reg = <0x0 0x1a000000 0x0 0x1000>,
809ca5b3410SRobert Richter			      <0x0 0x1f210000 0x0 0x1000>,
810ca5b3410SRobert Richter			      <0x0 0x1f21d000 0x0 0x1000>,
811ca5b3410SRobert Richter			      <0x0 0x1f21e000 0x0 0x1000>,
812ca5b3410SRobert Richter			      <0x0 0x1f217000 0x0 0x1000>;
813ca5b3410SRobert Richter			interrupts = <0x0 0x86 0x4>;
814ca5b3410SRobert Richter			dma-coherent;
815ca5b3410SRobert Richter			status = "disabled";
816ca5b3410SRobert Richter			clocks = <&sata01clk 0>;
817ca5b3410SRobert Richter			phys = <&phy1 0>;
818ca5b3410SRobert Richter			phy-names = "sata-phy";
819ca5b3410SRobert Richter		};
820ca5b3410SRobert Richter
821ca5b3410SRobert Richter		sata2: sata@1a400000 {
822ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
823ca5b3410SRobert Richter			reg = <0x0 0x1a400000 0x0 0x1000>,
824ca5b3410SRobert Richter			      <0x0 0x1f220000 0x0 0x1000>,
825ca5b3410SRobert Richter			      <0x0 0x1f22d000 0x0 0x1000>,
826ca5b3410SRobert Richter			      <0x0 0x1f22e000 0x0 0x1000>,
827ca5b3410SRobert Richter			      <0x0 0x1f227000 0x0 0x1000>;
828ca5b3410SRobert Richter			interrupts = <0x0 0x87 0x4>;
829ca5b3410SRobert Richter			dma-coherent;
830ca5b3410SRobert Richter			status = "ok";
831ca5b3410SRobert Richter			clocks = <&sata23clk 0>;
832ca5b3410SRobert Richter			phys = <&phy2 0>;
833ca5b3410SRobert Richter			phy-names = "sata-phy";
834ca5b3410SRobert Richter		};
835ca5b3410SRobert Richter
836ca5b3410SRobert Richter		sata3: sata@1a800000 {
837ca5b3410SRobert Richter			compatible = "apm,xgene-ahci";
838ca5b3410SRobert Richter			reg = <0x0 0x1a800000 0x0 0x1000>,
839ca5b3410SRobert Richter			      <0x0 0x1f230000 0x0 0x1000>,
840ca5b3410SRobert Richter			      <0x0 0x1f23d000 0x0 0x1000>,
841ca5b3410SRobert Richter			      <0x0 0x1f23e000 0x0 0x1000>;
842ca5b3410SRobert Richter			interrupts = <0x0 0x88 0x4>;
843ca5b3410SRobert Richter			dma-coherent;
844ca5b3410SRobert Richter			status = "ok";
845ca5b3410SRobert Richter			clocks = <&sata45clk 0>;
846ca5b3410SRobert Richter			phys = <&phy3 0>;
847ca5b3410SRobert Richter			phy-names = "sata-phy";
848ca5b3410SRobert Richter		};
849ca5b3410SRobert Richter
850bd410233SDuc Dang		/* Do not change dwusb name, coded for backward compatibility */
851bd410233SDuc Dang		usb0: dwusb@19000000 {
852bd410233SDuc Dang			status = "disabled";
853bd410233SDuc Dang			compatible = "snps,dwc3";
854bd410233SDuc Dang			reg =  <0x0 0x19000000 0x0 0x100000>;
855bd410233SDuc Dang			interrupts = <0x0 0x89 0x4>;
856bd410233SDuc Dang			dma-coherent;
857bd410233SDuc Dang			dr_mode = "host";
858bd410233SDuc Dang		};
859bd410233SDuc Dang
860bd410233SDuc Dang		usb1: dwusb@19800000 {
861bd410233SDuc Dang			status = "disabled";
862bd410233SDuc Dang			compatible = "snps,dwc3";
863bd410233SDuc Dang			reg =  <0x0 0x19800000 0x0 0x100000>;
864bd410233SDuc Dang			interrupts = <0x0 0x8a 0x4>;
865bd410233SDuc Dang			dma-coherent;
866bd410233SDuc Dang			dr_mode = "host";
867bd410233SDuc Dang		};
868bd410233SDuc Dang
869ea21feb3SY Vo		sbgpio: sbgpio@17001000{
870ea21feb3SY Vo			compatible = "apm,xgene-gpio-sb";
871ea21feb3SY Vo			reg = <0x0 0x17001000 0x0 0x400>;
872ea21feb3SY Vo			#gpio-cells = <2>;
873ea21feb3SY Vo			gpio-controller;
874ea21feb3SY Vo			interrupts = 	<0x0 0x28 0x1>,
875ea21feb3SY Vo					<0x0 0x29 0x1>,
876ea21feb3SY Vo					<0x0 0x2a 0x1>,
877ea21feb3SY Vo					<0x0 0x2b 0x1>,
878ea21feb3SY Vo					<0x0 0x2c 0x1>,
879ea21feb3SY Vo					<0x0 0x2d 0x1>;
880ea21feb3SY Vo		};
881ea21feb3SY Vo
882ca5b3410SRobert Richter		rtc: rtc@10510000 {
883ca5b3410SRobert Richter			compatible = "apm,xgene-rtc";
884ca5b3410SRobert Richter			reg = <0x0 0x10510000 0x0 0x400>;
885ca5b3410SRobert Richter			interrupts = <0x0 0x46 0x4>;
886ca5b3410SRobert Richter			#clock-cells = <1>;
887ca5b3410SRobert Richter			clocks = <&rtcclk 0>;
888ca5b3410SRobert Richter		};
889ca5b3410SRobert Richter
890ca5b3410SRobert Richter		menet: ethernet@17020000 {
891ca5b3410SRobert Richter			compatible = "apm,xgene-enet";
892ca5b3410SRobert Richter			status = "disabled";
893ca5b3410SRobert Richter			reg = <0x0 0x17020000 0x0 0xd100>,
8946c9e9247SLinus Torvalds			      <0x0 0X17030000 0x0 0Xc300>,
895ca5b3410SRobert Richter			      <0x0 0X10000000 0x0 0X200>;
896ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
897ca5b3410SRobert Richter			interrupts = <0x0 0x3c 0x4>;
898ca5b3410SRobert Richter			dma-coherent;
899ca5b3410SRobert Richter			clocks = <&menetclk 0>;
900ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
901ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
902ca5b3410SRobert Richter			phy-connection-type = "rgmii";
903ca5b3410SRobert Richter			phy-handle = <&menetphy>;
904ca5b3410SRobert Richter			mdio {
905ca5b3410SRobert Richter				compatible = "apm,xgene-mdio";
906ca5b3410SRobert Richter				#address-cells = <1>;
907ca5b3410SRobert Richter				#size-cells = <0>;
908ca5b3410SRobert Richter				menetphy: menetphy@3 {
909ca5b3410SRobert Richter					compatible = "ethernet-phy-id001c.c915";
910ca5b3410SRobert Richter					reg = <0x3>;
911ca5b3410SRobert Richter				};
912ca5b3410SRobert Richter
913ca5b3410SRobert Richter			};
914ca5b3410SRobert Richter		};
915ca5b3410SRobert Richter
916ca5b3410SRobert Richter		sgenet0: ethernet@1f210000 {
9172a91eb72SIyappan Subramanian			compatible = "apm,xgene1-sgenet";
918ca5b3410SRobert Richter			status = "disabled";
9196c9e9247SLinus Torvalds			reg = <0x0 0x1f210000 0x0 0xd100>,
9206c9e9247SLinus Torvalds			      <0x0 0x1f200000 0x0 0Xc300>,
9216c9e9247SLinus Torvalds			      <0x0 0x1B000000 0x0 0X200>;
922ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
923d3134649SIyappan Subramanian			interrupts = <0x0 0xA0 0x4>,
924d3134649SIyappan Subramanian				     <0x0 0xA1 0x4>;
925ca5b3410SRobert Richter			dma-coherent;
926ca5b3410SRobert Richter			clocks = <&sge0clk 0>;
927ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
928ca5b3410SRobert Richter			phy-connection-type = "sgmii";
929ca5b3410SRobert Richter		};
930ca5b3410SRobert Richter
9312d33394eSKeyur Chudgar		sgenet1: ethernet@1f210030 {
9322d33394eSKeyur Chudgar			compatible = "apm,xgene1-sgenet";
9332d33394eSKeyur Chudgar			status = "disabled";
9342d33394eSKeyur Chudgar			reg = <0x0 0x1f210030 0x0 0xd100>,
9352d33394eSKeyur Chudgar			      <0x0 0x1f200000 0x0 0Xc300>,
9362d33394eSKeyur Chudgar			      <0x0 0x1B000000 0x0 0X8000>;
9372d33394eSKeyur Chudgar			reg-names = "enet_csr", "ring_csr", "ring_cmd";
938d3134649SIyappan Subramanian			interrupts = <0x0 0xAC 0x4>,
939d3134649SIyappan Subramanian				     <0x0 0xAD 0x4>;
9402d33394eSKeyur Chudgar			port-id = <1>;
9412d33394eSKeyur Chudgar			dma-coherent;
9422d33394eSKeyur Chudgar			clocks = <&sge1clk 0>;
9432d33394eSKeyur Chudgar			local-mac-address = [00 00 00 00 00 00];
9442d33394eSKeyur Chudgar			phy-connection-type = "sgmii";
9452d33394eSKeyur Chudgar		};
9462d33394eSKeyur Chudgar
947ca5b3410SRobert Richter		xgenet: ethernet@1f610000 {
9482a91eb72SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
949ca5b3410SRobert Richter			status = "disabled";
950ca5b3410SRobert Richter			reg = <0x0 0x1f610000 0x0 0xd100>,
9516c9e9247SLinus Torvalds			      <0x0 0x1f600000 0x0 0Xc300>,
952ca5b3410SRobert Richter			      <0x0 0x18000000 0x0 0X200>;
953ca5b3410SRobert Richter			reg-names = "enet_csr", "ring_csr", "ring_cmd";
954d3134649SIyappan Subramanian			interrupts = <0x0 0x60 0x4>,
955d3134649SIyappan Subramanian				     <0x0 0x61 0x4>;
956ca5b3410SRobert Richter			dma-coherent;
957ca5b3410SRobert Richter			clocks = <&xge0clk 0>;
958ca5b3410SRobert Richter			/* mac address will be overwritten by the bootloader */
959ca5b3410SRobert Richter			local-mac-address = [00 00 00 00 00 00];
960ca5b3410SRobert Richter			phy-connection-type = "xgmii";
961ca5b3410SRobert Richter		};
962ca5b3410SRobert Richter
963e63c7a09SIyappan Subramanian		xgenet1: ethernet@1f620000 {
964e63c7a09SIyappan Subramanian			compatible = "apm,xgene1-xgenet";
965e63c7a09SIyappan Subramanian			status = "disabled";
966e63c7a09SIyappan Subramanian			reg = <0x0 0x1f620000 0x0 0xd100>,
967e63c7a09SIyappan Subramanian			      <0x0 0x1f600000 0x0 0Xc300>,
968e63c7a09SIyappan Subramanian			      <0x0 0x18000000 0x0 0X8000>;
969e63c7a09SIyappan Subramanian			reg-names = "enet_csr", "ring_csr", "ring_cmd";
970e63c7a09SIyappan Subramanian			interrupts = <0x0 0x6C 0x4>,
971e63c7a09SIyappan Subramanian				     <0x0 0x6D 0x4>;
972e63c7a09SIyappan Subramanian			port-id = <1>;
973e63c7a09SIyappan Subramanian			dma-coherent;
974e63c7a09SIyappan Subramanian			clocks = <&xge1clk 0>;
975e63c7a09SIyappan Subramanian			/* mac address will be overwritten by the bootloader */
976e63c7a09SIyappan Subramanian			local-mac-address = [00 00 00 00 00 00];
977e63c7a09SIyappan Subramanian			phy-connection-type = "xgmii";
978e63c7a09SIyappan Subramanian		};
979e63c7a09SIyappan Subramanian
980ca5b3410SRobert Richter		rng: rng@10520000 {
981ca5b3410SRobert Richter			compatible = "apm,xgene-rng";
982ca5b3410SRobert Richter			reg = <0x0 0x10520000 0x0 0x100>;
983ca5b3410SRobert Richter			interrupts = <0x0 0x41 0x4>;
984ca5b3410SRobert Richter			clocks = <&rngpkaclk 0>;
985ca5b3410SRobert Richter		};
98674e353e1SRameshwar Prasad Sahu
98774e353e1SRameshwar Prasad Sahu		dma: dma@1f270000 {
98874e353e1SRameshwar Prasad Sahu			compatible = "apm,xgene-storm-dma";
98974e353e1SRameshwar Prasad Sahu			device_type = "dma";
99074e353e1SRameshwar Prasad Sahu			reg = <0x0 0x1f270000 0x0 0x10000>,
99174e353e1SRameshwar Prasad Sahu			      <0x0 0x1f200000 0x0 0x10000>,
992cda8e937SRameshwar Prasad Sahu			      <0x0 0x1b000000 0x0 0x400000>,
99374e353e1SRameshwar Prasad Sahu			      <0x0 0x1054a000 0x0 0x100>;
99474e353e1SRameshwar Prasad Sahu			interrupts = <0x0 0x82 0x4>,
99574e353e1SRameshwar Prasad Sahu				     <0x0 0xb8 0x4>,
99674e353e1SRameshwar Prasad Sahu				     <0x0 0xb9 0x4>,
99774e353e1SRameshwar Prasad Sahu				     <0x0 0xba 0x4>,
99874e353e1SRameshwar Prasad Sahu				     <0x0 0xbb 0x4>;
99974e353e1SRameshwar Prasad Sahu			dma-coherent;
100074e353e1SRameshwar Prasad Sahu			clocks = <&dmaclk 0>;
100174e353e1SRameshwar Prasad Sahu		};
1002ca5b3410SRobert Richter	};
1003ca5b3410SRobert Richter};
1004