blob: 2b336aa0146d9dc44daa30260a42b49d93b9cab4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-only
2// Copyright (c) 2022, Ampere Computing LLC
3
4/dts-v1/;
5
6#include "aspeed-g6.dtsi"
7#include <dt-bindings/i2c/i2c.h>
8#include <dt-bindings/gpio/aspeed-gpio.h>
9
10/ {
11 model = "Ampere Mt.Mitchell BMC";
12 compatible = "ampere,mtmitchell-bmc", "aspeed,ast2600";
13
14 aliases {
15 serial7 = &uart8;
16 serial8 = &uart9;
17
18 /*
Tom Rini9c8af152024-12-24 12:03:04 -060019 * I2C temperature alias port
20 */
21 i2c20 = &i2c4_bus70_chn0;
22 i2c21 = &i2c4_bus70_chn1;
23 i2c22 = &i2c4_bus70_chn2;
24 i2c23 = &i2c4_bus70_chn3;
25
26 /*
27 * i2c bus 30-31 assigned to OCP slot 0-1
28 */
29 i2c30 = &ocpslot_0;
30 i2c31 = &ocpslot_1;
31
32 /*
33 * i2c bus 32-33 assigned to Riser slot 0-1
34 */
35 i2c32 = &i2c_riser0;
36 i2c33 = &i2c_riser1;
37
38 /*
39 * i2c bus 38-39 assigned to FRU on Riser slot 0-1
40 */
41 i2c38 = &i2c_riser0_chn_0;
42 i2c39 = &i2c_riser1_chn_0;
43
44 /*
Tom Rini53633a82024-02-29 12:33:36 -050045 * I2C NVMe alias port
46 */
47 i2c100 = &backplane_0;
48 i2c48 = &nvmeslot_0;
49 i2c49 = &nvmeslot_1;
50 i2c50 = &nvmeslot_2;
51 i2c51 = &nvmeslot_3;
52 i2c52 = &nvmeslot_4;
53 i2c53 = &nvmeslot_5;
54 i2c54 = &nvmeslot_6;
55 i2c55 = &nvmeslot_7;
56
57 i2c101 = &backplane_1;
58 i2c56 = &nvmeslot_8;
59 i2c57 = &nvmeslot_9;
60 i2c58 = &nvmeslot_10;
61 i2c59 = &nvmeslot_11;
62 i2c60 = &nvmeslot_12;
63 i2c61 = &nvmeslot_13;
64 i2c62 = &nvmeslot_14;
65 i2c63 = &nvmeslot_15;
66
67 i2c102 = &backplane_2;
68 i2c64 = &nvmeslot_16;
69 i2c65 = &nvmeslot_17;
70 i2c66 = &nvmeslot_18;
71 i2c67 = &nvmeslot_19;
72 i2c68 = &nvmeslot_20;
73 i2c69 = &nvmeslot_21;
74 i2c70 = &nvmeslot_22;
75 i2c71 = &nvmeslot_23;
76
77 i2c80 = &nvme_m2_0;
78 i2c81 = &nvme_m2_1;
79 };
80
81 chosen {
82 stdout-path = &uart5;
83 };
84
85 memory@80000000 {
86 device_type = "memory";
87 reg = <0x80000000 0x80000000>;
88 };
89
90 reserved-memory {
91 #address-cells = <1>;
92 #size-cells = <1>;
93 ranges;
94
95 gfx_memory: framebuffer {
96 size = <0x01000000>;
97 alignment = <0x01000000>;
98 compatible = "shared-dma-pool";
99 reusable;
100 };
101
102 video_engine_memory: video {
103 size = <0x04000000>;
104 alignment = <0x01000000>;
105 compatible = "shared-dma-pool";
106 reusable;
107 };
108
109 vga_memory: region@bf000000 {
110 no-map;
111 compatible = "shared-dma-pool";
112 reg = <0xbf000000 0x01000000>; /* 16M */
113 };
114 };
115
Tom Rini9c8af152024-12-24 12:03:04 -0600116 leds {
117 compatible = "gpio-leds";
118 /*
119 * Use gpio-leds to configure GPIOW5 (bmc-ready) pin to be reseted when
120 * watchdog timeout.
121 */
122 led-bmc-ready {
123 gpios = <&gpio0 ASPEED_GPIO(W, 5) (GPIO_ACTIVE_HIGH | GPIO_TRANSITORY)>;
124 };
125
126 led-sw-heartbeat {
127 gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
128 };
129
130 led-identify {
131 gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_HIGH>;
132 };
133
134 led-fault {
135 gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
136 };
137
138 led-fan-fault {
139 gpios = <&gpio_expander1 0 GPIO_ACTIVE_HIGH>;
140 };
141
142 led-psu-fault {
143 gpios = <&gpio_expander1 1 GPIO_ACTIVE_HIGH>;
144 };
145 };
146
Tom Rini53633a82024-02-29 12:33:36 -0500147 voltage_mon_reg: voltage-mon-regulator {
148 compatible = "regulator-fixed";
149 regulator-name = "ltc2497_reg";
150 regulator-min-microvolt = <3300000>;
151 regulator-max-microvolt = <3300000>;
152 regulator-always-on;
153 };
154
155 gpioI5mux: mux-controller {
156 compatible = "gpio-mux";
157 #mux-control-cells = <0>;
158 mux-gpios = <&gpio0 ASPEED_GPIO(I, 5) GPIO_ACTIVE_HIGH>;
159 };
160
161 adc0mux: adc0mux {
162 compatible = "io-channel-mux";
163 io-channels = <&adc_i2c_0 0>;
164 #io-channel-cells = <1>;
165 io-channel-names = "parent";
166 mux-controls = <&gpioI5mux>;
167 settle-time-us = <10000>;
168 channels = "s0", "s1";
169 };
170
171 adc1mux: adc1mux {
172 compatible = "io-channel-mux";
173 io-channels = <&adc_i2c_0 1>;
174 #io-channel-cells = <1>;
175 io-channel-names = "parent";
176 mux-controls = <&gpioI5mux>;
177 settle-time-us = <10000>;
178 channels = "s0", "s1";
179 };
180
181 adc2mux: adc2mux {
182 compatible = "io-channel-mux";
183 io-channels = <&adc_i2c_0 2>;
184 #io-channel-cells = <1>;
185 io-channel-names = "parent";
186 mux-controls = <&gpioI5mux>;
187 settle-time-us = <10000>;
188 channels = "s0", "s1";
189 };
190
191 adc3mux: adc3mux {
192 compatible = "io-channel-mux";
193 io-channels = <&adc_i2c_0 3>;
194 #io-channel-cells = <1>;
195 io-channel-names = "parent";
196 mux-controls = <&gpioI5mux>;
197 settle-time-us = <10000>;
198 channels = "s0", "s1";
199 };
200
201 adc4mux: adc4mux {
202 compatible = "io-channel-mux";
203 io-channels = <&adc_i2c_0 4>;
204 #io-channel-cells = <1>;
205 io-channel-names = "parent";
206 mux-controls = <&gpioI5mux>;
207 settle-time-us = <10000>;
208 channels = "s0", "s1";
209 };
210
211 adc5mux: adc5mux {
212 compatible = "io-channel-mux";
213 io-channels = <&adc_i2c_0 5>;
214 #io-channel-cells = <1>;
215 io-channel-names = "parent";
216 mux-controls = <&gpioI5mux>;
217 settle-time-us = <10000>;
218 channels = "s0", "s1";
219 };
220
221 adc6mux: adc6mux {
222 compatible = "io-channel-mux";
223 io-channels = <&adc_i2c_0 6>;
224 #io-channel-cells = <1>;
225 io-channel-names = "parent";
226 mux-controls = <&gpioI5mux>;
227 settle-time-us = <10000>;
228 channels = "s0", "s1";
229 };
230
231 adc7mux: adc7mux {
232 compatible = "io-channel-mux";
233 io-channels = <&adc_i2c_0 7>;
234 #io-channel-cells = <1>;
235 io-channel-names = "parent";
236 mux-controls = <&gpioI5mux>;
237 settle-time-us = <10000>;
238 channels = "s0", "s1";
239 };
240
241 adc8mux: adc8mux {
242 compatible = "io-channel-mux";
243 io-channels = <&adc_i2c_0 8>;
244 #io-channel-cells = <1>;
245 io-channel-names = "parent";
246 mux-controls = <&gpioI5mux>;
247 settle-time-us = <10000>;
248 channels = "s0", "s1";
249 };
250
251 adc9mux: adc9mux {
252 compatible = "io-channel-mux";
253 io-channels = <&adc_i2c_0 9>;
254 #io-channel-cells = <1>;
255 io-channel-names = "parent";
256 mux-controls = <&gpioI5mux>;
257 settle-time-us = <10000>;
258 channels = "s0", "s1";
259 };
260
261 adc10mux: adc10mux {
262 compatible = "io-channel-mux";
263 io-channels = <&adc_i2c_0 10>;
264 #io-channel-cells = <1>;
265 io-channel-names = "parent";
266 mux-controls = <&gpioI5mux>;
267 settle-time-us = <10000>;
268 channels = "s0", "s1";
269 };
270
271 adc11mux: adc11mux {
272 compatible = "io-channel-mux";
273 io-channels = <&adc_i2c_0 11>;
274 #io-channel-cells = <1>;
275 io-channel-names = "parent";
276 mux-controls = <&gpioI5mux>;
277 settle-time-us = <10000>;
278 channels = "s0", "s1";
279 };
280
281 adc12mux: adc12mux {
282 compatible = "io-channel-mux";
283 io-channels = <&adc_i2c_0 12>;
284 #io-channel-cells = <1>;
285 io-channel-names = "parent";
286 mux-controls = <&gpioI5mux>;
287 settle-time-us = <10000>;
288 channels = "s0", "s1";
289 };
290
291 adc13mux: adc13mux {
292 compatible = "io-channel-mux";
293 io-channels = <&adc_i2c_0 13>;
294 #io-channel-cells = <1>;
295 io-channel-names = "parent";
296 mux-controls = <&gpioI5mux>;
297 settle-time-us = <10000>;
298 channels = "s0", "s1";
299 };
300
301 adc14mux: adc14mux {
302 compatible = "io-channel-mux";
303 io-channels = <&adc_i2c_0 14>;
304 #io-channel-cells = <1>;
305 io-channel-names = "parent";
306 mux-controls = <&gpioI5mux>;
307 settle-time-us = <10000>;
308 channels = "s0", "s1";
309 };
310
311 adc15mux: adc15mux {
312 compatible = "io-channel-mux";
313 io-channels = <&adc_i2c_0 15>;
314 #io-channel-cells = <1>;
315 io-channel-names = "parent";
316 mux-controls = <&gpioI5mux>;
317 settle-time-us = <10000>;
318 channels = "s0", "s1";
319 };
320
321 iio-hwmon {
322 compatible = "iio-hwmon";
323 io-channels = <&adc0mux 0>, <&adc0mux 1>,
324 <&adc1mux 0>, <&adc1mux 1>,
325 <&adc2mux 0>, <&adc2mux 1>,
326 <&adc3mux 0>, <&adc3mux 1>,
327 <&adc4mux 0>, <&adc4mux 1>,
328 <&adc5mux 0>, <&adc5mux 1>,
329 <&adc6mux 0>, <&adc6mux 1>,
330 <&adc7mux 0>, <&adc7mux 1>,
331 <&adc8mux 0>, <&adc8mux 1>,
332 <&adc9mux 0>, <&adc9mux 1>,
333 <&adc10mux 0>, <&adc10mux 1>,
334 <&adc11mux 0>, <&adc11mux 1>,
335 <&adc12mux 0>, <&adc12mux 1>,
336 <&adc13mux 0>, <&adc13mux 1>,
337 <&adc14mux 0>, <&adc14mux 1>,
338 <&adc15mux 0>, <&adc15mux 1>,
339 <&adc_i2c_1 0>, <&adc_i2c_1 1>,
340 <&adc_i2c_1 2>, <&adc_i2c_1 3>,
341 <&adc_i2c_1 4>, <&adc_i2c_1 5>,
342 <&adc_i2c_1 6>, <&adc_i2c_1 7>,
343 <&adc_i2c_1 8>, <&adc_i2c_1 9>,
344 <&adc_i2c_1 10>, <&adc_i2c_1 11>,
345 <&adc_i2c_1 12>, <&adc_i2c_1 13>,
346 <&adc_i2c_1 14>, <&adc_i2c_1 15>,
347 <&adc0 0>, <&adc0 1>,
348 <&adc0 2>;
349 };
350};
351
352&mdio0 {
353 status = "okay";
354
355 ethphy0: ethernet-phy@0 {
356 compatible = "ethernet-phy-ieee802.3-c22";
357 reg = <0>;
358 };
359};
360
361&mac0 {
362 status = "okay";
363
364 phy-mode = "rgmii";
365 phy-handle = <&ethphy0>;
366
367 pinctrl-names = "default";
368 pinctrl-0 = <&pinctrl_rgmii1_default>;
369};
370
371&mac3 {
372 status = "okay";
373 pinctrl-names = "default";
374 pinctrl-0 = <&pinctrl_rmii4_default>;
375 clock-names = "MACCLK", "RCLK";
376 use-ncsi;
377};
378
379&fmc {
380 status = "okay";
381 flash@0 {
382 status = "okay";
383 m25p,fast-read;
384 label = "bmc";
385 spi-max-frequency = <50000000>;
386#include "openbmc-flash-layout-64.dtsi"
387 };
388
389 flash@1 {
390 status = "okay";
391 m25p,fast-read;
392 label = "alt-bmc";
393 spi-max-frequency = <50000000>;
394#include "openbmc-flash-layout-64-alt.dtsi"
395 };
396};
397
398&spi1 {
399 status = "okay";
400 pinctrl-names = "default";
401 pinctrl-0 = <&pinctrl_spi1_default>;
402
403 flash@0 {
404 status = "okay";
405 m25p,fast-read;
406 label = "pnor";
407 spi-max-frequency = <20000000>;
408 };
409};
410
411&uart1 {
412 status = "okay";
413};
414
415&uart2 {
416 status = "okay";
417};
418
419&uart3 {
420 status = "okay";
421};
422
423&uart4 {
424 status = "okay";
425};
426
427&uart8 {
428 status = "okay";
429};
430
431&uart9 {
432 status = "okay";
433};
434
435&i2c0 {
436 status = "okay";
437
438 temperature-sensor@2e {
439 compatible = "adi,adt7490";
440 reg = <0x2e>;
441 };
442};
443
444&i2c1 {
445 status = "okay";
446};
447
448&i2c2 {
449 status = "okay";
450
451 psu@58 {
452 compatible = "pmbus";
453 reg = <0x58>;
454 };
455
456 psu@59 {
457 compatible = "pmbus";
458 reg = <0x59>;
459 };
460};
461
462&i2c3 {
463 status = "okay";
464 bus-frequency = <1000000>;
465 multi-master;
466 mctp-controller;
467
468 mctp@10 {
469 compatible = "mctp-i2c-controller";
470 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
471 };
472};
473
474&i2c4 {
475 status = "okay";
476
477 adc_i2c_0: adc@14 {
478 compatible = "lltc,ltc2497";
479 reg = <0x14>;
480 vref-supply = <&voltage_mon_reg>;
481 #io-channel-cells = <1>;
482 };
483
484 adc_i2c_1: adc@16 {
485 compatible = "lltc,ltc2497";
486 reg = <0x16>;
487 vref-supply = <&voltage_mon_reg>;
488 #io-channel-cells = <1>;
489 };
490
491 eeprom@50 {
492 compatible = "atmel,24c64";
493 reg = <0x50>;
494 pagesize = <32>;
495 };
496
497 i2c-mux@70 {
498 compatible = "nxp,pca9545";
499 #address-cells = <1>;
500 #size-cells = <0>;
501 reg = <0x70>;
502 i2c-mux-idle-disconnect;
503
504 i2c4_bus70_chn0: i2c@0 {
505 #address-cells = <1>;
506 #size-cells = <0>;
507 reg = <0x0>;
508
509 outlet_temp1: temperature-sensor@48 {
510 compatible = "ti,tmp75";
511 reg = <0x48>;
512 };
513 psu1_inlet_temp2: temperature-sensor@49 {
514 compatible = "ti,tmp75";
515 reg = <0x49>;
516 };
517 };
518
519 i2c4_bus70_chn1: i2c@1 {
520 #address-cells = <1>;
521 #size-cells = <0>;
522 reg = <0x1>;
523
524 pcie_zone_temp1: temperature-sensor@48 {
525 compatible = "ti,tmp75";
526 reg = <0x48>;
527 };
528 psu0_inlet_temp2: temperature-sensor@49 {
529 compatible = "ti,tmp75";
530 reg = <0x49>;
531 };
532 };
533
534 i2c4_bus70_chn2: i2c@2 {
535 #address-cells = <1>;
536 #size-cells = <0>;
537 reg = <0x2>;
538
539 pcie_zone_temp2: temperature-sensor@48 {
540 compatible = "ti,tmp75";
541 reg = <0x48>;
542 };
543 outlet_temp2: temperature-sensor@49 {
544 compatible = "ti,tmp75";
545 reg = <0x49>;
546 };
547 };
548
549 i2c4_bus70_chn3: i2c@3 {
550 #address-cells = <1>;
551 #size-cells = <0>;
552 reg = <0x3>;
553
554 mb_inlet_temp1: temperature-sensor@7c {
555 compatible = "microchip,emc1413";
556 reg = <0x7c>;
557 };
558 mb_inlet_temp2: temperature-sensor@4c {
559 compatible = "microchip,emc1413";
560 reg = <0x4c>;
561 };
562 };
563 };
564};
565
566&i2c5 {
567 status = "okay";
568
569 i2c-mux@70 {
570 compatible = "nxp,pca9548";
571 #address-cells = <1>;
572 #size-cells = <0>;
573 reg = <0x70>;
574 i2c-mux-idle-disconnect;
Tom Rini9c8af152024-12-24 12:03:04 -0600575
576 ocpslot_0: i2c@0 {
577 #address-cells = <1>;
578 #size-cells = <0>;
579 reg = <0x0>;
580
581 ocpslot_0_temp: temperature-sensor@1f {
582 compatible = "ti,tmp421";
583 reg = <0x1f>;
584 };
585 };
586
587 ocpslot_1: i2c@1 {
588 #address-cells = <1>;
589 #size-cells = <0>;
590 reg = <0x1>;
591
592 ocpslot_1_temp: temperature-sensor@1f {
593 compatible = "ti,tmp421";
594 reg = <0x1f>;
595 };
596 };
597
598 i2c_riser0: i2c@2 {
599 #address-cells = <1>;
600 #size-cells = <0>;
601 reg = <0x2>;
602
603 i2c-mux@72 {
604 compatible = "nxp,pca9546";
605 #address-cells = <1>;
606 #size-cells = <0>;
607 reg = <0x72>;
608 i2c-mux-idle-disconnect;
609
610 i2c_riser0_chn_0: i2c@0 {
611 #address-cells = <1>;
612 #size-cells = <0>;
613 reg = <0x0>;
614
615 eeprom@50 {
616 compatible = "atmel,24c02";
617 reg = <0x50>;
618 pagesize = <16>;
619 };
620 };
621 };
622 };
623
624 i2c_riser1: i2c@3 {
625 #address-cells = <1>;
626 #size-cells = <0>;
627 reg = <0x3>;
628
629 i2c-mux@72 {
630 compatible = "nxp,pca9546";
631 #address-cells = <1>;
632 #size-cells = <0>;
633 reg = <0x72>;
634 i2c-mux-idle-disconnect;
635
636 i2c_riser1_chn_0: i2c@0 {
637 #address-cells = <1>;
638 #size-cells = <0>;
639 reg = <0x0>;
640
641 eeprom@50 {
642 compatible = "atmel,24c02";
643 reg = <0x50>;
644 pagesize = <16>;
645 };
646 };
647 };
648 };
Tom Rini53633a82024-02-29 12:33:36 -0500649 };
650};
651
652&i2c6 {
653 status = "okay";
654 rtc@51 {
655 compatible = "nxp,pcf85063a";
656 reg = <0x51>;
657 };
658};
659
660&i2c7 {
661 status = "okay";
662};
663
664&i2c8 {
665 status = "okay";
666
667 temperature-sensor@48 {
668 compatible = "ti,tmp112";
669 reg = <0x48>;
670 };
671
672 gpio@77 {
673 compatible = "nxp,pca9539";
674 reg = <0x77>;
675 gpio-controller;
676 #address-cells = <1>;
677 #size-cells = <0>;
678 #gpio-cells = <2>;
679
Tom Riniab06a532025-04-02 08:31:19 -0600680 gpio-line-names =
681 "ext-vref-sel","","presence-hdd-bp5-n","presence-hdd-bp6-n",
682 "","bmc-riser-en-n","bmc-ocp1-en-n","bmc-ocp0-en-n",
683 "","","","",
684 "","","","";
685
Tom Rini53633a82024-02-29 12:33:36 -0500686 bmc-ocp0-en-hog {
687 gpio-hog;
688 gpios = <7 GPIO_ACTIVE_LOW>;
689 output-high;
690 line-name = "bmc-ocp0-en-n";
691 };
692 };
Tom Riniab06a532025-04-02 08:31:19 -0600693
694 fan-controller0@20 {
695 compatible = "maxim,max31790";
696 reg = <0x20>;
697 };
698
699 fan-controller1@2f {
700 compatible = "maxim,max31790";
701 reg = <0x2f>;
702 };
Tom Rini53633a82024-02-29 12:33:36 -0500703};
704
705&i2c9 {
706 status = "okay";
707 i2c-mux@70 {
708 compatible = "nxp,pca9548";
709 #address-cells = <1>;
710 #size-cells = <0>;
711 reg = <0x70>;
712 i2c-mux-idle-disconnect;
713
714 backplane_1: i2c@0 {
715 #address-cells = <1>;
716 #size-cells = <0>;
717 reg = <0x0>;
718
719 eeprom@50 {
720 compatible = "atmel,24c64";
721 reg = <0x50>;
722 pagesize = <32>;
723 };
724
725 i2c-mux@71 {
726 compatible = "nxp,pca9548";
727 #address-cells = <1>;
728 #size-cells = <0>;
729 reg = <0x71>;
730 i2c-mux-idle-disconnect;
731
732 nvmeslot_8: i2c@0 {
733 #address-cells = <1>;
734 #size-cells = <0>;
735 reg = <0x0>;
736 };
737 nvmeslot_9: i2c@1 {
738 #address-cells = <1>;
739 #size-cells = <0>;
740 reg = <0x1>;
741 };
742 nvmeslot_10: i2c@2 {
743 #address-cells = <1>;
744 #size-cells = <0>;
745 reg = <0x2>;
746 };
747 nvmeslot_11: i2c@3 {
748 #address-cells = <1>;
749 #size-cells = <0>;
750 reg = <0x3>;
751 };
752 nvmeslot_12: i2c@4 {
753 #address-cells = <1>;
754 #size-cells = <0>;
755 reg = <0x4>;
756 };
757 nvmeslot_13: i2c@5 {
758 #address-cells = <1>;
759 #size-cells = <0>;
760 reg = <0x5>;
761 };
762 nvmeslot_14: i2c@6 {
763 #address-cells = <1>;
764 #size-cells = <0>;
765 reg = <0x6>;
766 };
767 nvmeslot_15: i2c@7 {
768 #address-cells = <1>;
769 #size-cells = <0>;
770 reg = <0x7>;
771 };
772 };
773
774 tmp432@4c {
775 compatible = "ti,tmp75";
776 reg = <0x4c>;
777 };
778 };
779
780 backplane_2: i2c@2 {
781 #address-cells = <1>;
782 #size-cells = <0>;
783 reg = <0x2>;
784
785 eeprom@50 {
786 compatible = "atmel,24c64";
787 reg = <0x50>;
788 pagesize = <32>;
789 };
790
791 i2c-mux@71 {
792 compatible = "nxp,pca9548";
793 #address-cells = <1>;
794 #size-cells = <0>;
795 reg = <0x71>;
796 i2c-mux-idle-disconnect;
797
798 nvmeslot_16: i2c@0 {
799 #address-cells = <1>;
800 #size-cells = <0>;
801 reg = <0x0>;
802 };
803 nvmeslot_17: i2c@1 {
804 #address-cells = <1>;
805 #size-cells = <0>;
806 reg = <0x1>;
807 };
808 nvmeslot_18: i2c@2 {
809 #address-cells = <1>;
810 #size-cells = <0>;
811 reg = <0x2>;
812 };
813 nvmeslot_19: i2c@3 {
814 #address-cells = <1>;
815 #size-cells = <0>;
816 reg = <0x3>;
817 };
818 nvmeslot_20: i2c@4 {
819 #address-cells = <1>;
820 #size-cells = <0>;
821 reg = <0x4>;
822 };
823 nvmeslot_21: i2c@5 {
824 #address-cells = <1>;
825 #size-cells = <0>;
826 reg = <0x5>;
827 };
828 nvmeslot_22: i2c@6 {
829 #address-cells = <1>;
830 #size-cells = <0>;
831 reg = <0x6>;
832 };
833 nvmeslot_23: i2c@7 {
834 #address-cells = <1>;
835 #size-cells = <0>;
836 reg = <0x7>;
837 };
838 };
839
840 tmp432@4c {
841 compatible = "ti,tmp75";
842 reg = <0x4c>;
843 };
844 };
845
846 backplane_0: i2c@4 {
847 #address-cells = <1>;
848 #size-cells = <0>;
849 reg = <0x4>;
850
851 eeprom@50 {
852 compatible = "atmel,24c64";
853 reg = <0x50>;
854 pagesize = <32>;
855 };
856
857 i2c-mux@71 {
858 compatible = "nxp,pca9548";
859 #address-cells = <1>;
860 #size-cells = <0>;
861 reg = <0x71>;
862 i2c-mux-idle-disconnect;
863
864 nvmeslot_0: i2c@0 {
865 #address-cells = <1>;
866 #size-cells = <0>;
867 reg = <0x0>;
868 };
869 nvmeslot_1: i2c@1 {
870 #address-cells = <1>;
871 #size-cells = <0>;
872 reg = <0x1>;
873 };
874 nvmeslot_2: i2c@2 {
875 #address-cells = <1>;
876 #size-cells = <0>;
877 reg = <0x2>;
878 };
879 nvmeslot_3: i2c@3 {
880 #address-cells = <1>;
881 #size-cells = <0>;
882 reg = <0x3>;
883 };
884 nvmeslot_4: i2c@4 {
885 #address-cells = <1>;
886 #size-cells = <0>;
887 reg = <0x4>;
888 };
889 nvmeslot_5: i2c@5 {
890 #address-cells = <1>;
891 #size-cells = <0>;
892 reg = <0x5>;
893 };
894 nvmeslot_6: i2c@6 {
895 #address-cells = <1>;
896 #size-cells = <0>;
897 reg = <0x6>;
898 };
899 nvmeslot_7: i2c@7 {
900 #address-cells = <1>;
901 #size-cells = <0>;
902 reg = <0x7>;
903 };
904 };
905
906 tmp432@4c {
907 compatible = "ti,tmp75";
908 reg = <0x4c>;
909 };
910 };
911
912 i2c@7 {
913 #address-cells = <1>;
914 #size-cells = <0>;
915 reg = <0x7>;
916
917 i2c-mux@71 {
918 compatible = "nxp,pca9546";
919 #address-cells = <1>;
920 #size-cells = <0>;
921 reg = <0x71>;
922 i2c-mux-idle-disconnect;
923
924 nvme_m2_0: i2c@0 {
925 #address-cells = <1>;
926 #size-cells = <0>;
927 reg = <0x0>;
928 };
929
930 nvme_m2_1: i2c@1 {
931 #address-cells = <1>;
932 #size-cells = <0>;
933 reg = <0x1>;
934 };
935 };
936 };
937 };
938};
939
Tom Rini9c8af152024-12-24 12:03:04 -0600940&i2c10 {
941 status = "okay";
942};
943
Tom Rini53633a82024-02-29 12:33:36 -0500944&i2c11 {
945 status = "okay";
946 ssif-bmc@10 {
947 compatible = "ssif-bmc";
948 reg = <0x10>;
949 };
950};
951
952&i2c14 {
953 status = "okay";
954 eeprom@50 {
955 compatible = "atmel,24c64";
956 reg = <0x50>;
957 pagesize = <32>;
958 };
959
960 bmc_ast2600_cpu: temperature-sensor@35 {
961 compatible = "ti,tmp175";
962 reg = <0x35>;
963 };
964};
965
Tom Rini9c8af152024-12-24 12:03:04 -0600966&i2c15 {
967 status = "okay";
968 gpio_expander1: gpio-expander@22 {
969 compatible = "nxp,pca9535";
970 reg = <0x22>;
971 gpio-controller;
972 #gpio-cells = <2>;
973 gpio-line-names =
974 "fan-fault","psu-fault",
975 "","",
976 "","",
Tom Riniab06a532025-04-02 08:31:19 -0600977 "gpi0","gpi1",
Tom Rini9c8af152024-12-24 12:03:04 -0600978 "","",
979 "","",
980 "","",
981 "","";
982 };
983};
984
Tom Rini53633a82024-02-29 12:33:36 -0500985&adc0 {
Tom Rini53633a82024-02-29 12:33:36 -0500986 status = "okay";
987
988 pinctrl-names = "default";
989 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
990 &pinctrl_adc2_default>;
991};
992
993&vhub {
994 status = "okay";
995};
996
997&video {
998 status = "okay";
999 memory-region = <&video_engine_memory>;
1000};
1001
1002&gpio0 {
1003 gpio-line-names =
1004 /*A0-A7*/ "","","","","","i2c2-reset-n","i2c6-reset-n","i2c4-reset-n",
1005 /*B0-B7*/ "","","","","host0-sysreset-n","host0-pmin-n","","",
1006 /*C0-C7*/ "s0-vrd-fault-n","s1-vrd-fault-n","bmc-debug-mode","",
1007 "irq-n","","vrd-sel","spd-sel",
1008 /*D0-D7*/ "presence-ps0","presence-ps1","hsc-12vmain-alt2-n","ext-high-temp-n",
1009 "","bmc-ncsi-txen","","",
1010 /*E0-E7*/ "","eth-phy-int-n","clk50m-bmc-ncsi","","","","","",
1011 /*F0-F7*/ "s0-pcp-oc-warn-n","s1-pcp-oc-warn-n","power-chassis-control",
1012 "cpu-bios-recover","s0-heartbeat","hs-csout-prochot",
1013 "s0-vr-hot-n","s1-vr-hot-n",
1014 /*G0-G7*/ "","","hsc-12vmain-alt1-n","","","","","",
1015 /*H0-H7*/ "jtag-program-sel","fpga-program-b","wd-disable-n",
1016 "power-chassis-good","","","","",
1017 /*I0-I7*/ "","","","","","adc-sw","power-button","rtc-battery-voltage-read-enable",
1018 /*J0-J7*/ "","","","","","","","",
1019 /*K0-K7*/ "","","","","","","","",
1020 /*L0-L7*/ "","","","","","","","",
1021 /*M0-M7*/ "","s0-ddr-save","soc-spi-nor-access","presence-cpu0",
1022 "s0-rtc-lock","","","",
1023 /*N0-N7*/ "hpm-fw-recovery","hpm-stby-rst-n","jtag-sel-s0","led-sw-hb",
1024 "jtag-dbgr-prsnt-n","s1-heartbeat","","",
1025 /*O0-O7*/ "","","","","","","","",
1026 /*P0-P7*/ "ps0-ac-loss-n","ps1-ac-loss-n","","",
1027 "led-fault","cpld-user-mode","jtag-srst-n","led-bmc-hb",
1028 /*Q0-Q7*/ "","","","","","","","",
1029 /*R0-R7*/ "","","","","","","","",
1030 /*S0-S7*/ "","","identify-button","led-identify",
1031 "s1-ddr-save","spi-nor-access","host0-ready","presence-cpu1",
1032 /*T0-T7*/ "","","","","","","","",
1033 /*U0-U7*/ "","","","","","","","",
1034 /*V0-V7*/ "s0-hightemp-n","s0-fault-alert","s0-sys-auth-failure-n",
1035 "host0-reboot-ack-n","s0-fw-boot-ok","host0-shd-req-n",
1036 "host0-shd-ack-n","s0-overtemp-n",
1037 /*W0-W7*/ "ocp-aux-pwren","ocp-main-pwren","ocp-pgood","s1-pcp-pgood",
1038 "bmc-ok","bmc-ready","spi0-program-sel","spi0-backup-sel",
1039 /*X0-X7*/ "i2c-backup-sel","s1-fault-alert","s1-fw-boot-ok",
1040 "s1-hightemp-n","s0-spi-auth-fail-n","s1-sys-auth-failure-n",
1041 "s1-overtemp-n","cpld-s1-spi-auth-fail-n",
1042 /*Y0-Y7*/ "","","","","","","","host0-special-boot",
1043 /*Z0-Z7*/ "reset-button","ps0-pgood","ps1-pgood","","","","","";
1044
1045 ocp-aux-pwren-hog {
1046 gpio-hog;
1047 gpios = <ASPEED_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
1048 output-high;
1049 line-name = "ocp-aux-pwren";
1050 };
1051};
1052
1053&gpio1 {
1054 gpio-line-names =
1055 /*18A0-18A7*/ "","","","","","","","",
1056 /*18B0-18B7*/ "","","","","","","s0-soc-pgood","",
1057 /*18C0-18C7*/ "uart1-mode0","uart1-mode1","uart2-mode0","uart2-mode1",
1058 "uart3-mode0","uart3-mode1","uart4-mode0","uart4-mode1",
1059 /*18D0-18D7*/ "","","","","","","","",
1060 /*18E0-18E3*/ "","","","";
1061};