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