blob: 435b965d00ba903891e5c14f516c3a96d3511231 [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>;
Michael Walle8c580892021-10-13 18:14:18 +0200168 spi-num-chipselects = <5>;
Michael Wallefbddc272021-10-13 18:14:07 +0200169 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>;
Michael Walle8c580892021-10-13 18:14:18 +0200181 spi-num-chipselects = <5>;
Michael Wallefbddc272021-10-13 18:14:07 +0200182 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>;
Michael Walle8c580892021-10-13 18:14:18 +0200194 spi-num-chipselects = <5>;
Michael Wallefbddc272021-10-13 18:14:07 +0200195 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 {
Michael Wallec9bf9af2021-10-13 18:14:19 +0200235 compatible = "fsl,ls1028a-lpuart";
Michael Walleebcd6d72021-10-13 18:14:09 +0200236 reg = <0x0 0x2260000 0x0 0x1000>;
237 interrupts = <0 232 0x4>;
238 clocks = <&sysclk>;
239 clock-names = "ipg";
Michael Walleebcd6d72021-10-13 18:14:09 +0200240 status = "disabled";
241 };
242
243 lpuart1: serial@2270000 {
Michael Wallec9bf9af2021-10-13 18:14:19 +0200244 compatible = "fsl,ls1028a-lpuart";
Michael Walleebcd6d72021-10-13 18:14:09 +0200245 reg = <0x0 0x2270000 0x0 0x1000>;
246 interrupts = <0 233 0x4>;
247 clocks = <&sysclk>;
248 clock-names = "ipg";
Michael Walleebcd6d72021-10-13 18:14:09 +0200249 status = "disabled";
250 };
251
252 lpuart2: serial@2280000 {
Michael Wallec9bf9af2021-10-13 18:14:19 +0200253 compatible = "fsl,ls1028a-lpuart";
Michael Walleebcd6d72021-10-13 18:14:09 +0200254 reg = <0x0 0x2280000 0x0 0x1000>;
255 interrupts = <0 234 0x4>;
256 clocks = <&sysclk>;
257 clock-names = "ipg";
Michael Walleebcd6d72021-10-13 18:14:09 +0200258 status = "disabled";
259 };
260
261 lpuart3: serial@2290000 {
Michael Wallec9bf9af2021-10-13 18:14:19 +0200262 compatible = "fsl,ls1028a-lpuart";
Michael Walleebcd6d72021-10-13 18:14:09 +0200263 reg = <0x0 0x2290000 0x0 0x1000>;
264 interrupts = <0 235 0x4>;
265 clocks = <&sysclk>;
266 clock-names = "ipg";
Michael Walleebcd6d72021-10-13 18:14:09 +0200267 status = "disabled";
268 };
269
270 lpuart4: serial@22a0000 {
Michael Wallec9bf9af2021-10-13 18:14:19 +0200271 compatible = "fsl,ls1028a-lpuart";
Michael Walleebcd6d72021-10-13 18:14:09 +0200272 reg = <0x0 0x22a0000 0x0 0x1000>;
273 interrupts = <0 236 0x4>;
274 clocks = <&sysclk>;
275 clock-names = "ipg";
Michael Walleebcd6d72021-10-13 18:14:09 +0200276 status = "disabled";
277 };
278
279 lpuart5: serial@22b0000 {
Michael Wallec9bf9af2021-10-13 18:14:19 +0200280 compatible = "fsl,ls1028a-lpuart";
Michael Walleebcd6d72021-10-13 18:14:09 +0200281 reg = <0x0 0x22b0000 0x0 0x1000>;
282 interrupts = <0 237 0x4>;
283 clocks = <&sysclk>;
284 clock-names = "ipg";
Michael Walleebcd6d72021-10-13 18:14:09 +0200285 status = "disabled";
286 };
Michael Walle65da65f2021-10-13 18:14:10 +0200287
Michael Wallec816dd02021-10-13 18:14:15 +0200288 gpio1: gpio@2300000 {
Michael Walle65da65f2021-10-13 18:14:10 +0200289 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
290 reg = <0x0 0x2300000 0x0 0x10000>;
291 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
292 gpio-controller;
293 #gpio-cells = <2>;
294 interrupt-controller;
295 #interrupt-cells = <2>;
296 little-endian;
297 };
298
Michael Wallec816dd02021-10-13 18:14:15 +0200299 gpio2: gpio@2310000 {
Michael Walle65da65f2021-10-13 18:14:10 +0200300 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
301 reg = <0x0 0x2310000 0x0 0x10000>;
302 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
303 gpio-controller;
304 #gpio-cells = <2>;
305 interrupt-controller;
306 #interrupt-cells = <2>;
307 little-endian;
308 };
309
Michael Wallec816dd02021-10-13 18:14:15 +0200310 gpio3: gpio@2320000 {
Michael Walle65da65f2021-10-13 18:14:10 +0200311 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
312 reg = <0x0 0x2320000 0x0 0x10000>;
313 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
314 gpio-controller;
315 #gpio-cells = <2>;
316 interrupt-controller;
317 #interrupt-cells = <2>;
318 little-endian;
319 };
Michael Walle659fafc2021-10-13 18:14:11 +0200320
Michael Wallec816dd02021-10-13 18:14:15 +0200321 usb0: usb3@3100000 {
Michael Walle8f176eb2021-10-13 18:14:21 +0200322 compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
Michael Walle659fafc2021-10-13 18:14:11 +0200323 reg = <0x0 0x3100000 0x0 0x10000>;
324 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
325 dr_mode = "host";
326 status = "disabled";
327 };
328
Michael Wallec816dd02021-10-13 18:14:15 +0200329 usb1: usb3@3110000 {
Michael Walle8f176eb2021-10-13 18:14:21 +0200330 compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
Michael Walle659fafc2021-10-13 18:14:11 +0200331 reg = <0x0 0x3110000 0x0 0x10000>;
332 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
333 dr_mode = "host";
334 status = "disabled";
335 };
336
337 sata: sata@3200000 {
338 compatible = "fsl,ls1028a-ahci";
339 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
340 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
Michael Wallecde9b142021-10-13 18:14:20 +0200341 reg-names = "ahci", "sata-ecc";
Michael Walle659fafc2021-10-13 18:14:11 +0200342 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
343 status = "disabled";
344 };
Michael Walle3c5c4772021-10-13 18:14:12 +0200345
346 pcie1: pcie@3400000 {
Michael Wallee10da1f2021-10-13 18:14:22 +0200347 compatible = "fsl,ls1028a-pcie";
348 reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
349 <0x80 0x00000000 0x0 0x00002000>; /* configuration space */
350 reg-names = "regs", "config";
Michael Walle3c5c4772021-10-13 18:14:12 +0200351 #address-cells = <3>;
352 #size-cells = <2>;
353 device_type = "pci";
354 num-lanes = <4>;
355 bus-range = <0x0 0xff>;
356 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
357 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
358 };
359
360 pcie2: pcie@3500000 {
Michael Wallee10da1f2021-10-13 18:14:22 +0200361 compatible = "fsl,ls1028a-pcie";
362 reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
363 <0x88 0x00000000 0x0 0x00002000>; /* configuration space */
364 reg-names = "regs", "config";
Michael Walle3c5c4772021-10-13 18:14:12 +0200365 #address-cells = <3>;
366 #size-cells = <2>;
367 device_type = "pci";
368 num-lanes = <4>;
369 bus-range = <0x0 0xff>;
370 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
371 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
372 };
Michael Walle575205c2021-10-13 18:14:13 +0200373
374 cluster1_core0_watchdog: wdt@c000000 {
Michael Walle5709a852021-10-13 18:14:16 +0200375 compatible = "arm,sp805", "arm,primecell";
Michael Walle575205c2021-10-13 18:14:13 +0200376 reg = <0x0 0xc000000 0x0 0x1000>;
377 };
Michael Wallef3f41f62021-10-13 18:14:14 +0200378
379 pcie@1f0000000 {
380 compatible = "pci-host-ecam-generic";
381 /* ECAM bus 0, HW has more space reserved but not populated */
382 bus-range = <0x0 0x0>;
383 reg = <0x01 0xf0000000 0x0 0x100000>;
384 #address-cells = <3>;
385 #size-cells = <2>;
386 device_type = "pci";
387 ranges = <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
388
Michael Wallec816dd02021-10-13 18:14:15 +0200389 enetc_port0: pci@0,0 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200390 reg = <0x000000 0 0 0 0>;
391 status = "disabled";
392 };
393
Michael Wallec816dd02021-10-13 18:14:15 +0200394 enetc_port1: pci@0,1 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200395 reg = <0x000100 0 0 0 0>;
396 status = "disabled";
397 };
398
Michael Wallec816dd02021-10-13 18:14:15 +0200399 enetc_port2: pci@0,2 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200400 reg = <0x000200 0 0 0 0>;
401 status = "disabled";
402 phy-mode = "internal";
403
404 fixed-link {
405 speed = <2500>;
406 full-duplex;
407 };
408 };
409
Michael Wallec816dd02021-10-13 18:14:15 +0200410 enetc_mdio_pf3: pci@0,3 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200411 #address-cells=<0>;
412 #size-cells=<1>;
413 reg = <0x000300 0 0 0 0>;
414 status = "disabled";
415
416 fixed-link {
417 speed = <1000>;
418 full-duplex;
419 };
420 };
421
422 mscc_felix: pci@0,5 {
423 reg = <0x000500 0 0 0 0>;
424 status = "disabled";
425
426 ports {
427 #address-cells = <1>;
428 #size-cells = <0>;
429
430 mscc_felix_port0: port@0 {
431 reg = <0>;
432 status = "disabled";
433 };
434
435 mscc_felix_port1: port@1 {
436 reg = <1>;
437 status = "disabled";
438 };
439
440 mscc_felix_port2: port@2 {
441 reg = <2>;
442 status = "disabled";
443 };
444
445 mscc_felix_port3: port@3 {
446 reg = <3>;
447 status = "disabled";
448 };
449
450 mscc_felix_port4: port@4 {
451 reg = <4>;
452 phy-mode = "internal";
453 status = "disabled";
454
455 fixed-link {
456 speed = <2500>;
457 full-duplex;
458 };
459 };
460
461 mscc_felix_port5: port@5 {
462 reg = <5>;
463 phy-mode = "internal";
464 status = "disabled";
465
466 fixed-link {
467 speed = <1000>;
468 full-duplex;
469 };
470
471 };
472 };
473 };
474
Michael Wallec816dd02021-10-13 18:14:15 +0200475 enetc_port3: pci@0,6 {
Michael Wallef3f41f62021-10-13 18:14:14 +0200476 reg = <0x000600 0 0 0 0>;
477 status = "disabled";
478 phy-mode = "internal";
479 };
480 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200481 };
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800482};