blob: d0f90941b902e6142106cef6fb1e0d1e1b2131e2 [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
Qiang Zhao7e817c72019-05-07 03:16:13 +0000145 cluster1_core0_watchdog: wdt@c000000 {
146 compatible = "arm,sp805-wdt";
147 reg = <0x0 0xc000000 0x0 0x1000>;
148 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200149
150 soc: soc {
151 compatible = "simple-bus";
152 #address-cells = <2>;
153 #size-cells = <2>;
154 ranges;
Michael Walle9b38ba52021-10-13 18:14:04 +0200155
156 clockgen: clocking@1300000 {
157 compatible = "fsl,ls1028a-clockgen";
158 reg = <0x0 0x1300000 0x0 0xa0000>;
159 #clock-cells = <2>;
160 clocks = <&sysclk>;
161 };
Michael Wallefb19c6b2021-10-13 18:14:05 +0200162
163 i2c0: i2c@2000000 {
164 compatible = "fsl,vf610-i2c";
165 #address-cells = <1>;
166 #size-cells = <0>;
167 reg = <0x0 0x2000000 0x0 0x10000>;
168 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
169 clock-names = "i2c";
170 clocks = <&clockgen 4 0>;
171 status = "disabled";
172 };
173
174 i2c1: i2c@2010000 {
175 compatible = "fsl,vf610-i2c";
176 #address-cells = <1>;
177 #size-cells = <0>;
178 reg = <0x0 0x2010000 0x0 0x10000>;
179 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
180 clock-names = "i2c";
181 clocks = <&clockgen 4 0>;
182 status = "disabled";
183 };
184
185 i2c2: i2c@2020000 {
186 compatible = "fsl,vf610-i2c";
187 #address-cells = <1>;
188 #size-cells = <0>;
189 reg = <0x0 0x2020000 0x0 0x10000>;
190 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
191 clock-names = "i2c";
192 clocks = <&clockgen 4 0>;
193 status = "disabled";
194 };
195
196 i2c3: i2c@2030000 {
197 compatible = "fsl,vf610-i2c";
198 #address-cells = <1>;
199 #size-cells = <0>;
200 reg = <0x0 0x2030000 0x0 0x10000>;
201 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
202 clock-names = "i2c";
203 clocks = <&clockgen 4 0>;
204 status = "disabled";
205 };
206
207 i2c4: i2c@2040000 {
208 compatible = "fsl,vf610-i2c";
209 #address-cells = <1>;
210 #size-cells = <0>;
211 reg = <0x0 0x2040000 0x0 0x10000>;
212 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
213 clock-names = "i2c";
214 clocks = <&clockgen 4 0>;
215 status = "disabled";
216 };
217
218 i2c5: i2c@2050000 {
219 compatible = "fsl,vf610-i2c";
220 #address-cells = <1>;
221 #size-cells = <0>;
222 reg = <0x0 0x2050000 0x0 0x10000>;
223 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
224 clock-names = "i2c";
225 clocks = <&clockgen 4 0>;
226 status = "disabled";
227 };
228
229 i2c6: i2c@2060000 {
230 compatible = "fsl,vf610-i2c";
231 #address-cells = <1>;
232 #size-cells = <0>;
233 reg = <0x0 0x2060000 0x0 0x10000>;
234 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
235 clock-names = "i2c";
236 clocks = <&clockgen 4 0>;
237 status = "disabled";
238 };
239
240 i2c7: i2c@2070000 {
241 compatible = "fsl,vf610-i2c";
242 #address-cells = <1>;
243 #size-cells = <0>;
244 reg = <0x0 0x2070000 0x0 0x10000>;
245 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
246 clock-names = "i2c";
247 clocks = <&clockgen 4 0>;
248 status = "disabled";
249 };
Michael Wallef02f2f92021-10-13 18:14:06 +0200250
251 fspi: flexspi@20c0000 {
252 compatible = "nxp,lx2160a-fspi";
253 #address-cells = <1>;
254 #size-cells = <0>;
255 reg = <0x0 0x20c0000 0x0 0x10000>,
256 <0x0 0x20000000 0x0 0x10000000>;
257 reg-names = "fspi_base", "fspi_mmap";
258 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
259 clock-names = "fspi_en", "fspi";
260 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
261 status = "disabled";
262 };
Michael Wallefbddc272021-10-13 18:14:07 +0200263
264 dspi0: dspi@2100000 {
265 compatible = "fsl,vf610-dspi";
266 #address-cells = <1>;
267 #size-cells = <0>;
268 reg = <0x0 0x2100000 0x0 0x10000>;
269 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
270 clock-names = "dspi";
271 clocks = <&clockgen 4 0>;
272 num-cs = <5>;
273 litte-endian;
274 status = "disabled";
275 };
276
277 dspi1: dspi@2110000 {
278 compatible = "fsl,vf610-dspi";
279 #address-cells = <1>;
280 #size-cells = <0>;
281 reg = <0x0 0x2110000 0x0 0x10000>;
282 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
283 clock-names = "dspi";
284 clocks = <&clockgen 4 0>;
285 num-cs = <5>;
286 little-endian;
287 status = "disabled";
288 };
289
290 dspi2: dspi@2120000 {
291 compatible = "fsl,vf610-dspi";
292 #address-cells = <1>;
293 #size-cells = <0>;
294 reg = <0x0 0x2120000 0x0 0x10000>;
295 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
296 clock-names = "dspi";
297 clocks = <&clockgen 4 0>;
298 num-cs = <5>;
299 little-endian;
300 status = "disabled";
301 };
302
303 esdhc0: esdhc@2140000 {
304 compatible = "fsl,esdhc";
305 reg = <0x0 0x2140000 0x0 0x10000>;
306 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
307 big-endian;
308 bus-width = <4>;
309 status = "disabled";
310 };
311
312 esdhc1: esdhc@2150000 {
313 compatible = "fsl,esdhc";
314 reg = <0x0 0x2150000 0x0 0x10000>;
315 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
316 big-endian;
317 non-removable;
318 bus-width = <4>;
319 status = "disabled";
320 };
Michael Walle44800f22021-10-13 18:14:08 +0200321
322 serial0: serial@21c0500 {
323 device_type = "serial";
324 compatible = "fsl,ns16550", "ns16550a";
325 reg = <0x0 0x21c0500 0x0 0x100>;
326 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
327 status = "disabled";
328 };
329
330 serial1: serial@21c0600 {
331 device_type = "serial";
332 compatible = "fsl,ns16550", "ns16550a";
333 reg = <0x0 0x21c0600 0x0 0x100>;
334 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
335 status = "disabled";
336 };
Michael Walleebcd6d72021-10-13 18:14:09 +0200337
338 lpuart0: serial@2260000 {
339 compatible = "fsl,ls1021a-lpuart";
340 reg = <0x0 0x2260000 0x0 0x1000>;
341 interrupts = <0 232 0x4>;
342 clocks = <&sysclk>;
343 clock-names = "ipg";
344 little-endian;
345 status = "disabled";
346 };
347
348 lpuart1: serial@2270000 {
349 compatible = "fsl,ls1021a-lpuart";
350 reg = <0x0 0x2270000 0x0 0x1000>;
351 interrupts = <0 233 0x4>;
352 clocks = <&sysclk>;
353 clock-names = "ipg";
354 little-endian;
355 status = "disabled";
356 };
357
358 lpuart2: serial@2280000 {
359 compatible = "fsl,ls1021a-lpuart";
360 reg = <0x0 0x2280000 0x0 0x1000>;
361 interrupts = <0 234 0x4>;
362 clocks = <&sysclk>;
363 clock-names = "ipg";
364 little-endian;
365 status = "disabled";
366 };
367
368 lpuart3: serial@2290000 {
369 compatible = "fsl,ls1021a-lpuart";
370 reg = <0x0 0x2290000 0x0 0x1000>;
371 interrupts = <0 235 0x4>;
372 clocks = <&sysclk>;
373 clock-names = "ipg";
374 little-endian;
375 status = "disabled";
376 };
377
378 lpuart4: serial@22a0000 {
379 compatible = "fsl,ls1021a-lpuart";
380 reg = <0x0 0x22a0000 0x0 0x1000>;
381 interrupts = <0 236 0x4>;
382 clocks = <&sysclk>;
383 clock-names = "ipg";
384 little-endian;
385 status = "disabled";
386 };
387
388 lpuart5: serial@22b0000 {
389 compatible = "fsl,ls1021a-lpuart";
390 reg = <0x0 0x22b0000 0x0 0x1000>;
391 interrupts = <0 237 0x4>;
392 clocks = <&sysclk>;
393 clock-names = "ipg";
394 little-endian;
395 status = "disabled";
396 };
Michael Walle65da65f2021-10-13 18:14:10 +0200397
398 gpio0: gpio@2300000 {
399 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
400 reg = <0x0 0x2300000 0x0 0x10000>;
401 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
402 gpio-controller;
403 #gpio-cells = <2>;
404 interrupt-controller;
405 #interrupt-cells = <2>;
406 little-endian;
407 };
408
409 gpio1: gpio@2310000 {
410 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
411 reg = <0x0 0x2310000 0x0 0x10000>;
412 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
413 gpio-controller;
414 #gpio-cells = <2>;
415 interrupt-controller;
416 #interrupt-cells = <2>;
417 little-endian;
418 };
419
420 gpio2: gpio@2320000 {
421 compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
422 reg = <0x0 0x2320000 0x0 0x10000>;
423 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
424 gpio-controller;
425 #gpio-cells = <2>;
426 interrupt-controller;
427 #interrupt-cells = <2>;
428 little-endian;
429 };
Michael Walle659fafc2021-10-13 18:14:11 +0200430
431 usb1: usb3@3100000 {
432 compatible = "fsl,layerscape-dwc3";
433 reg = <0x0 0x3100000 0x0 0x10000>;
434 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
435 dr_mode = "host";
436 status = "disabled";
437 };
438
439 usb2: usb3@3110000 {
440 compatible = "fsl,layerscape-dwc3";
441 reg = <0x0 0x3110000 0x0 0x10000>;
442 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
443 dr_mode = "host";
444 status = "disabled";
445 };
446
447 sata: sata@3200000 {
448 compatible = "fsl,ls1028a-ahci";
449 reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */
450 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/
451 reg-names = "sata-base", "ecc-addr";
452 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
453 status = "disabled";
454 };
Michael Walle3c5c4772021-10-13 18:14:12 +0200455
456 pcie1: pcie@3400000 {
457 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
458 reg = <0x00 0x03400000 0x0 0x80000
459 0x00 0x03480000 0x0 0x40000 /* lut registers */
460 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
461 0x80 0x00000000 0x0 0x20000>; /* configuration space */
462 reg-names = "dbi", "lut", "ctrl", "config";
463 #address-cells = <3>;
464 #size-cells = <2>;
465 device_type = "pci";
466 num-lanes = <4>;
467 bus-range = <0x0 0xff>;
468 ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */
469 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
470 };
471
472 pcie2: pcie@3500000 {
473 compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie";
474 reg = <0x00 0x03500000 0x0 0x80000
475 0x00 0x03580000 0x0 0x40000 /* lut registers */
476 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
477 0x88 0x00000000 0x0 0x20000>; /* configuration space */
478 reg-names = "dbi", "lut", "ctrl", "config";
479 #address-cells = <3>;
480 #size-cells = <2>;
481 device_type = "pci";
482 num-lanes = <4>;
483 bus-range = <0x0 0xff>;
484 ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */
485 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
486 };
Michael Wallecd80d5d2021-10-13 18:14:03 +0200487 };
Yuantian Tangd4ad1112019-04-10 16:43:33 +0800488};