1// SPDX-License-Identifier: GPL-2.0+ 2/dts-v1/; 3 4#include "aspeed-g5.dtsi" 5#include <dt-bindings/gpio/aspeed-gpio.h> 6#include <dt-bindings/leds/common.h> 7#include <dt-bindings/i2c/i2c.h> 8 9/ { 10 model = "ASRock ALTRAD8 BMC"; 11 compatible = "asrock,altrad8-bmc", "aspeed,ast2500"; 12 13 aliases { 14 serial4 = &uart5; 15 i2c50 = &nvme1; 16 i2c51 = &pcie4; 17 i2c52 = &pcie5; 18 i2c53 = &pcie6; 19 i2c54 = &pcie7; 20 i2c55 = &nvme3; 21 i2c56 = &nvme2; 22 i2c57 = &nvme0; 23 i2c58 = &nvme4; 24 i2c59 = &nvme5; 25 i2c60 = &nvme6; 26 i2c61 = &nvme7; 27 i2c62 = &nvme8; 28 i2c63 = &nvme9; 29 i2c64 = &nvme10; 30 i2c65 = &nvme11; 31 }; 32 33 chosen { 34 stdout-path = "uart5:115200n8"; 35 }; 36 37 iio-hwmon { 38 compatible = "iio-hwmon"; 39 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 40 <&adc 4> ,<&adc 5>, <&adc 6>, <&adc 7>, 41 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 42 <&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>; 43 }; 44 45 leds { 46 compatible = "gpio-leds"; 47 48 led-system-fault { 49 gpios = <&gpio ASPEED_GPIO(G,3) GPIO_ACTIVE_LOW>; 50 label = "platform:red:fault"; 51 color = <LED_COLOR_ID_RED>; 52 function = LED_FUNCTION_FAULT; 53 }; 54 55 led-heartbeat { 56 gpios = <&gpio ASPEED_GPIO(G,0) GPIO_ACTIVE_LOW>; 57 label = "platform:green:heartbeat"; 58 color = <LED_COLOR_ID_GREEN>; 59 function = LED_FUNCTION_INDICATOR; 60 linux,default-trigger = "timer"; 61 }; 62 63 led-fan1-fault { 64 retain-state-shutdown; 65 default-state = "off"; 66 gpios = <&io_expander0 0 GPIO_ACTIVE_LOW>; 67 label = "fan1:red:fault"; 68 color = <LED_COLOR_ID_RED>; 69 function = LED_FUNCTION_FAULT; 70 }; 71 72 led-fan2-fault { 73 retain-state-shutdown; 74 default-state = "off"; 75 gpios = <&io_expander0 1 GPIO_ACTIVE_LOW>; 76 label = "fan2:red:fault"; 77 color = <LED_COLOR_ID_RED>; 78 function = LED_FUNCTION_FAULT; 79 }; 80 81 led-fan3-fault { 82 retain-state-shutdown; 83 default-state = "off"; 84 gpios = <&io_expander0 2 GPIO_ACTIVE_LOW>; 85 label = "fan3:red:fault"; 86 color = <LED_COLOR_ID_RED>; 87 function = LED_FUNCTION_FAULT; 88 }; 89 90 led-fan4-fault { 91 retain-state-shutdown; 92 default-state = "off"; 93 gpios = <&io_expander0 3 GPIO_ACTIVE_LOW>; 94 label = "fan4:red:fault"; 95 color = <LED_COLOR_ID_RED>; 96 function = LED_FUNCTION_FAULT; 97 }; 98 99 led-fan5-fault { 100 retain-state-shutdown; 101 default-state = "off"; 102 gpios = <&io_expander0 4 GPIO_ACTIVE_LOW>; 103 label = "fan5:red:fault"; 104 color = <LED_COLOR_ID_RED>; 105 function = LED_FUNCTION_FAULT; 106 }; 107 }; 108 109 memory@80000000 { 110 reg = <0x80000000 0x20000000>; 111 }; 112 113 reserved-memory { 114 #address-cells = <1>; 115 #size-cells = <1>; 116 ranges; 117 118 gfx_memory: framebuffer { 119 compatible = "shared-dma-pool"; 120 size = <0x01000000>; 121 alignment = <0x01000000>; 122 reusable; 123 }; 124 125 vga_memory: framebuffer@9f000000 { 126 no-map; 127 reg = <0x9f000000 0x01000000>; /* 16M */ 128 }; 129 130 video_engine_memory: jpegbuffer { 131 compatible = "shared-dma-pool"; 132 size = <0x02000000>; /* 32M */ 133 alignment = <0x01000000>; 134 reusable; 135 }; 136 }; 137}; 138 139&adc { 140 status = "okay"; 141 pinctrl-names = "default"; 142 pinctrl-0 = <&pinctrl_adc0_default 143 &pinctrl_adc1_default 144 &pinctrl_adc2_default 145 &pinctrl_adc3_default 146 &pinctrl_adc4_default 147 &pinctrl_adc5_default 148 &pinctrl_adc6_default 149 &pinctrl_adc7_default 150 &pinctrl_adc8_default 151 &pinctrl_adc9_default 152 &pinctrl_adc10_default 153 &pinctrl_adc11_default 154 &pinctrl_adc12_default 155 &pinctrl_adc13_default 156 &pinctrl_adc14_default 157 &pinctrl_adc15_default>; 158}; 159 160&fmc { 161 status = "okay"; 162 163 flash@0 { 164 label = "bmc"; 165 m25p,fast-read; 166 spi-max-frequency = <50000000>; 167 status = "okay"; 168#include "openbmc-flash-layout-64.dtsi" 169 }; 170}; 171 172&gfx { 173 memory-region = <&gfx_memory>; 174 status = "okay"; 175}; 176 177&gpio { 178 gpio-line-names = 179 /*A0-A7*/ "","","","bmc-ready","","","","", 180 /*B0-B7*/ "i2c-backup-sel","","","","","","","host0-shd-ack-n", 181 /*C0-C7*/ "","","","","","","","", 182 /*D0-D7*/ "button-power-n","control-power-n","button-reset-n", 183 "host0-sysreset-n","","","power-chassis-good","", 184 /*E0-E7*/ "","s0-vrd1-vddq0123-fault-n", 185 "s0-vrd1-vddq4567-fault-n","s0-vrd0-vddc-fault-n", 186 "s0-vrd3-p0v75-fault-n","","","", 187 /*F0-F7*/ "","","ps-atx-on-n","","","","","", 188 /*G0-G7*/ "led-bmc-heartbeat-n","button-identify-n","", 189 "led-system-fault-n","uboot-ready","bmc-salt2-n","","", 190 /*H0-H7*/ "ps-pwr-ok","","","","","","","", 191 /*I0-I7*/ "","","","","","","","", 192 /*J0-J7*/ "s0-hightemp-n","","","","","","","", 193 /*K0-K7*/ "","","","","","","","", 194 /*L0-L7*/ "","","","","","","","", 195 /*M0-M7*/ "cpld-disable-bmc-n","","","","","s0-spi-auth-fail-n","","", 196 /*N0-N7*/ "","","","","","","","", 197 /*O0-O7*/ "","","","","","","","", 198 /*P0-P7*/ "","","","","","","","", 199 /*Q0-Q7*/ "","","","","","","led-identify-n", 200 "chassis-intrusion-n", 201 /*R0-R7*/ "","","ext-hightemp-n","spi0-program-sel","", 202 "output-hwm-bat-en","","", 203 /*S0-S7*/ "s0-vr-hot-n","","input-salt2-n","bmc-sysreset-n","","","","", 204 /*T0-T7*/ "","","","","","","","", 205 /*U0-U7*/ "","","","","","","","", 206 /*V0-V7*/ "","","","","","","","", 207 /*W0-W7*/ "","","","","","","","", 208 /*X0-X7*/ "","","","","","","","", 209 /*Y0-Y7*/ "","","","","","","","", 210 /*Z0-Z7*/ "","","","s0-rtc-lock","","","","", 211 /*AA0-AA7*/ "s0-rtc-int-n","","","","","pmbus-sel-n","","", 212 /*AB0-AB7*/ "host0-reboot-ack-n","s0-sys-auth-failure-n", 213 "","","","","","", 214 /*AC0-AC7*/ "s0-fault-alert","host0-ready","s0-overtemp-n", 215 "","bmc-ok","host0-special-boot","presence-cpu0", 216 "host0-shd-req-n"; 217 218 status = "okay"; 219}; 220 221&i2c0 { 222 status = "okay"; 223 224 ipmb@10 { 225 compatible = "ipmb-dev"; 226 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 227 i2c-protocol; 228 }; 229 230}; 231 232&i2c1 { 233 status = "okay"; 234 235 i2c-mux1@73 { 236 compatible = "nxp,pca9548"; 237 reg = <0x73>; 238 #address-cells = <1>; 239 #size-cells = <0>; 240 i2c-mux-idle-disconnect; 241 242 nvme1: i2c@0 { 243 #address-cells = <1>; 244 #size-cells = <0>; 245 reg = <0>; 246 }; 247 248 pcie4: i2c@1 { 249 #address-cells = <1>; 250 #size-cells = <0>; 251 reg = <1>; 252 }; 253 254 pcie5: i2c@2 { 255 #address-cells = <1>; 256 #size-cells = <0>; 257 reg = <2>; 258 }; 259 260 pcie6: i2c@3 { 261 #address-cells = <1>; 262 #size-cells = <0>; 263 reg = <3>; 264 }; 265 266 pcie7: i2c@4 { 267 #address-cells = <1>; 268 #size-cells = <0>; 269 reg = <4>; 270 }; 271 272 nvme3: i2c@5 { 273 #address-cells = <1>; 274 #size-cells = <0>; 275 reg = <5>; 276 }; 277 278 nvme2: i2c@6 { 279 #address-cells = <1>; 280 #size-cells = <0>; 281 reg = <6>; 282 }; 283 284 nvme0: i2c@7 { 285 #address-cells = <1>; 286 #size-cells = <0>; 287 reg = <7>; 288 }; 289 }; 290 291 i2c-mux2@75 { 292 compatible = "nxp,pca9548"; 293 reg = <0x75>; 294 #address-cells = <1>; 295 #size-cells = <0>; 296 i2c-mux-idle-disconnect; 297 298 nvme4: i2c@0 { 299 #address-cells = <1>; 300 #size-cells = <0>; 301 reg = <0>; 302 }; 303 304 nvme5: i2c@1 { 305 #address-cells = <1>; 306 #size-cells = <0>; 307 reg = <1>; 308 }; 309 310 nvme6: i2c@2 { 311 #address-cells = <1>; 312 #size-cells = <0>; 313 reg = <2>; 314 }; 315 316 nvme7: i2c@3 { 317 #address-cells = <1>; 318 #size-cells = <0>; 319 reg = <3>; 320 }; 321 322 nvme8: i2c@4 { 323 #address-cells = <1>; 324 #size-cells = <0>; 325 reg = <4>; 326 }; 327 328 nvme9: i2c@5 { 329 #address-cells = <1>; 330 #size-cells = <0>; 331 reg = <5>; 332 }; 333 334 nvme10: i2c@6 { 335 #address-cells = <1>; 336 #size-cells = <0>; 337 reg = <6>; 338 }; 339 340 nvme11: i2c@7 { 341 #address-cells = <1>; 342 #size-cells = <0>; 343 reg = <7>; 344 }; 345 }; 346}; 347 348&i2c2 { 349 status = "okay"; 350 351 smpro@4f { 352 compatible = "ampere,smpro"; 353 reg = <0x4f>; 354 }; 355}; 356 357&i2c3 { 358 status = "okay"; 359 360 // PSU FRU 361 eeprom@38 { 362 compatible = "atmel,24c02"; 363 reg = <0x38>; 364 }; 365}; 366 367&i2c4 { 368 status = "okay"; 369 370 temperature-sensor@29 { 371 compatible = "nuvoton,nct7802"; 372 reg = <0x29>; 373 374 #address-cells = <1>; 375 #size-cells = <0>; 376 377 channel@0 { /* LTD */ 378 reg = <0>; 379 status = "okay"; 380 }; 381 382 channel@1 { /* RTD1 */ 383 reg = <1>; 384 sensor-type = "temperature"; 385 temperature-mode = "thermistor"; 386 }; 387 388 channel@2 { /* RTD2 */ 389 reg = <2>; 390 sensor-type = "temperature"; 391 temperature-mode = "thermal-diode"; 392 }; 393 }; 394 395 temperature-sensor@4c { 396 compatible = "nuvoton,w83773g"; 397 reg = <0x4c>; 398 }; 399}; 400 401&i2c5 { 402 status = "okay"; 403}; 404 405&i2c6 { 406 status = "okay"; 407 408 rtc@6f { 409 compatible = "isil,isl1208"; 410 reg = <0x6f>; 411 }; 412}; 413 414&i2c7 { 415 status = "okay"; 416 417 // BMC FRU 418 eeprom@57 { 419 compatible = "atmel,24c128"; 420 reg = <0x57>; 421 422 nvmem-layout { 423 compatible = "fixed-layout"; 424 #address-cells = <1>; 425 #size-cells = <1>; 426 427 eth1_macaddress: macaddress@3f80 { 428 reg = <0x3f80 6>; 429 }; 430 431 // The offset for eth0 really is at 0x3f88. 432 // eth0 and eth1 are swapped from what might be 433 // expected. 434 eth0_macaddress: macaddress@3f88 { 435 reg = <0x3f88 6>; 436 }; 437 }; 438 }; 439}; 440 441&i2c8 { 442 status = "okay"; 443 444 io_expander0: gpio@1c { 445 compatible = "nxp,pca9557"; 446 reg = <0x1c>; 447 gpio-controller; 448 #gpio-cells = <2>; 449 }; 450}; 451 452&i2c9 { 453 status = "okay"; 454}; 455 456&i2c10 { 457 status = "okay"; 458}; 459 460&i2c11 { 461 status = "okay"; 462}; 463 464// Bus for accessing the SCP EEPROM 465&i2c12 { 466 status = "okay"; 467}; 468 469&i2c13 { 470 status = "okay"; 471 472 ssif-bmc@10 { 473 compatible = "ssif-bmc"; 474 reg = <0x10>; 475 }; 476}; 477 478// Connected to host Intel X550 (ALTRAD8UD-1L2T) or 479// Broadcom BCM57414 (ALTRAD8UD2-1L2Q) interface. 480// Unconnected on ALTRAD8UD-1L 481&mac0 { 482 pinctrl-names = "default"; 483 pinctrl-0 = <&pinctrl_rmii1_default>; 484 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, 485 <&syscon ASPEED_CLK_MAC1RCLK>; 486 clock-names = "MACCLK", "RCLK"; 487 use-ncsi; 488 nvmem-cells = <ð0_macaddress>; 489 nvmem-cell-names = "mac-address"; 490 491 status = "okay"; 492}; 493 494// Connected to Realtek RTL8211E 495&mac1 { 496 pinctrl-names = "default"; 497 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>; 498 499 nvmem-cells = <ð1_macaddress>; 500 nvmem-cell-names = "mac-address"; 501 502 status = "okay"; 503}; 504 505&pwm_tacho { 506 pinctrl-names = "default"; 507 pinctrl-0 = <&pinctrl_pwm0_default 508 &pinctrl_pwm1_default 509 &pinctrl_pwm2_default 510 &pinctrl_pwm3_default 511 &pinctrl_pwm4_default 512 &pinctrl_pwm5_default 513 &pinctrl_pwm6_default 514 &pinctrl_pwm7_default>; 515 516 status = "okay"; 517 518 fan@0 { 519 reg = <0x00>; 520 aspeed,fan-tach-ch = /bits/ 8 <0x00 0x08>; 521 }; 522 523 fan@1 { 524 reg = <0x01>; 525 aspeed,fan-tach-ch = /bits/ 8 <0x01 0x09>; 526 }; 527 528 fan@2 { 529 reg = <0x02>; 530 aspeed,fan-tach-ch = /bits/ 8 <0x02 0x0a>; 531 }; 532 533 fan@3 { 534 reg = <0x03>; 535 aspeed,fan-tach-ch = /bits/ 8 <0x03 0x0b>; 536 }; 537 538 fan@4 { 539 reg = <0x04>; 540 aspeed,fan-tach-ch = /bits/ 8 <0x04 0x0c>; 541 }; 542 543 fan@5 { 544 reg = <0x05>; 545 aspeed,fan-tach-ch = /bits/ 8 <0x05 0x0d>; 546 }; 547 548 fan@6 { 549 reg = <0x06>; 550 aspeed,fan-tach-ch = /bits/ 8 <0x06 0x0e>; 551 }; 552 553 fan@7 { 554 reg = <0x07>; 555 aspeed,fan-tach-ch = /bits/ 8 <0x07 0x0f>; 556 }; 557}; 558 559&spi1 { 560 pinctrl-names = "default"; 561 pinctrl-0 = <&pinctrl_spi1_default>; 562 563 status = "okay"; 564 565 // Host BIOS/UEFI EEPROM 566 flash@0 { 567 m25p,fast-read; 568 label = "pnor"; 569 spi-max-frequency = <100000000>; 570 status = "okay"; 571 572 partitions { 573 compatible = "fixed-partitions"; 574 #address-cells = <1>; 575 #size-cells = <1>; 576 577 tfa@400000 { 578 reg = <0x400000 0x200000>; 579 label = "pnor-tfa"; 580 }; 581 582 uefi@600000 { 583 reg = <0x600000 0x1A00000>; 584 label = "pnor-uefi"; 585 }; 586 }; 587 }; 588}; 589 590&uart1 { 591 pinctrl-names = "default"; 592 pinctrl-0 = <&pinctrl_txd1_default 593 &pinctrl_rxd1_default 594 &pinctrl_ncts1_default 595 &pinctrl_nrts1_default>; 596 597 status = "okay"; 598}; 599 600&uart2 { 601 pinctrl-names = "default"; 602 pinctrl-0 = <&pinctrl_txd2_default 603 &pinctrl_rxd2_default>; 604 605 status = "okay"; 606}; 607 608&uart3 { 609 pinctrl-names = "default"; 610 pinctrl-0 = <&pinctrl_txd3_default 611 &pinctrl_rxd3_default>; 612 613 status = "okay"; 614}; 615 616&uart4 { 617 pinctrl-names = "default"; 618 pinctrl-0 = <&pinctrl_txd4_default 619 &pinctrl_rxd4_default>; 620 621 status = "okay"; 622}; 623 624// The BMC's uart 625&uart5 { 626 status = "okay"; 627}; 628 629&vhub { 630 status = "okay"; 631}; 632 633&video { 634 memory-region = <&video_engine_memory>; 635 636 status = "okay"; 637}; 638