blob: 9f466554e9a658bdeb4f782c0ebe86e5250addb2 [file] [log] [blame]
Yuantian Tangd4ad1112019-04-10 16:43:33 +08001// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * NXP ls1028a SOC common device tree source
4 *
Wasim Khan4c72d2d2020-09-28 16:26:12 +05305 * Copyright 2019-2020 NXP
Yuantian Tangd4ad1112019-04-10 16:43:33 +08006 *
7 */
8
Michael Walle3ffe0902019-12-18 00:10:00 +01009#include <dt-bindings/interrupt-controller/arm-gic.h>
10
Yuantian Tangd4ad1112019-04-10 16:43:33 +080011/ {
12 compatible = "fsl,ls1028a";
13 interrupt-parent = <&gic>;
14 #address-cells = <2>;
15 #size-cells = <2>;
16
17 sysclk: sysclk {
18 compatible = "fixed-clock";
19 #clock-cells = <0>;
20 clock-frequency = <100000000>;
21 clock-output-names = "sysclk";
22 };
23
Yuantian Tangd4ad1112019-04-10 16:43:33 +080024 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>;
29 interrupt-controller;
Michael Walle3ffe0902019-12-18 00:10:00 +010030 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
31 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080032 };
33
34 timer {
35 compatible = "arm,armv8-timer";
Michael Walle3ffe0902019-12-18 00:10:00 +010036 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
37 IRQ_TYPE_LEVEL_LOW)>,
38 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
39 IRQ_TYPE_LEVEL_LOW)>,
40 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
41 IRQ_TYPE_LEVEL_LOW)>,
42 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
43 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080044 };
45
Wasim Khan4c72d2d2020-09-28 16:26:12 +053046 pcie1: pcie@3400000 {
Yuantian Tangd4ad1112019-04-10 16:43:33 +080047 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
48 reg = <0x00 0x03400000 0x0 0x80000
49 0x00 0x03480000 0x0 0x40000 /* lut registers */
50 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
51 0x80 0x00000000 0x0 0x20000>; /* configuration space */
52 reg-names = "dbi", "lut", "ctrl", "config";
53 #address-cells = <3>;
54 #size-cells = <2>;
55 device_type = "pci";
56 num-lanes = <4>;
57 bus-range = <0x0 0xff>;
58 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
59 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
60 };
61
Wasim Khan4c72d2d2020-09-28 16:26:12 +053062 pcie2: pcie@3500000 {
Yuantian Tangd4ad1112019-04-10 16:43:33 +080063 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
64 reg = <0x00 0x03500000 0x0 0x80000
65 0x00 0x03580000 0x0 0x40000 /* lut registers */
66 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
67 0x88 0x00000000 0x0 0x20000>; /* configuration space */
68 reg-names = "dbi", "lut", "ctrl", "config";
69 #address-cells = <3>;
70 #size-cells = <2>;
71 device_type = "pci";
72 num-lanes = <4>;
73 bus-range = <0x0 0xff>;
74 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
75 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
76 };
77
Alex Marginean062d8142019-06-07 17:03:07 +030078 pcie@1f0000000 {
79 compatible = "pci-host-ecam-generic";
80 /* ECAM bus 0, HW has more space reserved but not populated */
81 bus-range = <0x0 0x0>;
82 reg = <0x01 0xf0000000 0x0 0x100000>;
83 #address-cells = <3>;
84 #size-cells = <2>;
85 device_type = "pci";
86 ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
Alex Margineanb32e9a72019-07-03 12:11:43 +030087 enetc0: pci@0,0 {
88 reg = <0x000000 0 0 0 0>;
89 status = "disabled";
90 };
91 enetc1: pci@0,1 {
92 reg = <0x000100 0 0 0 0>;
93 status = "disabled";
94 };
95 enetc2: pci@0,2 {
96 reg = <0x000200 0 0 0 0>;
Vladimir Olteanbec7d532021-06-29 20:53:14 +030097 status = "disabled";
Alex Margineanb32e9a72019-07-03 12:11:43 +030098 phy-mode = "internal";
Vladimir Oltean9feb6362021-06-29 20:53:13 +030099
100 fixed-link {
101 speed = <2500>;
102 full-duplex;
103 };
Alex Margineanb32e9a72019-07-03 12:11:43 +0300104 };
105 mdio0: pci@0,3 {
106 #address-cells=<0>;
107 #size-cells=<1>;
108 reg = <0x000300 0 0 0 0>;
109 status = "disabled";
Vladimir Oltean9feb6362021-06-29 20:53:13 +0300110
111 fixed-link {
112 speed = <1000>;
113 full-duplex;
114 };
Alex Margineanb32e9a72019-07-03 12:11:43 +0300115 };
Alex Margineancc32fd92021-01-25 14:23:56 +0200116
117 mscc_felix: pci@0,5 {
118 reg = <0x000500 0 0 0 0>;
119 status = "disabled";
120
121 ports {
122 #address-cells = <1>;
123 #size-cells = <0>;
124
125 mscc_felix_port0: port@0 {
126 reg = <0>;
127 status = "disabled";
128 };
129
130 mscc_felix_port1: port@1 {
131 reg = <1>;
132 status = "disabled";
133 };
134
135 mscc_felix_port2: port@2 {
136 reg = <2>;
137 status = "disabled";
138 };
139
140 mscc_felix_port3: port@3 {
141 reg = <3>;
142 status = "disabled";
143 };
144
145 mscc_felix_port4: port@4 {
146 reg = <4>;
147 phy-mode = "internal";
148 status = "disabled";
149
150 fixed-link {
151 speed = <2500>;
152 full-duplex;
153 };
154 };
155
156 mscc_felix_port5: port@5 {
157 reg = <5>;
158 phy-mode = "internal";
159 status = "disabled";
160
161 fixed-link {
162 speed = <1000>;
163 full-duplex;
164 };
165
166 };
167 };
168 };
169
Alex Margineanb32e9a72019-07-03 12:11:43 +0300170 enetc6: pci@0,6 {
171 reg = <0x000600 0 0 0 0>;
Alex Margineancc32fd92021-01-25 14:23:56 +0200172 status = "disabled";
Alex Margineanb32e9a72019-07-03 12:11:43 +0300173 phy-mode = "internal";
174 };
Alex Marginean062d8142019-06-07 17:03:07 +0300175 };
176
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800177 usb1: usb3@3100000 {
178 compatible = "fsl,layerscape-dwc3";
179 reg = <0x0 0x3100000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100180 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800181 dr_mode = "host";
182 status = "disabled";
183 };
184
185 usb2: usb3@3110000 {
186 compatible = "fsl,layerscape-dwc3";
187 reg = <0x0 0x3110000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100188 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800189 dr_mode = "host";
190 status = "disabled";
191 };
192
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800193 sata: sata@3200000 {
194 compatible = "fsl,ls1028a-ahci";
Peng Ma91f54e72019-05-23 04:06:48 +0000195 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
196 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
197 reg-names = "sata-base", "ecc-addr";
Michael Walle3ffe0902019-12-18 00:10:00 +0100198 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800199 status = "disabled";
200 };
Qiang Zhao7e817c72019-05-07 03:16:13 +0000201
202 cluster1_core0_watchdog: wdt@c000000 {
203 compatible = "arm,sp805-wdt";
204 reg = <0x0 0xc000000 0x0 0x1000>;
205 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200206
207 soc: soc {
208 compatible = "simple-bus";
209 #address-cells = <2>;
210 #size-cells = <2>;
211 ranges;
Michael Walle9b38ba52021-10-13 18:14:04 +0200212
213 clockgen: clocking@1300000 {
214 compatible = "fsl,ls1028a-clockgen";
215 reg = <0x0 0x1300000 0x0 0xa0000>;
216 #clock-cells = <2>;
217 clocks = <&sysclk>;
218 };
Michael Wallefb19c6b2021-10-13 18:14:05 +0200219
220 i2c0: i2c@2000000 {
221 compatible = "fsl,vf610-i2c";
222 #address-cells = <1>;
223 #size-cells = <0>;
224 reg = <0x0 0x2000000 0x0 0x10000>;
225 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
226 clock-names = "i2c";
227 clocks = <&clockgen 4 0>;
228 status = "disabled";
229 };
230
231 i2c1: i2c@2010000 {
232 compatible = "fsl,vf610-i2c";
233 #address-cells = <1>;
234 #size-cells = <0>;
235 reg = <0x0 0x2010000 0x0 0x10000>;
236 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
237 clock-names = "i2c";
238 clocks = <&clockgen 4 0>;
239 status = "disabled";
240 };
241
242 i2c2: i2c@2020000 {
243 compatible = "fsl,vf610-i2c";
244 #address-cells = <1>;
245 #size-cells = <0>;
246 reg = <0x0 0x2020000 0x0 0x10000>;
247 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
248 clock-names = "i2c";
249 clocks = <&clockgen 4 0>;
250 status = "disabled";
251 };
252
253 i2c3: i2c@2030000 {
254 compatible = "fsl,vf610-i2c";
255 #address-cells = <1>;
256 #size-cells = <0>;
257 reg = <0x0 0x2030000 0x0 0x10000>;
258 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
259 clock-names = "i2c";
260 clocks = <&clockgen 4 0>;
261 status = "disabled";
262 };
263
264 i2c4: i2c@2040000 {
265 compatible = "fsl,vf610-i2c";
266 #address-cells = <1>;
267 #size-cells = <0>;
268 reg = <0x0 0x2040000 0x0 0x10000>;
269 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
270 clock-names = "i2c";
271 clocks = <&clockgen 4 0>;
272 status = "disabled";
273 };
274
275 i2c5: i2c@2050000 {
276 compatible = "fsl,vf610-i2c";
277 #address-cells = <1>;
278 #size-cells = <0>;
279 reg = <0x0 0x2050000 0x0 0x10000>;
280 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
281 clock-names = "i2c";
282 clocks = <&clockgen 4 0>;
283 status = "disabled";
284 };
285
286 i2c6: i2c@2060000 {
287 compatible = "fsl,vf610-i2c";
288 #address-cells = <1>;
289 #size-cells = <0>;
290 reg = <0x0 0x2060000 0x0 0x10000>;
291 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
292 clock-names = "i2c";
293 clocks = <&clockgen 4 0>;
294 status = "disabled";
295 };
296
297 i2c7: i2c@2070000 {
298 compatible = "fsl,vf610-i2c";
299 #address-cells = <1>;
300 #size-cells = <0>;
301 reg = <0x0 0x2070000 0x0 0x10000>;
302 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
303 clock-names = "i2c";
304 clocks = <&clockgen 4 0>;
305 status = "disabled";
306 };
Michael Wallef02f2f92021-10-13 18:14:06 +0200307
308 fspi: flexspi@20c0000 {
309 compatible = "nxp,lx2160a-fspi";
310 #address-cells = <1>;
311 #size-cells = <0>;
312 reg = <0x0 0x20c0000 0x0 0x10000>,
313 <0x0 0x20000000 0x0 0x10000000>;
314 reg-names = "fspi_base", "fspi_mmap";
315 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
316 clock-names = "fspi_en", "fspi";
317 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
318 status = "disabled";
319 };
Michael Wallefbddc272021-10-13 18:14:07 +0200320
321 dspi0: dspi@2100000 {
322 compatible = "fsl,vf610-dspi";
323 #address-cells = <1>;
324 #size-cells = <0>;
325 reg = <0x0 0x2100000 0x0 0x10000>;
326 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
327 clock-names = "dspi";
328 clocks = <&clockgen 4 0>;
329 num-cs = <5>;
330 litte-endian;
331 status = "disabled";
332 };
333
334 dspi1: dspi@2110000 {
335 compatible = "fsl,vf610-dspi";
336 #address-cells = <1>;
337 #size-cells = <0>;
338 reg = <0x0 0x2110000 0x0 0x10000>;
339 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
340 clock-names = "dspi";
341 clocks = <&clockgen 4 0>;
342 num-cs = <5>;
343 little-endian;
344 status = "disabled";
345 };
346
347 dspi2: dspi@2120000 {
348 compatible = "fsl,vf610-dspi";
349 #address-cells = <1>;
350 #size-cells = <0>;
351 reg = <0x0 0x2120000 0x0 0x10000>;
352 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
353 clock-names = "dspi";
354 clocks = <&clockgen 4 0>;
355 num-cs = <5>;
356 little-endian;
357 status = "disabled";
358 };
359
360 esdhc0: esdhc@2140000 {
361 compatible = "fsl,esdhc";
362 reg = <0x0 0x2140000 0x0 0x10000>;
363 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
364 big-endian;
365 bus-width = <4>;
366 status = "disabled";
367 };
368
369 esdhc1: esdhc@2150000 {
370 compatible = "fsl,esdhc";
371 reg = <0x0 0x2150000 0x0 0x10000>;
372 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
373 big-endian;
374 non-removable;
375 bus-width = <4>;
376 status = "disabled";
377 };
Michael Walle44800f22021-10-13 18:14:08 +0200378
379 serial0: serial@21c0500 {
380 device_type = "serial";
381 compatible = "fsl,ns16550", "ns16550a";
382 reg = <0x0 0x21c0500 0x0 0x100>;
383 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
384 status = "disabled";
385 };
386
387 serial1: serial@21c0600 {
388 device_type = "serial";
389 compatible = "fsl,ns16550", "ns16550a";
390 reg = <0x0 0x21c0600 0x0 0x100>;
391 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
392 status = "disabled";
393 };
Michael Walleebcd6d72021-10-13 18:14:09 +0200394
395 lpuart0: serial@2260000 {
396 compatible = "fsl,ls1021a-lpuart";
397 reg = <0x0 0x2260000 0x0 0x1000>;
398 interrupts = <0 232 0x4>;
399 clocks = <&sysclk>;
400 clock-names = "ipg";
401 little-endian;
402 status = "disabled";
403 };
404
405 lpuart1: serial@2270000 {
406 compatible = "fsl,ls1021a-lpuart";
407 reg = <0x0 0x2270000 0x0 0x1000>;
408 interrupts = <0 233 0x4>;
409 clocks = <&sysclk>;
410 clock-names = "ipg";
411 little-endian;
412 status = "disabled";
413 };
414
415 lpuart2: serial@2280000 {
416 compatible = "fsl,ls1021a-lpuart";
417 reg = <0x0 0x2280000 0x0 0x1000>;
418 interrupts = <0 234 0x4>;
419 clocks = <&sysclk>;
420 clock-names = "ipg";
421 little-endian;
422 status = "disabled";
423 };
424
425 lpuart3: serial@2290000 {
426 compatible = "fsl,ls1021a-lpuart";
427 reg = <0x0 0x2290000 0x0 0x1000>;
428 interrupts = <0 235 0x4>;
429 clocks = <&sysclk>;
430 clock-names = "ipg";
431 little-endian;
432 status = "disabled";
433 };
434
435 lpuart4: serial@22a0000 {
436 compatible = "fsl,ls1021a-lpuart";
437 reg = <0x0 0x22a0000 0x0 0x1000>;
438 interrupts = <0 236 0x4>;
439 clocks = <&sysclk>;
440 clock-names = "ipg";
441 little-endian;
442 status = "disabled";
443 };
444
445 lpuart5: serial@22b0000 {
446 compatible = "fsl,ls1021a-lpuart";
447 reg = <0x0 0x22b0000 0x0 0x1000>;
448 interrupts = <0 237 0x4>;
449 clocks = <&sysclk>;
450 clock-names = "ipg";
451 little-endian;
452 status = "disabled";
453 };
Michael Walle65da65f2021-10-13 18:14:10 +0200454
455 gpio0: gpio@2300000 {
456 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
457 reg = <0x0 0x2300000 0x0 0x10000>;
458 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
459 gpio-controller;
460 #gpio-cells = <2>;
461 interrupt-controller;
462 #interrupt-cells = <2>;
463 little-endian;
464 };
465
466 gpio1: gpio@2310000 {
467 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
468 reg = <0x0 0x2310000 0x0 0x10000>;
469 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
470 gpio-controller;
471 #gpio-cells = <2>;
472 interrupt-controller;
473 #interrupt-cells = <2>;
474 little-endian;
475 };
476
477 gpio2: gpio@2320000 {
478 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
479 reg = <0x0 0x2320000 0x0 0x10000>;
480 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
481 gpio-controller;
482 #gpio-cells = <2>;
483 interrupt-controller;
484 #interrupt-cells = <2>;
485 little-endian;
486 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200487 };
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800488};