blob: acf293310f7a099614c0339ff2a3cf3eae93e453 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree Include file for NXP Layerscape-1028A family SoC.
4 *
5 * Copyright 2018-2020 NXP
6 *
7 * Harninder Rai <harninder.rai@nxp.com>
8 *
9 */
10
11#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/thermal/thermal.h>
14
15/ {
16 compatible = "fsl,ls1028a";
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
19 #size-cells = <2>;
20
21 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 cpu0: cpu@0 {
26 device_type = "cpu";
27 compatible = "arm,cortex-a72";
28 reg = <0x0>;
29 enable-method = "psci";
30 clocks = <&clockgen QORIQ_CLK_CMUX 0>;
31 i-cache-size = <0xc000>;
32 i-cache-line-size = <64>;
33 i-cache-sets = <256>;
34 d-cache-size = <0x8000>;
35 d-cache-line-size = <64>;
36 d-cache-sets = <256>;
37 next-level-cache = <&l2>;
38 cpu-idle-states = <&CPU_PW20>;
39 #cooling-cells = <2>;
40 };
41
42 cpu1: cpu@1 {
43 device_type = "cpu";
44 compatible = "arm,cortex-a72";
45 reg = <0x1>;
46 enable-method = "psci";
47 clocks = <&clockgen QORIQ_CLK_CMUX 0>;
48 i-cache-size = <0xc000>;
49 i-cache-line-size = <64>;
50 i-cache-sets = <256>;
51 d-cache-size = <0x8000>;
52 d-cache-line-size = <64>;
53 d-cache-sets = <256>;
54 next-level-cache = <&l2>;
55 cpu-idle-states = <&CPU_PW20>;
56 #cooling-cells = <2>;
57 };
58
59 l2: l2-cache {
60 compatible = "cache";
61 cache-level = <2>;
62 cache-unified;
63 cache-size = <0x100000>;
64 cache-line-size = <64>;
65 cache-sets = <1024>;
66 };
67 };
68
69 idle-states {
70 /*
71 * PSCI node is not added default, U-boot will add missing
72 * parts if it determines to use PSCI.
73 */
74 entry-method = "psci";
75
76 CPU_PW20: cpu-pw20 {
77 compatible = "arm,idle-state";
78 idle-state-name = "PW20";
79 arm,psci-suspend-param = <0x0>;
80 entry-latency-us = <2000>;
81 exit-latency-us = <2000>;
82 min-residency-us = <6000>;
83 };
84 };
85
86 rtc_clk: rtc-clk {
87 compatible = "fixed-clock";
88 #clock-cells = <0>;
89 clock-frequency = <32768>;
90 clock-output-names = "rtc_clk";
91 };
92
93 sysclk: sysclk {
94 compatible = "fixed-clock";
95 #clock-cells = <0>;
96 clock-frequency = <100000000>;
97 clock-output-names = "sysclk";
98 };
99
100 osc_27m: clock-osc-27m {
101 compatible = "fixed-clock";
102 #clock-cells = <0>;
103 clock-frequency = <27000000>;
104 clock-output-names = "phy_27m";
105 };
106
107 firmware {
108 optee: optee {
109 compatible = "linaro,optee-tz";
110 method = "smc";
111 status = "disabled";
112 };
113 };
114
115 reboot {
116 compatible = "syscon-reboot";
117 regmap = <&rst>;
118 offset = <0>;
119 mask = <0x02>;
120 };
121
122 timer {
123 compatible = "arm,armv8-timer";
124 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
125 IRQ_TYPE_LEVEL_LOW)>,
126 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
127 IRQ_TYPE_LEVEL_LOW)>,
128 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
129 IRQ_TYPE_LEVEL_LOW)>,
130 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
131 IRQ_TYPE_LEVEL_LOW)>;
132 };
133
134 pmu {
135 compatible = "arm,cortex-a72-pmu";
136 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
137 };
138
139 gic: interrupt-controller@6000000 {
140 compatible = "arm,gic-v3";
141 #address-cells = <2>;
142 #size-cells = <2>;
143 ranges;
144 reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
145 <0x0 0x06040000 0 0x40000>; /* GIC Redistributor */
146 #interrupt-cells = <3>;
147 interrupt-controller;
148 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
149 IRQ_TYPE_LEVEL_LOW)>;
150 its: msi-controller@6020000 {
151 compatible = "arm,gic-v3-its";
152 msi-controller;
153 reg = <0x0 0x06020000 0 0x20000>;/* GIC Translater */
154 };
155 };
156
157 thermal-zones {
Tom Rini6b642ac2024-10-01 12:20:28 -0600158 ddr-thermal {
Tom Rini53633a82024-02-29 12:33:36 -0500159 polling-delay-passive = <1000>;
160 polling-delay = <5000>;
161 thermal-sensors = <&tmu 0>;
162
163 trips {
164 ddr-ctrler-alert {
165 temperature = <85000>;
166 hysteresis = <2000>;
167 type = "passive";
168 };
169
170 ddr-ctrler-crit {
171 temperature = <95000>;
172 hysteresis = <2000>;
173 type = "critical";
174 };
175 };
176 };
177
Tom Rini6b642ac2024-10-01 12:20:28 -0600178 cluster-thermal {
Tom Rini53633a82024-02-29 12:33:36 -0500179 polling-delay-passive = <1000>;
180 polling-delay = <5000>;
181 thermal-sensors = <&tmu 1>;
182
183 trips {
184 core_cluster_alert: core-cluster-alert {
185 temperature = <85000>;
186 hysteresis = <2000>;
187 type = "passive";
188 };
189
190 core_cluster_crit: core-cluster-crit {
191 temperature = <95000>;
192 hysteresis = <2000>;
193 type = "critical";
194 };
195 };
196
197 cooling-maps {
198 map0 {
199 trip = <&core_cluster_alert>;
200 cooling-device =
201 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
202 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
203 };
204 };
205 };
206 };
207
208 soc: soc {
209 compatible = "simple-bus";
210 #address-cells = <2>;
211 #size-cells = <2>;
212 ranges;
213
214 ddr: memory-controller@1080000 {
215 compatible = "fsl,qoriq-memory-controller";
216 reg = <0x0 0x1080000 0x0 0x1000>;
217 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
218 little-endian;
219 };
220
221 dcfg: syscon@1e00000 {
222 #address-cells = <1>;
223 #size-cells = <1>;
224 compatible = "fsl,ls1028a-dcfg", "syscon", "simple-mfd";
225 reg = <0x0 0x1e00000 0x0 0x10000>;
226 ranges = <0x0 0x0 0x1e00000 0x10000>;
227 little-endian;
228
229 fspi_clk: clock-controller@900 {
230 compatible = "fsl,ls1028a-flexspi-clk";
231 reg = <0x900 0x4>;
232 #clock-cells = <0>;
233 clocks = <&clockgen QORIQ_CLK_HWACCEL 0>;
234 clock-output-names = "fspi_clk";
235 };
236 };
237
238 rst: syscon@1e60000 {
239 compatible = "syscon";
240 reg = <0x0 0x1e60000 0x0 0x10000>;
241 little-endian;
242 };
243
244 sfp: efuse@1e80000 {
245 compatible = "fsl,ls1028a-sfp";
246 reg = <0x0 0x1e80000 0x0 0x10000>;
247 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
248 QORIQ_CLK_PLL_DIV(4)>;
249 clock-names = "sfp";
250 #address-cells = <1>;
251 #size-cells = <1>;
252
253 ls1028a_uid: unique-id@1c {
254 reg = <0x1c 0x8>;
255 };
256 };
257
258 scfg: syscon@1fc0000 {
259 compatible = "fsl,ls1028a-scfg", "syscon";
260 reg = <0x0 0x1fc0000 0x0 0x10000>;
261 big-endian;
262 };
263
264 clockgen: clock-controller@1300000 {
265 compatible = "fsl,ls1028a-clockgen";
266 reg = <0x0 0x1300000 0x0 0xa0000>;
267 #clock-cells = <2>;
268 clocks = <&sysclk>;
269 };
270
271 i2c0: i2c@2000000 {
272 compatible = "fsl,vf610-i2c";
273 #address-cells = <1>;
274 #size-cells = <0>;
275 reg = <0x0 0x2000000 0x0 0x10000>;
276 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
277 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
278 QORIQ_CLK_PLL_DIV(4)>;
279 status = "disabled";
280 };
281
282 i2c1: i2c@2010000 {
283 compatible = "fsl,vf610-i2c";
284 #address-cells = <1>;
285 #size-cells = <0>;
286 reg = <0x0 0x2010000 0x0 0x10000>;
287 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
288 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
289 QORIQ_CLK_PLL_DIV(4)>;
290 status = "disabled";
291 };
292
293 i2c2: i2c@2020000 {
294 compatible = "fsl,vf610-i2c";
295 #address-cells = <1>;
296 #size-cells = <0>;
297 reg = <0x0 0x2020000 0x0 0x10000>;
298 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
299 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
300 QORIQ_CLK_PLL_DIV(4)>;
301 status = "disabled";
302 };
303
304 i2c3: i2c@2030000 {
305 compatible = "fsl,vf610-i2c";
306 #address-cells = <1>;
307 #size-cells = <0>;
308 reg = <0x0 0x2030000 0x0 0x10000>;
309 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
310 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
311 QORIQ_CLK_PLL_DIV(4)>;
312 status = "disabled";
313 };
314
315 i2c4: i2c@2040000 {
316 compatible = "fsl,vf610-i2c";
317 #address-cells = <1>;
318 #size-cells = <0>;
319 reg = <0x0 0x2040000 0x0 0x10000>;
320 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
321 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
322 QORIQ_CLK_PLL_DIV(4)>;
323 status = "disabled";
324 };
325
326 i2c5: i2c@2050000 {
327 compatible = "fsl,vf610-i2c";
328 #address-cells = <1>;
329 #size-cells = <0>;
330 reg = <0x0 0x2050000 0x0 0x10000>;
331 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
332 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
333 QORIQ_CLK_PLL_DIV(4)>;
334 status = "disabled";
335 };
336
337 i2c6: i2c@2060000 {
338 compatible = "fsl,vf610-i2c";
339 #address-cells = <1>;
340 #size-cells = <0>;
341 reg = <0x0 0x2060000 0x0 0x10000>;
342 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
343 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
344 QORIQ_CLK_PLL_DIV(4)>;
345 status = "disabled";
346 };
347
348 i2c7: i2c@2070000 {
349 compatible = "fsl,vf610-i2c";
350 #address-cells = <1>;
351 #size-cells = <0>;
352 reg = <0x0 0x2070000 0x0 0x10000>;
353 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
355 QORIQ_CLK_PLL_DIV(4)>;
356 status = "disabled";
357 };
358
359 fspi: spi@20c0000 {
360 compatible = "nxp,lx2160a-fspi";
361 #address-cells = <1>;
362 #size-cells = <0>;
363 reg = <0x0 0x20c0000 0x0 0x10000>,
364 <0x0 0x20000000 0x0 0x10000000>;
365 reg-names = "fspi_base", "fspi_mmap";
366 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
367 clocks = <&fspi_clk>, <&fspi_clk>;
368 clock-names = "fspi_en", "fspi";
369 status = "disabled";
370 };
371
372 dspi0: spi@2100000 {
373 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
374 #address-cells = <1>;
375 #size-cells = <0>;
376 reg = <0x0 0x2100000 0x0 0x10000>;
377 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
378 clock-names = "dspi";
379 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
380 QORIQ_CLK_PLL_DIV(2)>;
381 dmas = <&edma0 0 62>, <&edma0 0 60>;
382 dma-names = "tx", "rx";
383 spi-num-chipselects = <4>;
384 little-endian;
385 status = "disabled";
386 };
387
388 dspi1: spi@2110000 {
389 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
390 #address-cells = <1>;
391 #size-cells = <0>;
392 reg = <0x0 0x2110000 0x0 0x10000>;
393 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
394 clock-names = "dspi";
395 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
396 QORIQ_CLK_PLL_DIV(2)>;
397 dmas = <&edma0 0 58>, <&edma0 0 56>;
398 dma-names = "tx", "rx";
399 spi-num-chipselects = <4>;
400 little-endian;
401 status = "disabled";
402 };
403
404 dspi2: spi@2120000 {
405 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
406 #address-cells = <1>;
407 #size-cells = <0>;
408 reg = <0x0 0x2120000 0x0 0x10000>;
409 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
410 clock-names = "dspi";
411 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
412 QORIQ_CLK_PLL_DIV(2)>;
413 dmas = <&edma0 0 54>, <&edma0 0 2>;
414 dma-names = "tx", "rx";
415 spi-num-chipselects = <3>;
416 little-endian;
417 status = "disabled";
418 };
419
420 esdhc: mmc@2140000 {
421 compatible = "fsl,ls1028a-esdhc", "fsl,esdhc";
422 reg = <0x0 0x2140000 0x0 0x10000>;
423 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
424 clock-frequency = <0>; /* fixed up by bootloader */
425 clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
426 voltage-ranges = <1800 1800 3300 3300>;
427 sdhci,auto-cmd12;
428 little-endian;
429 bus-width = <4>;
430 status = "disabled";
431 };
432
433 esdhc1: mmc@2150000 {
434 compatible = "fsl,ls1028a-esdhc", "fsl,esdhc";
435 reg = <0x0 0x2150000 0x0 0x10000>;
436 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
437 clock-frequency = <0>; /* fixed up by bootloader */
438 clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
439 voltage-ranges = <1800 1800>;
440 sdhci,auto-cmd12;
441 non-removable;
442 little-endian;
443 bus-width = <4>;
444 status = "disabled";
445 };
446
447 can0: can@2180000 {
448 compatible = "fsl,lx2160ar1-flexcan";
449 reg = <0x0 0x2180000 0x0 0x10000>;
450 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
451 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
452 QORIQ_CLK_PLL_DIV(2)>,
453 <&clockgen QORIQ_CLK_PLATFORM_PLL
454 QORIQ_CLK_PLL_DIV(2)>;
455 clock-names = "ipg", "per";
456 status = "disabled";
457 };
458
459 can1: can@2190000 {
460 compatible = "fsl,lx2160ar1-flexcan";
461 reg = <0x0 0x2190000 0x0 0x10000>;
462 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
463 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
464 QORIQ_CLK_PLL_DIV(2)>,
465 <&clockgen QORIQ_CLK_PLATFORM_PLL
466 QORIQ_CLK_PLL_DIV(2)>;
467 clock-names = "ipg", "per";
468 status = "disabled";
469 };
470
471 duart0: serial@21c0500 {
472 compatible = "fsl,ns16550", "ns16550a";
473 reg = <0x00 0x21c0500 0x0 0x100>;
474 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
475 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
476 QORIQ_CLK_PLL_DIV(2)>;
477 status = "disabled";
478 };
479
480 duart1: serial@21c0600 {
481 compatible = "fsl,ns16550", "ns16550a";
482 reg = <0x00 0x21c0600 0x0 0x100>;
483 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
484 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
485 QORIQ_CLK_PLL_DIV(2)>;
486 status = "disabled";
487 };
488
489
490 lpuart0: serial@2260000 {
491 compatible = "fsl,ls1028a-lpuart";
492 reg = <0x0 0x2260000 0x0 0x1000>;
493 interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>;
494 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
495 QORIQ_CLK_PLL_DIV(2)>;
496 clock-names = "ipg";
497 dma-names = "rx","tx";
498 dmas = <&edma0 1 32>,
499 <&edma0 1 33>;
500 status = "disabled";
501 };
502
503 lpuart1: serial@2270000 {
504 compatible = "fsl,ls1028a-lpuart";
505 reg = <0x0 0x2270000 0x0 0x1000>;
506 interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
507 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
508 QORIQ_CLK_PLL_DIV(2)>;
509 clock-names = "ipg";
510 dma-names = "rx","tx";
511 dmas = <&edma0 1 30>,
512 <&edma0 1 31>;
513 status = "disabled";
514 };
515
516 lpuart2: serial@2280000 {
517 compatible = "fsl,ls1028a-lpuart";
518 reg = <0x0 0x2280000 0x0 0x1000>;
519 interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>;
520 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
521 QORIQ_CLK_PLL_DIV(2)>;
522 clock-names = "ipg";
523 dma-names = "rx","tx";
524 dmas = <&edma0 1 28>,
525 <&edma0 1 29>;
526 status = "disabled";
527 };
528
529 lpuart3: serial@2290000 {
530 compatible = "fsl,ls1028a-lpuart";
531 reg = <0x0 0x2290000 0x0 0x1000>;
532 interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
533 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
534 QORIQ_CLK_PLL_DIV(2)>;
535 clock-names = "ipg";
536 dma-names = "rx","tx";
537 dmas = <&edma0 1 26>,
538 <&edma0 1 27>;
539 status = "disabled";
540 };
541
542 lpuart4: serial@22a0000 {
543 compatible = "fsl,ls1028a-lpuart";
544 reg = <0x0 0x22a0000 0x0 0x1000>;
545 interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>;
546 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
547 QORIQ_CLK_PLL_DIV(2)>;
548 clock-names = "ipg";
549 dma-names = "rx","tx";
550 dmas = <&edma0 1 24>,
551 <&edma0 1 25>;
552 status = "disabled";
553 };
554
555 lpuart5: serial@22b0000 {
556 compatible = "fsl,ls1028a-lpuart";
557 reg = <0x0 0x22b0000 0x0 0x1000>;
558 interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
559 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
560 QORIQ_CLK_PLL_DIV(2)>;
561 clock-names = "ipg";
562 dma-names = "rx","tx";
563 dmas = <&edma0 1 22>,
564 <&edma0 1 23>;
565 status = "disabled";
566 };
567
568 edma0: dma-controller@22c0000 {
569 #dma-cells = <2>;
570 compatible = "fsl,ls1028a-edma", "fsl,vf610-edma";
571 reg = <0x0 0x22c0000 0x0 0x10000>,
572 <0x0 0x22d0000 0x0 0x10000>,
573 <0x0 0x22e0000 0x0 0x10000>;
574 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
575 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
576 interrupt-names = "edma-tx", "edma-err";
577 dma-channels = <32>;
578 clock-names = "dmamux0", "dmamux1";
579 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
580 QORIQ_CLK_PLL_DIV(2)>,
581 <&clockgen QORIQ_CLK_PLATFORM_PLL
582 QORIQ_CLK_PLL_DIV(2)>;
583 };
584
585 gpio1: gpio@2300000 {
586 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
587 reg = <0x0 0x2300000 0x0 0x10000>;
588 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
589 gpio-controller;
590 #gpio-cells = <2>;
591 interrupt-controller;
592 #interrupt-cells = <2>;
593 little-endian;
594 };
595
596 gpio2: gpio@2310000 {
597 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
598 reg = <0x0 0x2310000 0x0 0x10000>;
599 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
600 gpio-controller;
601 #gpio-cells = <2>;
602 interrupt-controller;
603 #interrupt-cells = <2>;
604 little-endian;
605 };
606
607 gpio3: gpio@2320000 {
608 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
609 reg = <0x0 0x2320000 0x0 0x10000>;
610 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
611 gpio-controller;
612 #gpio-cells = <2>;
613 interrupt-controller;
614 #interrupt-cells = <2>;
615 little-endian;
616 };
617
618 usb0: usb@3100000 {
619 compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
620 reg = <0x0 0x3100000 0x0 0x10000>;
621 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
622 snps,dis_rxdet_inp3_quirk;
623 snps,quirk-frame-length-adjustment = <0x20>;
624 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
625 status = "disabled";
626 };
627
628 usb1: usb@3110000 {
629 compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
630 reg = <0x0 0x3110000 0x0 0x10000>;
631 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
632 snps,dis_rxdet_inp3_quirk;
633 snps,quirk-frame-length-adjustment = <0x20>;
634 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
635 status = "disabled";
636 };
637
638 sata: sata@3200000 {
639 compatible = "fsl,ls1028a-ahci";
640 reg = <0x0 0x3200000 0x0 0x10000>,
641 <0x7 0x100520 0x0 0x4>;
642 reg-names = "ahci", "sata-ecc";
643 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
644 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
645 QORIQ_CLK_PLL_DIV(2)>;
646 status = "disabled";
647 };
648
649 pcie1: pcie@3400000 {
650 compatible = "fsl,ls1028a-pcie";
651 reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
652 <0x80 0x00000000 0x0 0x00002000>; /* configuration space */
653 reg-names = "regs", "config";
654 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
655 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
656 interrupt-names = "pme", "aer";
657 #address-cells = <3>;
658 #size-cells = <2>;
659 device_type = "pci";
660 dma-coherent;
661 num-viewport = <8>;
662 bus-range = <0x0 0xff>;
663 ranges = <0x81000000 0x0 0x00000000 0x80 0x00010000 0x0 0x00010000 /* downstream I/O */
664 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
665 msi-parent = <&its>;
666 #interrupt-cells = <1>;
667 interrupt-map-mask = <0 0 0 7>;
668 interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
669 <0000 0 0 2 &gic 0 0 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
670 <0000 0 0 3 &gic 0 0 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
671 <0000 0 0 4 &gic 0 0 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
672 iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */
673 status = "disabled";
674 };
675
676 pcie_ep1: pcie-ep@3400000 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600677 compatible = "fsl,ls1028a-pcie-ep";
Tom Rini53633a82024-02-29 12:33:36 -0500678 reg = <0x00 0x03400000 0x0 0x00100000
679 0x80 0x00000000 0x8 0x00000000>;
680 reg-names = "regs", "addr_space";
681 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
682 interrupt-names = "pme";
683 num-ib-windows = <6>;
684 num-ob-windows = <8>;
685 status = "disabled";
686 };
687
688 pcie2: pcie@3500000 {
689 compatible = "fsl,ls1028a-pcie";
690 reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
691 <0x88 0x00000000 0x0 0x00002000>; /* configuration space */
692 reg-names = "regs", "config";
693 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
694 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
695 interrupt-names = "pme", "aer";
696 #address-cells = <3>;
697 #size-cells = <2>;
698 device_type = "pci";
699 dma-coherent;
700 num-viewport = <8>;
701 bus-range = <0x0 0xff>;
702 ranges = <0x81000000 0x0 0x00000000 0x88 0x00010000 0x0 0x00010000 /* downstream I/O */
703 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
704 msi-parent = <&its>;
705 #interrupt-cells = <1>;
706 interrupt-map-mask = <0 0 0 7>;
707 interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
708 <0000 0 0 2 &gic 0 0 GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
709 <0000 0 0 3 &gic 0 0 GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
710 <0000 0 0 4 &gic 0 0 GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
711 iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */
712 status = "disabled";
713 };
714
715 pcie_ep2: pcie-ep@3500000 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600716 compatible = "fsl,ls1028a-pcie-ep";
Tom Rini53633a82024-02-29 12:33:36 -0500717 reg = <0x00 0x03500000 0x0 0x00100000
718 0x88 0x00000000 0x8 0x00000000>;
719 reg-names = "regs", "addr_space";
720 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
721 interrupt-names = "pme";
722 num-ib-windows = <6>;
723 num-ob-windows = <8>;
724 status = "disabled";
725 };
726
727 smmu: iommu@5000000 {
728 compatible = "arm,mmu-500";
729 reg = <0 0x5000000 0 0x800000>;
730 #global-interrupts = <8>;
731 #iommu-cells = <1>;
732 dma-coherent;
733 stream-match-mask = <0x7c00>;
734 /* global secure fault */
735 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
736 /* combined secure interrupt */
737 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
738 /* global non-secure fault */
739 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
740 /* combined non-secure interrupt */
741 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
742 /* performance counter interrupts 0-7 */
743 <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
744 <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
745 /* per context interrupt, 64 interrupts */
746 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
747 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
748 <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
749 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
750 <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
751 <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
752 <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
753 <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
754 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
755 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
756 <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
757 <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
758 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
759 <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
760 <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>,
761 <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
762 <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
763 <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
764 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
765 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
766 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
767 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
768 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
769 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
770 <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
771 <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
772 <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
773 <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
774 <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
775 <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
776 <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
777 <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
778 };
779
780 crypto: crypto@8000000 {
781 compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
782 fsl,sec-era = <10>;
783 #address-cells = <1>;
784 #size-cells = <1>;
785 ranges = <0x0 0x00 0x8000000 0x100000>;
786 reg = <0x00 0x8000000 0x0 0x100000>;
787 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
788 dma-coherent;
789
790 sec_jr0: jr@10000 {
791 compatible = "fsl,sec-v5.0-job-ring",
792 "fsl,sec-v4.0-job-ring";
793 reg = <0x10000 0x10000>;
794 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
795 };
796
797 sec_jr1: jr@20000 {
798 compatible = "fsl,sec-v5.0-job-ring",
799 "fsl,sec-v4.0-job-ring";
800 reg = <0x20000 0x10000>;
801 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
802 };
803
804 sec_jr2: jr@30000 {
805 compatible = "fsl,sec-v5.0-job-ring",
806 "fsl,sec-v4.0-job-ring";
807 reg = <0x30000 0x10000>;
808 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
809 };
810
811 sec_jr3: jr@40000 {
812 compatible = "fsl,sec-v5.0-job-ring",
813 "fsl,sec-v4.0-job-ring";
814 reg = <0x40000 0x10000>;
815 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
816 };
817 };
818
819 qdma: dma-controller@8380000 {
820 compatible = "fsl,ls1028a-qdma", "fsl,ls1021a-qdma";
821 reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
822 <0x0 0x8390000 0x0 0x10000>, /* Status regs */
823 <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
824 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
825 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
826 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
827 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
828 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>;
829 interrupt-names = "qdma-error", "qdma-queue0",
830 "qdma-queue1", "qdma-queue2", "qdma-queue3";
Tom Rini6b642ac2024-10-01 12:20:28 -0600831 #dma-cells = <1>;
Tom Rini53633a82024-02-29 12:33:36 -0500832 dma-channels = <8>;
833 block-number = <1>;
834 block-offset = <0x10000>;
835 fsl,dma-queues = <2>;
836 status-sizes = <64>;
837 queue-sizes = <64 64>;
838 };
839
840 cluster1_core0_watchdog: watchdog@c000000 {
841 compatible = "arm,sp805", "arm,primecell";
842 reg = <0x0 0xc000000 0x0 0x1000>;
843 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
844 QORIQ_CLK_PLL_DIV(16)>,
845 <&clockgen QORIQ_CLK_PLATFORM_PLL
846 QORIQ_CLK_PLL_DIV(16)>;
847 clock-names = "wdog_clk", "apb_pclk";
848 };
849
850 cluster1_core1_watchdog: watchdog@c010000 {
851 compatible = "arm,sp805", "arm,primecell";
852 reg = <0x0 0xc010000 0x0 0x1000>;
853 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
854 QORIQ_CLK_PLL_DIV(16)>,
855 <&clockgen QORIQ_CLK_PLATFORM_PLL
856 QORIQ_CLK_PLL_DIV(16)>;
857 clock-names = "wdog_clk", "apb_pclk";
858 };
859
860 malidp0: display@f080000 {
861 compatible = "arm,mali-dp500";
862 reg = <0x0 0xf080000 0x0 0x10000>;
Tom Rini6b642ac2024-10-01 12:20:28 -0600863 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
864 <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -0500865 interrupt-names = "DE", "SE";
866 clocks = <&dpclk>,
867 <&clockgen QORIQ_CLK_HWACCEL 2>,
868 <&clockgen QORIQ_CLK_HWACCEL 2>,
869 <&clockgen QORIQ_CLK_HWACCEL 2>;
870 clock-names = "pxlclk", "mclk", "aclk", "pclk";
871 arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
872 arm,malidp-arqos-value = <0xd000d000>;
873
874 port {
875 dpi0_out: endpoint {
876
877 };
878 };
879 };
880
881 gpu: gpu@f0c0000 {
882 compatible = "vivante,gc";
883 reg = <0x0 0xf0c0000 0x0 0x10000>;
884 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
885 clocks = <&clockgen QORIQ_CLK_HWACCEL 2>,
886 <&clockgen QORIQ_CLK_HWACCEL 2>,
887 <&clockgen QORIQ_CLK_HWACCEL 2>;
888 clock-names = "core", "shader", "bus";
889 #cooling-cells = <2>;
890 };
891
892 sai1: audio-controller@f100000 {
893 #sound-dai-cells = <0>;
894 compatible = "fsl,vf610-sai";
895 reg = <0x0 0xf100000 0x0 0x10000>;
896 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
897 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
898 QORIQ_CLK_PLL_DIV(2)>,
899 <&clockgen QORIQ_CLK_PLATFORM_PLL
900 QORIQ_CLK_PLL_DIV(2)>,
901 <&clockgen QORIQ_CLK_PLATFORM_PLL
902 QORIQ_CLK_PLL_DIV(2)>,
903 <&clockgen QORIQ_CLK_PLATFORM_PLL
904 QORIQ_CLK_PLL_DIV(2)>;
905 clock-names = "bus", "mclk1", "mclk2", "mclk3";
Tom Rini6b642ac2024-10-01 12:20:28 -0600906 dma-names = "rx", "tx";
907 dmas = <&edma0 1 3>,
908 <&edma0 1 4>;
Tom Rini53633a82024-02-29 12:33:36 -0500909 fsl,sai-asynchronous;
910 status = "disabled";
911 };
912
913 sai2: audio-controller@f110000 {
914 #sound-dai-cells = <0>;
915 compatible = "fsl,vf610-sai";
916 reg = <0x0 0xf110000 0x0 0x10000>;
917 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
918 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
919 QORIQ_CLK_PLL_DIV(2)>,
920 <&clockgen QORIQ_CLK_PLATFORM_PLL
921 QORIQ_CLK_PLL_DIV(2)>,
922 <&clockgen QORIQ_CLK_PLATFORM_PLL
923 QORIQ_CLK_PLL_DIV(2)>,
924 <&clockgen QORIQ_CLK_PLATFORM_PLL
925 QORIQ_CLK_PLL_DIV(2)>;
926 clock-names = "bus", "mclk1", "mclk2", "mclk3";
Tom Rini6b642ac2024-10-01 12:20:28 -0600927 dma-names = "rx", "tx";
928 dmas = <&edma0 1 5>,
929 <&edma0 1 6>;
Tom Rini53633a82024-02-29 12:33:36 -0500930 fsl,sai-asynchronous;
931 status = "disabled";
932 };
933
934 sai3: audio-controller@f120000 {
935 #sound-dai-cells = <0>;
936 compatible = "fsl,vf610-sai";
937 reg = <0x0 0xf120000 0x0 0x10000>;
938 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
939 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
940 QORIQ_CLK_PLL_DIV(2)>,
941 <&clockgen QORIQ_CLK_PLATFORM_PLL
942 QORIQ_CLK_PLL_DIV(2)>,
943 <&clockgen QORIQ_CLK_PLATFORM_PLL
944 QORIQ_CLK_PLL_DIV(2)>,
945 <&clockgen QORIQ_CLK_PLATFORM_PLL
946 QORIQ_CLK_PLL_DIV(2)>;
947 clock-names = "bus", "mclk1", "mclk2", "mclk3";
Tom Rini6b642ac2024-10-01 12:20:28 -0600948 dma-names = "rx", "tx";
949 dmas = <&edma0 1 7>,
950 <&edma0 1 8>;
Tom Rini53633a82024-02-29 12:33:36 -0500951 fsl,sai-asynchronous;
952 status = "disabled";
953 };
954
955 sai4: audio-controller@f130000 {
956 #sound-dai-cells = <0>;
957 compatible = "fsl,vf610-sai";
958 reg = <0x0 0xf130000 0x0 0x10000>;
959 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
960 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
961 QORIQ_CLK_PLL_DIV(2)>,
962 <&clockgen QORIQ_CLK_PLATFORM_PLL
963 QORIQ_CLK_PLL_DIV(2)>,
964 <&clockgen QORIQ_CLK_PLATFORM_PLL
965 QORIQ_CLK_PLL_DIV(2)>,
966 <&clockgen QORIQ_CLK_PLATFORM_PLL
967 QORIQ_CLK_PLL_DIV(2)>;
968 clock-names = "bus", "mclk1", "mclk2", "mclk3";
Tom Rini6b642ac2024-10-01 12:20:28 -0600969 dma-names = "rx", "tx";
970 dmas = <&edma0 1 9>,
971 <&edma0 1 10>;
Tom Rini53633a82024-02-29 12:33:36 -0500972 fsl,sai-asynchronous;
973 status = "disabled";
974 };
975
976 sai5: audio-controller@f140000 {
977 #sound-dai-cells = <0>;
978 compatible = "fsl,vf610-sai";
979 reg = <0x0 0xf140000 0x0 0x10000>;
980 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
981 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
982 QORIQ_CLK_PLL_DIV(2)>,
983 <&clockgen QORIQ_CLK_PLATFORM_PLL
984 QORIQ_CLK_PLL_DIV(2)>,
985 <&clockgen QORIQ_CLK_PLATFORM_PLL
986 QORIQ_CLK_PLL_DIV(2)>,
987 <&clockgen QORIQ_CLK_PLATFORM_PLL
988 QORIQ_CLK_PLL_DIV(2)>;
989 clock-names = "bus", "mclk1", "mclk2", "mclk3";
Tom Rini6b642ac2024-10-01 12:20:28 -0600990 dma-names = "rx", "tx";
991 dmas = <&edma0 1 11>,
992 <&edma0 1 12>;
Tom Rini53633a82024-02-29 12:33:36 -0500993 fsl,sai-asynchronous;
994 status = "disabled";
995 };
996
997 sai6: audio-controller@f150000 {
998 #sound-dai-cells = <0>;
999 compatible = "fsl,vf610-sai";
1000 reg = <0x0 0xf150000 0x0 0x10000>;
1001 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1002 clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
1003 QORIQ_CLK_PLL_DIV(2)>,
1004 <&clockgen QORIQ_CLK_PLATFORM_PLL
1005 QORIQ_CLK_PLL_DIV(2)>,
1006 <&clockgen QORIQ_CLK_PLATFORM_PLL
1007 QORIQ_CLK_PLL_DIV(2)>,
1008 <&clockgen QORIQ_CLK_PLATFORM_PLL
1009 QORIQ_CLK_PLL_DIV(2)>;
1010 clock-names = "bus", "mclk1", "mclk2", "mclk3";
Tom Rini6b642ac2024-10-01 12:20:28 -06001011 dma-names = "rx", "tx";
1012 dmas = <&edma0 1 13>,
1013 <&edma0 1 14>;
Tom Rini53633a82024-02-29 12:33:36 -05001014 fsl,sai-asynchronous;
1015 status = "disabled";
1016 };
1017
1018 dpclk: clock-controller@f1f0000 {
1019 compatible = "fsl,ls1028a-plldig";
1020 reg = <0x0 0xf1f0000 0x0 0x10000>;
1021 #clock-cells = <0>;
1022 clocks = <&osc_27m>;
1023 };
1024
1025 tmu: tmu@1f80000 {
1026 compatible = "fsl,qoriq-tmu";
1027 reg = <0x0 0x1f80000 0x0 0x10000>;
Tom Rini6b642ac2024-10-01 12:20:28 -06001028 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -05001029 fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>;
Tom Rini93743d22024-04-01 09:08:13 -04001030 fsl,tmu-calibration =
1031 <0x00000000 0x00000024>,
1032 <0x00000001 0x0000002b>,
1033 <0x00000002 0x00000031>,
1034 <0x00000003 0x00000038>,
1035 <0x00000004 0x0000003f>,
1036 <0x00000005 0x00000045>,
1037 <0x00000006 0x0000004c>,
1038 <0x00000007 0x00000053>,
1039 <0x00000008 0x00000059>,
1040 <0x00000009 0x00000060>,
1041 <0x0000000a 0x00000066>,
1042 <0x0000000b 0x0000006d>,
Tom Rini53633a82024-02-29 12:33:36 -05001043
Tom Rini93743d22024-04-01 09:08:13 -04001044 <0x00010000 0x0000001c>,
1045 <0x00010001 0x00000024>,
1046 <0x00010002 0x0000002c>,
1047 <0x00010003 0x00000035>,
1048 <0x00010004 0x0000003d>,
1049 <0x00010005 0x00000045>,
1050 <0x00010006 0x0000004d>,
1051 <0x00010007 0x00000055>,
1052 <0x00010008 0x0000005e>,
1053 <0x00010009 0x00000066>,
1054 <0x0001000a 0x0000006e>,
Tom Rini53633a82024-02-29 12:33:36 -05001055
Tom Rini93743d22024-04-01 09:08:13 -04001056 <0x00020000 0x00000018>,
1057 <0x00020001 0x00000022>,
1058 <0x00020002 0x0000002d>,
1059 <0x00020003 0x00000038>,
1060 <0x00020004 0x00000043>,
1061 <0x00020005 0x0000004d>,
1062 <0x00020006 0x00000058>,
1063 <0x00020007 0x00000063>,
1064 <0x00020008 0x0000006e>,
Tom Rini53633a82024-02-29 12:33:36 -05001065
Tom Rini93743d22024-04-01 09:08:13 -04001066 <0x00030000 0x00000010>,
1067 <0x00030001 0x0000001c>,
1068 <0x00030002 0x00000029>,
1069 <0x00030003 0x00000036>,
1070 <0x00030004 0x00000042>,
1071 <0x00030005 0x0000004f>,
1072 <0x00030006 0x0000005b>,
1073 <0x00030007 0x00000068>;
Tom Rini53633a82024-02-29 12:33:36 -05001074 little-endian;
1075 #thermal-sensor-cells = <1>;
1076 };
1077
1078 pcie@1f0000000 { /* Integrated Endpoint Root Complex */
1079 compatible = "pci-host-ecam-generic";
1080 reg = <0x01 0xf0000000 0x0 0x100000>;
1081 #address-cells = <3>;
1082 #size-cells = <2>;
1083 msi-parent = <&its>;
1084 device_type = "pci";
1085 bus-range = <0x0 0x0>;
1086 dma-coherent;
1087 msi-map = <0 &its 0x17 0xe>;
1088 iommu-map = <0 &smmu 0x17 0xe>;
1089 /* PF0-6 BAR0 - non-prefetchable memory */
1090 ranges = <0x82000000 0x1 0xf8000000 0x1 0xf8000000 0x0 0x160000
1091 /* PF0-6 BAR2 - prefetchable memory */
1092 0xc2000000 0x1 0xf8160000 0x1 0xf8160000 0x0 0x070000
1093 /* PF0: VF0-1 BAR0 - non-prefetchable memory */
1094 0x82000000 0x1 0xf81d0000 0x1 0xf81d0000 0x0 0x020000
1095 /* PF0: VF0-1 BAR2 - prefetchable memory */
1096 0xc2000000 0x1 0xf81f0000 0x1 0xf81f0000 0x0 0x020000
1097 /* PF1: VF0-1 BAR0 - non-prefetchable memory */
1098 0x82000000 0x1 0xf8210000 0x1 0xf8210000 0x0 0x020000
1099 /* PF1: VF0-1 BAR2 - prefetchable memory */
1100 0xc2000000 0x1 0xf8230000 0x1 0xf8230000 0x0 0x020000
1101 /* BAR4 (PF5) - non-prefetchable memory */
1102 0x82000000 0x1 0xfc000000 0x1 0xfc000000 0x0 0x400000>;
Tom Rini762f85b2024-07-20 11:15:10 -06001103 #interrupt-cells = <1>;
1104 interrupt-map-mask = <0 0 0 7>;
1105 interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1106 <0000 0 0 2 &gic 0 0 GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -05001107
1108 enetc_port0: ethernet@0,0 {
Tom Rini762f85b2024-07-20 11:15:10 -06001109 compatible = "pci1957,e100", "fsl,enetc";
Tom Rini53633a82024-02-29 12:33:36 -05001110 reg = <0x000000 0 0 0 0>;
1111 status = "disabled";
1112 };
1113
1114 enetc_port1: ethernet@0,1 {
Tom Rini762f85b2024-07-20 11:15:10 -06001115 compatible = "pci1957,e100", "fsl,enetc";
Tom Rini53633a82024-02-29 12:33:36 -05001116 reg = <0x000100 0 0 0 0>;
1117 status = "disabled";
1118 };
1119
1120 enetc_port2: ethernet@0,2 {
Tom Rini762f85b2024-07-20 11:15:10 -06001121 compatible = "pci1957,e100", "fsl,enetc";
Tom Rini53633a82024-02-29 12:33:36 -05001122 reg = <0x000200 0 0 0 0>;
1123 phy-mode = "internal";
1124 status = "disabled";
1125
1126 fixed-link {
1127 speed = <2500>;
1128 full-duplex;
1129 pause;
1130 };
1131 };
1132
1133 enetc_mdio_pf3: mdio@0,3 {
Tom Rini762f85b2024-07-20 11:15:10 -06001134 compatible = "pci1957,ee01", "fsl,enetc-mdio";
Tom Rini53633a82024-02-29 12:33:36 -05001135 reg = <0x000300 0 0 0 0>;
1136 #address-cells = <1>;
1137 #size-cells = <0>;
1138 };
1139
1140 ethernet@0,4 {
Tom Rini762f85b2024-07-20 11:15:10 -06001141 compatible = "pci1957,ee02", "fsl,enetc-ptp";
Tom Rini53633a82024-02-29 12:33:36 -05001142 reg = <0x000400 0 0 0 0>;
1143 clocks = <&clockgen QORIQ_CLK_HWACCEL 3>;
1144 little-endian;
1145 fsl,extts-fifo;
1146 };
1147
1148 mscc_felix: ethernet-switch@0,5 {
1149 reg = <0x000500 0 0 0 0>;
1150 /* IEP INT_B */
Tom Rini762f85b2024-07-20 11:15:10 -06001151 interrupts = <2>;
Tom Rini53633a82024-02-29 12:33:36 -05001152 status = "disabled";
1153
1154 mscc_felix_ports: ports {
1155 #address-cells = <1>;
1156 #size-cells = <0>;
1157
1158 /* External ports */
1159 mscc_felix_port0: port@0 {
1160 reg = <0>;
1161 status = "disabled";
1162 };
1163
1164 mscc_felix_port1: port@1 {
1165 reg = <1>;
1166 status = "disabled";
1167 };
1168
1169 mscc_felix_port2: port@2 {
1170 reg = <2>;
1171 status = "disabled";
1172 };
1173
1174 mscc_felix_port3: port@3 {
1175 reg = <3>;
1176 status = "disabled";
1177 };
1178
1179 /* Internal ports */
1180 mscc_felix_port4: port@4 {
1181 reg = <4>;
1182 phy-mode = "internal";
1183 ethernet = <&enetc_port2>;
1184 status = "disabled";
1185
1186 fixed-link {
1187 speed = <2500>;
1188 full-duplex;
1189 pause;
1190 };
1191 };
1192
1193 mscc_felix_port5: port@5 {
1194 reg = <5>;
1195 phy-mode = "internal";
1196 ethernet = <&enetc_port3>;
1197 status = "disabled";
1198
1199 fixed-link {
1200 speed = <1000>;
1201 full-duplex;
1202 pause;
1203 };
1204 };
1205 };
1206 };
1207
1208 enetc_port3: ethernet@0,6 {
Tom Rini762f85b2024-07-20 11:15:10 -06001209 compatible = "pci1957,e100", "fsl,enetc";
Tom Rini53633a82024-02-29 12:33:36 -05001210 reg = <0x000600 0 0 0 0>;
1211 phy-mode = "internal";
1212 status = "disabled";
1213
1214 fixed-link {
1215 speed = <1000>;
1216 full-duplex;
1217 pause;
1218 };
1219 };
1220
1221 rcec@1f,0 {
1222 reg = <0x00f800 0 0 0 0>;
1223 /* IEP INT_A */
Tom Rini762f85b2024-07-20 11:15:10 -06001224 interrupts = <1>;
Tom Rini53633a82024-02-29 12:33:36 -05001225 };
1226 };
1227
1228 /* Integrated Endpoint Register Block */
1229 ierb@1f0800000 {
1230 compatible = "fsl,ls1028a-enetc-ierb";
1231 reg = <0x01 0xf0800000 0x0 0x10000>;
1232 };
1233
1234 pwm0: pwm@2800000 {
1235 compatible = "fsl,vf610-ftm-pwm";
1236 #pwm-cells = <3>;
1237 reg = <0x0 0x2800000 0x0 0x10000>;
1238 clock-names = "ftm_sys", "ftm_ext",
1239 "ftm_fix", "ftm_cnt_clk_en";
1240 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1241 <&rtc_clk>, <&clockgen 4 1>;
1242 status = "disabled";
1243 };
1244
1245 pwm1: pwm@2810000 {
1246 compatible = "fsl,vf610-ftm-pwm";
1247 #pwm-cells = <3>;
1248 reg = <0x0 0x2810000 0x0 0x10000>;
1249 clock-names = "ftm_sys", "ftm_ext",
1250 "ftm_fix", "ftm_cnt_clk_en";
1251 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1252 <&rtc_clk>, <&clockgen 4 1>;
1253 status = "disabled";
1254 };
1255
1256 pwm2: pwm@2820000 {
1257 compatible = "fsl,vf610-ftm-pwm";
1258 #pwm-cells = <3>;
1259 reg = <0x0 0x2820000 0x0 0x10000>;
1260 clock-names = "ftm_sys", "ftm_ext",
1261 "ftm_fix", "ftm_cnt_clk_en";
1262 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1263 <&rtc_clk>, <&clockgen 4 1>;
1264 status = "disabled";
1265 };
1266
1267 pwm3: pwm@2830000 {
1268 compatible = "fsl,vf610-ftm-pwm";
1269 #pwm-cells = <3>;
1270 reg = <0x0 0x2830000 0x0 0x10000>;
1271 clock-names = "ftm_sys", "ftm_ext",
1272 "ftm_fix", "ftm_cnt_clk_en";
1273 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1274 <&rtc_clk>, <&clockgen 4 1>;
1275 status = "disabled";
1276 };
1277
1278 pwm4: pwm@2840000 {
1279 compatible = "fsl,vf610-ftm-pwm";
1280 #pwm-cells = <3>;
1281 reg = <0x0 0x2840000 0x0 0x10000>;
1282 clock-names = "ftm_sys", "ftm_ext",
1283 "ftm_fix", "ftm_cnt_clk_en";
1284 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1285 <&rtc_clk>, <&clockgen 4 1>;
1286 status = "disabled";
1287 };
1288
1289 pwm5: pwm@2850000 {
1290 compatible = "fsl,vf610-ftm-pwm";
1291 #pwm-cells = <3>;
1292 reg = <0x0 0x2850000 0x0 0x10000>;
1293 clock-names = "ftm_sys", "ftm_ext",
1294 "ftm_fix", "ftm_cnt_clk_en";
1295 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1296 <&rtc_clk>, <&clockgen 4 1>;
1297 status = "disabled";
1298 };
1299
1300 pwm6: pwm@2860000 {
1301 compatible = "fsl,vf610-ftm-pwm";
1302 #pwm-cells = <3>;
1303 reg = <0x0 0x2860000 0x0 0x10000>;
1304 clock-names = "ftm_sys", "ftm_ext",
1305 "ftm_fix", "ftm_cnt_clk_en";
1306 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1307 <&rtc_clk>, <&clockgen 4 1>;
1308 status = "disabled";
1309 };
1310
1311 pwm7: pwm@2870000 {
1312 compatible = "fsl,vf610-ftm-pwm";
1313 #pwm-cells = <3>;
1314 reg = <0x0 0x2870000 0x0 0x10000>;
1315 clock-names = "ftm_sys", "ftm_ext",
1316 "ftm_fix", "ftm_cnt_clk_en";
1317 clocks = <&clockgen 4 1>, <&clockgen 4 1>,
1318 <&rtc_clk>, <&clockgen 4 1>;
1319 status = "disabled";
1320 };
1321
1322 rcpm: power-controller@1e34040 {
1323 compatible = "fsl,ls1028a-rcpm", "fsl,qoriq-rcpm-2.1+";
1324 reg = <0x0 0x1e34040 0x0 0x1c>;
1325 #fsl,rcpm-wakeup-cells = <7>;
1326 little-endian;
1327 };
1328
Tom Rini6b642ac2024-10-01 12:20:28 -06001329 ftm_alarm0: rtc@2800000 {
Tom Rini53633a82024-02-29 12:33:36 -05001330 compatible = "fsl,ls1028a-ftm-alarm";
1331 reg = <0x0 0x2800000 0x0 0x10000>;
1332 fsl,rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0 0x0>;
1333 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1334 status = "disabled";
1335 };
1336
Tom Rini6b642ac2024-10-01 12:20:28 -06001337 ftm_alarm1: rtc@2810000 {
Tom Rini53633a82024-02-29 12:33:36 -05001338 compatible = "fsl,ls1028a-ftm-alarm";
1339 reg = <0x0 0x2810000 0x0 0x10000>;
1340 fsl,rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0 0x0>;
1341 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1342 status = "disabled";
1343 };
1344 };
1345
1346};