Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / freescale / fsl-ls1043a.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Device Tree Include file for NXP Layerscape-1043A family SoC.
4  *
5  * Copyright 2014-2015 Freescale Semiconductor, Inc.
6  * Copyright 2018, 2020 NXP
7  *
8  * Mingkai Hu <Mingkai.hu@freescale.com>
9  */
10
11 #include <dt-bindings/clock/fsl,qoriq-clockgen.h>
12 #include <dt-bindings/thermal/thermal.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14
15 / {
16         compatible = "fsl,ls1043a";
17         interrupt-parent = <&gic>;
18         #address-cells = <2>;
19         #size-cells = <2>;
20
21         aliases {
22                 crypto = &crypto;
23                 fman0 = &fman0;
24                 ethernet0 = &enet0;
25                 ethernet1 = &enet1;
26                 ethernet2 = &enet2;
27                 ethernet3 = &enet3;
28                 ethernet4 = &enet4;
29                 ethernet5 = &enet5;
30                 ethernet6 = &enet6;
31                 rtc1 = &ftm_alarm0;
32         };
33
34         cpus {
35                 #address-cells = <1>;
36                 #size-cells = <0>;
37
38                 /*
39                  * We expect the enable-method for cpu's to be "psci", but this
40                  * is dependent on the SoC FW, which will fill this in.
41                  *
42                  * Currently supported enable-method is psci v0.2
43                  */
44                 cpu0: cpu@0 {
45                         device_type = "cpu";
46                         compatible = "arm,cortex-a53";
47                         reg = <0x0>;
48                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
49                         next-level-cache = <&l2>;
50                         cpu-idle-states = <&CPU_PH20>;
51                         #cooling-cells = <2>;
52                 };
53
54                 cpu1: cpu@1 {
55                         device_type = "cpu";
56                         compatible = "arm,cortex-a53";
57                         reg = <0x1>;
58                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
59                         next-level-cache = <&l2>;
60                         cpu-idle-states = <&CPU_PH20>;
61                         #cooling-cells = <2>;
62                 };
63
64                 cpu2: cpu@2 {
65                         device_type = "cpu";
66                         compatible = "arm,cortex-a53";
67                         reg = <0x2>;
68                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
69                         next-level-cache = <&l2>;
70                         cpu-idle-states = <&CPU_PH20>;
71                         #cooling-cells = <2>;
72                 };
73
74                 cpu3: cpu@3 {
75                         device_type = "cpu";
76                         compatible = "arm,cortex-a53";
77                         reg = <0x3>;
78                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
79                         next-level-cache = <&l2>;
80                         cpu-idle-states = <&CPU_PH20>;
81                         #cooling-cells = <2>;
82                 };
83
84                 l2: l2-cache {
85                         compatible = "cache";
86                 };
87         };
88
89         idle-states {
90                 /*
91                  * PSCI node is not added default, U-boot will add missing
92                  * parts if it determines to use PSCI.
93                  */
94                 entry-method = "psci";
95
96                 CPU_PH20: cpu-ph20 {
97                         compatible = "arm,idle-state";
98                         idle-state-name = "PH20";
99                         arm,psci-suspend-param = <0x0>;
100                         entry-latency-us = <1000>;
101                         exit-latency-us = <1000>;
102                         min-residency-us = <3000>;
103                 };
104         };
105
106         memory@80000000 {
107                 device_type = "memory";
108                 reg = <0x0 0x80000000 0 0x80000000>;
109                       /* DRAM space 1, size: 2GiB DRAM */
110         };
111
112         reserved-memory {
113                 #address-cells = <2>;
114                 #size-cells = <2>;
115                 ranges;
116
117                 bman_fbpr: bman-fbpr {
118                         compatible = "shared-dma-pool";
119                         size = <0 0x1000000>;
120                         alignment = <0 0x1000000>;
121                         no-map;
122                 };
123
124                 qman_fqd: qman-fqd {
125                         compatible = "shared-dma-pool";
126                         size = <0 0x400000>;
127                         alignment = <0 0x400000>;
128                         no-map;
129                 };
130
131                 qman_pfdr: qman-pfdr {
132                         compatible = "shared-dma-pool";
133                         size = <0 0x2000000>;
134                         alignment = <0 0x2000000>;
135                         no-map;
136                 };
137         };
138
139         sysclk: sysclk {
140                 compatible = "fixed-clock";
141                 #clock-cells = <0>;
142                 clock-frequency = <100000000>;
143                 clock-output-names = "sysclk";
144         };
145
146         reboot {
147                 compatible ="syscon-reboot";
148                 regmap = <&dcfg>;
149                 offset = <0xb0>;
150                 mask = <0x02>;
151         };
152
153         thermal-zones {
154                 ddr-controller {
155                         polling-delay-passive = <1000>;
156                         polling-delay = <5000>;
157                         thermal-sensors = <&tmu 0>;
158
159                         trips {
160                                 ddr-ctrler-alert {
161                                         temperature = <85000>;
162                                         hysteresis = <2000>;
163                                         type = "passive";
164                                 };
165
166                                 ddr-ctrler-crit {
167                                         temperature = <95000>;
168                                         hysteresis = <2000>;
169                                         type = "critical";
170                                 };
171                         };
172                 };
173
174                 serdes {
175                         polling-delay-passive = <1000>;
176                         polling-delay = <5000>;
177                         thermal-sensors = <&tmu 1>;
178
179                         trips {
180                                 serdes-alert {
181                                         temperature = <85000>;
182                                         hysteresis = <2000>;
183                                         type = "passive";
184                                 };
185
186                                 serdes-crit {
187                                         temperature = <95000>;
188                                         hysteresis = <2000>;
189                                         type = "critical";
190                                 };
191                         };
192                 };
193
194                 fman {
195                         polling-delay-passive = <1000>;
196                         polling-delay = <5000>;
197                         thermal-sensors = <&tmu 2>;
198
199                         trips {
200                                 fman-alert {
201                                         temperature = <85000>;
202                                         hysteresis = <2000>;
203                                         type = "passive";
204                                 };
205
206                                 fman-crit {
207                                         temperature = <95000>;
208                                         hysteresis = <2000>;
209                                         type = "critical";
210                                 };
211                         };
212                 };
213
214                 core-cluster {
215                         polling-delay-passive = <1000>;
216                         polling-delay = <5000>;
217                         thermal-sensors = <&tmu 3>;
218
219                         trips {
220                                 core_cluster_alert: core-cluster-alert {
221                                         temperature = <85000>;
222                                         hysteresis = <2000>;
223                                         type = "passive";
224                                 };
225
226                                 core_cluster_crit: core-cluster-crit {
227                                         temperature = <95000>;
228                                         hysteresis = <2000>;
229                                         type = "critical";
230                                 };
231                         };
232
233                         cooling-maps {
234                                 map0 {
235                                         trip = <&core_cluster_alert>;
236                                         cooling-device =
237                                                 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
238                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
239                                                 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
240                                                 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
241                                 };
242                         };
243                 };
244
245                 sec {
246                         polling-delay-passive = <1000>;
247                         polling-delay = <5000>;
248                         thermal-sensors = <&tmu 4>;
249
250                         trips {
251                                 sec-alert {
252                                         temperature = <85000>;
253                                         hysteresis = <2000>;
254                                         type = "passive";
255                                 };
256
257                                 sec-crit {
258                                         temperature = <95000>;
259                                         hysteresis = <2000>;
260                                         type = "critical";
261                                 };
262                         };
263                 };
264         };
265
266         timer {
267                 compatible = "arm,armv8-timer";
268                 interrupts = <1 13 0xf08>, /* Physical Secure PPI */
269                              <1 14 0xf08>, /* Physical Non-Secure PPI */
270                              <1 11 0xf08>, /* Virtual PPI */
271                              <1 10 0xf08>; /* Hypervisor PPI */
272                 fsl,erratum-a008585;
273         };
274
275         pmu {
276                 compatible = "arm,armv8-pmuv3";
277                 interrupts = <0 106 0x4>,
278                              <0 107 0x4>,
279                              <0 95 0x4>,
280                              <0 97 0x4>;
281                 interrupt-affinity = <&cpu0>,
282                                      <&cpu1>,
283                                      <&cpu2>,
284                                      <&cpu3>;
285         };
286
287         gic: interrupt-controller@1400000 {
288                 compatible = "arm,gic-400";
289                 #interrupt-cells = <3>;
290                 interrupt-controller;
291                 reg = <0x0 0x1401000 0 0x1000>, /* GICD */
292                       <0x0 0x1402000 0 0x2000>, /* GICC */
293                       <0x0 0x1404000 0 0x2000>, /* GICH */
294                       <0x0 0x1406000 0 0x2000>; /* GICV */
295                 interrupts = <1 9 0xf08>;
296         };
297
298         soc: soc {
299                 compatible = "simple-bus";
300                 #address-cells = <2>;
301                 #size-cells = <2>;
302                 ranges;
303
304                 clockgen: clocking@1ee1000 {
305                         compatible = "fsl,ls1043a-clockgen";
306                         reg = <0x0 0x1ee1000 0x0 0x1000>;
307                         #clock-cells = <2>;
308                         clocks = <&sysclk>;
309                 };
310
311                 scfg: scfg@1570000 {
312                         compatible = "fsl,ls1043a-scfg", "syscon";
313                         reg = <0x0 0x1570000 0x0 0x10000>;
314                         big-endian;
315                         #address-cells = <1>;
316                         #size-cells = <1>;
317                         ranges = <0x0 0x0 0x1570000 0x10000>;
318
319                         extirq: interrupt-controller@1ac {
320                                 compatible = "fsl,ls1043a-extirq";
321                                 #interrupt-cells = <2>;
322                                 #address-cells = <0>;
323                                 interrupt-controller;
324                                 reg = <0x1ac 4>;
325                                 interrupt-map =
326                                         <0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
327                                         <1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
328                                         <2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
329                                         <3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
330                                         <4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
331                                         <5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
332                                         <6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
333                                         <7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
334                                         <8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
335                                         <9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
336                                         <10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
337                                         <11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
338                                 interrupt-map-mask = <0xffffffff 0x0>;
339                         };
340                 };
341
342                 crypto: crypto@1700000 {
343                         compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
344                                      "fsl,sec-v4.0";
345                         fsl,sec-era = <3>;
346                         #address-cells = <1>;
347                         #size-cells = <1>;
348                         ranges = <0x0 0x00 0x1700000 0x100000>;
349                         reg = <0x00 0x1700000 0x0 0x100000>;
350                         interrupts = <0 75 0x4>;
351                         dma-coherent;
352
353                         sec_jr0: jr@10000 {
354                                 compatible = "fsl,sec-v5.4-job-ring",
355                                              "fsl,sec-v5.0-job-ring",
356                                              "fsl,sec-v4.0-job-ring";
357                                 reg        = <0x10000 0x10000>;
358                                 interrupts = <0 71 0x4>;
359                         };
360
361                         sec_jr1: jr@20000 {
362                                 compatible = "fsl,sec-v5.4-job-ring",
363                                              "fsl,sec-v5.0-job-ring",
364                                              "fsl,sec-v4.0-job-ring";
365                                 reg        = <0x20000 0x10000>;
366                                 interrupts = <0 72 0x4>;
367                         };
368
369                         sec_jr2: jr@30000 {
370                                 compatible = "fsl,sec-v5.4-job-ring",
371                                              "fsl,sec-v5.0-job-ring",
372                                              "fsl,sec-v4.0-job-ring";
373                                 reg        = <0x30000 0x10000>;
374                                 interrupts = <0 73 0x4>;
375                         };
376
377                         sec_jr3: jr@40000 {
378                                 compatible = "fsl,sec-v5.4-job-ring",
379                                              "fsl,sec-v5.0-job-ring",
380                                              "fsl,sec-v4.0-job-ring";
381                                 reg        = <0x40000 0x10000>;
382                                 interrupts = <0 74 0x4>;
383                         };
384                 };
385
386                 dcfg: dcfg@1ee0000 {
387                         compatible = "fsl,ls1043a-dcfg", "syscon";
388                         reg = <0x0 0x1ee0000 0x0 0x10000>;
389                         big-endian;
390                 };
391
392                 ifc: ifc@1530000 {
393                         compatible = "fsl,ifc", "simple-bus";
394                         reg = <0x0 0x1530000 0x0 0x10000>;
395                         interrupts = <0 43 0x4>;
396                 };
397
398                 qspi: spi@1550000 {
399                         compatible = "fsl,ls1043a-qspi", "fsl,ls1021a-qspi";
400                         #address-cells = <1>;
401                         #size-cells = <0>;
402                         reg = <0x0 0x1550000 0x0 0x10000>,
403                                 <0x0 0x40000000 0x0 0x4000000>;
404                         reg-names = "QuadSPI", "QuadSPI-memory";
405                         interrupts = <0 99 0x4>;
406                         clock-names = "qspi_en", "qspi";
407                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
408                                             QORIQ_CLK_PLL_DIV(1)>,
409                                  <&clockgen QORIQ_CLK_PLATFORM_PLL
410                                             QORIQ_CLK_PLL_DIV(1)>;
411                         status = "disabled";
412                 };
413
414                 esdhc: esdhc@1560000 {
415                         compatible = "fsl,ls1043a-esdhc", "fsl,esdhc";
416                         reg = <0x0 0x1560000 0x0 0x10000>;
417                         interrupts = <0 62 0x4>;
418                         clock-frequency = <0>;
419                         voltage-ranges = <1800 1800 3300 3300>;
420                         sdhci,auto-cmd12;
421                         big-endian;
422                         bus-width = <4>;
423                 };
424
425                 ddr: memory-controller@1080000 {
426                         compatible = "fsl,qoriq-memory-controller";
427                         reg = <0x0 0x1080000 0x0 0x1000>;
428                         interrupts = <0 144 0x4>;
429                         big-endian;
430                 };
431
432                 tmu: tmu@1f00000 {
433                         compatible = "fsl,qoriq-tmu";
434                         reg = <0x0 0x1f00000 0x0 0x10000>;
435                         interrupts = <0 33 0x4>;
436                         fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>;
437                         fsl,tmu-calibration = <0x00000000 0x00000023
438                                                0x00000001 0x0000002a
439                                                0x00000002 0x00000031
440                                                0x00000003 0x00000037
441                                                0x00000004 0x0000003e
442                                                0x00000005 0x00000044
443                                                0x00000006 0x0000004b
444                                                0x00000007 0x00000051
445                                                0x00000008 0x00000058
446                                                0x00000009 0x0000005e
447                                                0x0000000a 0x00000065
448                                                0x0000000b 0x0000006b
449
450                                                0x00010000 0x00000023
451                                                0x00010001 0x0000002b
452                                                0x00010002 0x00000033
453                                                0x00010003 0x0000003b
454                                                0x00010004 0x00000043
455                                                0x00010005 0x0000004b
456                                                0x00010006 0x00000054
457                                                0x00010007 0x0000005c
458                                                0x00010008 0x00000064
459                                                0x00010009 0x0000006c
460
461                                                0x00020000 0x00000021
462                                                0x00020001 0x0000002c
463                                                0x00020002 0x00000036
464                                                0x00020003 0x00000040
465                                                0x00020004 0x0000004b
466                                                0x00020005 0x00000055
467                                                0x00020006 0x0000005f
468
469                                                0x00030000 0x00000013
470                                                0x00030001 0x0000001d
471                                                0x00030002 0x00000028
472                                                0x00030003 0x00000032
473                                                0x00030004 0x0000003d
474                                                0x00030005 0x00000047
475                                                0x00030006 0x00000052
476                                                0x00030007 0x0000005c>;
477                         #thermal-sensor-cells = <1>;
478                 };
479
480                 qman: qman@1880000 {
481                         compatible = "fsl,qman";
482                         reg = <0x0 0x1880000 0x0 0x10000>;
483                         interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
484                         memory-region = <&qman_fqd &qman_pfdr>;
485                 };
486
487                 bman: bman@1890000 {
488                         compatible = "fsl,bman";
489                         reg = <0x0 0x1890000 0x0 0x10000>;
490                         interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
491                         memory-region = <&bman_fbpr>;
492                 };
493
494                 bportals: bman-portals@508000000 {
495                         ranges = <0x0 0x5 0x08000000 0x8000000>;
496                 };
497
498                 qportals: qman-portals@500000000 {
499                         ranges = <0x0 0x5 0x00000000 0x8000000>;
500                 };
501
502                 dspi0: spi@2100000 {
503                         compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
504                         #address-cells = <1>;
505                         #size-cells = <0>;
506                         reg = <0x0 0x2100000 0x0 0x10000>;
507                         interrupts = <0 64 0x4>;
508                         clock-names = "dspi";
509                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
510                                             QORIQ_CLK_PLL_DIV(1)>;
511                         spi-num-chipselects = <5>;
512                         big-endian;
513                         status = "disabled";
514                 };
515
516                 dspi1: spi@2110000 {
517                         compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
518                         #address-cells = <1>;
519                         #size-cells = <0>;
520                         reg = <0x0 0x2110000 0x0 0x10000>;
521                         interrupts = <0 65 0x4>;
522                         clock-names = "dspi";
523                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
524                                             QORIQ_CLK_PLL_DIV(1)>;
525                         spi-num-chipselects = <5>;
526                         big-endian;
527                         status = "disabled";
528                 };
529
530                 i2c0: i2c@2180000 {
531                         compatible = "fsl,vf610-i2c";
532                         #address-cells = <1>;
533                         #size-cells = <0>;
534                         reg = <0x0 0x2180000 0x0 0x10000>;
535                         interrupts = <0 56 0x4>;
536                         clock-names = "i2c";
537                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
538                                             QORIQ_CLK_PLL_DIV(1)>;
539                         dmas = <&edma0 1 39>,
540                                <&edma0 1 38>;
541                         dma-names = "tx", "rx";
542                         status = "disabled";
543                 };
544
545                 i2c1: i2c@2190000 {
546                         compatible = "fsl,vf610-i2c";
547                         #address-cells = <1>;
548                         #size-cells = <0>;
549                         reg = <0x0 0x2190000 0x0 0x10000>;
550                         interrupts = <0 57 0x4>;
551                         clock-names = "i2c";
552                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
553                                             QORIQ_CLK_PLL_DIV(1)>;
554                         status = "disabled";
555                 };
556
557                 i2c2: i2c@21a0000 {
558                         compatible = "fsl,vf610-i2c";
559                         #address-cells = <1>;
560                         #size-cells = <0>;
561                         reg = <0x0 0x21a0000 0x0 0x10000>;
562                         interrupts = <0 58 0x4>;
563                         clock-names = "i2c";
564                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
565                                             QORIQ_CLK_PLL_DIV(1)>;
566                         status = "disabled";
567                 };
568
569                 i2c3: i2c@21b0000 {
570                         compatible = "fsl,vf610-i2c";
571                         #address-cells = <1>;
572                         #size-cells = <0>;
573                         reg = <0x0 0x21b0000 0x0 0x10000>;
574                         interrupts = <0 59 0x4>;
575                         clock-names = "i2c";
576                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
577                                             QORIQ_CLK_PLL_DIV(1)>;
578                         status = "disabled";
579                 };
580
581                 duart0: serial@21c0500 {
582                         compatible = "fsl,ns16550", "ns16550a";
583                         reg = <0x00 0x21c0500 0x0 0x100>;
584                         interrupts = <0 54 0x4>;
585                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
586                                             QORIQ_CLK_PLL_DIV(1)>;
587                 };
588
589                 duart1: serial@21c0600 {
590                         compatible = "fsl,ns16550", "ns16550a";
591                         reg = <0x00 0x21c0600 0x0 0x100>;
592                         interrupts = <0 54 0x4>;
593                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
594                                             QORIQ_CLK_PLL_DIV(1)>;
595                 };
596
597                 duart2: serial@21d0500 {
598                         compatible = "fsl,ns16550", "ns16550a";
599                         reg = <0x0 0x21d0500 0x0 0x100>;
600                         interrupts = <0 55 0x4>;
601                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
602                                             QORIQ_CLK_PLL_DIV(1)>;
603                 };
604
605                 duart3: serial@21d0600 {
606                         compatible = "fsl,ns16550", "ns16550a";
607                         reg = <0x0 0x21d0600 0x0 0x100>;
608                         interrupts = <0 55 0x4>;
609                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
610                                             QORIQ_CLK_PLL_DIV(1)>;
611                 };
612
613                 gpio1: gpio@2300000 {
614                         compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
615                         reg = <0x0 0x2300000 0x0 0x10000>;
616                         interrupts = <0 66 0x4>;
617                         gpio-controller;
618                         #gpio-cells = <2>;
619                         interrupt-controller;
620                         #interrupt-cells = <2>;
621                 };
622
623                 gpio2: gpio@2310000 {
624                         compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
625                         reg = <0x0 0x2310000 0x0 0x10000>;
626                         interrupts = <0 67 0x4>;
627                         gpio-controller;
628                         #gpio-cells = <2>;
629                         interrupt-controller;
630                         #interrupt-cells = <2>;
631                 };
632
633                 gpio3: gpio@2320000 {
634                         compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
635                         reg = <0x0 0x2320000 0x0 0x10000>;
636                         interrupts = <0 68 0x4>;
637                         gpio-controller;
638                         #gpio-cells = <2>;
639                         interrupt-controller;
640                         #interrupt-cells = <2>;
641                 };
642
643                 gpio4: gpio@2330000 {
644                         compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
645                         reg = <0x0 0x2330000 0x0 0x10000>;
646                         interrupts = <0 134 0x4>;
647                         gpio-controller;
648                         #gpio-cells = <2>;
649                         interrupt-controller;
650                         #interrupt-cells = <2>;
651                 };
652
653                 uqe: uqe@2400000 {
654                         #address-cells = <1>;
655                         #size-cells = <1>;
656                         compatible = "fsl,qe", "simple-bus";
657                         ranges = <0x0 0x0 0x2400000 0x40000>;
658                         reg = <0x0 0x2400000 0x0 0x480>;
659                         brg-frequency = <100000000>;
660                         bus-frequency = <200000000>;
661                         fsl,qe-num-riscs = <1>;
662                         fsl,qe-num-snums = <28>;
663
664                         qeic: qeic@80 {
665                                 compatible = "fsl,qe-ic";
666                                 reg = <0x80 0x80>;
667                                 #address-cells = <0>;
668                                 interrupt-controller;
669                                 #interrupt-cells = <1>;
670                                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
671                                              <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
672                         };
673
674                         si1: si@700 {
675                                 #address-cells = <1>;
676                                 #size-cells = <0>;
677                                 compatible = "fsl,ls1043-qe-si",
678                                                 "fsl,t1040-qe-si";
679                                 reg = <0x700 0x80>;
680                         };
681
682                         siram1: siram@1000 {
683                                 #address-cells = <1>;
684                                 #size-cells = <1>;
685                                 compatible = "fsl,ls1043-qe-siram",
686                                                 "fsl,t1040-qe-siram";
687                                 reg = <0x1000 0x800>;
688                         };
689
690                         ucc@2000 {
691                                 cell-index = <1>;
692                                 reg = <0x2000 0x200>;
693                                 interrupts = <32>;
694                                 interrupt-parent = <&qeic>;
695                         };
696
697                         ucc@2200 {
698                                 cell-index = <3>;
699                                 reg = <0x2200 0x200>;
700                                 interrupts = <34>;
701                                 interrupt-parent = <&qeic>;
702                         };
703
704                         muram@10000 {
705                                 #address-cells = <1>;
706                                 #size-cells = <1>;
707                                 compatible = "fsl,qe-muram", "fsl,cpm-muram";
708                                 ranges = <0x0 0x10000 0x6000>;
709
710                                 data-only@0 {
711                                         compatible = "fsl,qe-muram-data",
712                                         "fsl,cpm-muram-data";
713                                         reg = <0x0 0x6000>;
714                                 };
715                         };
716                 };
717
718                 lpuart0: serial@2950000 {
719                         compatible = "fsl,ls1021a-lpuart";
720                         reg = <0x0 0x2950000 0x0 0x1000>;
721                         interrupts = <0 48 0x4>;
722                         clocks = <&clockgen QORIQ_CLK_SYSCLK 0>;
723                         clock-names = "ipg";
724                         status = "disabled";
725                 };
726
727                 lpuart1: serial@2960000 {
728                         compatible = "fsl,ls1021a-lpuart";
729                         reg = <0x0 0x2960000 0x0 0x1000>;
730                         interrupts = <0 49 0x4>;
731                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
732                                             QORIQ_CLK_PLL_DIV(1)>;
733                         clock-names = "ipg";
734                         status = "disabled";
735                 };
736
737                 lpuart2: serial@2970000 {
738                         compatible = "fsl,ls1021a-lpuart";
739                         reg = <0x0 0x2970000 0x0 0x1000>;
740                         interrupts = <0 50 0x4>;
741                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
742                                             QORIQ_CLK_PLL_DIV(1)>;
743                         clock-names = "ipg";
744                         status = "disabled";
745                 };
746
747                 lpuart3: serial@2980000 {
748                         compatible = "fsl,ls1021a-lpuart";
749                         reg = <0x0 0x2980000 0x0 0x1000>;
750                         interrupts = <0 51 0x4>;
751                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
752                                             QORIQ_CLK_PLL_DIV(1)>;
753                         clock-names = "ipg";
754                         status = "disabled";
755                 };
756
757                 lpuart4: serial@2990000 {
758                         compatible = "fsl,ls1021a-lpuart";
759                         reg = <0x0 0x2990000 0x0 0x1000>;
760                         interrupts = <0 52 0x4>;
761                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
762                                             QORIQ_CLK_PLL_DIV(1)>;
763                         clock-names = "ipg";
764                         status = "disabled";
765                 };
766
767                 lpuart5: serial@29a0000 {
768                         compatible = "fsl,ls1021a-lpuart";
769                         reg = <0x0 0x29a0000 0x0 0x1000>;
770                         interrupts = <0 53 0x4>;
771                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
772                                             QORIQ_CLK_PLL_DIV(1)>;
773                         clock-names = "ipg";
774                         status = "disabled";
775                 };
776
777                 wdog0: watchdog@2ad0000 {
778                         compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
779                         reg = <0x0 0x2ad0000 0x0 0x10000>;
780                         interrupts = <0 83 0x4>;
781                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
782                                             QORIQ_CLK_PLL_DIV(1)>;
783                         clock-names = "wdog";
784                         big-endian;
785                 };
786
787                 edma0: edma@2c00000 {
788                         #dma-cells = <2>;
789                         compatible = "fsl,vf610-edma";
790                         reg = <0x0 0x2c00000 0x0 0x10000>,
791                               <0x0 0x2c10000 0x0 0x10000>,
792                               <0x0 0x2c20000 0x0 0x10000>;
793                         interrupts = <0 103 0x4>,
794                                      <0 103 0x4>;
795                         interrupt-names = "edma-tx", "edma-err";
796                         dma-channels = <32>;
797                         big-endian;
798                         clock-names = "dmamux0", "dmamux1";
799                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
800                                             QORIQ_CLK_PLL_DIV(1)>,
801                                  <&clockgen QORIQ_CLK_PLATFORM_PLL
802                                             QORIQ_CLK_PLL_DIV(1)>;
803                 };
804
805                 usb0: usb@2f00000 {
806                         compatible = "snps,dwc3";
807                         reg = <0x0 0x2f00000 0x0 0x10000>;
808                         interrupts = <0 60 0x4>;
809                         dr_mode = "host";
810                         snps,quirk-frame-length-adjustment = <0x20>;
811                         snps,dis_rxdet_inp3_quirk;
812                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
813                         status = "disabled";
814                 };
815
816                 usb1: usb@3000000 {
817                         compatible = "snps,dwc3";
818                         reg = <0x0 0x3000000 0x0 0x10000>;
819                         interrupts = <0 61 0x4>;
820                         dr_mode = "host";
821                         snps,quirk-frame-length-adjustment = <0x20>;
822                         snps,dis_rxdet_inp3_quirk;
823                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
824                         status = "disabled";
825                 };
826
827                 usb2: usb@3100000 {
828                         compatible = "snps,dwc3";
829                         reg = <0x0 0x3100000 0x0 0x10000>;
830                         interrupts = <0 63 0x4>;
831                         dr_mode = "host";
832                         snps,quirk-frame-length-adjustment = <0x20>;
833                         snps,dis_rxdet_inp3_quirk;
834                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
835                         status = "disabled";
836                 };
837
838                 sata: sata@3200000 {
839                         compatible = "fsl,ls1043a-ahci";
840                         reg = <0x0 0x3200000 0x0 0x10000>,
841                                 <0x0 0x20140520 0x0 0x4>;
842                         reg-names = "ahci", "sata-ecc";
843                         interrupts = <0 69 0x4>;
844                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
845                                             QORIQ_CLK_PLL_DIV(1)>;
846                         dma-coherent;
847                 };
848
849                 msi1: msi-controller1@1571000 {
850                         compatible = "fsl,ls1043a-msi";
851                         reg = <0x0 0x1571000 0x0 0x8>;
852                         msi-controller;
853                         interrupts = <0 116 0x4>;
854                 };
855
856                 msi2: msi-controller2@1572000 {
857                         compatible = "fsl,ls1043a-msi";
858                         reg = <0x0 0x1572000 0x0 0x8>;
859                         msi-controller;
860                         interrupts = <0 126 0x4>;
861                 };
862
863                 msi3: msi-controller3@1573000 {
864                         compatible = "fsl,ls1043a-msi";
865                         reg = <0x0 0x1573000 0x0 0x8>;
866                         msi-controller;
867                         interrupts = <0 160 0x4>;
868                 };
869
870                 pcie1: pcie@3400000 {
871                         compatible = "fsl,ls1043a-pcie";
872                         reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
873                               <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
874                         reg-names = "regs", "config";
875                         interrupts = <0 118 0x4>, /* controller interrupt */
876                                      <0 117 0x4>; /* PME interrupt */
877                         interrupt-names = "intr", "pme";
878                         #address-cells = <3>;
879                         #size-cells = <2>;
880                         device_type = "pci";
881                         dma-coherent;
882                         num-viewport = <6>;
883                         bus-range = <0x0 0xff>;
884                         ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
885                                   0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
886                         msi-parent = <&msi1>, <&msi2>, <&msi3>;
887                         #interrupt-cells = <1>;
888                         interrupt-map-mask = <0 0 0 7>;
889                         interrupt-map = <0000 0 0 1 &gic 0 110 0x4>,
890                                         <0000 0 0 2 &gic 0 111 0x4>,
891                                         <0000 0 0 3 &gic 0 112 0x4>,
892                                         <0000 0 0 4 &gic 0 113 0x4>;
893                         status = "disabled";
894                 };
895
896                 pcie2: pcie@3500000 {
897                         compatible = "fsl,ls1043a-pcie";
898                         reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
899                               <0x48 0x00000000 0x0 0x00002000>; /* configuration space */
900                         reg-names = "regs", "config";
901                         interrupts = <0 128 0x4>,
902                                      <0 127 0x4>;
903                         interrupt-names = "intr", "pme";
904                         #address-cells = <3>;
905                         #size-cells = <2>;
906                         device_type = "pci";
907                         dma-coherent;
908                         num-viewport = <6>;
909                         bus-range = <0x0 0xff>;
910                         ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000   /* downstream I/O */
911                                   0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
912                         msi-parent = <&msi1>, <&msi2>, <&msi3>;
913                         #interrupt-cells = <1>;
914                         interrupt-map-mask = <0 0 0 7>;
915                         interrupt-map = <0000 0 0 1 &gic 0 120  0x4>,
916                                         <0000 0 0 2 &gic 0 121 0x4>,
917                                         <0000 0 0 3 &gic 0 122 0x4>,
918                                         <0000 0 0 4 &gic 0 123 0x4>;
919                         status = "disabled";
920                 };
921
922                 pcie3: pcie@3600000 {
923                         compatible = "fsl,ls1043a-pcie";
924                         reg = <0x00 0x03600000 0x0 0x00100000>, /* controller registers */
925                               <0x50 0x00000000 0x0 0x00002000>; /* configuration space */
926                         reg-names = "regs", "config";
927                         interrupts = <0 162 0x4>,
928                                      <0 161 0x4>;
929                         interrupt-names = "intr", "pme";
930                         #address-cells = <3>;
931                         #size-cells = <2>;
932                         device_type = "pci";
933                         dma-coherent;
934                         num-viewport = <6>;
935                         bus-range = <0x0 0xff>;
936                         ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000   /* downstream I/O */
937                                   0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
938                         msi-parent = <&msi1>, <&msi2>, <&msi3>;
939                         #interrupt-cells = <1>;
940                         interrupt-map-mask = <0 0 0 7>;
941                         interrupt-map = <0000 0 0 1 &gic 0 154 0x4>,
942                                         <0000 0 0 2 &gic 0 155 0x4>,
943                                         <0000 0 0 3 &gic 0 156 0x4>,
944                                         <0000 0 0 4 &gic 0 157 0x4>;
945                         status = "disabled";
946                 };
947
948                 qdma: dma-controller@8380000 {
949                         compatible = "fsl,ls1021a-qdma", "fsl,ls1043a-qdma";
950                         reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
951                               <0x0 0x8390000 0x0 0x10000>, /* Status regs */
952                               <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
953                         interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
954                                      <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
955                                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
956                                      <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
957                                      <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
958                         interrupt-names = "qdma-error", "qdma-queue0",
959                                 "qdma-queue1", "qdma-queue2", "qdma-queue3";
960                         dma-channels = <8>;
961                         block-number = <1>;
962                         block-offset = <0x10000>;
963                         fsl,dma-queues = <2>;
964                         status-sizes = <64>;
965                         queue-sizes = <64 64>;
966                         big-endian;
967                 };
968
969                 rcpm: power-controller@1ee2140 {
970                         compatible = "fsl,ls1043a-rcpm", "fsl,qoriq-rcpm-2.1+";
971                         reg = <0x0 0x1ee2140 0x0 0x4>;
972                         #fsl,rcpm-wakeup-cells = <1>;
973                 };
974
975                 ftm_alarm0: timer@29d0000 {
976                         compatible = "fsl,ls1043a-ftm-alarm";
977                         reg = <0x0 0x29d0000 0x0 0x10000>;
978                         fsl,rcpm-wakeup = <&rcpm 0x20000>;
979                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
980                         big-endian;
981                 };
982         };
983
984         firmware {
985                 optee {
986                         compatible = "linaro,optee-tz";
987                         method = "smc";
988                 };
989         };
990
991 };
992
993 #include "qoriq-qman-portals.dtsi"
994 #include "qoriq-bman-portals.dtsi"