blob: 6158a1362a050305331c647e3a3a5b14216a2c60 [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
Michael Wallecd80d5d2021-10-13 18:14:03 +020046 soc: soc {
47 compatible = "simple-bus";
48 #address-cells = <2>;
49 #size-cells = <2>;
50 ranges;
Michael Walle9b38ba52021-10-13 18:14:04 +020051
52 clockgen: clocking@1300000 {
53 compatible = "fsl,ls1028a-clockgen";
54 reg = <0x0 0x1300000 0x0 0xa0000>;
55 #clock-cells = <2>;
56 clocks = <&sysclk>;
57 };
Michael Wallefb19c6b2021-10-13 18:14:05 +020058
59 i2c0: i2c@2000000 {
60 compatible = "fsl,vf610-i2c";
61 #address-cells = <1>;
62 #size-cells = <0>;
63 reg = <0x0 0x2000000 0x0 0x10000>;
64 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
65 clock-names = "i2c";
66 clocks = <&clockgen 4 0>;
67 status = "disabled";
68 };
69
70 i2c1: i2c@2010000 {
71 compatible = "fsl,vf610-i2c";
72 #address-cells = <1>;
73 #size-cells = <0>;
74 reg = <0x0 0x2010000 0x0 0x10000>;
75 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
76 clock-names = "i2c";
77 clocks = <&clockgen 4 0>;
78 status = "disabled";
79 };
80
81 i2c2: i2c@2020000 {
82 compatible = "fsl,vf610-i2c";
83 #address-cells = <1>;
84 #size-cells = <0>;
85 reg = <0x0 0x2020000 0x0 0x10000>;
86 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
87 clock-names = "i2c";
88 clocks = <&clockgen 4 0>;
89 status = "disabled";
90 };
91
92 i2c3: i2c@2030000 {
93 compatible = "fsl,vf610-i2c";
94 #address-cells = <1>;
95 #size-cells = <0>;
96 reg = <0x0 0x2030000 0x0 0x10000>;
97 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
98 clock-names = "i2c";
99 clocks = <&clockgen 4 0>;
100 status = "disabled";
101 };
102
103 i2c4: i2c@2040000 {
104 compatible = "fsl,vf610-i2c";
105 #address-cells = <1>;
106 #size-cells = <0>;
107 reg = <0x0 0x2040000 0x0 0x10000>;
108 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
109 clock-names = "i2c";
110 clocks = <&clockgen 4 0>;
111 status = "disabled";
112 };
113
114 i2c5: i2c@2050000 {
115 compatible = "fsl,vf610-i2c";
116 #address-cells = <1>;
117 #size-cells = <0>;
118 reg = <0x0 0x2050000 0x0 0x10000>;
119 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
120 clock-names = "i2c";
121 clocks = <&clockgen 4 0>;
122 status = "disabled";
123 };
124
125 i2c6: i2c@2060000 {
126 compatible = "fsl,vf610-i2c";
127 #address-cells = <1>;
128 #size-cells = <0>;
129 reg = <0x0 0x2060000 0x0 0x10000>;
130 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
131 clock-names = "i2c";
132 clocks = <&clockgen 4 0>;
133 status = "disabled";
134 };
135
136 i2c7: i2c@2070000 {
137 compatible = "fsl,vf610-i2c";
138 #address-cells = <1>;
139 #size-cells = <0>;
140 reg = <0x0 0x2070000 0x0 0x10000>;
141 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
142 clock-names = "i2c";
143 clocks = <&clockgen 4 0>;
144 status = "disabled";
145 };
Michael Wallef02f2f92021-10-13 18:14:06 +0200146
147 fspi: flexspi@20c0000 {
148 compatible = "nxp,lx2160a-fspi";
149 #address-cells = <1>;
150 #size-cells = <0>;
151 reg = <0x0 0x20c0000 0x0 0x10000>,
152 <0x0 0x20000000 0x0 0x10000000>;
153 reg-names = "fspi_base", "fspi_mmap";
154 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
155 clock-names = "fspi_en", "fspi";
156 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
157 status = "disabled";
158 };
Michael Wallefbddc272021-10-13 18:14:07 +0200159
160 dspi0: dspi@2100000 {
Michael Walle765afe72021-10-13 18:14:17 +0200161 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
Michael Wallefbddc272021-10-13 18:14:07 +0200162 #address-cells = <1>;
163 #size-cells = <0>;
164 reg = <0x0 0x2100000 0x0 0x10000>;
165 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
166 clock-names = "dspi";
167 clocks = <&clockgen 4 0>;
168 num-cs = <5>;
169 litte-endian;
170 status = "disabled";
171 };
172
173 dspi1: dspi@2110000 {
Michael Walle765afe72021-10-13 18:14:17 +0200174 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
Michael Wallefbddc272021-10-13 18:14:07 +0200175 #address-cells = <1>;
176 #size-cells = <0>;
177 reg = <0x0 0x2110000 0x0 0x10000>;
178 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
179 clock-names = "dspi";
180 clocks = <&clockgen 4 0>;
181 num-cs = <5>;
182 little-endian;
183 status = "disabled";
184 };
185
186 dspi2: dspi@2120000 {
Michael Walle765afe72021-10-13 18:14:17 +0200187 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
Michael Wallefbddc272021-10-13 18:14:07 +0200188 #address-cells = <1>;
189 #size-cells = <0>;
190 reg = <0x0 0x2120000 0x0 0x10000>;
191 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
192 clock-names = "dspi";
193 clocks = <&clockgen 4 0>;
194 num-cs = <5>;
195 little-endian;
196 status = "disabled";
197 };
198
Michael Wallec816dd02021-10-13 18:14:15 +0200199 esdhc: esdhc@2140000 {
Michael Wallefbddc272021-10-13 18:14:07 +0200200 compatible = "fsl,esdhc";
201 reg = <0x0 0x2140000 0x0 0x10000>;
202 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
203 big-endian;
204 bus-width = <4>;
205 status = "disabled";
206 };
207
208 esdhc1: esdhc@2150000 {
209 compatible = "fsl,esdhc";
210 reg = <0x0 0x2150000 0x0 0x10000>;
211 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
212 big-endian;
213 non-removable;
214 bus-width = <4>;
215 status = "disabled";
216 };
Michael Walle44800f22021-10-13 18:14:08 +0200217
Michael Wallec816dd02021-10-13 18:14:15 +0200218 duart0: serial@21c0500 {
Michael Walle44800f22021-10-13 18:14:08 +0200219 device_type = "serial";
220 compatible = "fsl,ns16550", "ns16550a";
221 reg = <0x0 0x21c0500 0x0 0x100>;
222 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
223 status = "disabled";
224 };
225
Michael Wallec816dd02021-10-13 18:14:15 +0200226 duart1: serial@21c0600 {
Michael Walle44800f22021-10-13 18:14:08 +0200227 device_type = "serial";
228 compatible = "fsl,ns16550", "ns16550a";
229 reg = <0x0 0x21c0600 0x0 0x100>;
230 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
231 status = "disabled";
232 };
Michael Walleebcd6d72021-10-13 18:14:09 +0200233
234 lpuart0: serial@2260000 {
235 compatible = "fsl,ls1021a-lpuart";
236 reg = <0x0 0x2260000 0x0 0x1000>;
237 interrupts = <0 232 0x4>;
238 clocks = <&sysclk>;
239 clock-names = "ipg";
240 little-endian;
241 status = "disabled";
242 };
243
244 lpuart1: serial@2270000 {
245 compatible = "fsl,ls1021a-lpuart";
246 reg = <0x0 0x2270000 0x0 0x1000>;
247 interrupts = <0 233 0x4>;
248 clocks = <&sysclk>;
249 clock-names = "ipg";
250 little-endian;
251 status = "disabled";
252 };
253
254 lpuart2: serial@2280000 {
255 compatible = "fsl,ls1021a-lpuart";
256 reg = <0x0 0x2280000 0x0 0x1000>;
257 interrupts = <0 234 0x4>;
258 clocks = <&sysclk>;
259 clock-names = "ipg";
260 little-endian;
261 status = "disabled";
262 };
263
264 lpuart3: serial@2290000 {
265 compatible = "fsl,ls1021a-lpuart";
266 reg = <0x0 0x2290000 0x0 0x1000>;
267 interrupts = <0 235 0x4>;
268 clocks = <&sysclk>;
269 clock-names = "ipg";
270 little-endian;
271 status = "disabled";
272 };
273
274 lpuart4: serial@22a0000 {
275 compatible = "fsl,ls1021a-lpuart";
276 reg = <0x0 0x22a0000 0x0 0x1000>;
277 interrupts = <0 236 0x4>;
278 clocks = <&sysclk>;
279 clock-names = "ipg";
280 little-endian;
281 status = "disabled";
282 };
283
284 lpuart5: serial@22b0000 {
285 compatible = "fsl,ls1021a-lpuart";
286 reg = <0x0 0x22b0000 0x0 0x1000>;
287 interrupts = <0 237 0x4>;
288 clocks = <&sysclk>;
289 clock-names = "ipg";
290 little-endian;
291 status = "disabled";
292 };
Michael Walle65da65f2021-10-13 18:14:10 +0200293
Michael Wallec816dd02021-10-13 18:14:15 +0200294 gpio1: gpio@2300000 {
Michael Walle65da65f2021-10-13 18:14:10 +0200295 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
296 reg = <0x0 0x2300000 0x0 0x10000>;
297 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
298 gpio-controller;
299 #gpio-cells = <2>;
300 interrupt-controller;
301 #interrupt-cells = <2>;
302 little-endian;
303 };
304
Michael Wallec816dd02021-10-13 18:14:15 +0200305 gpio2: gpio@2310000 {
Michael Walle65da65f2021-10-13 18:14:10 +0200306 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
307 reg = <0x0 0x2310000 0x0 0x10000>;
308 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
309 gpio-controller;
310 #gpio-cells = <2>;
311 interrupt-controller;
312 #interrupt-cells = <2>;
313 little-endian;
314 };
315
Michael Wallec816dd02021-10-13 18:14:15 +0200316 gpio3: gpio@2320000 {
Michael Walle65da65f2021-10-13 18:14:10 +0200317 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
318 reg = <0x0 0x2320000 0x0 0x10000>;
319 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
320 gpio-controller;
321 #gpio-cells = <2>;
322 interrupt-controller;
323 #interrupt-cells = <2>;
324 little-endian;
325 };
Michael Walle659fafc2021-10-13 18:14:11 +0200326
Michael Wallec816dd02021-10-13 18:14:15 +0200327 usb0: usb3@3100000 {
Michael Walle659fafc2021-10-13 18:14:11 +0200328 compatible = "fsl,layerscape-dwc3";
329 reg = <0x0 0x3100000 0x0 0x10000>;
330 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
331 dr_mode = "host";
332 status = "disabled";
333 };
334
Michael Wallec816dd02021-10-13 18:14:15 +0200335 usb1: usb3@3110000 {
Michael Walle659fafc2021-10-13 18:14:11 +0200336 compatible = "fsl,layerscape-dwc3";
337 reg = <0x0 0x3110000 0x0 0x10000>;
338 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
339 dr_mode = "host";
340 status = "disabled";
341 };
342
343 sata: sata@3200000 {
344 compatible = "fsl,ls1028a-ahci";
345 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
346 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
347 reg-names = "sata-base", "ecc-addr";
348 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
349 status = "disabled";
350 };
Michael Walle3c5c4772021-10-13 18:14:12 +0200351
352 pcie1: pcie@3400000 {
353 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
354 reg = <0x00 0x03400000 0x0 0x80000
355 0x00 0x03480000 0x0 0x40000 /* lut registers */
356 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
357 0x80 0x00000000 0x0 0x20000>; /* configuration space */
358 reg-names = "dbi", "lut", "ctrl", "config";
359 #address-cells = <3>;
360 #size-cells = <2>;
361 device_type = "pci";
362 num-lanes = <4>;
363 bus-range = <0x0 0xff>;
364 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
365 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
366 };
367
368 pcie2: pcie@3500000 {
369 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
370 reg = <0x00 0x03500000 0x0 0x80000
371 0x00 0x03580000 0x0 0x40000 /* lut registers */
372 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
373 0x88 0x00000000 0x0 0x20000>; /* configuration space */
374 reg-names = "dbi", "lut", "ctrl", "config";
375 #address-cells = <3>;
376 #size-cells = <2>;
377 device_type = "pci";
378 num-lanes = <4>;
379 bus-range = <0x0 0xff>;
380 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
381 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
382 };
Michael Walle575205c2021-10-13 18:14:13 +0200383
384 cluster1_core0_watchdog: wdt@c000000 {
Michael Walle5709a852021-10-13 18:14:16 +0200385 compatible = "arm,sp805", "arm,primecell";
Michael Walle575205c2021-10-13 18:14:13 +0200386 reg = <0x0 0xc000000 0x0 0x1000>;
387 };
Michael Wallef3f41f62021-10-13 18:14:14 +0200388
389 pcie@1f0000000 {
390 compatible = "pci-host-ecam-generic";
391 /* ECAM bus 0, HW has more space reserved but not populated */
392 bus-range = <0x0 0x0>;
393 reg = <0x01 0xf0000000 0x0 0x100000>;
394 #address-cells = <3>;
395 #size-cells = <2>;
396 device_type = "pci";
397 ranges = <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
398
Michael Wallec816dd02021-10-13 18:14:15 +0200399 enetc_port0: pci@0,0 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200400 reg = <0x000000 0 0 0 0>;
401 status = "disabled";
402 };
403
Michael Wallec816dd02021-10-13 18:14:15 +0200404 enetc_port1: pci@0,1 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200405 reg = <0x000100 0 0 0 0>;
406 status = "disabled";
407 };
408
Michael Wallec816dd02021-10-13 18:14:15 +0200409 enetc_port2: pci@0,2 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200410 reg = <0x000200 0 0 0 0>;
411 status = "disabled";
412 phy-mode = "internal";
413
414 fixed-link {
415 speed = <2500>;
416 full-duplex;
417 };
418 };
419
Michael Wallec816dd02021-10-13 18:14:15 +0200420 enetc_mdio_pf3: pci@0,3 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200421 #address-cells=<0>;
422 #size-cells=<1>;
423 reg = <0x000300 0 0 0 0>;
424 status = "disabled";
425
426 fixed-link {
427 speed = <1000>;
428 full-duplex;
429 };
430 };
431
432 mscc_felix: pci@0,5 {
433 reg = <0x000500 0 0 0 0>;
434 status = "disabled";
435
436 ports {
437 #address-cells = <1>;
438 #size-cells = <0>;
439
440 mscc_felix_port0: port@0 {
441 reg = <0>;
442 status = "disabled";
443 };
444
445 mscc_felix_port1: port@1 {
446 reg = <1>;
447 status = "disabled";
448 };
449
450 mscc_felix_port2: port@2 {
451 reg = <2>;
452 status = "disabled";
453 };
454
455 mscc_felix_port3: port@3 {
456 reg = <3>;
457 status = "disabled";
458 };
459
460 mscc_felix_port4: port@4 {
461 reg = <4>;
462 phy-mode = "internal";
463 status = "disabled";
464
465 fixed-link {
466 speed = <2500>;
467 full-duplex;
468 };
469 };
470
471 mscc_felix_port5: port@5 {
472 reg = <5>;
473 phy-mode = "internal";
474 status = "disabled";
475
476 fixed-link {
477 speed = <1000>;
478 full-duplex;
479 };
480
481 };
482 };
483 };
484
Michael Wallec816dd02021-10-13 18:14:15 +0200485 enetc_port3: pci@0,6 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200486 reg = <0x000600 0 0 0 0>;
487 status = "disabled";
488 phy-mode = "internal";
489 };
490 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200491 };
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800492};