blob: f11e75032b8ebf768c8945621818636f53b8449f [file] [log] [blame]
Yuantian Tang4aefa162019-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 Khana709e3f2020-09-28 16:26:12 +05305 * Copyright 2019-2020 NXP
Yuantian Tang4aefa162019-04-10 16:43:33 +08006 *
7 */
8
Michael Walle851856c2019-12-18 00:10:00 +01009#include <dt-bindings/interrupt-controller/arm-gic.h>
10
Yuantian Tang4aefa162019-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 Tang4aefa162019-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 Walle851856c2019-12-18 00:10:00 +010030 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
31 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080032 };
33
34 timer {
35 compatible = "arm,armv8-timer";
Michael Walle851856c2019-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 Tang4aefa162019-04-10 16:43:33 +080044 };
45
Michael Wallea81b2e82021-10-13 18:14:03 +020046 soc: soc {
47 compatible = "simple-bus";
48 #address-cells = <2>;
49 #size-cells = <2>;
50 ranges;
Michael Walle179ba3c2021-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 Walle2da16cd2021-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 Walle3c155c62021-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 Walle2e0ce082021-10-13 18:14:07 +0200159
160 dspi0: dspi@2100000 {
Michael Walle78692a72021-10-13 18:14:17 +0200161 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
Michael Walle2e0ce082021-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 Walle2de392c2021-10-13 18:14:18 +0200168 spi-num-chipselects = <5>;
Michael Walle2e0ce082021-10-13 18:14:07 +0200169 litte-endian;
170 status = "disabled";
171 };
172
173 dspi1: dspi@2110000 {
Michael Walle78692a72021-10-13 18:14:17 +0200174 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
Michael Walle2e0ce082021-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 Walle2de392c2021-10-13 18:14:18 +0200181 spi-num-chipselects = <5>;
Michael Walle2e0ce082021-10-13 18:14:07 +0200182 little-endian;
183 status = "disabled";
184 };
185
186 dspi2: dspi@2120000 {
Michael Walle78692a72021-10-13 18:14:17 +0200187 compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
Michael Walle2e0ce082021-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 Walle2de392c2021-10-13 18:14:18 +0200194 spi-num-chipselects = <5>;
Michael Walle2e0ce082021-10-13 18:14:07 +0200195 little-endian;
196 status = "disabled";
197 };
198
Michael Walle2a20ed12021-10-13 18:14:15 +0200199 esdhc: esdhc@2140000 {
Michael Walle2e0ce082021-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 Walle38bb0b72021-10-13 18:14:08 +0200217
Michael Walle2a20ed12021-10-13 18:14:15 +0200218 duart0: serial@21c0500 {
Michael Walle38bb0b72021-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 Walle2a20ed12021-10-13 18:14:15 +0200226 duart1: serial@21c0600 {
Michael Walle38bb0b72021-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 Walleb6e18632021-10-13 18:14:09 +0200233
234 lpuart0: serial@2260000 {
Michael Walleb285de42021-10-13 18:14:19 +0200235 compatible = "fsl,ls1028a-lpuart";
Michael Walleb6e18632021-10-13 18:14:09 +0200236 reg = <0x0 0x2260000 0x0 0x1000>;
237 interrupts = <0 232 0x4>;
238 clocks = <&sysclk>;
239 clock-names = "ipg";
Michael Walleb6e18632021-10-13 18:14:09 +0200240 status = "disabled";
241 };
242
243 lpuart1: serial@2270000 {
Michael Walleb285de42021-10-13 18:14:19 +0200244 compatible = "fsl,ls1028a-lpuart";
Michael Walleb6e18632021-10-13 18:14:09 +0200245 reg = <0x0 0x2270000 0x0 0x1000>;
246 interrupts = <0 233 0x4>;
247 clocks = <&sysclk>;
248 clock-names = "ipg";
Michael Walleb6e18632021-10-13 18:14:09 +0200249 status = "disabled";
250 };
251
252 lpuart2: serial@2280000 {
Michael Walleb285de42021-10-13 18:14:19 +0200253 compatible = "fsl,ls1028a-lpuart";
Michael Walleb6e18632021-10-13 18:14:09 +0200254 reg = <0x0 0x2280000 0x0 0x1000>;
255 interrupts = <0 234 0x4>;
256 clocks = <&sysclk>;
257 clock-names = "ipg";
Michael Walleb6e18632021-10-13 18:14:09 +0200258 status = "disabled";
259 };
260
261 lpuart3: serial@2290000 {
Michael Walleb285de42021-10-13 18:14:19 +0200262 compatible = "fsl,ls1028a-lpuart";
Michael Walleb6e18632021-10-13 18:14:09 +0200263 reg = <0x0 0x2290000 0x0 0x1000>;
264 interrupts = <0 235 0x4>;
265 clocks = <&sysclk>;
266 clock-names = "ipg";
Michael Walleb6e18632021-10-13 18:14:09 +0200267 status = "disabled";
268 };
269
270 lpuart4: serial@22a0000 {
Michael Walleb285de42021-10-13 18:14:19 +0200271 compatible = "fsl,ls1028a-lpuart";
Michael Walleb6e18632021-10-13 18:14:09 +0200272 reg = <0x0 0x22a0000 0x0 0x1000>;
273 interrupts = <0 236 0x4>;
274 clocks = <&sysclk>;
275 clock-names = "ipg";
Michael Walleb6e18632021-10-13 18:14:09 +0200276 status = "disabled";
277 };
278
279 lpuart5: serial@22b0000 {
Michael Walleb285de42021-10-13 18:14:19 +0200280 compatible = "fsl,ls1028a-lpuart";
Michael Walleb6e18632021-10-13 18:14:09 +0200281 reg = <0x0 0x22b0000 0x0 0x1000>;
282 interrupts = <0 237 0x4>;
283 clocks = <&sysclk>;
284 clock-names = "ipg";
Michael Walleb6e18632021-10-13 18:14:09 +0200285 status = "disabled";
286 };
Michael Walleb5572242021-10-13 18:14:10 +0200287
Michael Walle2a20ed12021-10-13 18:14:15 +0200288 gpio1: gpio@2300000 {
Michael Walleb5572242021-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 Walle2a20ed12021-10-13 18:14:15 +0200299 gpio2: gpio@2310000 {
Michael Walleb5572242021-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 Walle2a20ed12021-10-13 18:14:15 +0200310 gpio3: gpio@2320000 {
Michael Walleb5572242021-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 Walle2b854f22021-10-13 18:14:11 +0200320
Michael Walle2a20ed12021-10-13 18:14:15 +0200321 usb0: usb3@3100000 {
Michael Walle3ae724c2021-10-13 18:14:21 +0200322 compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
Michael Walle2b854f22021-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 Walle2a20ed12021-10-13 18:14:15 +0200329 usb1: usb3@3110000 {
Michael Walle3ae724c2021-10-13 18:14:21 +0200330 compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
Michael Walle2b854f22021-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 Walle0234b5f2021-10-13 18:14:20 +0200341 reg-names = "ahci", "sata-ecc";
Michael Walle2b854f22021-10-13 18:14:11 +0200342 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
343 status = "disabled";
344 };
Michael Walleb9919622021-10-13 18:14:12 +0200345
346 pcie1: pcie@3400000 {
Michael Walle3af00cd2021-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 Walleb9919622021-10-13 18:14:12 +0200351 #address-cells = <3>;
352 #size-cells = <2>;
353 device_type = "pci";
Michael Walleb9919622021-10-13 18:14:12 +0200354 bus-range = <0x0 0xff>;
Michael Walle8cc405b2021-10-13 18:14:24 +0200355 ranges = <0x81000000 0x0 0x00000000 0x80 0x00010000 0x0 0x00010000 /* downstream I/O */
Michael Walleb9919622021-10-13 18:14:12 +0200356 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
357 };
358
359 pcie2: pcie@3500000 {
Michael Walle3af00cd2021-10-13 18:14:22 +0200360 compatible = "fsl,ls1028a-pcie";
361 reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
362 <0x88 0x00000000 0x0 0x00002000>; /* configuration space */
363 reg-names = "regs", "config";
Michael Walleb9919622021-10-13 18:14:12 +0200364 #address-cells = <3>;
365 #size-cells = <2>;
366 device_type = "pci";
Michael Walleb9919622021-10-13 18:14:12 +0200367 bus-range = <0x0 0xff>;
Michael Walle8cc405b2021-10-13 18:14:24 +0200368 ranges = <0x81000000 0x0 0x00000000 0x88 0x00010000 0x0 0x00010000 /* downstream I/O */
Michael Walleb9919622021-10-13 18:14:12 +0200369 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
370 };
Michael Walle9efbf432021-10-13 18:14:13 +0200371
372 cluster1_core0_watchdog: wdt@c000000 {
Michael Walle1fe74462021-10-13 18:14:16 +0200373 compatible = "arm,sp805", "arm,primecell";
Michael Walle9efbf432021-10-13 18:14:13 +0200374 reg = <0x0 0xc000000 0x0 0x1000>;
375 };
Michael Wallee92d6552021-10-13 18:14:14 +0200376
377 pcie@1f0000000 {
378 compatible = "pci-host-ecam-generic";
379 /* ECAM bus 0, HW has more space reserved but not populated */
380 bus-range = <0x0 0x0>;
381 reg = <0x01 0xf0000000 0x0 0x100000>;
382 #address-cells = <3>;
383 #size-cells = <2>;
384 device_type = "pci";
385 ranges = <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
386
Michael Walle2a20ed12021-10-13 18:14:15 +0200387 enetc_port0: pci@0,0 {
Michael Wallee92d6552021-10-13 18:14:14 +0200388 reg = <0x000000 0 0 0 0>;
389 status = "disabled";
390 };
391
Michael Walle2a20ed12021-10-13 18:14:15 +0200392 enetc_port1: pci@0,1 {
Michael Wallee92d6552021-10-13 18:14:14 +0200393 reg = <0x000100 0 0 0 0>;
394 status = "disabled";
395 };
396
Michael Walle2a20ed12021-10-13 18:14:15 +0200397 enetc_port2: pci@0,2 {
Michael Wallee92d6552021-10-13 18:14:14 +0200398 reg = <0x000200 0 0 0 0>;
399 status = "disabled";
400 phy-mode = "internal";
401
402 fixed-link {
403 speed = <2500>;
404 full-duplex;
405 };
406 };
407
Michael Walle2a20ed12021-10-13 18:14:15 +0200408 enetc_mdio_pf3: pci@0,3 {
Michael Wallee92d6552021-10-13 18:14:14 +0200409 #address-cells=<0>;
410 #size-cells=<1>;
411 reg = <0x000300 0 0 0 0>;
412 status = "disabled";
413
414 fixed-link {
415 speed = <1000>;
416 full-duplex;
417 };
418 };
419
420 mscc_felix: pci@0,5 {
421 reg = <0x000500 0 0 0 0>;
422 status = "disabled";
423
424 ports {
425 #address-cells = <1>;
426 #size-cells = <0>;
427
428 mscc_felix_port0: port@0 {
429 reg = <0>;
430 status = "disabled";
431 };
432
433 mscc_felix_port1: port@1 {
434 reg = <1>;
435 status = "disabled";
436 };
437
438 mscc_felix_port2: port@2 {
439 reg = <2>;
440 status = "disabled";
441 };
442
443 mscc_felix_port3: port@3 {
444 reg = <3>;
445 status = "disabled";
446 };
447
448 mscc_felix_port4: port@4 {
449 reg = <4>;
450 phy-mode = "internal";
451 status = "disabled";
452
453 fixed-link {
454 speed = <2500>;
455 full-duplex;
456 };
457 };
458
459 mscc_felix_port5: port@5 {
460 reg = <5>;
461 phy-mode = "internal";
462 status = "disabled";
463
464 fixed-link {
465 speed = <1000>;
466 full-duplex;
467 };
468
469 };
470 };
471 };
472
Michael Walle2a20ed12021-10-13 18:14:15 +0200473 enetc_port3: pci@0,6 {
Michael Wallee92d6552021-10-13 18:14:14 +0200474 reg = <0x000600 0 0 0 0>;
475 status = "disabled";
476 phy-mode = "internal";
477 };
478 };
Michael Wallea81b2e82021-10-13 18:14:03 +0200479 };
Yuantian Tang4aefa162019-04-10 16:43:33 +0800480};