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