blob: c289009ca1526b9b1e8c635102d303146807f79f [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
Alex Marginean062d8142019-06-07 17:03:07 +030046 pcie@1f0000000 {
47 compatible = "pci-host-ecam-generic";
48 /* ECAM bus 0, HW has more space reserved but not populated */
49 bus-range = <0x0 0x0>;
50 reg = <0x01 0xf0000000 0x0 0x100000>;
51 #address-cells = <3>;
52 #size-cells = <2>;
53 device_type = "pci";
54 ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
Alex Margineanb32e9a72019-07-03 12:11:43 +030055 enetc0: pci@0,0 {
56 reg = <0x000000 0 0 0 0>;
57 status = "disabled";
58 };
59 enetc1: pci@0,1 {
60 reg = <0x000100 0 0 0 0>;
61 status = "disabled";
62 };
63 enetc2: pci@0,2 {
64 reg = <0x000200 0 0 0 0>;
Vladimir Olteanbec7d532021-06-29 20:53:14 +030065 status = "disabled";
Alex Margineanb32e9a72019-07-03 12:11:43 +030066 phy-mode = "internal";
Vladimir Oltean9feb6362021-06-29 20:53:13 +030067
68 fixed-link {
69 speed = <2500>;
70 full-duplex;
71 };
Alex Margineanb32e9a72019-07-03 12:11:43 +030072 };
73 mdio0: pci@0,3 {
74 #address-cells=<0>;
75 #size-cells=<1>;
76 reg = <0x000300 0 0 0 0>;
77 status = "disabled";
Vladimir Oltean9feb6362021-06-29 20:53:13 +030078
79 fixed-link {
80 speed = <1000>;
81 full-duplex;
82 };
Alex Margineanb32e9a72019-07-03 12:11:43 +030083 };
Alex Margineancc32fd92021-01-25 14:23:56 +020084
85 mscc_felix: pci@0,5 {
86 reg = <0x000500 0 0 0 0>;
87 status = "disabled";
88
89 ports {
90 #address-cells = <1>;
91 #size-cells = <0>;
92
93 mscc_felix_port0: port@0 {
94 reg = <0>;
95 status = "disabled";
96 };
97
98 mscc_felix_port1: port@1 {
99 reg = <1>;
100 status = "disabled";
101 };
102
103 mscc_felix_port2: port@2 {
104 reg = <2>;
105 status = "disabled";
106 };
107
108 mscc_felix_port3: port@3 {
109 reg = <3>;
110 status = "disabled";
111 };
112
113 mscc_felix_port4: port@4 {
114 reg = <4>;
115 phy-mode = "internal";
116 status = "disabled";
117
118 fixed-link {
119 speed = <2500>;
120 full-duplex;
121 };
122 };
123
124 mscc_felix_port5: port@5 {
125 reg = <5>;
126 phy-mode = "internal";
127 status = "disabled";
128
129 fixed-link {
130 speed = <1000>;
131 full-duplex;
132 };
133
134 };
135 };
136 };
137
Alex Margineanb32e9a72019-07-03 12:11:43 +0300138 enetc6: pci@0,6 {
139 reg = <0x000600 0 0 0 0>;
Alex Margineancc32fd92021-01-25 14:23:56 +0200140 status = "disabled";
Alex Margineanb32e9a72019-07-03 12:11:43 +0300141 phy-mode = "internal";
142 };
Alex Marginean062d8142019-06-07 17:03:07 +0300143 };
144
Michael Wallecd80d5d2021-10-13 18:14:03 +0200145 soc: soc {
146 compatible = "simple-bus";
147 #address-cells = <2>;
148 #size-cells = <2>;
149 ranges;
Michael Walle9b38ba52021-10-13 18:14:04 +0200150
151 clockgen: clocking@1300000 {
152 compatible = "fsl,ls1028a-clockgen";
153 reg = <0x0 0x1300000 0x0 0xa0000>;
154 #clock-cells = <2>;
155 clocks = <&sysclk>;
156 };
Michael Wallefb19c6b2021-10-13 18:14:05 +0200157
158 i2c0: i2c@2000000 {
159 compatible = "fsl,vf610-i2c";
160 #address-cells = <1>;
161 #size-cells = <0>;
162 reg = <0x0 0x2000000 0x0 0x10000>;
163 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
164 clock-names = "i2c";
165 clocks = <&clockgen 4 0>;
166 status = "disabled";
167 };
168
169 i2c1: i2c@2010000 {
170 compatible = "fsl,vf610-i2c";
171 #address-cells = <1>;
172 #size-cells = <0>;
173 reg = <0x0 0x2010000 0x0 0x10000>;
174 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
175 clock-names = "i2c";
176 clocks = <&clockgen 4 0>;
177 status = "disabled";
178 };
179
180 i2c2: i2c@2020000 {
181 compatible = "fsl,vf610-i2c";
182 #address-cells = <1>;
183 #size-cells = <0>;
184 reg = <0x0 0x2020000 0x0 0x10000>;
185 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
186 clock-names = "i2c";
187 clocks = <&clockgen 4 0>;
188 status = "disabled";
189 };
190
191 i2c3: i2c@2030000 {
192 compatible = "fsl,vf610-i2c";
193 #address-cells = <1>;
194 #size-cells = <0>;
195 reg = <0x0 0x2030000 0x0 0x10000>;
196 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
197 clock-names = "i2c";
198 clocks = <&clockgen 4 0>;
199 status = "disabled";
200 };
201
202 i2c4: i2c@2040000 {
203 compatible = "fsl,vf610-i2c";
204 #address-cells = <1>;
205 #size-cells = <0>;
206 reg = <0x0 0x2040000 0x0 0x10000>;
207 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
208 clock-names = "i2c";
209 clocks = <&clockgen 4 0>;
210 status = "disabled";
211 };
212
213 i2c5: i2c@2050000 {
214 compatible = "fsl,vf610-i2c";
215 #address-cells = <1>;
216 #size-cells = <0>;
217 reg = <0x0 0x2050000 0x0 0x10000>;
218 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
219 clock-names = "i2c";
220 clocks = <&clockgen 4 0>;
221 status = "disabled";
222 };
223
224 i2c6: i2c@2060000 {
225 compatible = "fsl,vf610-i2c";
226 #address-cells = <1>;
227 #size-cells = <0>;
228 reg = <0x0 0x2060000 0x0 0x10000>;
229 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
230 clock-names = "i2c";
231 clocks = <&clockgen 4 0>;
232 status = "disabled";
233 };
234
235 i2c7: i2c@2070000 {
236 compatible = "fsl,vf610-i2c";
237 #address-cells = <1>;
238 #size-cells = <0>;
239 reg = <0x0 0x2070000 0x0 0x10000>;
240 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
241 clock-names = "i2c";
242 clocks = <&clockgen 4 0>;
243 status = "disabled";
244 };
Michael Wallef02f2f92021-10-13 18:14:06 +0200245
246 fspi: flexspi@20c0000 {
247 compatible = "nxp,lx2160a-fspi";
248 #address-cells = <1>;
249 #size-cells = <0>;
250 reg = <0x0 0x20c0000 0x0 0x10000>,
251 <0x0 0x20000000 0x0 0x10000000>;
252 reg-names = "fspi_base", "fspi_mmap";
253 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
254 clock-names = "fspi_en", "fspi";
255 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
256 status = "disabled";
257 };
Michael Wallefbddc272021-10-13 18:14:07 +0200258
259 dspi0: dspi@2100000 {
260 compatible = "fsl,vf610-dspi";
261 #address-cells = <1>;
262 #size-cells = <0>;
263 reg = <0x0 0x2100000 0x0 0x10000>;
264 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
265 clock-names = "dspi";
266 clocks = <&clockgen 4 0>;
267 num-cs = <5>;
268 litte-endian;
269 status = "disabled";
270 };
271
272 dspi1: dspi@2110000 {
273 compatible = "fsl,vf610-dspi";
274 #address-cells = <1>;
275 #size-cells = <0>;
276 reg = <0x0 0x2110000 0x0 0x10000>;
277 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
278 clock-names = "dspi";
279 clocks = <&clockgen 4 0>;
280 num-cs = <5>;
281 little-endian;
282 status = "disabled";
283 };
284
285 dspi2: dspi@2120000 {
286 compatible = "fsl,vf610-dspi";
287 #address-cells = <1>;
288 #size-cells = <0>;
289 reg = <0x0 0x2120000 0x0 0x10000>;
290 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
291 clock-names = "dspi";
292 clocks = <&clockgen 4 0>;
293 num-cs = <5>;
294 little-endian;
295 status = "disabled";
296 };
297
298 esdhc0: esdhc@2140000 {
299 compatible = "fsl,esdhc";
300 reg = <0x0 0x2140000 0x0 0x10000>;
301 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
302 big-endian;
303 bus-width = <4>;
304 status = "disabled";
305 };
306
307 esdhc1: esdhc@2150000 {
308 compatible = "fsl,esdhc";
309 reg = <0x0 0x2150000 0x0 0x10000>;
310 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
311 big-endian;
312 non-removable;
313 bus-width = <4>;
314 status = "disabled";
315 };
Michael Walle44800f22021-10-13 18:14:08 +0200316
317 serial0: serial@21c0500 {
318 device_type = "serial";
319 compatible = "fsl,ns16550", "ns16550a";
320 reg = <0x0 0x21c0500 0x0 0x100>;
321 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
322 status = "disabled";
323 };
324
325 serial1: serial@21c0600 {
326 device_type = "serial";
327 compatible = "fsl,ns16550", "ns16550a";
328 reg = <0x0 0x21c0600 0x0 0x100>;
329 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
330 status = "disabled";
331 };
Michael Walleebcd6d72021-10-13 18:14:09 +0200332
333 lpuart0: serial@2260000 {
334 compatible = "fsl,ls1021a-lpuart";
335 reg = <0x0 0x2260000 0x0 0x1000>;
336 interrupts = <0 232 0x4>;
337 clocks = <&sysclk>;
338 clock-names = "ipg";
339 little-endian;
340 status = "disabled";
341 };
342
343 lpuart1: serial@2270000 {
344 compatible = "fsl,ls1021a-lpuart";
345 reg = <0x0 0x2270000 0x0 0x1000>;
346 interrupts = <0 233 0x4>;
347 clocks = <&sysclk>;
348 clock-names = "ipg";
349 little-endian;
350 status = "disabled";
351 };
352
353 lpuart2: serial@2280000 {
354 compatible = "fsl,ls1021a-lpuart";
355 reg = <0x0 0x2280000 0x0 0x1000>;
356 interrupts = <0 234 0x4>;
357 clocks = <&sysclk>;
358 clock-names = "ipg";
359 little-endian;
360 status = "disabled";
361 };
362
363 lpuart3: serial@2290000 {
364 compatible = "fsl,ls1021a-lpuart";
365 reg = <0x0 0x2290000 0x0 0x1000>;
366 interrupts = <0 235 0x4>;
367 clocks = <&sysclk>;
368 clock-names = "ipg";
369 little-endian;
370 status = "disabled";
371 };
372
373 lpuart4: serial@22a0000 {
374 compatible = "fsl,ls1021a-lpuart";
375 reg = <0x0 0x22a0000 0x0 0x1000>;
376 interrupts = <0 236 0x4>;
377 clocks = <&sysclk>;
378 clock-names = "ipg";
379 little-endian;
380 status = "disabled";
381 };
382
383 lpuart5: serial@22b0000 {
384 compatible = "fsl,ls1021a-lpuart";
385 reg = <0x0 0x22b0000 0x0 0x1000>;
386 interrupts = <0 237 0x4>;
387 clocks = <&sysclk>;
388 clock-names = "ipg";
389 little-endian;
390 status = "disabled";
391 };
Michael Walle65da65f2021-10-13 18:14:10 +0200392
393 gpio0: gpio@2300000 {
394 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
395 reg = <0x0 0x2300000 0x0 0x10000>;
396 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
397 gpio-controller;
398 #gpio-cells = <2>;
399 interrupt-controller;
400 #interrupt-cells = <2>;
401 little-endian;
402 };
403
404 gpio1: gpio@2310000 {
405 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
406 reg = <0x0 0x2310000 0x0 0x10000>;
407 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
408 gpio-controller;
409 #gpio-cells = <2>;
410 interrupt-controller;
411 #interrupt-cells = <2>;
412 little-endian;
413 };
414
415 gpio2: gpio@2320000 {
416 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
417 reg = <0x0 0x2320000 0x0 0x10000>;
418 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
419 gpio-controller;
420 #gpio-cells = <2>;
421 interrupt-controller;
422 #interrupt-cells = <2>;
423 little-endian;
424 };
Michael Walle659fafc2021-10-13 18:14:11 +0200425
426 usb1: usb3@3100000 {
427 compatible = "fsl,layerscape-dwc3";
428 reg = <0x0 0x3100000 0x0 0x10000>;
429 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
430 dr_mode = "host";
431 status = "disabled";
432 };
433
434 usb2: usb3@3110000 {
435 compatible = "fsl,layerscape-dwc3";
436 reg = <0x0 0x3110000 0x0 0x10000>;
437 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
438 dr_mode = "host";
439 status = "disabled";
440 };
441
442 sata: sata@3200000 {
443 compatible = "fsl,ls1028a-ahci";
444 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
445 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
446 reg-names = "sata-base", "ecc-addr";
447 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
448 status = "disabled";
449 };
Michael Walle3c5c4772021-10-13 18:14:12 +0200450
451 pcie1: pcie@3400000 {
452 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
453 reg = <0x00 0x03400000 0x0 0x80000
454 0x00 0x03480000 0x0 0x40000 /* lut registers */
455 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
456 0x80 0x00000000 0x0 0x20000>; /* configuration space */
457 reg-names = "dbi", "lut", "ctrl", "config";
458 #address-cells = <3>;
459 #size-cells = <2>;
460 device_type = "pci";
461 num-lanes = <4>;
462 bus-range = <0x0 0xff>;
463 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
464 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
465 };
466
467 pcie2: pcie@3500000 {
468 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
469 reg = <0x00 0x03500000 0x0 0x80000
470 0x00 0x03580000 0x0 0x40000 /* lut registers */
471 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
472 0x88 0x00000000 0x0 0x20000>; /* configuration space */
473 reg-names = "dbi", "lut", "ctrl", "config";
474 #address-cells = <3>;
475 #size-cells = <2>;
476 device_type = "pci";
477 num-lanes = <4>;
478 bus-range = <0x0 0xff>;
479 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
480 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
481 };
Michael Walle575205c2021-10-13 18:14:13 +0200482
483 cluster1_core0_watchdog: wdt@c000000 {
484 compatible = "arm,sp805-wdt";
485 reg = <0x0 0xc000000 0x0 0x1000>;
486 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200487 };
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800488};