blob: 54f97014be4303f4bb1b8898cd06284a4391be14 [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 Walleae182772019-12-18 00:09:59 +010046 fspi: flexspi@20c0000 {
47 compatible = "nxp,lx2160a-fspi";
Yuantian Tang4aefa162019-04-10 16:43:33 +080048 #address-cells = <1>;
49 #size-cells = <0>;
Michael Walleae182772019-12-18 00:09:59 +010050 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";
Michael Walle851856c2019-12-18 00:10:00 +010055 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080056 status = "disabled";
57 };
58
59 serial0: serial@21c0500 {
60 device_type = "serial";
61 compatible = "fsl,ns16550", "ns16550a";
62 reg = <0x0 0x21c0500 0x0 0x100>;
Michael Walle851856c2019-12-18 00:10:00 +010063 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080064 status = "disabled";
65 };
66
67 serial1: serial@21c0600 {
68 device_type = "serial";
69 compatible = "fsl,ns16550", "ns16550a";
70 reg = <0x0 0x21c0600 0x0 0x100>;
Michael Walle851856c2019-12-18 00:10:00 +010071 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +080072 status = "disabled";
73 };
74
Wasim Khana709e3f2020-09-28 16:26:12 +053075 pcie1: pcie@3400000 {
Yuantian Tang4aefa162019-04-10 16:43:33 +080076 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";
82 #address-cells = <3>;
83 #size-cells = <2>;
84 device_type = "pci";
85 num-lanes = <4>;
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 */
89 };
90
Wasim Khana709e3f2020-09-28 16:26:12 +053091 pcie2: pcie@3500000 {
Yuantian Tang4aefa162019-04-10 16:43:33 +080092 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";
98 #address-cells = <3>;
99 #size-cells = <2>;
100 device_type = "pci";
101 num-lanes = <4>;
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 */
105 };
106
Alex Marginean0d5ed8f2019-06-07 17:03:07 +0300107 pcie@1f0000000 {
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>;
113 #size-cells = <2>;
114 device_type = "pci";
115 ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
Alex Marginean3be715e2019-07-03 12:11:43 +0300116 enetc0: pci@0,0 {
117 reg = <0x000000 0 0 0 0>;
118 status = "disabled";
119 };
120 enetc1: pci@0,1 {
121 reg = <0x000100 0 0 0 0>;
122 status = "disabled";
123 };
124 enetc2: pci@0,2 {
125 reg = <0x000200 0 0 0 0>;
Vladimir Olteanddd7fd72021-06-29 20:53:14 +0300126 status = "disabled";
Alex Marginean3be715e2019-07-03 12:11:43 +0300127 phy-mode = "internal";
Vladimir Oltean70b521a2021-06-29 20:53:13 +0300128
129 fixed-link {
130 speed = <2500>;
131 full-duplex;
132 };
Alex Marginean3be715e2019-07-03 12:11:43 +0300133 };
134 mdio0: pci@0,3 {
135 #address-cells=<0>;
136 #size-cells=<1>;
137 reg = <0x000300 0 0 0 0>;
138 status = "disabled";
Vladimir Oltean70b521a2021-06-29 20:53:13 +0300139
140 fixed-link {
141 speed = <1000>;
142 full-duplex;
143 };
Alex Marginean3be715e2019-07-03 12:11:43 +0300144 };
Alex Marginean44f80342021-01-25 14:23:56 +0200145
146 mscc_felix: pci@0,5 {
147 reg = <0x000500 0 0 0 0>;
148 status = "disabled";
149
150 ports {
151 #address-cells = <1>;
152 #size-cells = <0>;
153
154 mscc_felix_port0: port@0 {
155 reg = <0>;
156 status = "disabled";
157 };
158
159 mscc_felix_port1: port@1 {
160 reg = <1>;
161 status = "disabled";
162 };
163
164 mscc_felix_port2: port@2 {
165 reg = <2>;
166 status = "disabled";
167 };
168
169 mscc_felix_port3: port@3 {
170 reg = <3>;
171 status = "disabled";
172 };
173
174 mscc_felix_port4: port@4 {
175 reg = <4>;
176 phy-mode = "internal";
177 status = "disabled";
178
179 fixed-link {
180 speed = <2500>;
181 full-duplex;
182 };
183 };
184
185 mscc_felix_port5: port@5 {
186 reg = <5>;
187 phy-mode = "internal";
188 status = "disabled";
189
190 fixed-link {
191 speed = <1000>;
192 full-duplex;
193 };
194
195 };
196 };
197 };
198
Alex Marginean3be715e2019-07-03 12:11:43 +0300199 enetc6: pci@0,6 {
200 reg = <0x000600 0 0 0 0>;
Alex Marginean44f80342021-01-25 14:23:56 +0200201 status = "disabled";
Alex Marginean3be715e2019-07-03 12:11:43 +0300202 phy-mode = "internal";
203 };
Alex Marginean0d5ed8f2019-06-07 17:03:07 +0300204 };
205
Yuantian Tang4aefa162019-04-10 16:43:33 +0800206 i2c0: i2c@2000000 {
207 compatible = "fsl,vf610-i2c";
208 #address-cells = <1>;
209 #size-cells = <0>;
210 reg = <0x0 0x2000000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100211 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800212 clock-names = "i2c";
213 clocks = <&clockgen 4 0>;
214 status = "disabled";
215 };
216
217 i2c1: i2c@2010000 {
218 compatible = "fsl,vf610-i2c";
219 #address-cells = <1>;
220 #size-cells = <0>;
221 reg = <0x0 0x2010000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100222 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800223 clock-names = "i2c";
224 clocks = <&clockgen 4 0>;
225 status = "disabled";
226 };
227
228 i2c2: i2c@2020000 {
229 compatible = "fsl,vf610-i2c";
230 #address-cells = <1>;
231 #size-cells = <0>;
232 reg = <0x0 0x2020000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100233 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800234 clock-names = "i2c";
235 clocks = <&clockgen 4 0>;
236 status = "disabled";
237 };
238
239 i2c3: i2c@2030000 {
240 compatible = "fsl,vf610-i2c";
241 #address-cells = <1>;
242 #size-cells = <0>;
243 reg = <0x0 0x2030000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100244 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800245 clock-names = "i2c";
246 clocks = <&clockgen 4 0>;
247 status = "disabled";
248 };
249
250 i2c4: i2c@2040000 {
251 compatible = "fsl,vf610-i2c";
252 #address-cells = <1>;
253 #size-cells = <0>;
254 reg = <0x0 0x2040000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100255 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800256 clock-names = "i2c";
257 clocks = <&clockgen 4 0>;
258 status = "disabled";
259 };
260
261 i2c5: i2c@2050000 {
262 compatible = "fsl,vf610-i2c";
263 #address-cells = <1>;
264 #size-cells = <0>;
265 reg = <0x0 0x2050000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100266 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800267 clock-names = "i2c";
268 clocks = <&clockgen 4 0>;
269 status = "disabled";
270 };
271
272 i2c6: i2c@2060000 {
273 compatible = "fsl,vf610-i2c";
274 #address-cells = <1>;
275 #size-cells = <0>;
276 reg = <0x0 0x2060000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100277 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800278 clock-names = "i2c";
279 clocks = <&clockgen 4 0>;
280 status = "disabled";
281 };
282
283 i2c7: i2c@2070000 {
284 compatible = "fsl,vf610-i2c";
285 #address-cells = <1>;
286 #size-cells = <0>;
287 reg = <0x0 0x2070000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100288 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800289 clock-names = "i2c";
290 clocks = <&clockgen 4 0>;
291 status = "disabled";
292 };
293
Yuantian Tangb60dcd42020-03-19 16:48:24 +0800294 lpuart0: serial@2260000 {
295 compatible = "fsl,ls1021a-lpuart";
296 reg = <0x0 0x2260000 0x0 0x1000>;
297 interrupts = <0 232 0x4>;
298 clocks = <&sysclk>;
299 clock-names = "ipg";
300 little-endian;
301 status = "disabled";
302 };
303
304 lpuart1: serial@2270000 {
305 compatible = "fsl,ls1021a-lpuart";
306 reg = <0x0 0x2270000 0x0 0x1000>;
307 interrupts = <0 233 0x4>;
308 clocks = <&sysclk>;
309 clock-names = "ipg";
310 little-endian;
311 status = "disabled";
312 };
313
314 lpuart2: serial@2280000 {
315 compatible = "fsl,ls1021a-lpuart";
316 reg = <0x0 0x2280000 0x0 0x1000>;
317 interrupts = <0 234 0x4>;
318 clocks = <&sysclk>;
319 clock-names = "ipg";
320 little-endian;
321 status = "disabled";
322 };
323
324 lpuart3: serial@2290000 {
325 compatible = "fsl,ls1021a-lpuart";
326 reg = <0x0 0x2290000 0x0 0x1000>;
327 interrupts = <0 235 0x4>;
328 clocks = <&sysclk>;
329 clock-names = "ipg";
330 little-endian;
331 status = "disabled";
332 };
333
334 lpuart4: serial@22a0000 {
335 compatible = "fsl,ls1021a-lpuart";
336 reg = <0x0 0x22a0000 0x0 0x1000>;
337 interrupts = <0 236 0x4>;
338 clocks = <&sysclk>;
339 clock-names = "ipg";
340 little-endian;
341 status = "disabled";
342 };
343
344 lpuart5: serial@22b0000 {
345 compatible = "fsl,ls1021a-lpuart";
346 reg = <0x0 0x22b0000 0x0 0x1000>;
347 interrupts = <0 237 0x4>;
348 clocks = <&sysclk>;
349 clock-names = "ipg";
350 little-endian;
351 status = "disabled";
352 };
353
Yuantian Tang4aefa162019-04-10 16:43:33 +0800354 usb1: usb3@3100000 {
355 compatible = "fsl,layerscape-dwc3";
356 reg = <0x0 0x3100000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100357 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800358 dr_mode = "host";
359 status = "disabled";
360 };
361
362 usb2: usb3@3110000 {
363 compatible = "fsl,layerscape-dwc3";
364 reg = <0x0 0x3110000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100365 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800366 dr_mode = "host";
367 status = "disabled";
368 };
369
370 dspi0: dspi@2100000 {
371 compatible = "fsl,vf610-dspi";
372 #address-cells = <1>;
373 #size-cells = <0>;
374 reg = <0x0 0x2100000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100375 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800376 clock-names = "dspi";
377 clocks = <&clockgen 4 0>;
378 num-cs = <5>;
379 litte-endian;
380 status = "disabled";
381 };
382
383 dspi1: dspi@2110000 {
384 compatible = "fsl,vf610-dspi";
385 #address-cells = <1>;
386 #size-cells = <0>;
387 reg = <0x0 0x2110000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100388 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800389 clock-names = "dspi";
390 clocks = <&clockgen 4 0>;
391 num-cs = <5>;
392 little-endian;
393 status = "disabled";
394 };
395
396 dspi2: dspi@2120000 {
397 compatible = "fsl,vf610-dspi";
398 #address-cells = <1>;
399 #size-cells = <0>;
400 reg = <0x0 0x2120000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100401 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800402 clock-names = "dspi";
403 clocks = <&clockgen 4 0>;
404 num-cs = <5>;
405 little-endian;
406 status = "disabled";
407 };
408
409 esdhc0: esdhc@2140000 {
410 compatible = "fsl,esdhc";
411 reg = <0x0 0x2140000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100412 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800413 big-endian;
414 bus-width = <4>;
415 status = "disabled";
416 };
417
418 esdhc1: esdhc@2150000 {
419 compatible = "fsl,esdhc";
420 reg = <0x0 0x2150000 0x0 0x10000>;
Michael Walle851856c2019-12-18 00:10:00 +0100421 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800422 big-endian;
423 non-removable;
424 bus-width = <4>;
425 status = "disabled";
426 };
427
Biwen Li9c5ae472021-02-05 19:01:50 +0800428 gpio0: gpio@2300000 {
429 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
430 reg = <0x0 0x2300000 0x0 0x10000>;
431 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
432 gpio-controller;
433 #gpio-cells = <2>;
434 interrupt-controller;
435 #interrupt-cells = <2>;
436 little-endian;
437 };
438
439 gpio1: gpio@2310000 {
440 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
441 reg = <0x0 0x2310000 0x0 0x10000>;
442 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
443 gpio-controller;
444 #gpio-cells = <2>;
445 interrupt-controller;
446 #interrupt-cells = <2>;
447 little-endian;
448 };
449
450 gpio2: gpio@2320000 {
451 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
452 reg = <0x0 0x2320000 0x0 0x10000>;
453 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
454 gpio-controller;
455 #gpio-cells = <2>;
456 interrupt-controller;
457 #interrupt-cells = <2>;
458 little-endian;
459 };
460
Yuantian Tang4aefa162019-04-10 16:43:33 +0800461 sata: sata@3200000 {
462 compatible = "fsl,ls1028a-ahci";
Peng Ma933c5e32019-05-23 04:06:48 +0000463 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
464 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
465 reg-names = "sata-base", "ecc-addr";
Michael Walle851856c2019-12-18 00:10:00 +0100466 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tang4aefa162019-04-10 16:43:33 +0800467 status = "disabled";
468 };
Qiang Zhao2a605572019-05-07 03:16:13 +0000469
470 cluster1_core0_watchdog: wdt@c000000 {
471 compatible = "arm,sp805-wdt";
472 reg = <0x0 0xc000000 0x0 0x1000>;
473 };
Michael Wallea81b2e82021-10-13 18:14:03 +0200474
475 soc: soc {
476 compatible = "simple-bus";
477 #address-cells = <2>;
478 #size-cells = <2>;
479 ranges;
Michael Walle179ba3c2021-10-13 18:14:04 +0200480
481 clockgen: clocking@1300000 {
482 compatible = "fsl,ls1028a-clockgen";
483 reg = <0x0 0x1300000 0x0 0xa0000>;
484 #clock-cells = <2>;
485 clocks = <&sysclk>;
486 };
Michael Wallea81b2e82021-10-13 18:14:03 +0200487 };
Yuantian Tang4aefa162019-04-10 16:43:33 +0800488};