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