1// 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; 23 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 69 spi_gpio: spi { 70 status = "okay"; 71 compatible = "spi-gpio"; 72 #address-cells = <1>; 73 #size-cells = <0>; 74 75 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>; 78 num-chipselects = <1>; 79 cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>; 80 81 tpm@0 { 82 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; 136}; 137 138&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 = "maxim,max31790"; 188 reg = <0x5e>; 189 }; 190 191 power-sensor@40 { 192 compatible = "ti,ina238"; 193 reg = <0x40>; 194 shunt-resistor = <1000>; 195 }; 196 197 power-sensor@41 { 198 compatible = "ti,ina238"; 199 reg = <0x41>; 200 shunt-resistor = <1000>; 201 }; 202 203 power-sensor@44 { 204 compatible = "ti,ina238"; 205 reg = <0x44>; 206 shunt-resistor = <1000>; 207 }; 208 209 power-sensor@45 { 210 compatible = "ti,ina238"; 211 reg = <0x45>; 212 shunt-resistor = <1000>; 213 }; 214 215 temperature-sensor@4b { 216 compatible = "ti,tmp75"; 217 reg = <0x4b>; 218 }; 219 220 gpio@12 { 221 compatible = "nxp,pca9555"; 222 reg = <0x12>; 223 gpio-controller; 224 #gpio-cells = <2>; 225 interrupt-parent = <&sgpiom0>; 226 interrupts = <116 IRQ_TYPE_LEVEL_LOW>; 227 228 gpio-line-names = 229 "","", 230 "","", 231 "","", 232 "","", 233 "","", 234 "","", 235 "","fcb2-activate", 236 "",""; 237 }; 238}; 239 240&i2c1 { 241 status = "okay"; 242 243 temperature-sensor@4b { 244 compatible = "ti,tmp75"; 245 reg = <0x4b>; 246 }; 247 248 // MB NIC FRU 249 eeprom@50 { 250 compatible = "atmel,24c64"; 251 reg = <0x50>; 252 }; 253}; 254 255&i2c2 { 256 status = "okay"; 257 258 pwm@5e { 259 compatible = "maxim,max31790"; 260 reg = <0x5e>; 261 }; 262 263 power-sensor@40 { 264 compatible = "ti,ina238"; 265 reg = <0x40>; 266 shunt-resistor = <1000>; 267 }; 268 269 power-sensor@41 { 270 compatible = "ti,ina238"; 271 reg = <0x41>; 272 shunt-resistor = <1000>; 273 }; 274 275 power-sensor@44 { 276 compatible = "ti,ina238"; 277 reg = <0x44>; 278 shunt-resistor = <1000>; 279 }; 280 281 power-sensor@45 { 282 compatible = "ti,ina238"; 283 reg = <0x45>; 284 shunt-resistor = <1000>; 285 }; 286 287 temperature-sensor@4b { 288 compatible = "ti,tmp75"; 289 reg = <0x4b>; 290 }; 291 292 gpio@12 { 293 compatible = "nxp,pca9555"; 294 reg = <0x12>; 295 gpio-controller; 296 #gpio-cells = <2>; 297 interrupt-parent = <&sgpiom0>; 298 interrupts = <114 IRQ_TYPE_LEVEL_LOW>; 299 300 gpio-line-names = 301 "","", 302 "","", 303 "","", 304 "","", 305 "","", 306 "","", 307 "","fcb1-activate", 308 "",""; 309 }; 310}; 311 312&i2c3 { 313 status = "okay"; 314 315 i2c-mux@70 { 316 compatible = "nxp,pca9543"; 317 reg = <0x70>; 318 #address-cells = <1>; 319 #size-cells = <0>; 320 321 imux20: i2c@0 { 322 #address-cells = <1>; 323 #size-cells = <0>; 324 reg = <0>; 325 //Retimer Flash 326 eeprom@50 { 327 compatible = "atmel,24c2048"; 328 reg = <0x50>; 329 pagesize = <128>; 330 }; 331 }; 332 imux21: i2c@1 { 333 #address-cells = <1>; 334 #size-cells = <0>; 335 reg = <1>; 336 retimer@24 { 337 compatible = "asteralabs,pt5161l"; 338 reg = <0x24>; 339 }; 340 }; 341 }; 342}; 343 344&i2c4 { 345 status = "okay"; 346 // PDB FRU 347 eeprom@52 { 348 compatible = "atmel,24c64"; 349 reg = <0x52>; 350 }; 351 352 power-monitor@69 { 353 compatible = "pmbus"; 354 reg = <0x69>; 355 }; 356 357 temperature-sensor@49 { 358 compatible = "ti,tmp75"; 359 reg = <0x49>; 360 }; 361 362 power-monitor@44 { 363 compatible = "lltc,ltc4287"; 364 reg = <0x44>; 365 shunt-resistor-micro-ohms = <250>; 366 }; 367 368 power-monitor@40 { 369 compatible = "infineon,xdp710"; 370 reg = <0x40>; 371 }; 372 373 power-sensor@45 { 374 compatible = "ti,ina238"; 375 reg = <0x45>; 376 shunt-resistor = <500>; 377 }; 378}; 379 380&i2c5 { 381 status = "okay"; 382}; 383 384&i2c6 { 385 status = "okay"; 386 387 i2c-mux@70 { 388 compatible = "nxp,pca9543"; 389 reg = <0x70>; 390 #address-cells = <1>; 391 #size-cells = <0>; 392 393 imux22: i2c@0 { 394 #address-cells = <1>; 395 #size-cells = <0>; 396 reg = <0>; 397 398 power-monitor@45 { 399 compatible = "ti,ina230"; 400 reg = <0x45>; 401 }; 402 403 }; 404 imux23: i2c@1 { 405 #address-cells = <1>; 406 #size-cells = <0>; 407 reg = <1>; 408 409 power-monitor@45 { 410 compatible = "ti,ina230"; 411 reg = <0x45>; 412 }; 413 }; 414 }; 415}; 416 417&i2c7 { 418 status = "okay"; 419}; 420 421&i2c8 { 422 status = "okay"; 423}; 424 425&i2c9 { 426 status = "okay"; 427 428 mctp-controller; 429 multi-master; 430 431 mctp@10 { 432 compatible = "mctp-i2c-controller"; 433 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 434 }; 435 436 gpio@30 { 437 compatible = "nxp,pca9555"; 438 reg = <0x30>; 439 gpio-controller; 440 #gpio-cells = <2>; 441 }; 442 gpio@31 { 443 compatible = "nxp,pca9555"; 444 reg = <0x31>; 445 gpio-controller; 446 #gpio-cells = <2>; 447 }; 448 449 // PTTV FRU 450 eeprom@52 { 451 compatible = "atmel,24c64"; 452 reg = <0x52>; 453 }; 454}; 455 456&i2c11 { 457 status = "okay"; 458 459 gpio@13 { 460 compatible = "nxp,pca9555"; 461 reg = <0x13>; 462 gpio-controller; 463 #gpio-cells = <2>; 464 interrupt-parent = <&sgpiom0>; 465 interrupts = <222 IRQ_TYPE_LEVEL_LOW>; 466 467 gpio-line-names = 468 "","", 469 "","", 470 "","", 471 "","health-mmc", 472 "","", 473 "","", 474 "","", 475 "",""; 476 }; 477 478 gpio@30 { 479 compatible = "nxp,pca9555"; 480 reg = <0x30>; 481 gpio-controller; 482 #gpio-cells = <2>; 483 }; 484 gpio@31 { 485 compatible = "nxp,pca9555"; 486 reg = <0x31>; 487 gpio-controller; 488 #gpio-cells = <2>; 489 }; 490 491 // Aegis FRU 492 eeprom@52 { 493 compatible = "atmel,24c64"; 494 reg = <0x52>; 495 }; 496}; 497 498&i2c12 { 499 status = "okay"; 500 retimer@24 { 501 compatible = "asteralabs,pt5161l"; 502 reg = <0x24>; 503 }; 504}; 505 506&i2c13 { 507 status = "okay"; 508 509 i2c-mux@70 { 510 compatible = "nxp,pca9545"; 511 reg = <0x70>; 512 #address-cells = <1>; 513 #size-cells = <0>; 514 515 imux28: i2c@0 { 516 #address-cells = <1>; 517 #size-cells = <0>; 518 reg = <0>; 519 power-sensor@20 { 520 compatible = "mps,mp5990"; 521 reg = <0x20>; 522 }; 523 power-monitor@61 { 524 compatible = "isil,isl69260"; 525 reg = <0x61>; 526 }; 527 power-monitor@62 { 528 compatible = "isil,isl69260"; 529 reg = <0x62>; 530 }; 531 power-monitor@63 { 532 compatible = "isil,isl69260"; 533 reg = <0x63>; 534 }; 535 power-monitor@64 { 536 compatible = "infineon,xdpe152c4"; 537 reg = <0x64>; 538 }; 539 power-monitor@66 { 540 compatible = "infineon,xdpe152c4"; 541 reg = <0x66>; 542 }; 543 power-monitor@68 { 544 compatible = "infineon,xdpe152c4"; 545 reg = <0x68>; 546 }; 547 }; 548 imux29: i2c@1 { 549 #address-cells = <1>; 550 #size-cells = <0>; 551 reg = <1>; 552 //MB FRU 553 eeprom@54 { 554 compatible = "atmel,24c64"; 555 reg = <0x54>; 556 }; 557 558 adc@1d { 559 compatible = "ti,adc128d818"; 560 reg = <0x1d>; 561 ti,mode = /bits/ 8 <1>; 562 }; 563 564 adc@1f { 565 compatible = "ti,adc128d818"; 566 reg = <0x1f>; 567 ti,mode = /bits/ 8 <1>; 568 }; 569 570 }; 571 imux30: i2c@2 { 572 #address-cells = <1>; 573 #size-cells = <0>; 574 reg = <2>; 575 }; 576 imux31: i2c@3 { 577 #address-cells = <1>; 578 #size-cells = <0>; 579 reg = <3>; 580 581 rtc@51 { 582 compatible = "nxp,pcf8563"; 583 reg = <0x51>; 584 }; 585 }; 586 }; 587}; 588 589// To Debug card 590&i2c14 { 591 status = "okay"; 592 multi-master; 593 594 ipmb@10 { 595 compatible = "ipmb-dev"; 596 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 597 i2c-protocol; 598 }; 599}; 600 601&i2c15 { 602 status = "okay"; 603 604 // SCM FRU 605 eeprom@50 { 606 compatible = "atmel,24c64"; 607 reg = <0x50>; 608 }; 609 610 // BSM FRU 611 eeprom@56 { 612 compatible = "atmel,24c64"; 613 reg = <0x56>; 614 }; 615}; 616 617&adc0 { 618 aspeed,int-vref-microvolt = <2500000>; 619 status = "okay"; 620 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 621 &pinctrl_adc2_default &pinctrl_adc3_default 622 &pinctrl_adc4_default &pinctrl_adc5_default 623 &pinctrl_adc6_default &pinctrl_adc7_default>; 624}; 625 626&adc1 { 627 aspeed,int-vref-microvolt = <2500000>; 628 status = "okay"; 629 pinctrl-names = "default"; 630 pinctrl-0 = <&pinctrl_adc10_default>; 631}; 632 633&ehci0 { 634 status = "okay"; 635}; 636 637&gpio0 { 638 pinctrl-names = "default"; 639 gpio-line-names = 640 /*A0-A7*/ "","","","","","","","", 641 /*B0-B7*/ "","","","", 642 "bmc-spi-mux-select-0","led-identify","","", 643 /*C0-C7*/ "reset-cause-platrst","","","","", 644 "power-hsc-good","power-chassis-good","", 645 /*D0-D7*/ "","","sol-uart-select","","","","","", 646 /*E0-E7*/ "","","","","","","","", 647 /*F0-F7*/ "","","","","","","","", 648 /*G0-G7*/ "","","","","","","","", 649 /*H0-H7*/ "","","","","","","","", 650 /*I0-I7*/ "","","","","","","","", 651 /*J0-J7*/ "","","","","","","","", 652 /*K0-K7*/ "","","","","","","","", 653 /*L0-L7*/ "","","","", 654 "leakage-detect-alert","","","", 655 /*M0-M7*/ "","","","","","","","", 656 /*N0-N7*/ "led-postcode-0","led-postcode-1", 657 "led-postcode-2","led-postcode-3", 658 "led-postcode-4","led-postcode-5", 659 "led-postcode-6","led-postcode-7", 660 /*O0-O7*/ "","","","","","","","", 661 /*P0-P7*/ "power-button","power-host-control", 662 "reset-button","","led-power","","","", 663 /*Q0-Q7*/ 664 "","","","", 665 "","power-chassis-control","","uart-switch-button", 666 /*R0-R7*/ "","","","","","","","", 667 /*S0-S7*/ "","","","","","","","", 668 /*T0-T7*/ "","","","","","","","", 669 /*U0-U7*/ "","","","","","","led-identify-gate","", 670 /*V0-V7*/ "","","","", 671 "","", 672 "","", 673 /*W0-W7*/ "","","","","","","","", 674 /*X0-X7*/ "","","","","","","","", 675 /*Y0-Y7*/ "","","","","","","","", 676 /*Z0-Z7*/ "","","","","","","presence-post-card",""; 677}; 678 679&gpio1 { 680 gpio-line-names = 681 /*18A0-18A7*/ "ac-power-button","","","","","","","", 682 /*18B0-18B7*/ "","","","","","","","", 683 /*18C0-18C7*/ "","","","","","","","", 684 /*18D0-18D7*/ "","","","","","","","", 685 /*18E0-18E3*/ "","","","","","","",""; 686}; 687 688&sgpiom0 { 689 status = "okay"; 690 ngpios = <128>; 691 bus-frequency = <2000000>; 692 gpio-line-names = 693 /*in - out - in - out */ 694 /*A0-A3 line 0-7*/ 695 "presence-scm-cable","power-config-disable-e1s-0", 696 "","", 697 "","power-config-disable-e1s-1", 698 "","", 699 /*A4-A7 line 8-15*/ 700 "","power-config-asic-module-enable", 701 "power-p3v3-standby","power-config-asic-power-good", 702 "power-p1v8-good","power-config-pdb-power-good", 703 "presence-cpu","smi-control-n", 704 /*B0-B3 line 16-23*/ 705 "","nmi-control-n", 706 "power-pvdd33-s5","nmi-control-sync-flood-n", 707 "","", 708 "power-pvdd18-s5","", 709 /*B4-B7 line 24-31*/ 710 "","FM_CPU_SP5R1", 711 "reset-cause-rsmrst","FM_CPU_SP5R2", 712 "","FM_CPU_SP5R3", 713 "","FM_CPU_SP5R4", 714 /*C0-C3 line 32-39*/ 715 "","FM_CPU0_SA0", 716 "","FM_CPU0_SA1", 717 "","rt-cpu0-p0-enable", 718 "","rt-cpu0-p1-enable", 719 /*C4-C7 line 40-47*/ 720 "","smb-rt-rom-p0-select", 721 "","smb-rt-rom-p1-select", 722 "","i3c-cpu-mux0-oe-n", 723 "","i3c-cpu-mux0-select", 724 /*D0-D3 line 48-55*/ 725 "","i3c-cpu-mux1-oe-n", 726 "","i3c-cpu-mux1-select", 727 "","reset-control-bmc", 728 "","reset-control-cpu0-p0-mux", 729 /*D4-D7 line 56-63*/ 730 "","reset-control-cpu0-p1-mux", 731 "","reset-control-e1s-mux", 732 "power-host-good","reset-control-mb-mux", 733 "host0-ready","reset-control-smb-e1s-0", 734 /*E0-E3 line 64-71*/ 735 "","reset-control-smb-e1s-1", 736 "post-end-n","reset-control-srst", 737 "presence-e1s-0","reset-control-usb-hub", 738 "","reset-control", 739 /*E4-E7 line 72-79*/ 740 "presence-e1s-1","reset-control-cpu-kbrst", 741 "","reset-control-platrst", 742 "","bmc-jtag-mux-select-0", 743 "","bmc-jtag-mux-select-1", 744 /*F0-F3 line 80-87*/ 745 "","bmc-jtag-select", 746 "","bmc-ready-n", 747 "","bmc-ready-sgpio", 748 "","rt-cpu0-p0-force-enable", 749 /*F4-F7 line 88-95*/ 750 "presence-asic-modules-0","rt-cpu0-p1-force-enable", 751 "presence-asic-modules-1","bios-debug-msg-disable", 752 "power-asic-good","uart-control-buffer-select", 753 "presence-cmm","ac-control-n", 754 /*G0-G3 line 96-103*/ 755 "FM_CPU_CORETYPE2","", 756 "FM_CPU_CORETYPE1","rtc-battery-voltage-read-enable", 757 "FM_CPU_CORETYPE0","", 758 "FM_BOARD_REV_ID5","", 759 /*G4-G7 line 104-111*/ 760 "FM_BOARD_REV_ID4","", 761 "FM_BOARD_REV_ID3","", 762 "FM_BOARD_REV_ID2","", 763 "FM_BOARD_REV_ID1","", 764 /*H0-H3 line 112-119*/ 765 "FM_BOARD_REV_ID0","reset-control-cmos-clear", 766 "","","","","","", 767 /*H4-H7 line 120-127*/ 768 "","", 769 "reset-control-pcie-expansion-3","", 770 "reset-control-pcie-expansion-2","", 771 "reset-control-pcie-expansion-1","", 772 /*I0-I3 line 128-135*/ 773 "reset-control-pcie-expansion-0","", 774 "FM_EXP_SLOT_ID1","", 775 "FM_EXP_SLOT_ID0","", 776 "","", 777 /*I4-I7 line 136-143*/ 778 "","","","","","","","", 779 /*J0-J3 line 144-151*/ 780 "","","power-card-enable","","","","","", 781 /*J4-J7 line 152-159*/ 782 "SLOT_ID_BCB_0","", 783 "SLOT_ID_BCB_1","", 784 "SLOT_ID_BCB_2","", 785 "SLOT_ID_BCB_3","", 786 /*K0-K3 line 160-167*/ 787 "","","","","","","P0_I3C_APML_ALERT_L","", 788 /*K4-K7 line 168-175*/ 789 "","","","","","","irq-uv-detect-alert","", 790 /*L0-L3 line 176-183*/ 791 "irq-hsc-alert","", 792 "cpu0-prochot-alert","", 793 "cpu0-thermtrip-alert","", 794 "reset-cause-pcie","", 795 /*L4-L7 line 184-191*/ 796 "pvdd11-ocp-alert","", 797 "power-fault-n","", 798 "asic0-card-type-detection0-n","", 799 "asic0-card-type-detection1-n","", 800 /*M0-M3 line 192-199*/ 801 "asic0-card-type-detection2-n","", 802 "uart-switch-lsb","", 803 "uart-switch-msb","", 804 "power-12v-memory-good","", 805 /*M4-M7 line 200-207*/ 806 "","","","","","","","", 807 /*N0-N3 line 208-215*/ 808 "","","","","","","","", 809 /*N4-N7 line 216-223*/ 810 "","","","","","","","", 811 /*O0-O3 line 224-231*/ 812 "","", 813 "irq-pvddcore0-ocp-alert","", 814 "irq-pvddcore1-ocp-alert","", 815 "","", 816 /*O4-O7 line 232-239*/ 817 "","","","","","","","", 818 /*P0-P3 line 240-247*/ 819 "","","","","","","","", 820 /*P4-P7 line 248-255*/ 821 "","","","","","","",""; 822}; 823