blob: 9cb511a846e3461c99f9261b7986e7df99907a74 [file] [log] [blame]
Tom Rini762f85b2024-07-20 11:15:10 -06001// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2023 Facebook Inc.
3
4/dts-v1/;
5#include "aspeed-g6.dtsi"
6#include <dt-bindings/gpio/aspeed-gpio.h>
7#include <dt-bindings/i2c/i2c.h>
8
9/ {
10 model = "Facebook Harma";
11 compatible = "facebook,harma-bmc", "aspeed,ast2600";
12
13 aliases {
14 serial0 = &uart1;
15 serial1 = &uart2;
16 serial2 = &uart4;
17 serial4 = &uart5;
18
19 i2c20 = &imux20;
20 i2c21 = &imux21;
21 i2c22 = &imux22;
22 i2c23 = &imux23;
Tom Rini762f85b2024-07-20 11:15:10 -060023 i2c28 = &imux28;
24 i2c29 = &imux29;
25 i2c30 = &imux30;
26 i2c31 = &imux31;
27
28 spi1 = &spi_gpio;
29 };
30
31 chosen {
32 stdout-path = &uart5;
33 };
34
35 memory@80000000 {
36 device_type = "memory";
37 reg = <0x80000000 0x80000000>;
38 };
39
40 iio-hwmon {
41 compatible = "iio-hwmon";
42 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
43 <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
44 <&adc1 2>;
45 };
46
47 leds {
48 compatible = "gpio-leds";
49
50 led-0 {
51 label = "bmc_heartbeat_amber";
52 gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
53 linux,default-trigger = "heartbeat";
54 };
55
56 led-1 {
57 label = "fp_id_amber";
58 default-state = "off";
59 gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
60 };
61
62 led-2 {
63 label = "power_blue";
64 default-state = "off";
65 gpios = <&gpio0 124 GPIO_ACTIVE_HIGH>;
66 };
67 };
68
Tom Rini9c8af152024-12-24 12:03:04 -060069 spi_gpio: spi {
Tom Rini762f85b2024-07-20 11:15:10 -060070 status = "okay";
71 compatible = "spi-gpio";
72 #address-cells = <1>;
73 #size-cells = <0>;
74
Tom Rini9c8af152024-12-24 12:03:04 -060075 sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
76 mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
77 miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
Tom Rini762f85b2024-07-20 11:15:10 -060078 num-chipselects = <1>;
79 cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
80
Tom Rini9c8af152024-12-24 12:03:04 -060081 tpm@0 {
Tom Rini762f85b2024-07-20 11:15:10 -060082 compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
83 spi-max-frequency = <33000000>;
84 reg = <0>;
85 };
86 };
87};
88
89// HOST BIOS Debug
90&uart1 {
91 status = "okay";
92};
93
94// SOL Host Console
95&uart2 {
96 status = "okay";
97 pinctrl-0 = <>;
98};
99
100// SOL BMC Console
101&uart4 {
102 status = "okay";
103 pinctrl-0 = <>;
104};
105
106// BMC Debug Console
107&uart5 {
108 status = "okay";
109};
110
111// MTIA
112&uart6 {
113 status = "okay";
114};
115
116&uart_routing {
117 status = "okay";
118};
119
120&wdt1 {
121 status = "okay";
122 pinctrl-names = "default";
123 pinctrl-0 = <&pinctrl_wdtrst1_default>;
124 aspeed,reset-type = "soc";
125 aspeed,external-signal;
126 aspeed,ext-push-pull;
127 aspeed,ext-active-high;
128 aspeed,ext-pulse-duration = <256>;
129};
130
131&mac3 {
132 status = "okay";
133 pinctrl-names = "default";
134 pinctrl-0 = <&pinctrl_rmii4_default>;
135 use-ncsi;
Tom Rini762f85b2024-07-20 11:15:10 -0600136};
137
Tom Rini762f85b2024-07-20 11:15:10 -0600138&fmc {
139 status = "okay";
140
141 flash@0 {
142 status = "okay";
143 m25p,fast-read;
144 label = "bmc";
145 spi-max-frequency = <50000000>;
146#include "openbmc-flash-layout-128.dtsi"
147 };
148
149 flash@1 {
150 status = "okay";
151 m25p,fast-read;
152 label = "alt-bmc";
153 spi-max-frequency = <50000000>;
154 };
155};
156
157// BIOS Flash
158&spi2 {
159 status = "okay";
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_spi2_default>;
162
163 flash@0 {
164 status = "okay";
165 m25p,fast-read;
166 label = "pnor";
167 spi-max-frequency = <12000000>;
168 spi-tx-bus-width = <2>;
169 spi-rx-bus-width = <2>;
170 };
171};
172
173&kcs2 {
174 status = "okay";
175 aspeed,lpc-io-reg = <0xca8>;
176};
177
178&kcs3 {
179 status = "okay";
180 aspeed,lpc-io-reg = <0xca2>;
181};
182
183&i2c0 {
184 status = "okay";
185
186 pwm@5e{
187 compatible = "max31790";
188 reg = <0x5e>;
189 #address-cells = <1>;
190 #size-cells = <0>;
191 };
Tom Rini9c8af152024-12-24 12:03:04 -0600192
193 power-sensor@40 {
194 compatible = "ti,ina238";
195 reg = <0x40>;
196 shunt-resistor = <1000>;
197 };
198
199 power-sensor@41 {
200 compatible = "ti,ina238";
201 reg = <0x41>;
202 shunt-resistor = <1000>;
203 };
204
205 power-sensor@44 {
206 compatible = "ti,ina238";
207 reg = <0x44>;
208 shunt-resistor = <1000>;
209 };
210
211 power-sensor@45 {
212 compatible = "ti,ina238";
213 reg = <0x45>;
214 shunt-resistor = <1000>;
215 };
216
217 temperature-sensor@4b {
218 compatible = "ti,tmp75";
219 reg = <0x4b>;
220 };
Tom Rini762f85b2024-07-20 11:15:10 -0600221};
222
223&i2c1 {
224 status = "okay";
225
226 temperature-sensor@4b {
227 compatible = "ti,tmp75";
228 reg = <0x4b>;
229 };
230
231 // MB NIC FRU
232 eeprom@50 {
233 compatible = "atmel,24c64";
234 reg = <0x50>;
235 };
236};
237
238&i2c2 {
239 status = "okay";
240
241 pwm@5e{
242 compatible = "max31790";
243 reg = <0x5e>;
244 #address-cells = <1>;
245 #size-cells = <0>;
246 };
Tom Rini9c8af152024-12-24 12:03:04 -0600247
248 power-sensor@40 {
249 compatible = "ti,ina238";
250 reg = <0x40>;
251 shunt-resistor = <1000>;
252 };
253
254 power-sensor@41 {
255 compatible = "ti,ina238";
256 reg = <0x41>;
257 shunt-resistor = <1000>;
258 };
259
260 power-sensor@44 {
261 compatible = "ti,ina238";
262 reg = <0x44>;
263 shunt-resistor = <1000>;
264 };
265
266 power-sensor@45 {
267 compatible = "ti,ina238";
268 reg = <0x45>;
269 shunt-resistor = <1000>;
270 };
271
272 temperature-sensor@4b {
273 compatible = "ti,tmp75";
274 reg = <0x4b>;
275 };
Tom Rini762f85b2024-07-20 11:15:10 -0600276};
277
278&i2c3 {
279 status = "okay";
280
281 i2c-mux@70 {
282 compatible = "nxp,pca9543";
283 reg = <0x70>;
284 #address-cells = <1>;
285 #size-cells = <0>;
286
287 imux20: i2c@0 {
288 #address-cells = <1>;
289 #size-cells = <0>;
290 reg = <0>;
291 //Retimer Flash
292 eeprom@50 {
293 compatible = "atmel,24c2048";
294 reg = <0x50>;
295 pagesize = <128>;
296 };
297 };
298 imux21: i2c@1 {
299 #address-cells = <1>;
300 #size-cells = <0>;
301 reg = <1>;
302 retimer@24 {
303 compatible = "asteralabs,pt5161l";
304 reg = <0x24>;
305 };
306 };
307 };
308};
309
310&i2c4 {
311 status = "okay";
312 // PDB FRU
313 eeprom@52 {
314 compatible = "atmel,24c64";
315 reg = <0x52>;
316 };
317
318 power-monitor@69 {
319 compatible = "pmbus";
320 reg = <0x69>;
321 };
322
323 temperature-sensor@49 {
324 compatible = "ti,tmp75";
325 reg = <0x49>;
326 };
327
Tom Rini9c8af152024-12-24 12:03:04 -0600328 power-monitor@44 {
329 compatible = "lltc,ltc4287";
330 reg = <0x44>;
331 shunt-resistor-micro-ohms = <250>;
332 };
333
334 power-monitor@40 {
335 compatible = "infineon,xdp710";
336 reg = <0x40>;
Tom Rini762f85b2024-07-20 11:15:10 -0600337 };
338};
339
340&i2c5 {
341 status = "okay";
342};
343
344&i2c6 {
345 status = "okay";
346
347 i2c-mux@70 {
348 compatible = "nxp,pca9543";
349 reg = <0x70>;
350 #address-cells = <1>;
351 #size-cells = <0>;
352
353 imux22: i2c@0 {
354 #address-cells = <1>;
355 #size-cells = <0>;
356 reg = <0>;
357 };
358 imux23: i2c@1 {
359 #address-cells = <1>;
360 #size-cells = <0>;
361 reg = <1>;
362 };
363 };
364};
365
366&i2c7 {
367 status = "okay";
368};
369
370&i2c8 {
371 status = "okay";
372};
373
374&i2c9 {
375 status = "okay";
376
Tom Rini9c8af152024-12-24 12:03:04 -0600377 mctp-controller;
378 multi-master;
379
380 mctp@10 {
381 compatible = "mctp-i2c-controller";
382 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
383 };
384
Tom Rini762f85b2024-07-20 11:15:10 -0600385 gpio@30 {
386 compatible = "nxp,pca9555";
387 reg = <0x30>;
388 gpio-controller;
389 #gpio-cells = <2>;
390 };
391 gpio@31 {
392 compatible = "nxp,pca9555";
393 reg = <0x31>;
394 gpio-controller;
395 #gpio-cells = <2>;
Tom Rini762f85b2024-07-20 11:15:10 -0600396 };
397
Tom Rini762f85b2024-07-20 11:15:10 -0600398 // PTTV FRU
399 eeprom@52 {
400 compatible = "atmel,24c64";
401 reg = <0x52>;
402 };
403};
404
405&i2c11 {
406 status = "okay";
Tom Rini9c8af152024-12-24 12:03:04 -0600407
408 gpio@30 {
409 compatible = "nxp,pca9555";
410 reg = <0x30>;
411 gpio-controller;
412 #gpio-cells = <2>;
413 };
414 gpio@31 {
415 compatible = "nxp,pca9555";
416 reg = <0x31>;
417 gpio-controller;
418 #gpio-cells = <2>;
Tom Rini9c8af152024-12-24 12:03:04 -0600419 };
420
421 // Aegis FRU
422 eeprom@52 {
423 compatible = "atmel,24c64";
424 reg = <0x52>;
425 };
Tom Rini762f85b2024-07-20 11:15:10 -0600426};
427
428&i2c12 {
429 status = "okay";
430 retimer@24 {
431 compatible = "asteralabs,pt5161l";
432 reg = <0x24>;
433 };
434};
435
436&i2c13 {
437 status = "okay";
438
439 i2c-mux@70 {
440 compatible = "nxp,pca9545";
441 reg = <0x70>;
442 #address-cells = <1>;
443 #size-cells = <0>;
444
445 imux28: i2c@0 {
446 #address-cells = <1>;
447 #size-cells = <0>;
448 reg = <0>;
Tom Rini9c8af152024-12-24 12:03:04 -0600449 power-monitor@61 {
450 compatible = "isil,isl69260";
451 reg = <0x61>;
452 };
453 power-monitor@62 {
454 compatible = "isil,isl69260";
455 reg = <0x62>;
456 };
457 power-monitor@63 {
458 compatible = "isil,isl69260";
459 reg = <0x63>;
460 };
461 power-monitor@64 {
462 compatible = "infineon,xdpe152c4";
463 reg = <0x64>;
464 };
465 power-monitor@66 {
466 compatible = "infineon,xdpe152c4";
467 reg = <0x66>;
468 };
469 power-monitor@68 {
470 compatible = "infineon,xdpe152c4";
471 reg = <0x68>;
472 };
Tom Rini762f85b2024-07-20 11:15:10 -0600473 };
474 imux29: i2c@1 {
475 #address-cells = <1>;
476 #size-cells = <0>;
477 reg = <1>;
478 //MB FRU
479 eeprom@54 {
480 compatible = "atmel,24c64";
481 reg = <0x54>;
482 };
483 };
484 imux30: i2c@2 {
485 #address-cells = <1>;
486 #size-cells = <0>;
487 reg = <2>;
488 };
489 imux31: i2c@3 {
490 #address-cells = <1>;
491 #size-cells = <0>;
492 reg = <3>;
Tom Riniab06a532025-04-02 08:31:19 -0600493
494 rtc@51 {
495 compatible = "nxp,pcf8563";
496 reg = <0x51>;
497 };
Tom Rini762f85b2024-07-20 11:15:10 -0600498 };
499 };
500};
501
502// To Debug card
503&i2c14 {
504 status = "okay";
505 multi-master;
506
507 ipmb@10 {
508 compatible = "ipmb-dev";
509 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
510 i2c-protocol;
511 };
512};
513
514&i2c15 {
515 status = "okay";
516
517 // SCM FRU
518 eeprom@50 {
519 compatible = "atmel,24c64";
520 reg = <0x50>;
521 };
522
523 // BSM FRU
524 eeprom@56 {
525 compatible = "atmel,24c64";
526 reg = <0x56>;
527 };
528};
529
530&adc0 {
531 aspeed,int-vref-microvolt = <2500000>;
532 status = "okay";
533 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
534 &pinctrl_adc2_default &pinctrl_adc3_default
535 &pinctrl_adc4_default &pinctrl_adc5_default
536 &pinctrl_adc6_default &pinctrl_adc7_default>;
537};
538
539&adc1 {
540 aspeed,int-vref-microvolt = <2500000>;
541 status = "okay";
542 pinctrl-names = "default";
543 pinctrl-0 = <&pinctrl_adc10_default>;
544};
545
546&ehci0 {
547 status = "okay";
548};
549
550&gpio0 {
551 pinctrl-names = "default";
552 gpio-line-names =
553 /*A0-A7*/ "","","","","","","","",
554 /*B0-B7*/ "","","","",
555 "bmc-spi-mux-select-0","led-identify","","",
556 /*C0-C7*/ "reset-cause-platrst","","","","",
Tom Riniab06a532025-04-02 08:31:19 -0600557 "power-hsc-good","power-chassis-good","",
Tom Rini762f85b2024-07-20 11:15:10 -0600558 /*D0-D7*/ "","","sol-uart-select","","","","","",
559 /*E0-E7*/ "","","","","","","","",
560 /*F0-F7*/ "","","","","","","","",
561 /*G0-G7*/ "","","","","","","","",
562 /*H0-H7*/ "","","","","","","","",
563 /*I0-I7*/ "","","","","","","","",
564 /*J0-J7*/ "","","","","","","","",
565 /*K0-K7*/ "","","","","","","","",
566 /*L0-L7*/ "","","","",
567 "leakage-detect-alert","","","",
568 /*M0-M7*/ "","","","","","","","",
569 /*N0-N7*/ "led-postcode-0","led-postcode-1",
570 "led-postcode-2","led-postcode-3",
571 "led-postcode-4","led-postcode-5",
572 "led-postcode-6","led-postcode-7",
573 /*O0-O7*/ "","","","","","","","",
574 /*P0-P7*/ "power-button","power-host-control",
575 "reset-button","","led-power","","","",
Tom Riniab06a532025-04-02 08:31:19 -0600576 /*Q0-Q7*/
577 "","","","",
578 "","power-chassis-control","","uart-switch-button",
Tom Rini762f85b2024-07-20 11:15:10 -0600579 /*R0-R7*/ "","","","","","","","",
580 /*S0-S7*/ "","","","","","","","",
581 /*T0-T7*/ "","","","","","","","",
582 /*U0-U7*/ "","","","","","","led-identify-gate","",
583 /*V0-V7*/ "","","","",
Tom Rini9c8af152024-12-24 12:03:04 -0600584 "rtc-battery-voltage-read-enable","",
Tom Riniab06a532025-04-02 08:31:19 -0600585 "","",
Tom Rini762f85b2024-07-20 11:15:10 -0600586 /*W0-W7*/ "","","","","","","","",
587 /*X0-X7*/ "","","","","","","","",
588 /*Y0-Y7*/ "","","","","","","","",
589 /*Z0-Z7*/ "","","","","","","presence-post-card","";
590};
591
592&gpio1 {
593 gpio-line-names =
594 /*18A0-18A7*/ "ac-power-button","","","","","","","",
595 /*18B0-18B7*/ "","","","","","","","",
596 /*18C0-18C7*/ "","","","","","","","",
597 /*18D0-18D7*/ "","","","","","","","",
598 /*18E0-18E3*/ "","","","","","","","";
599};
600
601&sgpiom0 {
602 status = "okay";
Tom Rini762f85b2024-07-20 11:15:10 -0600603 ngpios = <128>;
604 bus-frequency = <2000000>;
605 gpio-line-names =
606 /*in - out - in - out */
607 /*A0-A3 line 0-7*/
608 "presence-scm-cable","power-config-disable-e1s-0",
609 "","",
610 "","power-config-disable-e1s-1",
611 "","",
612 /*A4-A7 line 8-15*/
613 "","power-config-asic-module-enable",
614 "","power-config-asic-power-good",
615 "","power-config-pdb-power-good",
616 "presence-cpu","smi-control-n",
617 /*B0-B3 line 16-23*/
618 "","nmi-control-n",
619 "","nmi-control-sync-flood-n",
620 "","",
621 "","",
622 /*B4-B7 line 24-31*/
623 "","FM_CPU_SP5R1",
624 "reset-cause-rsmrst","FM_CPU_SP5R2",
625 "","FM_CPU_SP5R3",
626 "","FM_CPU_SP5R4",
627 /*C0-C3 line 32-39*/
628 "","FM_CPU0_SA0",
629 "","FM_CPU0_SA1",
630 "","rt-cpu0-p0-enable",
631 "","rt-cpu0-p1-enable",
632 /*C4-C7 line 40-47*/
633 "","smb-rt-rom-p0-select",
634 "","smb-rt-rom-p1-select",
635 "","i3c-cpu-mux0-oe-n",
636 "","i3c-cpu-mux0-select",
637 /*D0-D3 line 48-55*/
638 "","i3c-cpu-mux1-oe-n",
639 "","i3c-cpu-mux1-select",
640 "","reset-control-bmc",
641 "","reset-control-cpu0-p0-mux",
642 /*D4-D7 line 56-63*/
643 "","reset-control-cpu0-p1-mux",
644 "","reset-control-e1s-mux",
645 "power-host-good","reset-control-mb-mux",
646 "host0-ready","reset-control-smb-e1s-0",
647 /*E0-E3 line 64-71*/
648 "","reset-control-smb-e1s-1",
649 "post-end-n","reset-control-srst",
650 "presence-e1s-0","reset-control-usb-hub",
651 "","reset-control",
652 /*E4-E7 line 72-79*/
653 "presence-e1s-1","reset-control-cpu-kbrst",
654 "","reset-control-platrst",
655 "","bmc-jtag-mux-select-0",
656 "","bmc-jtag-mux-select-1",
657 /*F0-F3 line 80-87*/
658 "","bmc-jtag-select",
659 "","bmc-ready-n",
660 "","bmc-ready-sgpio",
661 "","rt-cpu0-p0-force-enable",
662 /*F4-F7 line 88-95*/
663 "presence-asic-modules-0","rt-cpu0-p1-force-enable",
664 "presence-asic-modules-1","bios-debug-msg-disable",
665 "","uart-control-buffer-select",
Tom Riniab06a532025-04-02 08:31:19 -0600666 "presence-cmm","ac-control-n",
Tom Rini762f85b2024-07-20 11:15:10 -0600667 /*G0-G3 line 96-103*/
668 "FM_CPU_CORETYPE2","",
669 "FM_CPU_CORETYPE1","",
670 "FM_CPU_CORETYPE0","",
671 "FM_BOARD_REV_ID5","",
672 /*G4-G7 line 104-111*/
673 "FM_BOARD_REV_ID4","",
674 "FM_BOARD_REV_ID3","",
675 "FM_BOARD_REV_ID2","",
676 "FM_BOARD_REV_ID1","",
677 /*H0-H3 line 112-119*/
Tom Riniab06a532025-04-02 08:31:19 -0600678 "FM_BOARD_REV_ID0","reset-control-cmos-clear",
Tom Rini762f85b2024-07-20 11:15:10 -0600679 "","","","","","",
680 /*H4-H7 line 120-127*/
681 "","",
682 "reset-control-pcie-expansion-3","",
683 "reset-control-pcie-expansion-2","",
684 "reset-control-pcie-expansion-1","",
685 /*I0-I3 line 128-135*/
686 "reset-control-pcie-expansion-0","",
687 "FM_EXP_SLOT_ID1","",
688 "FM_EXP_SLOT_ID0","",
689 "","",
690 /*I4-I7 line 136-143*/
691 "","","","","","","","",
692 /*J0-J3 line 144-151*/
Tom Riniab06a532025-04-02 08:31:19 -0600693 "","","power-card-enable","","","","","",
Tom Rini762f85b2024-07-20 11:15:10 -0600694 /*J4-J7 line 152-159*/
695 "SLOT_ID_BCB_0","",
696 "SLOT_ID_BCB_1","",
697 "SLOT_ID_BCB_2","",
698 "SLOT_ID_BCB_3","",
699 /*K0-K3 line 160-167*/
700 "","","","","","","P0_I3C_APML_ALERT_L","",
701 /*K4-K7 line 168-175*/
702 "","","","","","","irq-uv-detect-alert","",
703 /*L0-L3 line 176-183*/
704 "irq-hsc-alert","",
705 "cpu0-prochot-alert","",
706 "cpu0-thermtrip-alert","",
707 "reset-cause-pcie","",
708 /*L4-L7 line 184-191*/
Tom Riniab06a532025-04-02 08:31:19 -0600709 "pvdd11-ocp-alert","",
710 "power-fault-n","",
711 "asic0-card-type-detection0-n","",
712 "asic0-card-type-detection1-n","",
Tom Rini762f85b2024-07-20 11:15:10 -0600713 /*M0-M3 line 192-199*/
Tom Riniab06a532025-04-02 08:31:19 -0600714 "asic0-card-type-detection2-n","",
715 "uart-switch-lsb","",
716 "uart-switch-msb","",
717 "","",
Tom Rini762f85b2024-07-20 11:15:10 -0600718 /*M4-M7 line 200-207*/
719 "","","","","","","","",
720 /*N0-N3 line 208-215*/
721 "","","","","","","","",
722 /*N4-N7 line 216-223*/
723 "","","","","","","","",
724 /*O0-O3 line 224-231*/
725 "","","","","","","","",
726 /*O4-O7 line 232-239*/
727 "","","","","","","","",
728 /*P0-P3 line 240-247*/
729 "","","","","","","","",
730 /*P4-P7 line 248-255*/
731 "","","","","","","","";
732};