blob: 213023bc5aec4144751c9e7bc8e3e05c156386c8 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2019 IBM Corp.
3/dts-v1/;
4
5#include "aspeed-g6.dtsi"
6#include <dt-bindings/gpio/aspeed-gpio.h>
7#include <dt-bindings/i2c/i2c.h>
8#include <dt-bindings/leds/leds-pca955x.h>
9
10/ {
11 model = "Tacoma";
12 compatible = "ibm,tacoma-bmc", "aspeed,ast2600";
13
14 chosen {
15 stdout-path = &uart5;
16 bootargs = "console=ttyS4,115200n8 earlycon";
17 };
18
19 memory@80000000 {
20 device_type = "memory";
21 reg = <0x80000000 0x40000000>;
22 };
23
24 reserved-memory {
25 #address-cells = <1>;
26 #size-cells = <1>;
27 ranges;
28
29 flash_memory: region@b8000000 {
30 no-map;
31 reg = <0xb8000000 0x4000000>; /* 64M */
32 };
33
34 ramoops@bc000000 {
35 compatible = "ramoops";
36 reg = <0xbc000000 0x180000>; /* 16 * (3 * 0x8000) */
37 record-size = <0x8000>;
38 console-size = <0x8000>;
39 pmsg-size = <0x8000>;
40 max-reason = <3>; /* KMSG_DUMP_EMERG */
41 };
42
43 vga_memory: region@bf000000 {
44 no-map;
45 compatible = "shared-dma-pool";
46 reg = <0xbf000000 0x01000000>; /* 16M */
47 };
48 };
49
50 gpio-keys {
51 compatible = "gpio-keys";
52
53 event-ps0-presence {
54 label = "ps0-presence";
55 gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
56 linux,code = <ASPEED_GPIO(H, 3)>;
57 };
58
59 event-ps1-presence {
60 label = "ps1-presence";
61 gpios = <&gpio0 ASPEED_GPIO(E, 5) GPIO_ACTIVE_LOW>;
62 linux,code = <ASPEED_GPIO(E, 5)>;
63 };
64 };
65
66 gpio-keys-polled {
67 compatible = "gpio-keys-polled";
68 poll-interval = <1000>;
69
70 event-fan0-presence {
71 label = "fan0-presence";
72 gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
73 linux,code = <4>;
74 };
75
76 event-fan1-presence {
77 label = "fan1-presence";
78 gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
79 linux,code = <5>;
80 };
81
82 event-fan2-presence {
83 label = "fan2-presence";
84 gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
85 linux,code = <6>;
86 };
87
88 event-fan3-presence {
89 label = "fan3-presence";
90 gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
91 linux,code = <7>;
92 };
93 };
94
95 iio-hwmon-dps310 {
96 compatible = "iio-hwmon";
97 io-channels = <&dps 0>;
98 };
99
100 iio-hwmon-bmp280 {
101 compatible = "iio-hwmon";
102 io-channels = <&bmp 1>;
103 };
104};
105
106&ehci1 {
107 status = "okay";
108};
109
110&gpio0 {
111 gpio-line-names =
112 /*A0-A7*/ "","","","","","","","",
113 /*B0-B7*/ "fsi-mux","","","","","","","",
114 /*C0-C7*/ "","","","","","","","",
115 /*D0-D7*/ "","","","","","","","",
116 /*E0-E7*/ "power-button","","","checkstop","","presence-ps1","","led-rear-fault",
117 /*F0-F7*/ "","","","","","","","",
118 /*G0-G7*/ "","","","","","","","",
119 /*H0-H7*/ "","","","presence-ps0","","","","",
120 /*I0-I7*/ "","","","","","","","",
121 /*J0-J7*/ "","","","","","","","",
122 /*K0-K7*/ "","","","","","","","",
123 /*L0-L7*/ "","","","","","","","",
124 /*M0-M7*/ "","","","","","","","",
125 /*N0-N7*/ "","","","","","","","",
126 /*O0-O7*/ "led-rear-power","led-rear-id","","usb-power","","","","",
127 /*P0-P7*/ "","","","","","bmc-tpm-reset","","",
128 /*Q0-Q7*/ "cfam-reset","","","","","","","fsi-routing",
129 /*R0-R7*/ "","","","","","","","",
130 /*S0-S7*/ "","","","","","","","",
131 /*T0-T7*/ "","","","","","","","",
132 /*U0-U7*/ "","","","","","","","",
133 /*V0-V7*/ "","","","","","","","",
134 /*W0-W7*/ "","","","","","","","",
135 /*X0-X7*/ "","","","","","","","",
136 /*Y0-Y7*/ "","","","","","","","",
137 /*Z0-Z7*/ "","","","","","","","";
138};
139
140&fmc {
141 status = "okay";
142 flash@0 {
143 status = "okay";
144 m25p,fast-read;
145 label = "bmc";
146 spi-max-frequency = <50000000>;
147#include "openbmc-flash-layout-128.dtsi"
148 };
149
150 flash@1 {
151 status = "okay";
152 m25p,fast-read;
153 label = "alt-bmc";
154 spi-max-frequency = <50000000>;
155 };
156};
157
158&spi1 {
159 status = "okay";
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_spi1_default>;
162
163 flash@0 {
164 status = "okay";
165 m25p,fast-read;
166 label = "pnor";
167 spi-max-frequency = <100000000>;
168 };
169};
170
171&mac2 {
172 status = "okay";
173 pinctrl-names = "default";
174 pinctrl-0 = <&pinctrl_rmii3_default>;
175 clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
176 <&syscon ASPEED_CLK_MAC3RCLK>;
177 clock-names = "MACCLK", "RCLK";
178 use-ncsi;
179};
180
181&emmc_controller {
182 status = "okay";
183};
184
185&emmc {
186 status = "okay";
187 clk-phase-mmc-hs200 = <36>, <270>;
188};
189
190&fsim0 {
191 status = "okay";
192
193 #address-cells = <2>;
194 #size-cells = <0>;
195
196 fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
197 fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
198
199 cfam@0,0 {
200 reg = <0 0>;
201 #address-cells = <1>;
202 #size-cells = <1>;
203 chip-id = <0>;
204
205 scom@1000 {
206 compatible = "ibm,fsi2pib";
207 reg = <0x1000 0x400>;
208 };
209
210 i2c@1800 {
211 compatible = "ibm,fsi-i2c-master";
212 reg = <0x1800 0x400>;
213 #address-cells = <1>;
214 #size-cells = <0>;
215
216 cfam0_i2c0: i2c-bus@0 {
217 reg = <0>;
218 };
219
220 cfam0_i2c1: i2c-bus@1 {
221 reg = <1>;
222 };
223
224 cfam0_i2c2: i2c-bus@2 {
225 reg = <2>;
226 };
227
228 cfam0_i2c3: i2c-bus@3 {
229 reg = <3>;
230 };
231
232 cfam0_i2c4: i2c-bus@4 {
233 reg = <4>;
234 };
235
236 cfam0_i2c5: i2c-bus@5 {
237 reg = <5>;
238 };
239
240 cfam0_i2c6: i2c-bus@6 {
241 reg = <6>;
242 };
243
244 cfam0_i2c7: i2c-bus@7 {
245 reg = <7>;
246 };
247
248 cfam0_i2c8: i2c-bus@8 {
249 reg = <8>;
250 };
251
252 cfam0_i2c9: i2c-bus@9 {
253 reg = <9>;
254 };
255
256 cfam0_i2c10: i2c-bus@a {
257 reg = <10>;
258 };
259
260 cfam0_i2c11: i2c-bus@b {
261 reg = <11>;
262 };
263
264 cfam0_i2c12: i2c-bus@c {
265 reg = <12>;
266 };
267
268 cfam0_i2c13: i2c-bus@d {
269 reg = <13>;
270 };
271
272 cfam0_i2c14: i2c-bus@e {
273 reg = <14>;
274 };
275 };
276
277 sbefifo@2400 {
278 compatible = "ibm,p9-sbefifo";
279 reg = <0x2400 0x400>;
280 #address-cells = <1>;
281 #size-cells = <0>;
282
283 fsi_occ0: occ {
284 compatible = "ibm,p9-occ";
285 };
286 };
287
288 fsi_hub0: hub@3400 {
289 compatible = "fsi-master-hub";
290 reg = <0x3400 0x400>;
291 #address-cells = <2>;
292 #size-cells = <0>;
293
294 no-scan-on-init;
295 };
296 };
297};
298
299&fsi_hub0 {
300 cfam@1,0 {
301 reg = <1 0>;
302 #address-cells = <1>;
303 #size-cells = <1>;
304 chip-id = <1>;
305
306 scom@1000 {
307 compatible = "ibm,fsi2pib";
308 reg = <0x1000 0x400>;
309 };
310
311 i2c@1800 {
312 compatible = "ibm,fsi-i2c-master";
313 reg = <0x1800 0x400>;
314 #address-cells = <1>;
315 #size-cells = <0>;
316
317 cfam1_i2c0: i2c-bus@0 {
318 reg = <0>;
319 };
320
321 cfam1_i2c1: i2c-bus@1 {
322 reg = <1>;
323 };
324
325 cfam1_i2c2: i2c-bus@2 {
326 reg = <2>;
327 };
328
329 cfam1_i2c3: i2c-bus@3 {
330 reg = <3>;
331 };
332
333 cfam1_i2c4: i2c-bus@4 {
334 reg = <4>;
335 };
336
337 cfam1_i2c5: i2c-bus@5 {
338 reg = <5>;
339 };
340
341 cfam1_i2c6: i2c-bus@6 {
342 reg = <6>;
343 };
344
345 cfam1_i2c7: i2c-bus@7 {
346 reg = <7>;
347 };
348
349 cfam1_i2c8: i2c-bus@8 {
350 reg = <8>;
351 };
352
353 cfam1_i2c9: i2c-bus@9 {
354 reg = <9>;
355 };
356
357 cfam1_i2c10: i2c-bus@a {
358 reg = <10>;
359 };
360
361 cfam1_i2c11: i2c-bus@b {
362 reg = <11>;
363 };
364
365 cfam1_i2c12: i2c-bus@c {
366 reg = <12>;
367 };
368
369 cfam1_i2c13: i2c-bus@d {
370 reg = <13>;
371 };
372
373 cfam1_i2c14: i2c-bus@e {
374 reg = <14>;
375 };
376 };
377
378 sbefifo@2400 {
379 compatible = "ibm,p9-sbefifo";
380 reg = <0x2400 0x400>;
381 #address-cells = <1>;
382 #size-cells = <0>;
383
384 fsi_occ1: occ {
385 compatible = "ibm,p9-occ";
386 };
387 };
388
389 fsi_hub1: hub@3400 {
390 compatible = "fsi-master-hub";
391 reg = <0x3400 0x400>;
392 #address-cells = <2>;
393 #size-cells = <0>;
394
395 no-scan-on-init;
396 };
397 };
398};
399
400/* Legacy OCC numbering (to get rid of when userspace is fixed) */
401&fsi_occ0 {
402 reg = <1>;
403};
404
405&fsi_occ1 {
406 reg = <2>;
407};
408
409/ {
410 aliases {
411 i2c100 = &cfam0_i2c0;
412 i2c101 = &cfam0_i2c1;
413 i2c102 = &cfam0_i2c2;
414 i2c103 = &cfam0_i2c3;
415 i2c104 = &cfam0_i2c4;
416 i2c105 = &cfam0_i2c5;
417 i2c106 = &cfam0_i2c6;
418 i2c107 = &cfam0_i2c7;
419 i2c108 = &cfam0_i2c8;
420 i2c109 = &cfam0_i2c9;
421 i2c110 = &cfam0_i2c10;
422 i2c111 = &cfam0_i2c11;
423 i2c112 = &cfam0_i2c12;
424 i2c113 = &cfam0_i2c13;
425 i2c114 = &cfam0_i2c14;
426 i2c200 = &cfam1_i2c0;
427 i2c201 = &cfam1_i2c1;
428 i2c202 = &cfam1_i2c2;
429 i2c203 = &cfam1_i2c3;
430 i2c204 = &cfam1_i2c4;
431 i2c205 = &cfam1_i2c5;
432 i2c206 = &cfam1_i2c6;
433 i2c207 = &cfam1_i2c7;
434 i2c208 = &cfam1_i2c8;
435 i2c209 = &cfam1_i2c9;
436 i2c210 = &cfam1_i2c10;
437 i2c211 = &cfam1_i2c11;
438 i2c212 = &cfam1_i2c12;
439 i2c213 = &cfam1_i2c13;
440 i2c214 = &cfam1_i2c14;
441 };
442
443};
444
445&i2c0 {
446 multi-master;
447 status = "okay";
448
449 ibm-panel@62 {
450 compatible = "ibm,op-panel";
451 reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>;
452 };
453};
454
455&i2c1 {
456 status = "okay";
457
458 tpm: tpm@2e {
Tom Rini93743d22024-04-01 09:08:13 -0400459 compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
Tom Rini53633a82024-02-29 12:33:36 -0500460 reg = <0x2e>;
461 };
462};
463
464&i2c2 {
465 status = "okay";
466};
467
468&i2c3 {
469 status = "okay";
470
471 bmp: bmp280@77 {
472 compatible = "bosch,bmp280";
473 reg = <0x77>;
474 #io-channel-cells = <1>;
475 };
476
477 max31785@52 {
478 compatible = "maxim,max31785a";
479 reg = <0x52>;
480 #address-cells = <1>;
481 #size-cells = <0>;
482
483 fan@0 {
484 compatible = "pmbus-fan";
485 reg = <0>;
486 tach-pulses = <2>;
487 maxim,fan-rotor-input = "tach";
488 maxim,fan-pwm-freq = <25000>;
489 maxim,fan-dual-tach;
490 maxim,fan-no-watchdog;
491 maxim,fan-no-fault-ramp;
492 maxim,fan-ramp = <2>;
493 maxim,fan-fault-pin-mon;
494 };
495
496 fan@1 {
497 compatible = "pmbus-fan";
498 reg = <1>;
499 tach-pulses = <2>;
500 maxim,fan-rotor-input = "tach";
501 maxim,fan-pwm-freq = <25000>;
502 maxim,fan-dual-tach;
503 maxim,fan-no-watchdog;
504 maxim,fan-no-fault-ramp;
505 maxim,fan-ramp = <2>;
506 maxim,fan-fault-pin-mon;
507 };
508
509 fan@2 {
510 compatible = "pmbus-fan";
511 reg = <2>;
512 tach-pulses = <2>;
513 maxim,fan-rotor-input = "tach";
514 maxim,fan-pwm-freq = <25000>;
515 maxim,fan-dual-tach;
516 maxim,fan-no-watchdog;
517 maxim,fan-no-fault-ramp;
518 maxim,fan-ramp = <2>;
519 maxim,fan-fault-pin-mon;
520 };
521
522 fan@3 {
523 compatible = "pmbus-fan";
524 reg = <3>;
525 tach-pulses = <2>;
526 maxim,fan-rotor-input = "tach";
527 maxim,fan-pwm-freq = <25000>;
528 maxim,fan-dual-tach;
529 maxim,fan-no-watchdog;
530 maxim,fan-no-fault-ramp;
531 maxim,fan-ramp = <2>;
532 maxim,fan-fault-pin-mon;
533 };
534 };
535
536 dps: dps310@76 {
537 compatible = "infineon,dps310";
538 reg = <0x76>;
539 #io-channel-cells = <0>;
540 };
541
542 pca0: pca9552@60 {
543 compatible = "nxp,pca9552";
544 reg = <0x60>;
545 #address-cells = <1>;
546 #size-cells = <0>;
547
548 gpio-controller;
549 #gpio-cells = <2>;
550
551 gpio@0 {
552 reg = <0>;
553 type = <PCA955X_TYPE_GPIO>;
554 };
555
556 gpio@1 {
557 reg = <1>;
558 type = <PCA955X_TYPE_GPIO>;
559 };
560
561 gpio@2 {
562 reg = <2>;
563 type = <PCA955X_TYPE_GPIO>;
564 };
565
566 gpio@3 {
567 reg = <3>;
568 type = <PCA955X_TYPE_GPIO>;
569 };
570
571 gpio@4 {
572 reg = <4>;
573 type = <PCA955X_TYPE_GPIO>;
574 };
575
576 gpio@5 {
577 reg = <5>;
578 type = <PCA955X_TYPE_GPIO>;
579 };
580
581 gpio@6 {
582 reg = <6>;
583 type = <PCA955X_TYPE_GPIO>;
584 };
585
586 gpio@7 {
587 reg = <7>;
588 type = <PCA955X_TYPE_GPIO>;
589 };
590
591 gpio@8 {
592 reg = <8>;
593 type = <PCA955X_TYPE_GPIO>;
594 };
595
596 gpio@9 {
597 reg = <9>;
598 type = <PCA955X_TYPE_GPIO>;
599 };
600
601 gpio@10 {
602 reg = <10>;
603 type = <PCA955X_TYPE_GPIO>;
604 };
605
606 gpio@11 {
607 reg = <11>;
608 type = <PCA955X_TYPE_GPIO>;
609 };
610
611 gpio@12 {
612 reg = <12>;
613 type = <PCA955X_TYPE_GPIO>;
614 };
615
616 gpio@13 {
617 reg = <13>;
618 type = <PCA955X_TYPE_GPIO>;
619 };
620
621 gpio@14 {
622 reg = <14>;
623 type = <PCA955X_TYPE_GPIO>;
624 };
625
626 gpio@15 {
627 reg = <15>;
628 type = <PCA955X_TYPE_GPIO>;
629 };
630 };
631
632 power-supply@68 {
633 compatible = "ibm,cffps1";
634 reg = <0x68>;
635 };
636
637 power-supply@69 {
638 compatible = "ibm,cffps1";
639 reg = <0x69>;
640 };
641};
642
643&i2c4 {
644 status = "okay";
645
646 tmp423a@4c {
647 compatible = "ti,tmp423";
648 reg = <0x4c>;
649 };
650
651 ir35221@70 {
652 compatible = "infineon,ir35221";
653 reg = <0x70>;
654 };
655
656 ir35221@71 {
657 compatible = "infineon,ir35221";
658 reg = <0x71>;
659 };
660};
661
662&i2c5 {
663 status = "okay";
664
665 tmp423a@4c {
666 compatible = "ti,tmp423";
667 reg = <0x4c>;
668 };
669
670 ir35221@70 {
671 compatible = "infineon,ir35221";
672 reg = <0x70>;
673 };
674
675 ir35221@71 {
676 compatible = "infineon,ir35221";
677 reg = <0x71>;
678 };
679};
680
681&i2c7 {
682 status = "okay";
683};
684
685&i2c9 {
686 status = "okay";
687
688 tmp275@4a {
689 compatible = "ti,tmp275";
690 reg = <0x4a>;
691 };
692};
693
694&i2c10 {
695 status = "okay";
696};
697
698&i2c11 {
699 status = "okay";
700
701 pca9552: pca9552@60 {
702 compatible = "nxp,pca9552";
703 reg = <0x60>;
704 #address-cells = <1>;
705 #size-cells = <0>;
706 gpio-controller;
707 #gpio-cells = <2>;
708
709 gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
710 "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF",
711 "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
712 "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF",
713 "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
714 "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
715 "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
716 "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
717
718 gpio@0 {
719 reg = <0>;
720 type = <PCA955X_TYPE_GPIO>;
721 };
722
723 gpio@1 {
724 reg = <1>;
725 type = <PCA955X_TYPE_GPIO>;
726 };
727
728 gpio@2 {
729 reg = <2>;
730 type = <PCA955X_TYPE_GPIO>;
731 };
732
733 gpio@3 {
734 reg = <3>;
735 type = <PCA955X_TYPE_GPIO>;
736 };
737
738 gpio@4 {
739 reg = <4>;
740 type = <PCA955X_TYPE_GPIO>;
741 };
742
743 gpio@5 {
744 reg = <5>;
745 type = <PCA955X_TYPE_GPIO>;
746 };
747
748 gpio@6 {
749 reg = <6>;
750 type = <PCA955X_TYPE_GPIO>;
751 };
752
753 gpio@7 {
754 reg = <7>;
755 type = <PCA955X_TYPE_GPIO>;
756 };
757
758 gpio@8 {
759 reg = <8>;
760 type = <PCA955X_TYPE_GPIO>;
761 };
762
763 gpio@9 {
764 reg = <9>;
765 type = <PCA955X_TYPE_GPIO>;
766 };
767
768 gpio@10 {
769 reg = <10>;
770 type = <PCA955X_TYPE_GPIO>;
771 };
772
773 gpio@11 {
774 reg = <11>;
775 type = <PCA955X_TYPE_GPIO>;
776 };
777
778 gpio@12 {
779 reg = <12>;
780 type = <PCA955X_TYPE_GPIO>;
781 };
782
783 gpio@13 {
784 reg = <13>;
785 type = <PCA955X_TYPE_GPIO>;
786 };
787
788 gpio@14 {
789 reg = <14>;
790 type = <PCA955X_TYPE_GPIO>;
791 };
792
793 gpio@15 {
794 reg = <15>;
795 type = <PCA955X_TYPE_GPIO>;
796 };
797 };
798
799 rtc@32 {
800 compatible = "epson,rx8900";
801 reg = <0x32>;
802 };
803
804 eeprom@51 {
805 compatible = "atmel,24c64";
806 reg = <0x51>;
807 };
808
809 ucd90160@64 {
810 compatible = "ti,ucd90160";
811 reg = <0x64>;
812 };
813};
814
815&i2c12 {
816 status = "okay";
817};
818
819&i2c13 {
820 status = "okay";
821};
822
823&ibt {
824 status = "okay";
825};
826
827&uart1 {
828 status = "okay";
829 // Workaround for A0
830 compatible = "snps,dw-apb-uart";
831};
832
833&uart5 {
834 // Workaround for A0
835 compatible = "snps,dw-apb-uart";
836};
837
838&vuart1 {
839 status = "okay";
840};
841
842&vuart2 {
843 status = "okay";
844};
845
846&lpc_ctrl {
847 status = "okay";
848 memory-region = <&flash_memory>;
849 flash = <&spi1>;
850};
851
852&wdt1 {
853 aspeed,reset-type = "none";
854 aspeed,external-signal;
855 aspeed,ext-push-pull;
856 aspeed,ext-active-high;
857
858 pinctrl-names = "default";
859 pinctrl-0 = <&pinctrl_wdtrst1_default>;
860};
861
862&wdt2 {
863 status = "okay";
864};
865
866&pinctrl {
867 /* Hog these as no driver is probed for the entire LPC block */
868 pinctrl-names = "default";
869 pinctrl-0 = <&pinctrl_lpc_default>,
870 <&pinctrl_lsirq_default>;
871};
872
873&xdma {
874 status = "okay";
875 memory-region = <&vga_memory>;
876};
877
878&kcs2 {
879 status = "okay";
880 aspeed,lpc-io-reg = <0xca8 0xcac>;
881};
882
883&kcs3 {
884 status = "okay";
885 aspeed,lpc-io-reg = <0xca2>;
886 aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
887};