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