1 // SPDX-License-Identifier: GPL-2.0+ OR X11
3 * NXP ls1028a SOC common device tree source
5 * Copyright 2019-2020 NXP
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 compatible = "fsl,ls1028a";
13 interrupt-parent = <&gic>;
18 compatible = "fixed-clock";
20 clock-frequency = <100000000>;
21 clock-output-names = "sysclk";
24 gic: interrupt-controller@6000000 {
25 compatible = "arm,gic-v3";
26 reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
27 <0x0 0x06040000 0 0x40000>;
28 #interrupt-cells = <3>;
30 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
35 compatible = "arm,armv8-timer";
36 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
38 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
40 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
42 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
46 fspi: flexspi@20c0000 {
47 compatible = "nxp,lx2160a-fspi";
50 reg = <0x0 0x20c0000 0x0 0x10000>,
51 <0x0 0x20000000 0x0 0x10000000>;
52 reg-names = "fspi_base", "fspi_mmap";
53 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
54 clock-names = "fspi_en", "fspi";
55 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
59 serial0: serial@21c0500 {
60 device_type = "serial";
61 compatible = "fsl,ns16550", "ns16550a";
62 reg = <0x0 0x21c0500 0x0 0x100>;
63 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
67 serial1: serial@21c0600 {
68 device_type = "serial";
69 compatible = "fsl,ns16550", "ns16550a";
70 reg = <0x0 0x21c0600 0x0 0x100>;
71 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
76 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
77 reg = <0x00 0x03400000 0x0 0x80000
78 0x00 0x03480000 0x0 0x40000 /* lut registers */
79 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
80 0x80 0x00000000 0x0 0x20000>; /* configuration space */
81 reg-names = "dbi", "lut", "ctrl", "config";
86 bus-range = <0x0 0xff>;
87 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
88 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
92 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
93 reg = <0x00 0x03500000 0x0 0x80000
94 0x00 0x03580000 0x0 0x40000 /* lut registers */
95 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
96 0x88 0x00000000 0x0 0x20000>; /* configuration space */
97 reg-names = "dbi", "lut", "ctrl", "config";
102 bus-range = <0x0 0xff>;
103 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
104 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
108 compatible = "pci-host-ecam-generic";
109 /* ECAM bus 0, HW has more space reserved but not populated */
110 bus-range = <0x0 0x0>;
111 reg = <0x01 0xf0000000 0x0 0x100000>;
112 #address-cells = <3>;
115 ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
117 reg = <0x000000 0 0 0 0>;
121 reg = <0x000100 0 0 0 0>;
125 reg = <0x000200 0 0 0 0>;
127 phy-mode = "internal";
137 reg = <0x000300 0 0 0 0>;
146 mscc_felix: pci@0,5 {
147 reg = <0x000500 0 0 0 0>;
151 #address-cells = <1>;
154 mscc_felix_port0: port@0 {
159 mscc_felix_port1: port@1 {
164 mscc_felix_port2: port@2 {
169 mscc_felix_port3: port@3 {
174 mscc_felix_port4: port@4 {
176 phy-mode = "internal";
185 mscc_felix_port5: port@5 {
187 phy-mode = "internal";
200 reg = <0x000600 0 0 0 0>;
202 phy-mode = "internal";
206 lpuart0: serial@2260000 {
207 compatible = "fsl,ls1021a-lpuart";
208 reg = <0x0 0x2260000 0x0 0x1000>;
209 interrupts = <0 232 0x4>;
216 lpuart1: serial@2270000 {
217 compatible = "fsl,ls1021a-lpuart";
218 reg = <0x0 0x2270000 0x0 0x1000>;
219 interrupts = <0 233 0x4>;
226 lpuart2: serial@2280000 {
227 compatible = "fsl,ls1021a-lpuart";
228 reg = <0x0 0x2280000 0x0 0x1000>;
229 interrupts = <0 234 0x4>;
236 lpuart3: serial@2290000 {
237 compatible = "fsl,ls1021a-lpuart";
238 reg = <0x0 0x2290000 0x0 0x1000>;
239 interrupts = <0 235 0x4>;
246 lpuart4: serial@22a0000 {
247 compatible = "fsl,ls1021a-lpuart";
248 reg = <0x0 0x22a0000 0x0 0x1000>;
249 interrupts = <0 236 0x4>;
256 lpuart5: serial@22b0000 {
257 compatible = "fsl,ls1021a-lpuart";
258 reg = <0x0 0x22b0000 0x0 0x1000>;
259 interrupts = <0 237 0x4>;
267 compatible = "fsl,layerscape-dwc3";
268 reg = <0x0 0x3100000 0x0 0x10000>;
269 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
275 compatible = "fsl,layerscape-dwc3";
276 reg = <0x0 0x3110000 0x0 0x10000>;
277 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
282 dspi0: dspi@2100000 {
283 compatible = "fsl,vf610-dspi";
284 #address-cells = <1>;
286 reg = <0x0 0x2100000 0x0 0x10000>;
287 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
288 clock-names = "dspi";
289 clocks = <&clockgen 4 0>;
295 dspi1: dspi@2110000 {
296 compatible = "fsl,vf610-dspi";
297 #address-cells = <1>;
299 reg = <0x0 0x2110000 0x0 0x10000>;
300 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
301 clock-names = "dspi";
302 clocks = <&clockgen 4 0>;
308 dspi2: dspi@2120000 {
309 compatible = "fsl,vf610-dspi";
310 #address-cells = <1>;
312 reg = <0x0 0x2120000 0x0 0x10000>;
313 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
314 clock-names = "dspi";
315 clocks = <&clockgen 4 0>;
321 esdhc0: esdhc@2140000 {
322 compatible = "fsl,esdhc";
323 reg = <0x0 0x2140000 0x0 0x10000>;
324 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
330 esdhc1: esdhc@2150000 {
331 compatible = "fsl,esdhc";
332 reg = <0x0 0x2150000 0x0 0x10000>;
333 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
340 gpio0: gpio@2300000 {
341 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
342 reg = <0x0 0x2300000 0x0 0x10000>;
343 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
346 interrupt-controller;
347 #interrupt-cells = <2>;
351 gpio1: gpio@2310000 {
352 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
353 reg = <0x0 0x2310000 0x0 0x10000>;
354 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
357 interrupt-controller;
358 #interrupt-cells = <2>;
362 gpio2: gpio@2320000 {
363 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
364 reg = <0x0 0x2320000 0x0 0x10000>;
365 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
368 interrupt-controller;
369 #interrupt-cells = <2>;
374 compatible = "fsl,ls1028a-ahci";
375 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
376 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
377 reg-names = "sata-base", "ecc-addr";
378 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
382 cluster1_core0_watchdog: wdt@c000000 {
383 compatible = "arm,sp805-wdt";
384 reg = <0x0 0xc000000 0x0 0x1000>;
388 compatible = "simple-bus";
389 #address-cells = <2>;
393 clockgen: clocking@1300000 {
394 compatible = "fsl,ls1028a-clockgen";
395 reg = <0x0 0x1300000 0x0 0xa0000>;
401 compatible = "fsl,vf610-i2c";
402 #address-cells = <1>;
404 reg = <0x0 0x2000000 0x0 0x10000>;
405 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
407 clocks = <&clockgen 4 0>;
412 compatible = "fsl,vf610-i2c";
413 #address-cells = <1>;
415 reg = <0x0 0x2010000 0x0 0x10000>;
416 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
418 clocks = <&clockgen 4 0>;
423 compatible = "fsl,vf610-i2c";
424 #address-cells = <1>;
426 reg = <0x0 0x2020000 0x0 0x10000>;
427 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
429 clocks = <&clockgen 4 0>;
434 compatible = "fsl,vf610-i2c";
435 #address-cells = <1>;
437 reg = <0x0 0x2030000 0x0 0x10000>;
438 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
440 clocks = <&clockgen 4 0>;
445 compatible = "fsl,vf610-i2c";
446 #address-cells = <1>;
448 reg = <0x0 0x2040000 0x0 0x10000>;
449 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
451 clocks = <&clockgen 4 0>;
456 compatible = "fsl,vf610-i2c";
457 #address-cells = <1>;
459 reg = <0x0 0x2050000 0x0 0x10000>;
460 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
462 clocks = <&clockgen 4 0>;
467 compatible = "fsl,vf610-i2c";
468 #address-cells = <1>;
470 reg = <0x0 0x2060000 0x0 0x10000>;
471 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
473 clocks = <&clockgen 4 0>;
478 compatible = "fsl,vf610-i2c";
479 #address-cells = <1>;
481 reg = <0x0 0x2070000 0x0 0x10000>;
482 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
484 clocks = <&clockgen 4 0>;