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