1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Device Tree Include file for NXP Layerscape-1012A family SoC.
5 * Copyright 2016 Freescale Semiconductor, Inc.
6 * Copyright 2019-2020 NXP
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/thermal/thermal.h>
14 compatible = "fsl,ls1012a";
15 interrupt-parent = <&gic>;
35 compatible = "arm,cortex-a53";
37 clocks = <&clockgen 1 0>;
39 cpu-idle-states = <&CPU_PH20>;
45 * PSCI node is not added default, U-boot will add missing
46 * parts if it determines to use PSCI.
48 entry-method = "psci";
51 compatible = "arm,idle-state";
52 idle-state-name = "PH20";
53 arm,psci-suspend-param = <0x0>;
54 entry-latency-us = <1000>;
55 exit-latency-us = <1000>;
56 min-residency-us = <3000>;
61 compatible = "fixed-clock";
63 clock-frequency = <125000000>;
64 clock-output-names = "sysclk";
68 compatible = "fixed-clock";
70 clock-frequency = <100000000>;
71 clock-output-names = "coreclk";
75 compatible = "arm,armv8-timer";
76 interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
77 <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
78 <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
79 <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
83 compatible = "arm,armv8-pmuv3";
84 interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
87 gic: interrupt-controller@1400000 {
88 compatible = "arm,gic-400";
89 #interrupt-cells = <3>;
91 reg = <0x0 0x1401000 0 0x1000>, /* GICD */
92 <0x0 0x1402000 0 0x2000>, /* GICC */
93 <0x0 0x1404000 0 0x2000>, /* GICH */
94 <0x0 0x1406000 0 0x2000>; /* GICV */
95 interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>;
99 compatible = "syscon-reboot";
106 cpu_thermal: cpu-thermal {
107 polling-delay-passive = <1000>;
108 polling-delay = <5000>;
109 thermal-sensors = <&tmu 0>;
112 cpu_alert: cpu-alert {
113 temperature = <85000>;
119 temperature = <95000>;
129 <&cpu0 THERMAL_NO_LIMIT
137 compatible = "simple-bus";
138 #address-cells = <2>;
143 compatible = "fsl,ls1021a-qspi";
144 #address-cells = <1>;
146 reg = <0x0 0x1550000 0x0 0x10000>,
147 <0x0 0x40000000 0x0 0x10000000>;
148 reg-names = "QuadSPI", "QuadSPI-memory";
149 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
150 clock-names = "qspi_en", "qspi";
151 clocks = <&clockgen 4 0>, <&clockgen 4 0>;
155 esdhc0: esdhc@1560000 {
156 compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
157 reg = <0x0 0x1560000 0x0 0x10000>;
158 interrupts = <0 62 0x4>;
159 clocks = <&clockgen 4 0>;
160 voltage-ranges = <1800 1800 3300 3300>;
168 compatible = "fsl,ls1012a-scfg", "syscon";
169 reg = <0x0 0x1570000 0x0 0x10000>;
173 esdhc1: esdhc@1580000 {
174 compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
175 reg = <0x0 0x1580000 0x0 0x10000>;
176 interrupts = <0 65 0x4>;
177 clocks = <&clockgen 4 0>;
178 voltage-ranges = <1800 1800 3300 3300>;
186 crypto: crypto@1700000 {
187 compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
190 #address-cells = <1>;
192 ranges = <0x0 0x00 0x1700000 0x100000>;
193 reg = <0x00 0x1700000 0x0 0x100000>;
194 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
197 compatible = "fsl,sec-v5.4-job-ring",
198 "fsl,sec-v5.0-job-ring",
199 "fsl,sec-v4.0-job-ring";
200 reg = <0x10000 0x10000>;
201 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
205 compatible = "fsl,sec-v5.4-job-ring",
206 "fsl,sec-v5.0-job-ring",
207 "fsl,sec-v4.0-job-ring";
208 reg = <0x20000 0x10000>;
209 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
213 compatible = "fsl,sec-v5.4-job-ring",
214 "fsl,sec-v5.0-job-ring",
215 "fsl,sec-v4.0-job-ring";
216 reg = <0x30000 0x10000>;
217 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
221 compatible = "fsl,sec-v5.4-job-ring",
222 "fsl,sec-v5.0-job-ring",
223 "fsl,sec-v4.0-job-ring";
224 reg = <0x40000 0x10000>;
225 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
229 compatible = "fsl,sec-v5.4-rtic",
232 #address-cells = <1>;
234 reg = <0x60000 0x100 0x60e00 0x18>;
235 ranges = <0x0 0x60100 0x500>;
238 compatible = "fsl,sec-v5.4-rtic-memory",
239 "fsl,sec-v5.0-rtic-memory",
240 "fsl,sec-v4.0-rtic-memory";
241 reg = <0x00 0x20 0x100 0x100>;
245 compatible = "fsl,sec-v5.4-rtic-memory",
246 "fsl,sec-v5.0-rtic-memory",
247 "fsl,sec-v4.0-rtic-memory";
248 reg = <0x20 0x20 0x200 0x100>;
252 compatible = "fsl,sec-v5.4-rtic-memory",
253 "fsl,sec-v5.0-rtic-memory",
254 "fsl,sec-v4.0-rtic-memory";
255 reg = <0x40 0x20 0x300 0x100>;
259 compatible = "fsl,sec-v5.4-rtic-memory",
260 "fsl,sec-v5.0-rtic-memory",
261 "fsl,sec-v4.0-rtic-memory";
262 reg = <0x60 0x20 0x400 0x100>;
267 sec_mon: sec_mon@1e90000 {
268 compatible = "fsl,sec-v5.4-mon", "fsl,sec-v5.0-mon",
270 reg = <0x0 0x1e90000 0x0 0x10000>;
271 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
272 <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
276 compatible = "fsl,ls1012a-dcfg",
278 reg = <0x0 0x1ee0000 0x0 0x10000>;
282 clockgen: clocking@1ee1000 {
283 compatible = "fsl,ls1012a-clockgen";
284 reg = <0x0 0x1ee1000 0x0 0x1000>;
286 clocks = <&sysclk &coreclk>;
287 clock-names = "sysclk", "coreclk";
291 compatible = "fsl,qoriq-tmu";
292 reg = <0x0 0x1f00000 0x0 0x10000>;
293 interrupts = <0 33 0x4>;
294 fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x60062>;
295 fsl,tmu-calibration = <0x00000000 0x00000025
296 0x00000001 0x0000002c
297 0x00000002 0x00000032
298 0x00000003 0x00000039
299 0x00000004 0x0000003f
300 0x00000005 0x00000046
301 0x00000006 0x0000004c
302 0x00000007 0x00000053
303 0x00000008 0x00000059
304 0x00000009 0x0000005f
305 0x0000000a 0x00000066
306 0x0000000b 0x0000006c
308 0x00010000 0x00000026
309 0x00010001 0x0000002d
310 0x00010002 0x00000035
311 0x00010003 0x0000003d
312 0x00010004 0x00000045
313 0x00010005 0x0000004d
314 0x00010006 0x00000055
315 0x00010007 0x0000005d
316 0x00010008 0x00000065
317 0x00010009 0x0000006d
319 0x00020000 0x00000026
320 0x00020001 0x00000030
321 0x00020002 0x0000003a
322 0x00020003 0x00000044
323 0x00020004 0x0000004e
324 0x00020005 0x00000059
325 0x00020006 0x00000063
327 0x00030000 0x00000014
328 0x00030001 0x00000021
329 0x00030002 0x0000002e
330 0x00030003 0x0000003a
331 0x00030004 0x00000047
332 0x00030005 0x00000053
333 0x00030006 0x00000060>;
335 #thermal-sensor-cells = <1>;
339 compatible = "fsl,vf610-i2c";
340 #address-cells = <1>;
342 reg = <0x0 0x2180000 0x0 0x10000>;
343 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
344 clocks = <&clockgen 4 3>;
349 compatible = "fsl,vf610-i2c";
350 #address-cells = <1>;
352 reg = <0x0 0x2190000 0x0 0x10000>;
353 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&clockgen 4 3>;
359 compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
360 #address-cells = <1>;
362 reg = <0x0 0x2100000 0x0 0x10000>;
363 interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
364 clock-names = "dspi";
365 clocks = <&clockgen 4 0>;
366 spi-num-chipselects = <5>;
371 duart0: serial@21c0500 {
372 compatible = "fsl,ns16550", "ns16550a";
373 reg = <0x00 0x21c0500 0x0 0x100>;
374 interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
375 clocks = <&clockgen 4 0>;
379 duart1: serial@21c0600 {
380 compatible = "fsl,ns16550", "ns16550a";
381 reg = <0x00 0x21c0600 0x0 0x100>;
382 interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
383 clocks = <&clockgen 4 0>;
387 gpio0: gpio@2300000 {
388 compatible = "fsl,qoriq-gpio";
389 reg = <0x0 0x2300000 0x0 0x10000>;
390 interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
393 interrupt-controller;
394 #interrupt-cells = <2>;
397 gpio1: gpio@2310000 {
398 compatible = "fsl,qoriq-gpio";
399 reg = <0x0 0x2310000 0x0 0x10000>;
400 interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
403 interrupt-controller;
404 #interrupt-cells = <2>;
407 wdog0: watchdog@2ad0000 {
408 compatible = "fsl,ls1012a-wdt",
410 reg = <0x0 0x2ad0000 0x0 0x10000>;
411 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
412 clocks = <&clockgen 4 0>;
417 #sound-dai-cells = <0>;
418 compatible = "fsl,vf610-sai";
419 reg = <0x0 0x2b50000 0x0 0x10000>;
420 interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
421 clocks = <&clockgen 4 3>, <&clockgen 4 3>,
422 <&clockgen 4 3>, <&clockgen 4 3>;
423 clock-names = "bus", "mclk1", "mclk2", "mclk3";
424 dma-names = "tx", "rx";
425 dmas = <&edma0 1 47>,
431 #sound-dai-cells = <0>;
432 compatible = "fsl,vf610-sai";
433 reg = <0x0 0x2b60000 0x0 0x10000>;
434 interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
435 clocks = <&clockgen 4 3>, <&clockgen 4 3>,
436 <&clockgen 4 3>, <&clockgen 4 3>;
437 clock-names = "bus", "mclk1", "mclk2", "mclk3";
438 dma-names = "tx", "rx";
439 dmas = <&edma0 1 45>,
444 edma0: edma@2c00000 {
446 compatible = "fsl,vf610-edma";
447 reg = <0x0 0x2c00000 0x0 0x10000>,
448 <0x0 0x2c10000 0x0 0x10000>,
449 <0x0 0x2c20000 0x0 0x10000>;
450 interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>,
451 <0 103 IRQ_TYPE_LEVEL_HIGH>;
452 interrupt-names = "edma-tx", "edma-err";
455 clock-names = "dmamux0", "dmamux1";
456 clocks = <&clockgen 4 3>,
461 compatible = "snps,dwc3";
462 reg = <0x0 0x2f00000 0x0 0x10000>;
463 interrupts = <0 60 0x4>;
465 snps,quirk-frame-length-adjustment = <0x20>;
466 snps,dis_rxdet_inp3_quirk;
467 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
471 compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci";
472 reg = <0x0 0x3200000 0x0 0x10000>,
473 <0x0 0x20140520 0x0 0x4>;
474 reg-names = "ahci", "sata-ecc";
475 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
476 clocks = <&clockgen 4 0>;
482 compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
483 reg = <0x0 0x8600000 0x0 0x1000>;
484 interrupts = <0 139 0x4>;
489 msi: msi-controller1@1572000 {
490 compatible = "fsl,ls1012a-msi";
491 reg = <0x0 0x1572000 0x0 0x8>;
493 interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
496 pcie1: pcie@3400000 {
497 compatible = "fsl,ls1012a-pcie";
498 reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */
499 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
500 reg-names = "regs", "config";
501 interrupts = <0 118 0x4>, /* controller interrupt */
502 <0 117 0x4>; /* PME interrupt */
503 interrupt-names = "aer", "pme";
504 #address-cells = <3>;
508 bus-range = <0x0 0xff>;
509 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
510 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
512 #interrupt-cells = <1>;
513 interrupt-map-mask = <0 0 0 7>;
514 interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>,
515 <0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>,
516 <0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>,
517 <0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
521 rcpm: power-controller@1ee2140 {
522 compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1+";
523 reg = <0x0 0x1ee2140 0x0 0x4>;
524 #fsl,rcpm-wakeup-cells = <1>;
527 ftm_alarm0: timer@29d0000 {
528 compatible = "fsl,ls1012a-ftm-alarm";
529 reg = <0x0 0x29d0000 0x0 0x10000>;
530 fsl,rcpm-wakeup = <&rcpm 0x20000>;
531 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
538 compatible = "linaro,optee-tz";