]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - arch/powerpc/boot/dts/xpedite5301.dts
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-jammy-kernel.git] / arch / powerpc / boot / dts / xpedite5301.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3 * Copyright (C) 2008 Extreme Engineering Solutions, Inc.
4 * Based on MPC8572DS device tree from Freescale Semiconductor, Inc.
5 *
6 * XPedite5301 PMC/XMC module based on MPC8572E
7 */
8
9 /dts-v1/;
10 / {
11 model = "xes,xpedite5301";
12 compatible = "xes,xpedite5301", "xes,MPC8572";
13 #address-cells = <2>;
14 #size-cells = <2>;
15 form-factor = "PMC/XMC";
16 boot-bank = <0x0>; /* 0: Primary flash, 1: Secondary flash */
17
18 aliases {
19 ethernet0 = &enet0;
20 ethernet1 = &enet1;
21 serial0 = &serial0;
22 serial1 = &serial1;
23 pci1 = &pci1;
24 pci2 = &pci2;
25 };
26
27 cpus {
28 #address-cells = <1>;
29 #size-cells = <0>;
30
31 PowerPC,8572@0 {
32 device_type = "cpu";
33 reg = <0x0>;
34 d-cache-line-size = <32>; // 32 bytes
35 i-cache-line-size = <32>; // 32 bytes
36 d-cache-size = <0x8000>; // L1, 32K
37 i-cache-size = <0x8000>; // L1, 32K
38 timebase-frequency = <0>;
39 bus-frequency = <0>;
40 clock-frequency = <0>;
41 next-level-cache = <&L2>;
42 };
43
44 PowerPC,8572@1 {
45 device_type = "cpu";
46 reg = <0x1>;
47 d-cache-line-size = <32>; // 32 bytes
48 i-cache-line-size = <32>; // 32 bytes
49 d-cache-size = <0x8000>; // L1, 32K
50 i-cache-size = <0x8000>; // L1, 32K
51 timebase-frequency = <0>;
52 bus-frequency = <0>;
53 clock-frequency = <0>;
54 next-level-cache = <&L2>;
55 };
56 };
57
58 memory {
59 device_type = "memory";
60 reg = <0x0 0x0 0x0 0x0>; // Filled in by U-Boot
61 };
62
63 localbus@ef005000 {
64 #address-cells = <2>;
65 #size-cells = <1>;
66 compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus";
67 reg = <0 0xef005000 0 0x1000>;
68 interrupts = <19 2>;
69 interrupt-parent = <&mpic>;
70 /* Local bus region mappings */
71 ranges = <0 0 0 0xf8000000 0x8000000 /* CS0: Boot flash */
72 1 0 0 0xf0000000 0x8000000 /* CS1: Alternate flash */
73 2 0 0 0xef800000 0x40000 /* CS2: NAND CE1 */
74 3 0 0 0xef840000 0x40000>; /* CS3: NAND CE2 */
75
76 nor-boot@0,0 {
77 compatible = "amd,s29gl01gp", "cfi-flash";
78 bank-width = <2>;
79 reg = <0 0 0x8000000>; /* 128MB */
80 #address-cells = <1>;
81 #size-cells = <1>;
82 partition@0 {
83 label = "Primary user space";
84 reg = <0x00000000 0x6f00000>; /* 111 MB */
85 };
86 partition@6f00000 {
87 label = "Primary kernel";
88 reg = <0x6f00000 0x1000000>; /* 16 MB */
89 };
90 partition@7f00000 {
91 label = "Primary DTB";
92 reg = <0x7f00000 0x40000>; /* 256 KB */
93 };
94 partition@7f40000 {
95 label = "Primary U-Boot environment";
96 reg = <0x7f40000 0x40000>; /* 256 KB */
97 };
98 partition@7f80000 {
99 label = "Primary U-Boot";
100 reg = <0x7f80000 0x80000>; /* 512 KB */
101 read-only;
102 };
103 };
104
105 nor-alternate@1,0 {
106 compatible = "amd,s29gl01gp", "cfi-flash";
107 bank-width = <2>;
108 //reg = <0xf0000000 0x08000000>; /* 128MB */
109 reg = <1 0 0x8000000>; /* 128MB */
110 #address-cells = <1>;
111 #size-cells = <1>;
112 partition@0 {
113 label = "Secondary user space";
114 reg = <0x00000000 0x6f00000>; /* 111 MB */
115 };
116 partition@6f00000 {
117 label = "Secondary kernel";
118 reg = <0x6f00000 0x1000000>; /* 16 MB */
119 };
120 partition@7f00000 {
121 label = "Secondary DTB";
122 reg = <0x7f00000 0x40000>; /* 256 KB */
123 };
124 partition@7f40000 {
125 label = "Secondary U-Boot environment";
126 reg = <0x7f40000 0x40000>; /* 256 KB */
127 };
128 partition@7f80000 {
129 label = "Secondary U-Boot";
130 reg = <0x7f80000 0x80000>; /* 512 KB */
131 read-only;
132 };
133 };
134
135 nand@2,0 {
136 #address-cells = <1>;
137 #size-cells = <1>;
138 /*
139 * Actual part could be ST Micro NAND08GW3B2A (1 GB),
140 * Micron MT29F8G08DAA (2x 512 MB), or Micron
141 * MT29F16G08FAA (2x 1 GB), depending on the build
142 * configuration
143 */
144 compatible = "fsl,mpc8572-fcm-nand",
145 "fsl,elbc-fcm-nand";
146 reg = <2 0 0x40000>;
147 /* U-Boot should fix this up if chip size > 1 GB */
148 partition@0 {
149 label = "NAND Filesystem";
150 reg = <0 0x40000000>;
151 };
152 };
153
154 };
155
156 soc8572@ef000000 {
157 #address-cells = <1>;
158 #size-cells = <1>;
159 device_type = "soc";
160 compatible = "fsl,mpc8572-immr", "simple-bus";
161 ranges = <0x0 0 0xef000000 0x100000>;
162 bus-frequency = <0>; // Filled out by uboot.
163
164 ecm-law@0 {
165 compatible = "fsl,ecm-law";
166 reg = <0x0 0x1000>;
167 fsl,num-laws = <12>;
168 };
169
170 ecm@1000 {
171 compatible = "fsl,mpc8572-ecm", "fsl,ecm";
172 reg = <0x1000 0x1000>;
173 interrupts = <17 2>;
174 interrupt-parent = <&mpic>;
175 };
176
177 memory-controller@2000 {
178 compatible = "fsl,mpc8572-memory-controller";
179 reg = <0x2000 0x1000>;
180 interrupt-parent = <&mpic>;
181 interrupts = <18 2>;
182 };
183
184 memory-controller@6000 {
185 compatible = "fsl,mpc8572-memory-controller";
186 reg = <0x6000 0x1000>;
187 interrupt-parent = <&mpic>;
188 interrupts = <18 2>;
189 };
190
191 L2: l2-cache-controller@20000 {
192 compatible = "fsl,mpc8572-l2-cache-controller";
193 reg = <0x20000 0x1000>;
194 cache-line-size = <32>; // 32 bytes
195 cache-size = <0x100000>; // L2, 1M
196 interrupt-parent = <&mpic>;
197 interrupts = <16 2>;
198 };
199
200 i2c@3000 {
201 #address-cells = <1>;
202 #size-cells = <0>;
203 cell-index = <0>;
204 compatible = "fsl-i2c";
205 reg = <0x3000 0x100>;
206 interrupts = <43 2>;
207 interrupt-parent = <&mpic>;
208 dfsrr;
209
210 temp-sensor@48 {
211 compatible = "dallas,ds1631", "dallas,ds1621";
212 reg = <0x48>;
213 };
214
215 temp-sensor@4c {
216 compatible = "adi,adt7461";
217 reg = <0x4c>;
218 };
219
220 cpu-supervisor@51 {
221 compatible = "dallas,ds4510";
222 reg = <0x51>;
223 };
224
225 eeprom@54 {
226 compatible = "atmel,at24c128b";
227 reg = <0x54>;
228 };
229
230 rtc@68 {
231 compatible = "st,m41t00",
232 "dallas,ds1338";
233 reg = <0x68>;
234 };
235
236 pcie-switch@70 {
237 compatible = "plx,pex8518";
238 reg = <0x70>;
239 };
240
241 gpio1: gpio@18 {
242 compatible = "nxp,pca9557";
243 reg = <0x18>;
244 #gpio-cells = <2>;
245 gpio-controller;
246 polarity = <0x00>;
247 };
248
249 gpio2: gpio@1c {
250 compatible = "nxp,pca9557";
251 reg = <0x1c>;
252 #gpio-cells = <2>;
253 gpio-controller;
254 polarity = <0x00>;
255 };
256
257 gpio3: gpio@1e {
258 compatible = "nxp,pca9557";
259 reg = <0x1e>;
260 #gpio-cells = <2>;
261 gpio-controller;
262 polarity = <0x00>;
263 };
264
265 gpio4: gpio@1f {
266 compatible = "nxp,pca9557";
267 reg = <0x1f>;
268 #gpio-cells = <2>;
269 gpio-controller;
270 polarity = <0x00>;
271 };
272 };
273
274 i2c@3100 {
275 #address-cells = <1>;
276 #size-cells = <0>;
277 cell-index = <1>;
278 compatible = "fsl-i2c";
279 reg = <0x3100 0x100>;
280 interrupts = <43 2>;
281 interrupt-parent = <&mpic>;
282 dfsrr;
283 };
284
285 dma@c300 {
286 #address-cells = <1>;
287 #size-cells = <1>;
288 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
289 reg = <0xc300 0x4>;
290 ranges = <0x0 0xc100 0x200>;
291 cell-index = <1>;
292 dma-channel@0 {
293 compatible = "fsl,mpc8572-dma-channel",
294 "fsl,eloplus-dma-channel";
295 reg = <0x0 0x80>;
296 cell-index = <0>;
297 interrupt-parent = <&mpic>;
298 interrupts = <76 2>;
299 };
300 dma-channel@80 {
301 compatible = "fsl,mpc8572-dma-channel",
302 "fsl,eloplus-dma-channel";
303 reg = <0x80 0x80>;
304 cell-index = <1>;
305 interrupt-parent = <&mpic>;
306 interrupts = <77 2>;
307 };
308 dma-channel@100 {
309 compatible = "fsl,mpc8572-dma-channel",
310 "fsl,eloplus-dma-channel";
311 reg = <0x100 0x80>;
312 cell-index = <2>;
313 interrupt-parent = <&mpic>;
314 interrupts = <78 2>;
315 };
316 dma-channel@180 {
317 compatible = "fsl,mpc8572-dma-channel",
318 "fsl,eloplus-dma-channel";
319 reg = <0x180 0x80>;
320 cell-index = <3>;
321 interrupt-parent = <&mpic>;
322 interrupts = <79 2>;
323 };
324 };
325
326 dma@21300 {
327 #address-cells = <1>;
328 #size-cells = <1>;
329 compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma";
330 reg = <0x21300 0x4>;
331 ranges = <0x0 0x21100 0x200>;
332 cell-index = <0>;
333 dma-channel@0 {
334 compatible = "fsl,mpc8572-dma-channel",
335 "fsl,eloplus-dma-channel";
336 reg = <0x0 0x80>;
337 cell-index = <0>;
338 interrupt-parent = <&mpic>;
339 interrupts = <20 2>;
340 };
341 dma-channel@80 {
342 compatible = "fsl,mpc8572-dma-channel",
343 "fsl,eloplus-dma-channel";
344 reg = <0x80 0x80>;
345 cell-index = <1>;
346 interrupt-parent = <&mpic>;
347 interrupts = <21 2>;
348 };
349 dma-channel@100 {
350 compatible = "fsl,mpc8572-dma-channel",
351 "fsl,eloplus-dma-channel";
352 reg = <0x100 0x80>;
353 cell-index = <2>;
354 interrupt-parent = <&mpic>;
355 interrupts = <22 2>;
356 };
357 dma-channel@180 {
358 compatible = "fsl,mpc8572-dma-channel",
359 "fsl,eloplus-dma-channel";
360 reg = <0x180 0x80>;
361 cell-index = <3>;
362 interrupt-parent = <&mpic>;
363 interrupts = <23 2>;
364 };
365 };
366
367 /* eTSEC 1 */
368 enet0: ethernet@24000 {
369 #address-cells = <1>;
370 #size-cells = <1>;
371 cell-index = <0>;
372 device_type = "network";
373 model = "eTSEC";
374 compatible = "gianfar";
375 reg = <0x24000 0x1000>;
376 ranges = <0x0 0x24000 0x1000>;
377 local-mac-address = [ 00 00 00 00 00 00 ];
378 interrupts = <29 2 30 2 34 2>;
379 interrupt-parent = <&mpic>;
380 tbi-handle = <&tbi0>;
381 phy-handle = <&phy0>;
382 phy-connection-type = "sgmii";
383
384 mdio@520 {
385 #address-cells = <1>;
386 #size-cells = <0>;
387 compatible = "fsl,gianfar-mdio";
388 reg = <0x520 0x20>;
389
390 phy0: ethernet-phy@1 {
391 interrupt-parent = <&mpic>;
392 interrupts = <8 1>;
393 reg = <0x1>;
394 };
395 phy1: ethernet-phy@2 {
396 interrupt-parent = <&mpic>;
397 interrupts = <8 1>;
398 reg = <0x2>;
399 };
400 tbi0: tbi-phy@11 {
401 reg = <0x11>;
402 device_type = "tbi-phy";
403 };
404 };
405 };
406
407 /* eTSEC 2 */
408 enet1: ethernet@25000 {
409 #address-cells = <1>;
410 #size-cells = <1>;
411 cell-index = <1>;
412 device_type = "network";
413 model = "eTSEC";
414 compatible = "gianfar";
415 reg = <0x25000 0x1000>;
416 ranges = <0x0 0x25000 0x1000>;
417 local-mac-address = [ 00 00 00 00 00 00 ];
418 interrupts = <35 2 36 2 40 2>;
419 interrupt-parent = <&mpic>;
420 tbi-handle = <&tbi1>;
421 phy-handle = <&phy1>;
422 phy-connection-type = "sgmii";
423
424 mdio@520 {
425 #address-cells = <1>;
426 #size-cells = <0>;
427 compatible = "fsl,gianfar-tbi";
428 reg = <0x520 0x20>;
429
430 tbi1: tbi-phy@11 {
431 reg = <0x11>;
432 device_type = "tbi-phy";
433 };
434 };
435 };
436
437 /* UART0 */
438 serial0: serial@4500 {
439 cell-index = <0>;
440 device_type = "serial";
441 compatible = "fsl,ns16550", "ns16550";
442 reg = <0x4500 0x100>;
443 clock-frequency = <0>;
444 interrupts = <42 2>;
445 interrupt-parent = <&mpic>;
446 };
447
448 /* UART1 */
449 serial1: serial@4600 {
450 cell-index = <1>;
451 device_type = "serial";
452 compatible = "fsl,ns16550", "ns16550";
453 reg = <0x4600 0x100>;
454 clock-frequency = <0>;
455 interrupts = <42 2>;
456 interrupt-parent = <&mpic>;
457 };
458
459 global-utilities@e0000 { //global utilities block
460 compatible = "fsl,mpc8572-guts";
461 reg = <0xe0000 0x1000>;
462 fsl,has-rstcr;
463 };
464
465 msi@41600 {
466 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
467 reg = <0x41600 0x80>;
468 msi-available-ranges = <0 0x100>;
469 interrupts = <
470 0xe0 0
471 0xe1 0
472 0xe2 0
473 0xe3 0
474 0xe4 0
475 0xe5 0
476 0xe6 0
477 0xe7 0>;
478 interrupt-parent = <&mpic>;
479 };
480
481 crypto@30000 {
482 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
483 "fsl,sec2.1", "fsl,sec2.0";
484 reg = <0x30000 0x10000>;
485 interrupts = <45 2 58 2>;
486 interrupt-parent = <&mpic>;
487 fsl,num-channels = <4>;
488 fsl,channel-fifo-len = <24>;
489 fsl,exec-units-mask = <0x9fe>;
490 fsl,descriptor-types-mask = <0x3ab0ebf>;
491 };
492
493 mpic: pic@40000 {
494 interrupt-controller;
495 #address-cells = <0>;
496 #interrupt-cells = <2>;
497 reg = <0x40000 0x40000>;
498 compatible = "chrp,open-pic";
499 device_type = "open-pic";
500 };
501
502 gpio0: gpio@f000 {
503 compatible = "fsl,mpc8572-gpio";
504 reg = <0xf000 0x1000>;
505 interrupts = <47 2>;
506 interrupt-parent = <&mpic>;
507 #gpio-cells = <2>;
508 gpio-controller;
509 };
510
511 gpio-leds {
512 compatible = "gpio-leds";
513
514 heartbeat {
515 label = "Heartbeat";
516 gpios = <&gpio0 4 1>;
517 linux,default-trigger = "heartbeat";
518 };
519
520 yellow {
521 label = "Yellow";
522 gpios = <&gpio0 5 1>;
523 };
524
525 red {
526 label = "Red";
527 gpios = <&gpio0 6 1>;
528 };
529
530 green {
531 label = "Green";
532 gpios = <&gpio0 7 1>;
533 };
534 };
535
536 /* PME (pattern-matcher) */
537 pme@10000 {
538 compatible = "fsl,mpc8572-pme", "pme8572";
539 reg = <0x10000 0x5000>;
540 interrupts = <57 2 64 2 65 2 66 2 67 2>;
541 interrupt-parent = <&mpic>;
542 };
543
544 tlu@2f000 {
545 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
546 reg = <0x2f000 0x1000>;
547 interrupts = <61 2>;
548 interrupt-parent = <&mpic>;
549 };
550
551 tlu@15000 {
552 compatible = "fsl,mpc8572-tlu", "fsl_tlu";
553 reg = <0x15000 0x1000>;
554 interrupts = <75 2>;
555 interrupt-parent = <&mpic>;
556 };
557 };
558
559 /*
560 * PCI Express controller 3 @ ef008000 is not used.
561 * This would have been pci0 on other mpc85xx platforms.
562 */
563
564 /* PCI Express controller 2, wired to XMC P15 connector */
565 pci1: pcie@ef009000 {
566 compatible = "fsl,mpc8548-pcie";
567 device_type = "pci";
568 #interrupt-cells = <1>;
569 #size-cells = <2>;
570 #address-cells = <3>;
571 reg = <0 0xef009000 0 0x1000>;
572 bus-range = <0 255>;
573 ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x10000000
574 0x1000000 0x0 0x00000000 0 0xe8800000 0x0 0x00010000>;
575 clock-frequency = <33333333>;
576 interrupt-parent = <&mpic>;
577 interrupts = <25 2>;
578 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
579 interrupt-map = <
580 /* IDSEL 0x0 */
581 0x0 0x0 0x0 0x1 &mpic 0x4 0x1
582 0x0 0x0 0x0 0x2 &mpic 0x5 0x1
583 0x0 0x0 0x0 0x3 &mpic 0x6 0x1
584 0x0 0x0 0x0 0x4 &mpic 0x7 0x1
585 >;
586 pcie@0 {
587 reg = <0x00000000 0x00000000 0x00000000 0x00000000 0x00000000>;
588 #size-cells = <2>;
589 #address-cells = <3>;
590 device_type = "pci";
591 ranges = <0x2000000 0x0 0xc0000000
592 0x2000000 0x0 0xc0000000
593 0x0 0x10000000
594
595 0x1000000 0x0 0x0
596 0x1000000 0x0 0x0
597 0x0 0x100000>;
598 };
599 };
600
601 /* PCI Express controller 1, wired to PEX8112 for PMC interface */
602 pci2: pcie@ef00a000 {
603 compatible = "fsl,mpc8548-pcie";
604 device_type = "pci";
605 #interrupt-cells = <1>;
606 #size-cells = <2>;
607 #address-cells = <3>;
608 reg = <0 0xef00a000 0 0x1000>;
609 bus-range = <0 255>;
610 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x40000000
611 0x1000000 0x0 0x00000000 0 0xe8000000 0x0 0x10000>;
612 clock-frequency = <33333333>;
613 interrupt-parent = <&mpic>;
614 interrupts = <26 2>;
615 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
616 interrupt-map = <
617 /* IDSEL 0x0 */
618 0x0 0x0 0x0 0x1 &mpic 0x0 0x1
619 0x0 0x0 0x0 0x2 &mpic 0x1 0x1
620 0x0 0x0 0x0 0x3 &mpic 0x2 0x1
621 0x0 0x0 0x0 0x4 &mpic 0x3 0x1
622 >;
623 pcie@0 {
624 reg = <0x0 0x0 0x0 0x0 0x0>;
625 #size-cells = <2>;
626 #address-cells = <3>;
627 device_type = "pci";
628 ranges = <0x2000000 0x0 0x80000000
629 0x2000000 0x0 0x80000000
630 0x0 0x40000000
631
632 0x1000000 0x0 0x0
633 0x1000000 0x0 0x0
634 0x0 0x100000>;
635 };
636 };
637 };