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