Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / arm64 / boot / dts / apm / apm-storm.dtsi
1 /*
2  * dts file for AppliedMicro (APM) X-Gene Storm SOC
3  *
4  * Copyright (C) 2013, Applied Micro Circuits Corporation
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  */
11
12 / {
13         compatible = "apm,xgene-storm";
14         interrupt-parent = <&gic>;
15         #address-cells = <2>;
16         #size-cells = <2>;
17
18         cpus {
19                 #address-cells = <2>;
20                 #size-cells = <0>;
21
22                 cpu@000 {
23                         device_type = "cpu";
24                         compatible = "apm,potenza", "arm,armv8";
25                         reg = <0x0 0x000>;
26                         enable-method = "spin-table";
27                         cpu-release-addr = <0x1 0x0000fff8>;
28                 };
29                 cpu@001 {
30                         device_type = "cpu";
31                         compatible = "apm,potenza", "arm,armv8";
32                         reg = <0x0 0x001>;
33                         enable-method = "spin-table";
34                         cpu-release-addr = <0x1 0x0000fff8>;
35                 };
36                 cpu@100 {
37                         device_type = "cpu";
38                         compatible = "apm,potenza", "arm,armv8";
39                         reg = <0x0 0x100>;
40                         enable-method = "spin-table";
41                         cpu-release-addr = <0x1 0x0000fff8>;
42                 };
43                 cpu@101 {
44                         device_type = "cpu";
45                         compatible = "apm,potenza", "arm,armv8";
46                         reg = <0x0 0x101>;
47                         enable-method = "spin-table";
48                         cpu-release-addr = <0x1 0x0000fff8>;
49                 };
50                 cpu@200 {
51                         device_type = "cpu";
52                         compatible = "apm,potenza", "arm,armv8";
53                         reg = <0x0 0x200>;
54                         enable-method = "spin-table";
55                         cpu-release-addr = <0x1 0x0000fff8>;
56                 };
57                 cpu@201 {
58                         device_type = "cpu";
59                         compatible = "apm,potenza", "arm,armv8";
60                         reg = <0x0 0x201>;
61                         enable-method = "spin-table";
62                         cpu-release-addr = <0x1 0x0000fff8>;
63                 };
64                 cpu@300 {
65                         device_type = "cpu";
66                         compatible = "apm,potenza", "arm,armv8";
67                         reg = <0x0 0x300>;
68                         enable-method = "spin-table";
69                         cpu-release-addr = <0x1 0x0000fff8>;
70                 };
71                 cpu@301 {
72                         device_type = "cpu";
73                         compatible = "apm,potenza", "arm,armv8";
74                         reg = <0x0 0x301>;
75                         enable-method = "spin-table";
76                         cpu-release-addr = <0x1 0x0000fff8>;
77                 };
78         };
79
80         gic: interrupt-controller@78010000 {
81                 compatible = "arm,cortex-a15-gic";
82                 #interrupt-cells = <3>;
83                 interrupt-controller;
84                 reg = <0x0 0x78010000 0x0 0x1000>,      /* GIC Dist */
85                       <0x0 0x78020000 0x0 0x1000>,      /* GIC CPU */
86                       <0x0 0x78040000 0x0 0x2000>,      /* GIC VCPU Control */
87                       <0x0 0x78060000 0x0 0x2000>;      /* GIC VCPU */
88                 interrupts = <1 9 0xf04>;       /* GIC Maintenence IRQ */
89         };
90
91         timer {
92                 compatible = "arm,armv8-timer";
93                 interrupts = <1 0 0xff01>,      /* Secure Phys IRQ */
94                              <1 13 0xff01>,     /* Non-secure Phys IRQ */
95                              <1 14 0xff01>,     /* Virt IRQ */
96                              <1 15 0xff01>;     /* Hyp IRQ */
97                 clock-frequency = <50000000>;
98         };
99
100         soc {
101                 compatible = "simple-bus";
102                 #address-cells = <2>;
103                 #size-cells = <2>;
104                 ranges;
105                 dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>;
106
107                 clocks {
108                         #address-cells = <2>;
109                         #size-cells = <2>;
110                         ranges;
111                         refclk: refclk {
112                                 compatible = "fixed-clock";
113                                 #clock-cells = <1>;
114                                 clock-frequency = <100000000>;
115                                 clock-output-names = "refclk";
116                         };
117
118                         pcppll: pcppll@17000100 {
119                                 compatible = "apm,xgene-pcppll-clock";
120                                 #clock-cells = <1>;
121                                 clocks = <&refclk 0>;
122                                 clock-names = "pcppll";
123                                 reg = <0x0 0x17000100 0x0 0x1000>;
124                                 clock-output-names = "pcppll";
125                                 type = <0>;
126                         };
127
128                         socpll: socpll@17000120 {
129                                 compatible = "apm,xgene-socpll-clock";
130                                 #clock-cells = <1>;
131                                 clocks = <&refclk 0>;
132                                 clock-names = "socpll";
133                                 reg = <0x0 0x17000120 0x0 0x1000>;
134                                 clock-output-names = "socpll";
135                                 type = <1>;
136                         };
137
138                         socplldiv2: socplldiv2  {
139                                 compatible = "fixed-factor-clock";
140                                 #clock-cells = <1>;
141                                 clocks = <&socpll 0>;
142                                 clock-names = "socplldiv2";
143                                 clock-mult = <1>;
144                                 clock-div = <2>;
145                                 clock-output-names = "socplldiv2";
146                         };
147
148                         qmlclk: qmlclk {
149                                 compatible = "apm,xgene-device-clock";
150                                 #clock-cells = <1>;
151                                 clocks = <&socplldiv2 0>;
152                                 clock-names = "qmlclk";
153                                 reg = <0x0 0x1703C000 0x0 0x1000>;
154                                 reg-names = "csr-reg";
155                                 clock-output-names = "qmlclk";
156                         };
157
158                         ethclk: ethclk {
159                                 compatible = "apm,xgene-device-clock";
160                                 #clock-cells = <1>;
161                                 clocks = <&socplldiv2 0>;
162                                 clock-names = "ethclk";
163                                 reg = <0x0 0x17000000 0x0 0x1000>;
164                                 reg-names = "div-reg";
165                                 divider-offset = <0x238>;
166                                 divider-width = <0x9>;
167                                 divider-shift = <0x0>;
168                                 clock-output-names = "ethclk";
169                         };
170
171                         menetclk: menetclk {
172                                 compatible = "apm,xgene-device-clock";
173                                 #clock-cells = <1>;
174                                 clocks = <&ethclk 0>;
175                                 reg = <0x0 0x1702C000 0x0 0x1000>;
176                                 reg-names = "csr-reg";
177                                 clock-output-names = "menetclk";
178                         };
179
180                         sge0clk: sge0clk@1f21c000 {
181                                 compatible = "apm,xgene-device-clock";
182                                 #clock-cells = <1>;
183                                 clocks = <&socplldiv2 0>;
184                                 reg = <0x0 0x1f21c000 0x0 0x1000>;
185                                 reg-names = "csr-reg";
186                                 csr-mask = <0x3>;
187                                 clock-output-names = "sge0clk";
188                         };
189
190                         sge1clk: sge1clk@1f21c000 {
191                                 compatible = "apm,xgene-device-clock";
192                                 #clock-cells = <1>;
193                                 clocks = <&socplldiv2 0>;
194                                 reg = <0x0 0x1f21c000 0x0 0x1000>;
195                                 reg-names = "csr-reg";
196                                 csr-mask = <0xc>;
197                                 clock-output-names = "sge1clk";
198                         };
199
200                         xge0clk: xge0clk@1f61c000 {
201                                 compatible = "apm,xgene-device-clock";
202                                 #clock-cells = <1>;
203                                 clocks = <&socplldiv2 0>;
204                                 reg = <0x0 0x1f61c000 0x0 0x1000>;
205                                 reg-names = "csr-reg";
206                                 csr-mask = <0x3>;
207                                 clock-output-names = "xge0clk";
208                         };
209
210                         sataphy1clk: sataphy1clk@1f21c000 {
211                                 compatible = "apm,xgene-device-clock";
212                                 #clock-cells = <1>;
213                                 clocks = <&socplldiv2 0>;
214                                 reg = <0x0 0x1f21c000 0x0 0x1000>;
215                                 reg-names = "csr-reg";
216                                 clock-output-names = "sataphy1clk";
217                                 status = "disabled";
218                                 csr-offset = <0x4>;
219                                 csr-mask = <0x00>;
220                                 enable-offset = <0x0>;
221                                 enable-mask = <0x06>;
222                         };
223
224                         sataphy2clk: sataphy1clk@1f22c000 {
225                                 compatible = "apm,xgene-device-clock";
226                                 #clock-cells = <1>;
227                                 clocks = <&socplldiv2 0>;
228                                 reg = <0x0 0x1f22c000 0x0 0x1000>;
229                                 reg-names = "csr-reg";
230                                 clock-output-names = "sataphy2clk";
231                                 status = "ok";
232                                 csr-offset = <0x4>;
233                                 csr-mask = <0x3a>;
234                                 enable-offset = <0x0>;
235                                 enable-mask = <0x06>;
236                         };
237
238                         sataphy3clk: sataphy1clk@1f23c000 {
239                                 compatible = "apm,xgene-device-clock";
240                                 #clock-cells = <1>;
241                                 clocks = <&socplldiv2 0>;
242                                 reg = <0x0 0x1f23c000 0x0 0x1000>;
243                                 reg-names = "csr-reg";
244                                 clock-output-names = "sataphy3clk";
245                                 status = "ok";
246                                 csr-offset = <0x4>;
247                                 csr-mask = <0x3a>;
248                                 enable-offset = <0x0>;
249                                 enable-mask = <0x06>;
250                         };
251
252                         sata01clk: sata01clk@1f21c000 {
253                                 compatible = "apm,xgene-device-clock";
254                                 #clock-cells = <1>;
255                                 clocks = <&socplldiv2 0>;
256                                 reg = <0x0 0x1f21c000 0x0 0x1000>;
257                                 reg-names = "csr-reg";
258                                 clock-output-names = "sata01clk";
259                                 csr-offset = <0x4>;
260                                 csr-mask = <0x05>;
261                                 enable-offset = <0x0>;
262                                 enable-mask = <0x39>;
263                         };
264
265                         sata23clk: sata23clk@1f22c000 {
266                                 compatible = "apm,xgene-device-clock";
267                                 #clock-cells = <1>;
268                                 clocks = <&socplldiv2 0>;
269                                 reg = <0x0 0x1f22c000 0x0 0x1000>;
270                                 reg-names = "csr-reg";
271                                 clock-output-names = "sata23clk";
272                                 csr-offset = <0x4>;
273                                 csr-mask = <0x05>;
274                                 enable-offset = <0x0>;
275                                 enable-mask = <0x39>;
276                         };
277
278                         sata45clk: sata45clk@1f23c000 {
279                                 compatible = "apm,xgene-device-clock";
280                                 #clock-cells = <1>;
281                                 clocks = <&socplldiv2 0>;
282                                 reg = <0x0 0x1f23c000 0x0 0x1000>;
283                                 reg-names = "csr-reg";
284                                 clock-output-names = "sata45clk";
285                                 csr-offset = <0x4>;
286                                 csr-mask = <0x05>;
287                                 enable-offset = <0x0>;
288                                 enable-mask = <0x39>;
289                         };
290
291                         rtcclk: rtcclk@17000000 {
292                                 compatible = "apm,xgene-device-clock";
293                                 #clock-cells = <1>;
294                                 clocks = <&socplldiv2 0>;
295                                 reg = <0x0 0x17000000 0x0 0x2000>;
296                                 reg-names = "csr-reg";
297                                 csr-offset = <0xc>;
298                                 csr-mask = <0x2>;
299                                 enable-offset = <0x10>;
300                                 enable-mask = <0x2>;
301                                 clock-output-names = "rtcclk";
302                         };
303
304                         rngpkaclk: rngpkaclk@17000000 {
305                                 compatible = "apm,xgene-device-clock";
306                                 #clock-cells = <1>;
307                                 clocks = <&socplldiv2 0>;
308                                 reg = <0x0 0x17000000 0x0 0x2000>;
309                                 reg-names = "csr-reg";
310                                 csr-offset = <0xc>;
311                                 csr-mask = <0x10>;
312                                 enable-offset = <0x10>;
313                                 enable-mask = <0x10>;
314                                 clock-output-names = "rngpkaclk";
315                         };
316
317                         pcie0clk: pcie0clk@1f2bc000 {
318                                 status = "disabled";
319                                 compatible = "apm,xgene-device-clock";
320                                 #clock-cells = <1>;
321                                 clocks = <&socplldiv2 0>;
322                                 reg = <0x0 0x1f2bc000 0x0 0x1000>;
323                                 reg-names = "csr-reg";
324                                 clock-output-names = "pcie0clk";
325                         };
326
327                         pcie1clk: pcie1clk@1f2cc000 {
328                                 status = "disabled";
329                                 compatible = "apm,xgene-device-clock";
330                                 #clock-cells = <1>;
331                                 clocks = <&socplldiv2 0>;
332                                 reg = <0x0 0x1f2cc000 0x0 0x1000>;
333                                 reg-names = "csr-reg";
334                                 clock-output-names = "pcie1clk";
335                         };
336
337                         pcie2clk: pcie2clk@1f2dc000 {
338                                 status = "disabled";
339                                 compatible = "apm,xgene-device-clock";
340                                 #clock-cells = <1>;
341                                 clocks = <&socplldiv2 0>;
342                                 reg = <0x0 0x1f2dc000 0x0 0x1000>;
343                                 reg-names = "csr-reg";
344                                 clock-output-names = "pcie2clk";
345                         };
346
347                         pcie3clk: pcie3clk@1f50c000 {
348                                 status = "disabled";
349                                 compatible = "apm,xgene-device-clock";
350                                 #clock-cells = <1>;
351                                 clocks = <&socplldiv2 0>;
352                                 reg = <0x0 0x1f50c000 0x0 0x1000>;
353                                 reg-names = "csr-reg";
354                                 clock-output-names = "pcie3clk";
355                         };
356
357                         pcie4clk: pcie4clk@1f51c000 {
358                                 status = "disabled";
359                                 compatible = "apm,xgene-device-clock";
360                                 #clock-cells = <1>;
361                                 clocks = <&socplldiv2 0>;
362                                 reg = <0x0 0x1f51c000 0x0 0x1000>;
363                                 reg-names = "csr-reg";
364                                 clock-output-names = "pcie4clk";
365                         };
366
367                         dmaclk: dmaclk@1f27c000 {
368                                 compatible = "apm,xgene-device-clock";
369                                 #clock-cells = <1>;
370                                 clocks = <&socplldiv2 0>;
371                                 reg = <0x0 0x1f27c000 0x0 0x1000>;
372                                 reg-names = "csr-reg";
373                                 clock-output-names = "dmaclk";
374                         };
375                 };
376
377                 pcie0: pcie@1f2b0000 {
378                         status = "disabled";
379                         device_type = "pci";
380                         compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
381                         #interrupt-cells = <1>;
382                         #size-cells = <2>;
383                         #address-cells = <3>;
384                         reg = < 0x00 0x1f2b0000 0x0 0x00010000   /* Controller registers */
385                                 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
386                         reg-names = "csr", "cfg";
387                         ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
388                                   0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */
389                         dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
390                                       0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
391                         interrupt-map-mask = <0x0 0x0 0x0 0x7>;
392                         interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
393                                          0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
394                                          0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
395                                          0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
396                         dma-coherent;
397                         clocks = <&pcie0clk 0>;
398                 };
399
400                 pcie1: pcie@1f2c0000 {
401                         status = "disabled";
402                         device_type = "pci";
403                         compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
404                         #interrupt-cells = <1>;
405                         #size-cells = <2>;
406                         #address-cells = <3>;
407                         reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
408                                 0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
409                         reg-names = "csr", "cfg";
410                         ranges = <0x01000000 0x0 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
411                                   0x02000000 0x0 0x80000000 0xd1 0x80000000 0x00 0x80000000>; /* mem */
412                         dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
413                                       0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
414                         interrupt-map-mask = <0x0 0x0 0x0 0x7>;
415                         interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
416                                          0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
417                                          0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
418                                          0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
419                         dma-coherent;
420                         clocks = <&pcie1clk 0>;
421                 };
422
423                 pcie2: pcie@1f2d0000 {
424                         status = "disabled";
425                         device_type = "pci";
426                         compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
427                         #interrupt-cells = <1>;
428                         #size-cells = <2>;
429                         #address-cells = <3>;
430                         reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
431                                  0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
432                         reg-names = "csr", "cfg";
433                         ranges = <0x01000000 0x0 0x00000000 0x90 0x10000000 0x0 0x00010000   /* io  */
434                                   0x02000000 0x0 0x80000000 0x91 0x80000000 0x0 0x80000000>; /* mem */
435                         dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
436                                       0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
437                         interrupt-map-mask = <0x0 0x0 0x0 0x7>;
438                         interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
439                                          0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
440                                          0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
441                                          0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
442                         dma-coherent;
443                         clocks = <&pcie2clk 0>;
444                 };
445
446                 pcie3: pcie@1f500000 {
447                         status = "disabled";
448                         device_type = "pci";
449                         compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
450                         #interrupt-cells = <1>;
451                         #size-cells = <2>;
452                         #address-cells = <3>;
453                         reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
454                                 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
455                         reg-names = "csr", "cfg";
456                         ranges = <0x01000000 0x0 0x00000000 0xa0 0x10000000 0x0 0x00010000   /* io   */
457                                   0x02000000 0x0 0x80000000 0xa1 0x80000000 0x0 0x80000000>; /* mem  */
458                         dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
459                                       0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
460                         interrupt-map-mask = <0x0 0x0 0x0 0x7>;
461                         interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
462                                          0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
463                                          0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
464                                          0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
465                         dma-coherent;
466                         clocks = <&pcie3clk 0>;
467                 };
468
469                 pcie4: pcie@1f510000 {
470                         status = "disabled";
471                         device_type = "pci";
472                         compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
473                         #interrupt-cells = <1>;
474                         #size-cells = <2>;
475                         #address-cells = <3>;
476                         reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
477                                 0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
478                         reg-names = "csr", "cfg";
479                         ranges = <0x01000000 0x0 0x00000000 0xc0 0x10000000 0x0 0x00010000   /* io  */
480                                   0x02000000 0x0 0x80000000 0xc1 0x80000000 0x0 0x80000000>; /* mem */
481                         dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
482                                       0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
483                         interrupt-map-mask = <0x0 0x0 0x0 0x7>;
484                         interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
485                                          0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
486                                          0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
487                                          0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
488                         dma-coherent;
489                         clocks = <&pcie4clk 0>;
490                 };
491
492                 serial0: serial@1c020000 {
493                         status = "disabled";
494                         device_type = "serial";
495                         compatible = "ns16550a";
496                         reg = <0 0x1c020000 0x0 0x1000>;
497                         reg-shift = <2>;
498                         clock-frequency = <10000000>; /* Updated by bootloader */
499                         interrupt-parent = <&gic>;
500                         interrupts = <0x0 0x4c 0x4>;
501                 };
502
503                 serial1: serial@1c021000 {
504                         status = "disabled";
505                         device_type = "serial";
506                         compatible = "ns16550a";
507                         reg = <0 0x1c021000 0x0 0x1000>;
508                         reg-shift = <2>;
509                         clock-frequency = <10000000>; /* Updated by bootloader */
510                         interrupt-parent = <&gic>;
511                         interrupts = <0x0 0x4d 0x4>;
512                 };
513
514                 serial2: serial@1c022000 {
515                         status = "disabled";
516                         device_type = "serial";
517                         compatible = "ns16550a";
518                         reg = <0 0x1c022000 0x0 0x1000>;
519                         reg-shift = <2>;
520                         clock-frequency = <10000000>; /* Updated by bootloader */
521                         interrupt-parent = <&gic>;
522                         interrupts = <0x0 0x4e 0x4>;
523                 };
524
525                 serial3: serial@1c023000 {
526                         status = "disabled";
527                         device_type = "serial";
528                         compatible = "ns16550a";
529                         reg = <0 0x1c023000 0x0 0x1000>;
530                         reg-shift = <2>;
531                         clock-frequency = <10000000>; /* Updated by bootloader */
532                         interrupt-parent = <&gic>;
533                         interrupts = <0x0 0x4f 0x4>;
534                 };
535
536                 phy1: phy@1f21a000 {
537                         compatible = "apm,xgene-phy";
538                         reg = <0x0 0x1f21a000 0x0 0x100>;
539                         #phy-cells = <1>;
540                         clocks = <&sataphy1clk 0>;
541                         status = "disabled";
542                         apm,tx-boost-gain = <30 30 30 30 30 30>;
543                         apm,tx-eye-tuning = <2 10 10 2 10 10>;
544                 };
545
546                 phy2: phy@1f22a000 {
547                         compatible = "apm,xgene-phy";
548                         reg = <0x0 0x1f22a000 0x0 0x100>;
549                         #phy-cells = <1>;
550                         clocks = <&sataphy2clk 0>;
551                         status = "ok";
552                         apm,tx-boost-gain = <30 30 30 30 30 30>;
553                         apm,tx-eye-tuning = <1 10 10 2 10 10>;
554                 };
555
556                 phy3: phy@1f23a000 {
557                         compatible = "apm,xgene-phy";
558                         reg = <0x0 0x1f23a000 0x0 0x100>;
559                         #phy-cells = <1>;
560                         clocks = <&sataphy3clk 0>;
561                         status = "ok";
562                         apm,tx-boost-gain = <31 31 31 31 31 31>;
563                         apm,tx-eye-tuning = <2 10 10 2 10 10>;
564                 };
565
566                 sata1: sata@1a000000 {
567                         compatible = "apm,xgene-ahci";
568                         reg = <0x0 0x1a000000 0x0 0x1000>,
569                               <0x0 0x1f210000 0x0 0x1000>,
570                               <0x0 0x1f21d000 0x0 0x1000>,
571                               <0x0 0x1f21e000 0x0 0x1000>,
572                               <0x0 0x1f217000 0x0 0x1000>;
573                         interrupts = <0x0 0x86 0x4>;
574                         dma-coherent;
575                         status = "disabled";
576                         clocks = <&sata01clk 0>;
577                         phys = <&phy1 0>;
578                         phy-names = "sata-phy";
579                 };
580
581                 sata2: sata@1a400000 {
582                         compatible = "apm,xgene-ahci";
583                         reg = <0x0 0x1a400000 0x0 0x1000>,
584                               <0x0 0x1f220000 0x0 0x1000>,
585                               <0x0 0x1f22d000 0x0 0x1000>,
586                               <0x0 0x1f22e000 0x0 0x1000>,
587                               <0x0 0x1f227000 0x0 0x1000>;
588                         interrupts = <0x0 0x87 0x4>;
589                         dma-coherent;
590                         status = "ok";
591                         clocks = <&sata23clk 0>;
592                         phys = <&phy2 0>;
593                         phy-names = "sata-phy";
594                 };
595
596                 sata3: sata@1a800000 {
597                         compatible = "apm,xgene-ahci";
598                         reg = <0x0 0x1a800000 0x0 0x1000>,
599                               <0x0 0x1f230000 0x0 0x1000>,
600                               <0x0 0x1f23d000 0x0 0x1000>,
601                               <0x0 0x1f23e000 0x0 0x1000>;
602                         interrupts = <0x0 0x88 0x4>;
603                         dma-coherent;
604                         status = "ok";
605                         clocks = <&sata45clk 0>;
606                         phys = <&phy3 0>;
607                         phy-names = "sata-phy";
608                 };
609
610                 rtc: rtc@10510000 {
611                         compatible = "apm,xgene-rtc";
612                         reg = <0x0 0x10510000 0x0 0x400>;
613                         interrupts = <0x0 0x46 0x4>;
614                         #clock-cells = <1>;
615                         clocks = <&rtcclk 0>;
616                 };
617
618                 menet: ethernet@17020000 {
619                         compatible = "apm,xgene-enet";
620                         status = "disabled";
621                         reg = <0x0 0x17020000 0x0 0xd100>,
622                               <0x0 0X17030000 0x0 0Xc300>,
623                               <0x0 0X10000000 0x0 0X200>;
624                         reg-names = "enet_csr", "ring_csr", "ring_cmd";
625                         interrupts = <0x0 0x3c 0x4>;
626                         dma-coherent;
627                         clocks = <&menetclk 0>;
628                         /* mac address will be overwritten by the bootloader */
629                         local-mac-address = [00 00 00 00 00 00];
630                         phy-connection-type = "rgmii";
631                         phy-handle = <&menetphy>;
632                         mdio {
633                                 compatible = "apm,xgene-mdio";
634                                 #address-cells = <1>;
635                                 #size-cells = <0>;
636                                 menetphy: menetphy@3 {
637                                         compatible = "ethernet-phy-id001c.c915";
638                                         reg = <0x3>;
639                                 };
640
641                         };
642                 };
643
644                 sgenet0: ethernet@1f210000 {
645                         compatible = "apm,xgene1-sgenet";
646                         status = "disabled";
647                         reg = <0x0 0x1f210000 0x0 0xd100>,
648                               <0x0 0x1f200000 0x0 0Xc300>,
649                               <0x0 0x1B000000 0x0 0X200>;
650                         reg-names = "enet_csr", "ring_csr", "ring_cmd";
651                         interrupts = <0x0 0xA0 0x4>,
652                                      <0x0 0xA1 0x4>;
653                         dma-coherent;
654                         clocks = <&sge0clk 0>;
655                         local-mac-address = [00 00 00 00 00 00];
656                         phy-connection-type = "sgmii";
657                 };
658
659                 sgenet1: ethernet@1f210030 {
660                         compatible = "apm,xgene1-sgenet";
661                         status = "disabled";
662                         reg = <0x0 0x1f210030 0x0 0xd100>,
663                               <0x0 0x1f200000 0x0 0Xc300>,
664                               <0x0 0x1B000000 0x0 0X8000>;
665                         reg-names = "enet_csr", "ring_csr", "ring_cmd";
666                         interrupts = <0x0 0xAC 0x4>,
667                                      <0x0 0xAD 0x4>;
668                         port-id = <1>;
669                         dma-coherent;
670                         clocks = <&sge1clk 0>;
671                         local-mac-address = [00 00 00 00 00 00];
672                         phy-connection-type = "sgmii";
673                 };
674
675                 xgenet: ethernet@1f610000 {
676                         compatible = "apm,xgene1-xgenet";
677                         status = "disabled";
678                         reg = <0x0 0x1f610000 0x0 0xd100>,
679                               <0x0 0x1f600000 0x0 0Xc300>,
680                               <0x0 0x18000000 0x0 0X200>;
681                         reg-names = "enet_csr", "ring_csr", "ring_cmd";
682                         interrupts = <0x0 0x60 0x4>,
683                                      <0x0 0x61 0x4>;
684                         dma-coherent;
685                         clocks = <&xge0clk 0>;
686                         /* mac address will be overwritten by the bootloader */
687                         local-mac-address = [00 00 00 00 00 00];
688                         phy-connection-type = "xgmii";
689                 };
690
691                 rng: rng@10520000 {
692                         compatible = "apm,xgene-rng";
693                         reg = <0x0 0x10520000 0x0 0x100>;
694                         interrupts = <0x0 0x41 0x4>;
695                         clocks = <&rngpkaclk 0>;
696                 };
697
698                 dma: dma@1f270000 {
699                         compatible = "apm,xgene-storm-dma";
700                         device_type = "dma";
701                         reg = <0x0 0x1f270000 0x0 0x10000>,
702                               <0x0 0x1f200000 0x0 0x10000>,
703                               <0x0 0x1b008000 0x0 0x2000>,
704                               <0x0 0x1054a000 0x0 0x100>;
705                         interrupts = <0x0 0x82 0x4>,
706                                      <0x0 0xb8 0x4>,
707                                      <0x0 0xb9 0x4>,
708                                      <0x0 0xba 0x4>,
709                                      <0x0 0xbb 0x4>;
710                         dma-coherent;
711                         clocks = <&dmaclk 0>;
712                 };
713         };
714 };