blob: 53b052ed32710e786ef602e2aada1ae7b029a7d3 [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
24 clockgen: clocking@1300000 {
25 compatible = "fsl,ls1028a-clockgen";
26 reg = <0x0 0x1300000 0x0 0xa0000>;
27 #clock-cells = <2>;
28 clocks = <&sysclk>;
29 };
30
31 memory@01080000 {
32 device_type = "memory";
33 reg = <0x00000000 0x01080000 0 0x80000000>;
34 /* DRAM space - 1, size : 2 GB DRAM */
35 };
36
37 gic: interrupt-controller@6000000 {
38 compatible = "arm,gic-v3";
39 reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
40 <0x0 0x06040000 0 0x40000>;
41 #interrupt-cells = <3>;
42 interrupt-controller;
Michael Walle3ffe0902019-12-18 00:10:00 +010043 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
44 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080045 };
46
47 timer {
48 compatible = "arm,armv8-timer";
Michael Walle3ffe0902019-12-18 00:10:00 +010049 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
50 IRQ_TYPE_LEVEL_LOW)>,
51 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
52 IRQ_TYPE_LEVEL_LOW)>,
53 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
54 IRQ_TYPE_LEVEL_LOW)>,
55 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
56 IRQ_TYPE_LEVEL_LOW)>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080057 };
58
Michael Walle922ac0f2019-12-18 00:09:59 +010059 fspi: flexspi@20c0000 {
60 compatible = "nxp,lx2160a-fspi";
Yuantian Tangd4ad1112019-04-10 16:43:33 +080061 #address-cells = <1>;
62 #size-cells = <0>;
Michael Walle922ac0f2019-12-18 00:09:59 +010063 reg = <0x0 0x20c0000 0x0 0x10000>,
64 <0x0 0x20000000 0x0 0x10000000>;
65 reg-names = "fspi_base", "fspi_mmap";
66 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
67 clock-names = "fspi_en", "fspi";
Michael Walle3ffe0902019-12-18 00:10:00 +010068 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080069 status = "disabled";
70 };
71
72 serial0: serial@21c0500 {
73 device_type = "serial";
74 compatible = "fsl,ns16550", "ns16550a";
75 reg = <0x0 0x21c0500 0x0 0x100>;
Michael Walle3ffe0902019-12-18 00:10:00 +010076 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080077 status = "disabled";
78 };
79
80 serial1: serial@21c0600 {
81 device_type = "serial";
82 compatible = "fsl,ns16550", "ns16550a";
83 reg = <0x0 0x21c0600 0x0 0x100>;
Michael Walle3ffe0902019-12-18 00:10:00 +010084 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +080085 status = "disabled";
86 };
87
Wasim Khan4c72d2d2020-09-28 16:26:12 +053088 pcie1: pcie@3400000 {
Yuantian Tangd4ad1112019-04-10 16:43:33 +080089 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
90 reg = <0x00 0x03400000 0x0 0x80000
91 0x00 0x03480000 0x0 0x40000 /* lut registers */
92 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
93 0x80 0x00000000 0x0 0x20000>; /* configuration space */
94 reg-names = "dbi", "lut", "ctrl", "config";
95 #address-cells = <3>;
96 #size-cells = <2>;
97 device_type = "pci";
98 num-lanes = <4>;
99 bus-range = <0x0 0xff>;
100 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
101 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
102 };
103
Wasim Khan4c72d2d2020-09-28 16:26:12 +0530104 pcie2: pcie@3500000 {
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800105 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
106 reg = <0x00 0x03500000 0x0 0x80000
107 0x00 0x03580000 0x0 0x40000 /* lut registers */
108 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
109 0x88 0x00000000 0x0 0x20000>; /* configuration space */
110 reg-names = "dbi", "lut", "ctrl", "config";
111 #address-cells = <3>;
112 #size-cells = <2>;
113 device_type = "pci";
114 num-lanes = <4>;
115 bus-range = <0x0 0xff>;
116 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
117 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
118 };
119
Alex Marginean062d8142019-06-07 17:03:07 +0300120 pcie@1f0000000 {
121 compatible = "pci-host-ecam-generic";
122 /* ECAM bus 0, HW has more space reserved but not populated */
123 bus-range = <0x0 0x0>;
124 reg = <0x01 0xf0000000 0x0 0x100000>;
125 #address-cells = <3>;
126 #size-cells = <2>;
127 device_type = "pci";
128 ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
Alex Margineanb32e9a72019-07-03 12:11:43 +0300129 enetc0: pci@0,0 {
130 reg = <0x000000 0 0 0 0>;
131 status = "disabled";
132 };
133 enetc1: pci@0,1 {
134 reg = <0x000100 0 0 0 0>;
135 status = "disabled";
136 };
137 enetc2: pci@0,2 {
138 reg = <0x000200 0 0 0 0>;
Vladimir Olteanbec7d532021-06-29 20:53:14 +0300139 status = "disabled";
Alex Margineanb32e9a72019-07-03 12:11:43 +0300140 phy-mode = "internal";
Vladimir Oltean9feb6362021-06-29 20:53:13 +0300141
142 fixed-link {
143 speed = <2500>;
144 full-duplex;
145 };
Alex Margineanb32e9a72019-07-03 12:11:43 +0300146 };
147 mdio0: pci@0,3 {
148 #address-cells=<0>;
149 #size-cells=<1>;
150 reg = <0x000300 0 0 0 0>;
151 status = "disabled";
Vladimir Oltean9feb6362021-06-29 20:53:13 +0300152
153 fixed-link {
154 speed = <1000>;
155 full-duplex;
156 };
Alex Margineanb32e9a72019-07-03 12:11:43 +0300157 };
Alex Margineancc32fd92021-01-25 14:23:56 +0200158
159 mscc_felix: pci@0,5 {
160 reg = <0x000500 0 0 0 0>;
161 status = "disabled";
162
163 ports {
164 #address-cells = <1>;
165 #size-cells = <0>;
166
167 mscc_felix_port0: port@0 {
168 reg = <0>;
169 status = "disabled";
170 };
171
172 mscc_felix_port1: port@1 {
173 reg = <1>;
174 status = "disabled";
175 };
176
177 mscc_felix_port2: port@2 {
178 reg = <2>;
179 status = "disabled";
180 };
181
182 mscc_felix_port3: port@3 {
183 reg = <3>;
184 status = "disabled";
185 };
186
187 mscc_felix_port4: port@4 {
188 reg = <4>;
189 phy-mode = "internal";
190 status = "disabled";
191
192 fixed-link {
193 speed = <2500>;
194 full-duplex;
195 };
196 };
197
198 mscc_felix_port5: port@5 {
199 reg = <5>;
200 phy-mode = "internal";
201 status = "disabled";
202
203 fixed-link {
204 speed = <1000>;
205 full-duplex;
206 };
207
208 };
209 };
210 };
211
Alex Margineanb32e9a72019-07-03 12:11:43 +0300212 enetc6: pci@0,6 {
213 reg = <0x000600 0 0 0 0>;
Alex Margineancc32fd92021-01-25 14:23:56 +0200214 status = "disabled";
Alex Margineanb32e9a72019-07-03 12:11:43 +0300215 phy-mode = "internal";
216 };
Alex Marginean062d8142019-06-07 17:03:07 +0300217 };
218
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800219 i2c0: i2c@2000000 {
220 compatible = "fsl,vf610-i2c";
221 #address-cells = <1>;
222 #size-cells = <0>;
223 reg = <0x0 0x2000000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100224 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800225 clock-names = "i2c";
226 clocks = <&clockgen 4 0>;
227 status = "disabled";
228 };
229
230 i2c1: i2c@2010000 {
231 compatible = "fsl,vf610-i2c";
232 #address-cells = <1>;
233 #size-cells = <0>;
234 reg = <0x0 0x2010000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100235 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800236 clock-names = "i2c";
237 clocks = <&clockgen 4 0>;
238 status = "disabled";
239 };
240
241 i2c2: i2c@2020000 {
242 compatible = "fsl,vf610-i2c";
243 #address-cells = <1>;
244 #size-cells = <0>;
245 reg = <0x0 0x2020000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100246 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800247 clock-names = "i2c";
248 clocks = <&clockgen 4 0>;
249 status = "disabled";
250 };
251
252 i2c3: i2c@2030000 {
253 compatible = "fsl,vf610-i2c";
254 #address-cells = <1>;
255 #size-cells = <0>;
256 reg = <0x0 0x2030000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100257 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800258 clock-names = "i2c";
259 clocks = <&clockgen 4 0>;
260 status = "disabled";
261 };
262
263 i2c4: i2c@2040000 {
264 compatible = "fsl,vf610-i2c";
265 #address-cells = <1>;
266 #size-cells = <0>;
267 reg = <0x0 0x2040000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100268 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800269 clock-names = "i2c";
270 clocks = <&clockgen 4 0>;
271 status = "disabled";
272 };
273
274 i2c5: i2c@2050000 {
275 compatible = "fsl,vf610-i2c";
276 #address-cells = <1>;
277 #size-cells = <0>;
278 reg = <0x0 0x2050000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100279 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800280 clock-names = "i2c";
281 clocks = <&clockgen 4 0>;
282 status = "disabled";
283 };
284
285 i2c6: i2c@2060000 {
286 compatible = "fsl,vf610-i2c";
287 #address-cells = <1>;
288 #size-cells = <0>;
289 reg = <0x0 0x2060000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100290 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800291 clock-names = "i2c";
292 clocks = <&clockgen 4 0>;
293 status = "disabled";
294 };
295
296 i2c7: i2c@2070000 {
297 compatible = "fsl,vf610-i2c";
298 #address-cells = <1>;
299 #size-cells = <0>;
300 reg = <0x0 0x2070000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100301 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800302 clock-names = "i2c";
303 clocks = <&clockgen 4 0>;
304 status = "disabled";
305 };
306
Yuantian Tang4659eb22020-03-19 16:48:24 +0800307 lpuart0: serial@2260000 {
308 compatible = "fsl,ls1021a-lpuart";
309 reg = <0x0 0x2260000 0x0 0x1000>;
310 interrupts = <0 232 0x4>;
311 clocks = <&sysclk>;
312 clock-names = "ipg";
313 little-endian;
314 status = "disabled";
315 };
316
317 lpuart1: serial@2270000 {
318 compatible = "fsl,ls1021a-lpuart";
319 reg = <0x0 0x2270000 0x0 0x1000>;
320 interrupts = <0 233 0x4>;
321 clocks = <&sysclk>;
322 clock-names = "ipg";
323 little-endian;
324 status = "disabled";
325 };
326
327 lpuart2: serial@2280000 {
328 compatible = "fsl,ls1021a-lpuart";
329 reg = <0x0 0x2280000 0x0 0x1000>;
330 interrupts = <0 234 0x4>;
331 clocks = <&sysclk>;
332 clock-names = "ipg";
333 little-endian;
334 status = "disabled";
335 };
336
337 lpuart3: serial@2290000 {
338 compatible = "fsl,ls1021a-lpuart";
339 reg = <0x0 0x2290000 0x0 0x1000>;
340 interrupts = <0 235 0x4>;
341 clocks = <&sysclk>;
342 clock-names = "ipg";
343 little-endian;
344 status = "disabled";
345 };
346
347 lpuart4: serial@22a0000 {
348 compatible = "fsl,ls1021a-lpuart";
349 reg = <0x0 0x22a0000 0x0 0x1000>;
350 interrupts = <0 236 0x4>;
351 clocks = <&sysclk>;
352 clock-names = "ipg";
353 little-endian;
354 status = "disabled";
355 };
356
357 lpuart5: serial@22b0000 {
358 compatible = "fsl,ls1021a-lpuart";
359 reg = <0x0 0x22b0000 0x0 0x1000>;
360 interrupts = <0 237 0x4>;
361 clocks = <&sysclk>;
362 clock-names = "ipg";
363 little-endian;
364 status = "disabled";
365 };
366
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800367 usb1: usb3@3100000 {
368 compatible = "fsl,layerscape-dwc3";
369 reg = <0x0 0x3100000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100370 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800371 dr_mode = "host";
372 status = "disabled";
373 };
374
375 usb2: usb3@3110000 {
376 compatible = "fsl,layerscape-dwc3";
377 reg = <0x0 0x3110000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100378 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800379 dr_mode = "host";
380 status = "disabled";
381 };
382
383 dspi0: dspi@2100000 {
384 compatible = "fsl,vf610-dspi";
385 #address-cells = <1>;
386 #size-cells = <0>;
387 reg = <0x0 0x2100000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100388 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800389 clock-names = "dspi";
390 clocks = <&clockgen 4 0>;
391 num-cs = <5>;
392 litte-endian;
393 status = "disabled";
394 };
395
396 dspi1: dspi@2110000 {
397 compatible = "fsl,vf610-dspi";
398 #address-cells = <1>;
399 #size-cells = <0>;
400 reg = <0x0 0x2110000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100401 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-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 dspi2: dspi@2120000 {
410 compatible = "fsl,vf610-dspi";
411 #address-cells = <1>;
412 #size-cells = <0>;
413 reg = <0x0 0x2120000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100414 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800415 clock-names = "dspi";
416 clocks = <&clockgen 4 0>;
417 num-cs = <5>;
418 little-endian;
419 status = "disabled";
420 };
421
422 esdhc0: esdhc@2140000 {
423 compatible = "fsl,esdhc";
424 reg = <0x0 0x2140000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100425 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800426 big-endian;
427 bus-width = <4>;
428 status = "disabled";
429 };
430
431 esdhc1: esdhc@2150000 {
432 compatible = "fsl,esdhc";
433 reg = <0x0 0x2150000 0x0 0x10000>;
Michael Walle3ffe0902019-12-18 00:10:00 +0100434 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800435 big-endian;
436 non-removable;
437 bus-width = <4>;
438 status = "disabled";
439 };
440
Biwen Lif9428d72021-02-05 19:01:50 +0800441 gpio0: gpio@2300000 {
442 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
443 reg = <0x0 0x2300000 0x0 0x10000>;
444 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
445 gpio-controller;
446 #gpio-cells = <2>;
447 interrupt-controller;
448 #interrupt-cells = <2>;
449 little-endian;
450 };
451
452 gpio1: gpio@2310000 {
453 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
454 reg = <0x0 0x2310000 0x0 0x10000>;
455 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
456 gpio-controller;
457 #gpio-cells = <2>;
458 interrupt-controller;
459 #interrupt-cells = <2>;
460 little-endian;
461 };
462
463 gpio2: gpio@2320000 {
464 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
465 reg = <0x0 0x2320000 0x0 0x10000>;
466 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
467 gpio-controller;
468 #gpio-cells = <2>;
469 interrupt-controller;
470 #interrupt-cells = <2>;
471 little-endian;
472 };
473
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800474 sata: sata@3200000 {
475 compatible = "fsl,ls1028a-ahci";
Peng Ma91f54e72019-05-23 04:06:48 +0000476 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
477 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
478 reg-names = "sata-base", "ecc-addr";
Michael Walle3ffe0902019-12-18 00:10:00 +0100479 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800480 status = "disabled";
481 };
Qiang Zhao7e817c72019-05-07 03:16:13 +0000482
483 cluster1_core0_watchdog: wdt@c000000 {
484 compatible = "arm,sp805-wdt";
485 reg = <0x0 0xc000000 0x0 0x1000>;
486 };
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800487};