Merge tag 'v5.10-rc1' into regulator-5.10
[linux-2.6-microblaze.git] / arch / arm / boot / dts / ls1021a.dtsi
1 /*
2  * Copyright 2013-2014 Freescale Semiconductor, Inc.
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This file is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License as
11  *     published by the Free Software Foundation; either version 2 of
12  *     the License, or (at your option) any later version.
13  *
14  *     This file is distributed in the hope that it will be useful,
15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *     GNU General Public License for more details.
18  *
19  *     You should have received a copy of the GNU General Public
20  *     License along with this file; if not, write to the Free
21  *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
22  *     MA 02110-1301 USA
23  *
24  * Or, alternatively,
25  *
26  *  b) Permission is hereby granted, free of charge, to any person
27  *     obtaining a copy of this software and associated documentation
28  *     files (the "Software"), to deal in the Software without
29  *     restriction, including without limitation the rights to use,
30  *     copy, modify, merge, publish, distribute, sublicense, and/or
31  *     sell copies of the Software, and to permit persons to whom the
32  *     Software is furnished to do so, subject to the following
33  *     conditions:
34  *
35  *     The above copyright notice and this permission notice shall be
36  *     included in all copies or substantial portions of the Software.
37  *
38  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45  *     OTHER DEALINGS IN THE SOFTWARE.
46  */
47
48 #include <dt-bindings/interrupt-controller/arm-gic.h>
49 #include <dt-bindings/thermal/thermal.h>
50
51 / {
52         #address-cells = <2>;
53         #size-cells = <2>;
54         compatible = "fsl,ls1021a";
55         interrupt-parent = <&gic>;
56
57         aliases {
58                 crypto = &crypto;
59                 ethernet0 = &enet0;
60                 ethernet1 = &enet1;
61                 ethernet2 = &enet2;
62                 rtc1 = &ftm_alarm0;
63                 serial0 = &lpuart0;
64                 serial1 = &lpuart1;
65                 serial2 = &lpuart2;
66                 serial3 = &lpuart3;
67                 serial4 = &lpuart4;
68                 serial5 = &lpuart5;
69                 sysclk = &sysclk;
70         };
71
72         cpus {
73                 #address-cells = <1>;
74                 #size-cells = <0>;
75
76                 cpu0: cpu@f00 {
77                         compatible = "arm,cortex-a7";
78                         device_type = "cpu";
79                         reg = <0xf00>;
80                         clocks = <&clockgen 1 0>;
81                         #cooling-cells = <2>;
82                 };
83
84                 cpu1: cpu@f01 {
85                         compatible = "arm,cortex-a7";
86                         device_type = "cpu";
87                         reg = <0xf01>;
88                         clocks = <&clockgen 1 0>;
89                         #cooling-cells = <2>;
90                 };
91         };
92
93         memory {
94                 device_type = "memory";
95                 reg = <0x0 0x0 0x0 0x0>;
96         };
97
98         sysclk: sysclk {
99                 compatible = "fixed-clock";
100                 #clock-cells = <0>;
101                 clock-frequency = <100000000>;
102                 clock-output-names = "sysclk";
103         };
104
105         timer {
106                 compatible = "arm,armv7-timer";
107                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
108                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
109                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
110                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
111         };
112
113         pmu {
114                 compatible = "arm,cortex-a7-pmu";
115                 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
116                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
117                 interrupt-affinity = <&cpu0>, <&cpu1>;
118         };
119
120         reboot {
121                 compatible = "syscon-reboot";
122                 regmap = <&dcfg>;
123                 offset = <0xb0>;
124                 mask = <0x02>;
125         };
126
127         soc {
128                 compatible = "simple-bus";
129                 #address-cells = <2>;
130                 #size-cells = <2>;
131                 device_type = "soc";
132                 interrupt-parent = <&gic>;
133                 ranges;
134
135                 ddr: memory-controller@1080000 {
136                         compatible = "fsl,qoriq-memory-controller";
137                         reg = <0x0 0x1080000 0x0 0x1000>;
138                         interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
139                         big-endian;
140                 };
141
142                 gic: interrupt-controller@1400000 {
143                         compatible = "arm,gic-400", "arm,cortex-a7-gic";
144                         #interrupt-cells = <3>;
145                         interrupt-controller;
146                         reg = <0x0 0x1401000 0x0 0x1000>,
147                               <0x0 0x1402000 0x0 0x2000>,
148                               <0x0 0x1404000 0x0 0x2000>,
149                               <0x0 0x1406000 0x0 0x2000>;
150                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
151
152                 };
153
154                 msi1: msi-controller@1570e00 {
155                         compatible = "fsl,ls1021a-msi";
156                         reg = <0x0 0x1570e00 0x0 0x8>;
157                         msi-controller;
158                         interrupts =  <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
159                 };
160
161                 msi2: msi-controller@1570e08 {
162                         compatible = "fsl,ls1021a-msi";
163                         reg = <0x0 0x1570e08 0x0 0x8>;
164                         msi-controller;
165                         interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
166                 };
167
168                 ifc: ifc@1530000 {
169                         compatible = "fsl,ifc", "simple-bus";
170                         reg = <0x0 0x1530000 0x0 0x10000>;
171                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
172                 };
173
174                 dcfg: dcfg@1ee0000 {
175                         compatible = "fsl,ls1021a-dcfg", "syscon";
176                         reg = <0x0 0x1ee0000 0x0 0x10000>;
177                         big-endian;
178                 };
179
180                 qspi: spi@1550000 {
181                         compatible = "fsl,ls1021a-qspi";
182                         #address-cells = <1>;
183                         #size-cells = <0>;
184                         reg = <0x0 0x1550000 0x0 0x10000>,
185                               <0x0 0x40000000 0x0 0x20000000>;
186                         reg-names = "QuadSPI", "QuadSPI-memory";
187                         interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
188                         clock-names = "qspi_en", "qspi";
189                         clocks = <&clockgen 4 1>, <&clockgen 4 1>;
190                         status = "disabled";
191                 };
192
193                 esdhc: esdhc@1560000 {
194                         compatible = "fsl,ls1021a-esdhc", "fsl,esdhc";
195                         reg = <0x0 0x1560000 0x0 0x10000>;
196                         interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
197                         clock-frequency = <0>;
198                         voltage-ranges = <1800 1800 3300 3300>;
199                         sdhci,auto-cmd12;
200                         big-endian;
201                         bus-width = <4>;
202                         status = "disabled";
203                 };
204
205                 sata: sata@3200000 {
206                         compatible = "fsl,ls1021a-ahci";
207                         reg = <0x0 0x3200000 0x0 0x10000>,
208                               <0x0 0x20220520 0x0 0x4>;
209                         reg-names = "ahci", "sata-ecc";
210                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
211                         clocks = <&clockgen 4 1>;
212                         dma-coherent;
213                         status = "disabled";
214                 };
215
216                 scfg: scfg@1570000 {
217                         compatible = "fsl,ls1021a-scfg", "syscon";
218                         reg = <0x0 0x1570000 0x0 0x10000>;
219                         big-endian;
220                         #address-cells = <1>;
221                         #size-cells = <1>;
222                         ranges = <0x0 0x0 0x1570000 0x10000>;
223
224                         extirq: interrupt-controller@1ac {
225                                 compatible = "fsl,ls1021a-extirq";
226                                 #interrupt-cells = <2>;
227                                 #address-cells = <0>;
228                                 interrupt-controller;
229                                 reg = <0x1ac 4>;
230                                 interrupt-map =
231                                         <0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
232                                         <1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
233                                         <2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
234                                         <3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
235                                         <4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
236                                         <5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
237                                 interrupt-map-mask = <0xffffffff 0x0>;
238                         };
239                 };
240
241                 crypto: crypto@1700000 {
242                         compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
243                         fsl,sec-era = <7>;
244                         #address-cells = <1>;
245                         #size-cells = <1>;
246                         reg              = <0x0 0x1700000 0x0 0x100000>;
247                         ranges           = <0x0 0x0 0x1700000 0x100000>;
248                         interrupts       = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
249
250                         sec_jr0: jr@10000 {
251                                 compatible = "fsl,sec-v5.0-job-ring",
252                                      "fsl,sec-v4.0-job-ring";
253                                 reg = <0x10000 0x10000>;
254                                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
255                         };
256
257                         sec_jr1: jr@20000 {
258                                 compatible = "fsl,sec-v5.0-job-ring",
259                                      "fsl,sec-v4.0-job-ring";
260                                 reg = <0x20000 0x10000>;
261                                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
262                         };
263
264                         sec_jr2: jr@30000 {
265                                 compatible = "fsl,sec-v5.0-job-ring",
266                                      "fsl,sec-v4.0-job-ring";
267                                 reg = <0x30000 0x10000>;
268                                 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
269                         };
270
271                         sec_jr3: jr@40000 {
272                                 compatible = "fsl,sec-v5.0-job-ring",
273                                      "fsl,sec-v4.0-job-ring";
274                                 reg = <0x40000 0x10000>;
275                                 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
276                         };
277
278                 };
279
280                 clockgen: clocking@1ee1000 {
281                         compatible = "fsl,ls1021a-clockgen";
282                         reg = <0x0 0x1ee1000 0x0 0x1000>;
283                         #clock-cells = <2>;
284                         clocks = <&sysclk>;
285                 };
286
287                 tmu: tmu@1f00000 {
288                         compatible = "fsl,qoriq-tmu";
289                         reg = <0x0 0x1f00000 0x0 0x10000>;
290                         interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
291                         fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x30061>;
292                         fsl,tmu-calibration = <0x00000000 0x0000000f
293                                                0x00000001 0x00000017
294                                                0x00000002 0x0000001e
295                                                0x00000003 0x00000026
296                                                0x00000004 0x0000002e
297                                                0x00000005 0x00000035
298                                                0x00000006 0x0000003d
299                                                0x00000007 0x00000044
300                                                0x00000008 0x0000004c
301                                                0x00000009 0x00000053
302                                                0x0000000a 0x0000005b
303                                                0x0000000b 0x00000064
304
305                                                0x00010000 0x00000011
306                                                0x00010001 0x0000001c
307                                                0x00010002 0x00000024
308                                                0x00010003 0x0000002b
309                                                0x00010004 0x00000034
310                                                0x00010005 0x00000039
311                                                0x00010006 0x00000042
312                                                0x00010007 0x0000004c
313                                                0x00010008 0x00000051
314                                                0x00010009 0x0000005a
315                                                0x0001000a 0x00000063
316
317                                                0x00020000 0x00000013
318                                                0x00020001 0x00000019
319                                                0x00020002 0x00000024
320                                                0x00020003 0x0000002c
321                                                0x00020004 0x00000035
322                                                0x00020005 0x0000003d
323                                                0x00020006 0x00000046
324                                                0x00020007 0x00000050
325                                                0x00020008 0x00000059
326
327                                                0x00030000 0x00000002
328                                                0x00030001 0x0000000d
329                                                0x00030002 0x00000019
330                                                0x00030003 0x00000024>;
331                         #thermal-sensor-cells = <1>;
332                 };
333
334                 thermal-zones {
335                         cpu_thermal: cpu-thermal {
336                                 polling-delay-passive = <1000>;
337                                 polling-delay = <5000>;
338
339                                 thermal-sensors = <&tmu 0>;
340
341                                 trips {
342                                         cpu_alert: cpu-alert {
343                                                 temperature = <85000>;
344                                                 hysteresis = <2000>;
345                                                 type = "passive";
346                                         };
347                                         cpu_crit: cpu-crit {
348                                                 temperature = <95000>;
349                                                 hysteresis = <2000>;
350                                                 type = "critical";
351                                         };
352                                 };
353
354                                 cooling-maps {
355                                         map0 {
356                                                 trip = <&cpu_alert>;
357                                                 cooling-device =
358                                                         <&cpu0 THERMAL_NO_LIMIT
359                                                         THERMAL_NO_LIMIT>,
360                                                         <&cpu1 THERMAL_NO_LIMIT
361                                                         THERMAL_NO_LIMIT>;
362                                         };
363                                 };
364                         };
365                 };
366
367                 dspi0: spi@2100000 {
368                         compatible = "fsl,ls1021a-v1.0-dspi";
369                         #address-cells = <1>;
370                         #size-cells = <0>;
371                         reg = <0x0 0x2100000 0x0 0x10000>;
372                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
373                         clock-names = "dspi";
374                         clocks = <&clockgen 4 1>;
375                         spi-num-chipselects = <6>;
376                         big-endian;
377                         status = "disabled";
378                 };
379
380                 dspi1: spi@2110000 {
381                         compatible = "fsl,ls1021a-v1.0-dspi";
382                         #address-cells = <1>;
383                         #size-cells = <0>;
384                         reg = <0x0 0x2110000 0x0 0x10000>;
385                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
386                         clock-names = "dspi";
387                         clocks = <&clockgen 4 1>;
388                         spi-num-chipselects = <6>;
389                         big-endian;
390                         status = "disabled";
391                 };
392
393                 i2c0: i2c@2180000 {
394                         compatible = "fsl,vf610-i2c";
395                         #address-cells = <1>;
396                         #size-cells = <0>;
397                         reg = <0x0 0x2180000 0x0 0x10000>;
398                         interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
399                         clock-names = "i2c";
400                         clocks = <&clockgen 4 1>;
401                         dma-names = "tx", "rx";
402                         dmas = <&edma0 1 39>, <&edma0 1 38>;
403                         status = "disabled";
404                 };
405
406                 i2c1: i2c@2190000 {
407                         compatible = "fsl,vf610-i2c";
408                         #address-cells = <1>;
409                         #size-cells = <0>;
410                         reg = <0x0 0x2190000 0x0 0x10000>;
411                         interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
412                         clock-names = "i2c";
413                         clocks = <&clockgen 4 1>;
414                         dma-names = "tx", "rx";
415                         dmas = <&edma0 1 37>, <&edma0 1 36>;
416                         status = "disabled";
417                 };
418
419                 i2c2: i2c@21a0000 {
420                         compatible = "fsl,vf610-i2c";
421                         #address-cells = <1>;
422                         #size-cells = <0>;
423                         reg = <0x0 0x21a0000 0x0 0x10000>;
424                         interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
425                         clock-names = "i2c";
426                         clocks = <&clockgen 4 1>;
427                         dma-names = "tx", "rx";
428                         dmas = <&edma0 1 35>, <&edma0 1 34>;
429                         status = "disabled";
430                 };
431
432                 uart0: serial@21c0500 {
433                         compatible = "fsl,16550-FIFO64", "ns16550a";
434                         reg = <0x0 0x21c0500 0x0 0x100>;
435                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
436                         clock-frequency = <0>;
437                         fifo-size = <15>;
438                         status = "disabled";
439                 };
440
441                 uart1: serial@21c0600 {
442                         compatible = "fsl,16550-FIFO64", "ns16550a";
443                         reg = <0x0 0x21c0600 0x0 0x100>;
444                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
445                         clock-frequency = <0>;
446                         fifo-size = <15>;
447                         status = "disabled";
448                 };
449
450                 uart2: serial@21d0500 {
451                         compatible = "fsl,16550-FIFO64", "ns16550a";
452                         reg = <0x0 0x21d0500 0x0 0x100>;
453                         interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
454                         clock-frequency = <0>;
455                         fifo-size = <15>;
456                         status = "disabled";
457                 };
458
459                 uart3: serial@21d0600 {
460                         compatible = "fsl,16550-FIFO64", "ns16550a";
461                         reg = <0x0 0x21d0600 0x0 0x100>;
462                         interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
463                         clock-frequency = <0>;
464                         fifo-size = <15>;
465                         status = "disabled";
466                 };
467
468                 counter0: counter@29d0000 {
469                         compatible = "fsl,ftm-quaddec";
470                         reg = <0x0 0x29d0000 0x0 0x10000>;
471                         big-endian;
472                         status = "disabled";
473                 };
474
475                 counter1: counter@29e0000 {
476                         compatible = "fsl,ftm-quaddec";
477                         reg = <0x0 0x29e0000 0x0 0x10000>;
478                         big-endian;
479                         status = "disabled";
480                 };
481
482                 counter2: counter@29f0000 {
483                         compatible = "fsl,ftm-quaddec";
484                         reg = <0x0 0x29f0000 0x0 0x10000>;
485                         big-endian;
486                         status = "disabled";
487                 };
488
489                 counter3: counter@2a00000 {
490                         compatible = "fsl,ftm-quaddec";
491                         reg = <0x0 0x2a00000 0x0 0x10000>;
492                         big-endian;
493                         status = "disabled";
494                 };
495
496                 gpio0: gpio@2300000 {
497                         compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
498                         reg = <0x0 0x2300000 0x0 0x10000>;
499                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
500                         gpio-controller;
501                         #gpio-cells = <2>;
502                         interrupt-controller;
503                         #interrupt-cells = <2>;
504                 };
505
506                 gpio1: gpio@2310000 {
507                         compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
508                         reg = <0x0 0x2310000 0x0 0x10000>;
509                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
510                         gpio-controller;
511                         #gpio-cells = <2>;
512                         interrupt-controller;
513                         #interrupt-cells = <2>;
514                 };
515
516                 gpio2: gpio@2320000 {
517                         compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
518                         reg = <0x0 0x2320000 0x0 0x10000>;
519                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
520                         gpio-controller;
521                         #gpio-cells = <2>;
522                         interrupt-controller;
523                         #interrupt-cells = <2>;
524                 };
525
526                 gpio3: gpio@2330000 {
527                         compatible = "fsl,ls1021a-gpio", "fsl,qoriq-gpio";
528                         reg = <0x0 0x2330000 0x0 0x10000>;
529                         interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
530                         gpio-controller;
531                         #gpio-cells = <2>;
532                         interrupt-controller;
533                         #interrupt-cells = <2>;
534                 };
535
536                 lpuart0: serial@2950000 {
537                         compatible = "fsl,ls1021a-lpuart";
538                         reg = <0x0 0x2950000 0x0 0x1000>;
539                         interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
540                         clocks = <&sysclk>;
541                         clock-names = "ipg";
542                         status = "disabled";
543                 };
544
545                 lpuart1: serial@2960000 {
546                         compatible = "fsl,ls1021a-lpuart";
547                         reg = <0x0 0x2960000 0x0 0x1000>;
548                         interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
549                         clocks = <&clockgen 4 1>;
550                         clock-names = "ipg";
551                         status = "disabled";
552                 };
553
554                 lpuart2: serial@2970000 {
555                         compatible = "fsl,ls1021a-lpuart";
556                         reg = <0x0 0x2970000 0x0 0x1000>;
557                         interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
558                         clocks = <&clockgen 4 1>;
559                         clock-names = "ipg";
560                         status = "disabled";
561                 };
562
563                 lpuart3: serial@2980000 {
564                         compatible = "fsl,ls1021a-lpuart";
565                         reg = <0x0 0x2980000 0x0 0x1000>;
566                         interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
567                         clocks = <&clockgen 4 1>;
568                         clock-names = "ipg";
569                         status = "disabled";
570                 };
571
572                 lpuart4: serial@2990000 {
573                         compatible = "fsl,ls1021a-lpuart";
574                         reg = <0x0 0x2990000 0x0 0x1000>;
575                         interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
576                         clocks = <&clockgen 4 1>;
577                         clock-names = "ipg";
578                         status = "disabled";
579                 };
580
581                 lpuart5: serial@29a0000 {
582                         compatible = "fsl,ls1021a-lpuart";
583                         reg = <0x0 0x29a0000 0x0 0x1000>;
584                         interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
585                         clocks = <&clockgen 4 1>;
586                         clock-names = "ipg";
587                         status = "disabled";
588                 };
589
590                 pwm0: pwm@29d0000 {
591                         compatible = "fsl,vf610-ftm-pwm";
592                         #pwm-cells = <3>;
593                         reg = <0x0 0x29d0000 0x0 0x10000>;
594                         clock-names = "ftm_sys", "ftm_ext",
595                                 "ftm_fix", "ftm_cnt_clk_en";
596                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
597                                 <&clockgen 4 1>, <&clockgen 4 1>;
598                         big-endian;
599                         status = "disabled";
600                 };
601
602                 pwm1: pwm@29e0000 {
603                         compatible = "fsl,vf610-ftm-pwm";
604                         #pwm-cells = <3>;
605                         reg = <0x0 0x29e0000 0x0 0x10000>;
606                         clock-names = "ftm_sys", "ftm_ext",
607                                 "ftm_fix", "ftm_cnt_clk_en";
608                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
609                                 <&clockgen 4 1>, <&clockgen 4 1>;
610                         big-endian;
611                         status = "disabled";
612                 };
613
614                 pwm2: pwm@29f0000 {
615                         compatible = "fsl,vf610-ftm-pwm";
616                         #pwm-cells = <3>;
617                         reg = <0x0 0x29f0000 0x0 0x10000>;
618                         clock-names = "ftm_sys", "ftm_ext",
619                                 "ftm_fix", "ftm_cnt_clk_en";
620                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
621                                 <&clockgen 4 1>, <&clockgen 4 1>;
622                         big-endian;
623                         status = "disabled";
624                 };
625
626                 pwm3: pwm@2a00000 {
627                         compatible = "fsl,vf610-ftm-pwm";
628                         #pwm-cells = <3>;
629                         reg = <0x0 0x2a00000 0x0 0x10000>;
630                         clock-names = "ftm_sys", "ftm_ext",
631                                 "ftm_fix", "ftm_cnt_clk_en";
632                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
633                                 <&clockgen 4 1>, <&clockgen 4 1>;
634                         big-endian;
635                         status = "disabled";
636                 };
637
638                 pwm4: pwm@2a10000 {
639                         compatible = "fsl,vf610-ftm-pwm";
640                         #pwm-cells = <3>;
641                         reg = <0x0 0x2a10000 0x0 0x10000>;
642                         clock-names = "ftm_sys", "ftm_ext",
643                                 "ftm_fix", "ftm_cnt_clk_en";
644                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
645                                 <&clockgen 4 1>, <&clockgen 4 1>;
646                         big-endian;
647                         status = "disabled";
648                 };
649
650                 pwm5: pwm@2a20000 {
651                         compatible = "fsl,vf610-ftm-pwm";
652                         #pwm-cells = <3>;
653                         reg = <0x0 0x2a20000 0x0 0x10000>;
654                         clock-names = "ftm_sys", "ftm_ext",
655                                 "ftm_fix", "ftm_cnt_clk_en";
656                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
657                                 <&clockgen 4 1>, <&clockgen 4 1>;
658                         big-endian;
659                         status = "disabled";
660                 };
661
662                 pwm6: pwm@2a30000 {
663                         compatible = "fsl,vf610-ftm-pwm";
664                         #pwm-cells = <3>;
665                         reg = <0x0 0x2a30000 0x0 0x10000>;
666                         clock-names = "ftm_sys", "ftm_ext",
667                                 "ftm_fix", "ftm_cnt_clk_en";
668                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
669                                 <&clockgen 4 1>, <&clockgen 4 1>;
670                         big-endian;
671                         status = "disabled";
672                 };
673
674                 pwm7: pwm@2a40000 {
675                         compatible = "fsl,vf610-ftm-pwm";
676                         #pwm-cells = <3>;
677                         reg = <0x0 0x2a40000 0x0 0x10000>;
678                         clock-names = "ftm_sys", "ftm_ext",
679                                 "ftm_fix", "ftm_cnt_clk_en";
680                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
681                                 <&clockgen 4 1>, <&clockgen 4 1>;
682                         big-endian;
683                         status = "disabled";
684                 };
685
686                 wdog0: watchdog@2ad0000 {
687                         compatible = "fsl,imx21-wdt";
688                         reg = <0x0 0x2ad0000 0x0 0x10000>;
689                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
690                         clocks = <&clockgen 4 1>;
691                         clock-names = "wdog-en";
692                         big-endian;
693                 };
694
695                 sai1: sai@2b50000 {
696                         #sound-dai-cells = <0>;
697                         compatible = "fsl,vf610-sai";
698                         reg = <0x0 0x2b50000 0x0 0x10000>;
699                         interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
700                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
701                                  <&clockgen 4 1>, <&clockgen 4 1>;
702                         clock-names = "bus", "mclk1", "mclk2", "mclk3";
703                         dma-names = "tx", "rx";
704                         dmas = <&edma0 1 47>,
705                                <&edma0 1 46>;
706                         status = "disabled";
707                 };
708
709                 sai2: sai@2b60000 {
710                         #sound-dai-cells = <0>;
711                         compatible = "fsl,vf610-sai";
712                         reg = <0x0 0x2b60000 0x0 0x10000>;
713                         interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
714                         clocks = <&clockgen 4 1>, <&clockgen 4 1>,
715                                  <&clockgen 4 1>, <&clockgen 4 1>;
716                         clock-names = "bus", "mclk1", "mclk2", "mclk3";
717                         dma-names = "tx", "rx";
718                         dmas = <&edma0 1 45>,
719                                <&edma0 1 44>;
720                         status = "disabled";
721                 };
722
723                 edma0: edma@2c00000 {
724                         #dma-cells = <2>;
725                         compatible = "fsl,vf610-edma";
726                         reg = <0x0 0x2c00000 0x0 0x10000>,
727                               <0x0 0x2c10000 0x0 0x10000>,
728                               <0x0 0x2c20000 0x0 0x10000>;
729                         interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
730                                      <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
731                         interrupt-names = "edma-tx", "edma-err";
732                         dma-channels = <32>;
733                         big-endian;
734                         clock-names = "dmamux0", "dmamux1";
735                         clocks = <&clockgen 4 1>,
736                                  <&clockgen 4 1>;
737                 };
738
739                 dcu: dcu@2ce0000 {
740                         compatible = "fsl,ls1021a-dcu";
741                         reg = <0x0 0x2ce0000 0x0 0x10000>;
742                         interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
743                         clocks = <&clockgen 4 0>,
744                                 <&clockgen 4 0>;
745                         clock-names = "dcu", "pix";
746                         big-endian;
747                         status = "disabled";
748                 };
749
750                 mdio0: mdio@2d24000 {
751                         compatible = "gianfar";
752                         device_type = "mdio";
753                         #address-cells = <1>;
754                         #size-cells = <0>;
755                         reg = <0x0 0x2d24000 0x0 0x4000>,
756                               <0x0 0x2d10030 0x0 0x4>;
757                 };
758
759                 mdio1: mdio@2d64000 {
760                         compatible = "gianfar";
761                         device_type = "mdio";
762                         #address-cells = <1>;
763                         #size-cells = <0>;
764                         reg = <0x0 0x2d64000 0x0 0x4000>,
765                               <0x0 0x2d50030 0x0 0x4>;
766                 };
767
768                 ptp_clock@2d10e00 {
769                         compatible = "fsl,etsec-ptp";
770                         reg = <0x0 0x2d10e00 0x0 0xb0>;
771                         interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
772                         fsl,tclk-period = <5>;
773                         fsl,tmr-prsc    = <2>;
774                         fsl,tmr-add     = <0xaaaaaaab>;
775                         fsl,tmr-fiper1  = <999999995>;
776                         fsl,tmr-fiper2  = <999999995>;
777                         fsl,max-adj     = <499999999>;
778                         fsl,extts-fifo;
779                 };
780
781                 enet0: ethernet@2d10000 {
782                         compatible = "fsl,etsec2";
783                         device_type = "network";
784                         #address-cells = <2>;
785                         #size-cells = <2>;
786                         interrupt-parent = <&gic>;
787                         model = "eTSEC";
788                         fsl,magic-packet;
789                         ranges;
790                         dma-coherent;
791
792                         queue-group@2d10000 {
793                                 #address-cells = <2>;
794                                 #size-cells = <2>;
795                                 reg = <0x0 0x2d10000 0x0 0x1000>;
796                                 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
797                                         <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
798                                         <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
799                         };
800
801                         queue-group@2d14000  {
802                                 #address-cells = <2>;
803                                 #size-cells = <2>;
804                                 reg = <0x0 0x2d14000 0x0 0x1000>;
805                                 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
806                                         <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
807                                         <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
808                         };
809                 };
810
811                 enet1: ethernet@2d50000 {
812                         compatible = "fsl,etsec2";
813                         device_type = "network";
814                         #address-cells = <2>;
815                         #size-cells = <2>;
816                         interrupt-parent = <&gic>;
817                         model = "eTSEC";
818                         ranges;
819                         dma-coherent;
820
821                         queue-group@2d50000  {
822                                 #address-cells = <2>;
823                                 #size-cells = <2>;
824                                 reg = <0x0 0x2d50000 0x0 0x1000>;
825                                 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
826                                         <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
827                                         <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
828                         };
829
830                         queue-group@2d54000  {
831                                 #address-cells = <2>;
832                                 #size-cells = <2>;
833                                 reg = <0x0 0x2d54000 0x0 0x1000>;
834                                 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
835                                         <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
836                                         <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
837                         };
838                 };
839
840                 enet2: ethernet@2d90000 {
841                         compatible = "fsl,etsec2";
842                         device_type = "network";
843                         #address-cells = <2>;
844                         #size-cells = <2>;
845                         interrupt-parent = <&gic>;
846                         model = "eTSEC";
847                         ranges;
848                         dma-coherent;
849
850                         queue-group@2d90000  {
851                                 #address-cells = <2>;
852                                 #size-cells = <2>;
853                                 reg = <0x0 0x2d90000 0x0 0x1000>;
854                                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
855                                         <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
856                                         <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
857                         };
858
859                         queue-group@2d94000  {
860                                 #address-cells = <2>;
861                                 #size-cells = <2>;
862                                 reg = <0x0 0x2d94000 0x0 0x1000>;
863                                 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
864                                         <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
865                                         <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
866                         };
867                 };
868
869                 usb2: usb@8600000 {
870                         compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
871                         reg = <0x0 0x8600000 0x0 0x1000>;
872                         interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
873                         dr_mode = "host";
874                         phy_type = "ulpi";
875                 };
876
877                 usb3: usb3@3100000 {
878                         compatible = "snps,dwc3";
879                         reg = <0x0 0x3100000 0x0 0x10000>;
880                         interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
881                         dr_mode = "host";
882                         snps,quirk-frame-length-adjustment = <0x20>;
883                         snps,dis_rxdet_inp3_quirk;
884                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
885                 };
886
887                 pcie@3400000 {
888                         compatible = "fsl,ls1021a-pcie";
889                         reg = <0x00 0x03400000 0x0 0x00010000   /* controller registers */
890                                0x40 0x00000000 0x0 0x00002000>; /* configuration space */
891                         reg-names = "regs", "config";
892                         interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
893                         fsl,pcie-scfg = <&scfg 0>;
894                         #address-cells = <3>;
895                         #size-cells = <2>;
896                         device_type = "pci";
897                         num-viewport = <6>;
898                         bus-range = <0x0 0xff>;
899                         ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
900                                   0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
901                         msi-parent = <&msi1>, <&msi2>;
902                         #interrupt-cells = <1>;
903                         interrupt-map-mask = <0 0 0 7>;
904                         interrupt-map = <0000 0 0 1 &gic GIC_SPI 91  IRQ_TYPE_LEVEL_HIGH>,
905                                         <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
906                                         <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
907                                         <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
908                         status = "disabled";
909                 };
910
911                 pcie@3500000 {
912                         compatible = "fsl,ls1021a-pcie";
913                         reg = <0x00 0x03500000 0x0 0x00010000   /* controller registers */
914                                0x48 0x00000000 0x0 0x00002000>; /* configuration space */
915                         reg-names = "regs", "config";
916                         interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
917                         fsl,pcie-scfg = <&scfg 1>;
918                         #address-cells = <3>;
919                         #size-cells = <2>;
920                         device_type = "pci";
921                         num-viewport = <6>;
922                         bus-range = <0x0 0xff>;
923                         ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000   /* downstream I/O */
924                                   0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
925                         msi-parent = <&msi1>, <&msi2>;
926                         #interrupt-cells = <1>;
927                         interrupt-map-mask = <0 0 0 7>;
928                         interrupt-map = <0000 0 0 1 &gic GIC_SPI 92  IRQ_TYPE_LEVEL_HIGH>,
929                                         <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
930                                         <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
931                                         <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
932                         status = "disabled";
933                 };
934
935                 can0: can@2a70000 {
936                         compatible = "fsl,ls1021ar2-flexcan";
937                         reg = <0x0 0x2a70000 0x0 0x1000>;
938                         interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
939                         clocks = <&clockgen 4 1>, <&clockgen 4 1>;
940                         clock-names = "ipg", "per";
941                         big-endian;
942                 };
943
944                 can1: can@2a80000 {
945                         compatible = "fsl,ls1021ar2-flexcan";
946                         reg = <0x0 0x2a80000 0x0 0x1000>;
947                         interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
948                         clocks = <&clockgen 4 1>, <&clockgen 4 1>;
949                         clock-names = "ipg", "per";
950                         big-endian;
951                 };
952
953                 can2: can@2a90000 {
954                         compatible = "fsl,ls1021ar2-flexcan";
955                         reg = <0x0 0x2a90000 0x0 0x1000>;
956                         interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
957                         clocks = <&clockgen 4 1>, <&clockgen 4 1>;
958                         clock-names = "ipg", "per";
959                         big-endian;
960                 };
961
962                 can3: can@2aa0000 {
963                         compatible = "fsl,ls1021ar2-flexcan";
964                         reg = <0x0 0x2aa0000 0x0 0x1000>;
965                         interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
966                         clocks = <&clockgen 4 1>, <&clockgen 4 1>;
967                         clock-names = "ipg", "per";
968                         big-endian;
969                 };
970
971                 ocram1: sram@10000000 {
972                         compatible = "mmio-sram";
973                         reg = <0x0 0x10000000 0x0 0x10000>;
974                         #address-cells = <1>;
975                         #size-cells = <1>;
976                         ranges = <0x0 0x0 0x10000000 0x10000>;
977                 };
978
979                 ocram2: sram@10010000 {
980                         compatible = "mmio-sram";
981                         reg = <0x0 0x10010000 0x0 0x10000>;
982                         #address-cells = <1>;
983                         #size-cells = <1>;
984                         ranges = <0x0 0x0 0x10010000 0x10000>;
985                 };
986
987                 qdma: dma-controller@8390000 {
988                         compatible = "fsl,ls1021a-qdma";
989                         reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
990                               <0x0 0x8389000 0x0 0x1000>, /* Status regs */
991                               <0x0 0x838a000 0x0 0x2000>; /* Block regs */
992                         interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
993                                      <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
994                                      <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
995                         interrupt-names = "qdma-error",
996                                 "qdma-queue0", "qdma-queue1";
997                         dma-channels = <8>;
998                         block-number = <1>;
999                         block-offset = <0x1000>;
1000                         fsl,dma-queues = <2>;
1001                         status-sizes = <64>;
1002                         queue-sizes = <64 64>;
1003                         big-endian;
1004                 };
1005
1006                 rcpm: power-controller@1ee2140 {
1007                         compatible = "fsl,ls1021a-rcpm", "fsl,qoriq-rcpm-2.1+";
1008                         reg = <0x0 0x1ee2140 0x0 0x8>;
1009                         #fsl,rcpm-wakeup-cells = <2>;
1010                 };
1011
1012                 ftm_alarm0: timer0@29d0000 {
1013                         compatible = "fsl,ls1021a-ftm-alarm";
1014                         reg = <0x0 0x29d0000 0x0 0x10000>;
1015                         reg-names = "ftm";
1016                         fsl,rcpm-wakeup = <&rcpm 0x20000 0x0>;
1017                         interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1018                         big-endian;
1019                 };
1020         };
1021 };