1// SPDX-License-Identifier: GPL-2.0+ 2/dts-v1/; 3#include "aspeed-g5.dtsi" 4#include <dt-bindings/gpio/aspeed-gpio.h> 5#include <dt-bindings/leds/leds-pca955x.h> 6 7/ { 8 model = "Witherspoon BMC"; 9 compatible = "ibm,witherspoon-bmc", "aspeed,ast2500"; 10 11 chosen { 12 stdout-path = &uart5; 13 bootargs = "console=ttyS4,115200 earlyprintk"; 14 }; 15 16 memory@80000000 { 17 reg = <0x80000000 0x20000000>; 18 }; 19 20 reserved-memory { 21 #address-cells = <1>; 22 #size-cells = <1>; 23 ranges; 24 25 flash_memory: region@98000000 { 26 no-map; 27 reg = <0x98000000 0x04000000>; /* 64M */ 28 }; 29 30 gfx_memory: framebuffer { 31 size = <0x01000000>; 32 alignment = <0x01000000>; 33 compatible = "shared-dma-pool"; 34 reusable; 35 }; 36 37 video_engine_memory: jpegbuffer { 38 size = <0x02000000>; /* 32MM */ 39 alignment = <0x01000000>; 40 compatible = "shared-dma-pool"; 41 reusable; 42 }; 43 }; 44 45 gpio-keys { 46 compatible = "gpio-keys"; 47 48 air-water { 49 label = "air-water"; 50 gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>; 51 linux,code = <ASPEED_GPIO(B, 5)>; 52 }; 53 54 checkstop { 55 label = "checkstop"; 56 gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>; 57 linux,code = <ASPEED_GPIO(J, 2)>; 58 }; 59 60 ps0-presence { 61 label = "ps0-presence"; 62 gpios = <&gpio ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>; 63 linux,code = <ASPEED_GPIO(P, 7)>; 64 }; 65 66 ps1-presence { 67 label = "ps1-presence"; 68 gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>; 69 linux,code = <ASPEED_GPIO(N, 0)>; 70 }; 71 }; 72 73 iio-hwmon-battery { 74 compatible = "iio-hwmon"; 75 io-channels = <&adc 12>; 76 }; 77 78 gpio-keys-polled { 79 compatible = "gpio-keys-polled"; 80 #address-cells = <1>; 81 #size-cells = <0>; 82 poll-interval = <1000>; 83 84 fan0-presence { 85 label = "fan0-presence"; 86 gpios = <&pca0 4 GPIO_ACTIVE_LOW>; 87 linux,code = <4>; 88 }; 89 90 fan1-presence { 91 label = "fan1-presence"; 92 gpios = <&pca0 5 GPIO_ACTIVE_LOW>; 93 linux,code = <5>; 94 }; 95 96 fan2-presence { 97 label = "fan2-presence"; 98 gpios = <&pca0 6 GPIO_ACTIVE_LOW>; 99 linux,code = <6>; 100 }; 101 102 fan3-presence { 103 label = "fan3-presence"; 104 gpios = <&pca0 7 GPIO_ACTIVE_LOW>; 105 linux,code = <7>; 106 }; 107 }; 108 109 leds { 110 compatible = "gpio-leds"; 111 112 fan0 { 113 retain-state-shutdown; 114 default-state = "keep"; 115 gpios = <&pca0 0 GPIO_ACTIVE_LOW>; 116 }; 117 118 fan1 { 119 retain-state-shutdown; 120 default-state = "keep"; 121 gpios = <&pca0 1 GPIO_ACTIVE_LOW>; 122 }; 123 124 fan2 { 125 retain-state-shutdown; 126 default-state = "keep"; 127 gpios = <&pca0 2 GPIO_ACTIVE_LOW>; 128 }; 129 130 fan3 { 131 retain-state-shutdown; 132 default-state = "keep"; 133 gpios = <&pca0 3 GPIO_ACTIVE_LOW>; 134 }; 135 136 front-fault { 137 retain-state-shutdown; 138 default-state = "keep"; 139 gpios = <&pca0 13 GPIO_ACTIVE_LOW>; 140 }; 141 142 front-power { 143 retain-state-shutdown; 144 default-state = "keep"; 145 gpios = <&pca0 14 GPIO_ACTIVE_LOW>; 146 }; 147 148 front-id { 149 retain-state-shutdown; 150 default-state = "keep"; 151 gpios = <&pca0 15 GPIO_ACTIVE_LOW>; 152 }; 153 154 rear-fault { 155 gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>; 156 }; 157 158 rear-id { 159 gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>; 160 }; 161 162 rear-power { 163 gpios = <&gpio ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>; 164 }; 165 166 power-button { 167 gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>; 168 }; 169 }; 170 171 fsi: gpio-fsi { 172 compatible = "fsi-master-gpio", "fsi-master"; 173 #address-cells = <2>; 174 #size-cells = <0>; 175 no-gpio-delays; 176 177 clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>; 178 data-gpios = <&gpio ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>; 179 mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>; 180 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>; 181 trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>; 182 }; 183 184 iio-hwmon-dps310 { 185 compatible = "iio-hwmon"; 186 io-channels = <&dps 0>; 187 }; 188 189 iio-hwmon-bmp280 { 190 compatible = "iio-hwmon"; 191 io-channels = <&bmp 1>; 192 }; 193 194}; 195 196&fmc { 197 status = "okay"; 198 199 flash@0 { 200 status = "okay"; 201 label = "bmc"; 202 m25p,fast-read; 203 204 partitions { 205 #address-cells = < 1 >; 206 #size-cells = < 1 >; 207 compatible = "fixed-partitions"; 208 u-boot@0 { 209 reg = < 0 0x60000 >; 210 label = "u-boot"; 211 }; 212 u-boot-env@60000 { 213 reg = < 0x60000 0x20000 >; 214 label = "u-boot-env"; 215 }; 216 obmc-ubi@80000 { 217 reg = < 0x80000 0x1F80000 >; 218 label = "obmc-ubi"; 219 }; 220 }; 221 }; 222 223 flash@1 { 224 status = "okay"; 225 label = "alt-bmc"; 226 m25p,fast-read; 227 228 partitions { 229 #address-cells = < 1 >; 230 #size-cells = < 1 >; 231 compatible = "fixed-partitions"; 232 u-boot@0 { 233 reg = < 0 0x60000 >; 234 label = "alt-u-boot"; 235 }; 236 u-boot-env@60000 { 237 reg = < 0x60000 0x20000 >; 238 label = "alt-u-boot-env"; 239 }; 240 obmc-ubi@80000 { 241 reg = < 0x80000 0x1F80000 >; 242 label = "alt-obmc-ubi"; 243 }; 244 }; 245 246 }; 247}; 248 249&spi1 { 250 status = "okay"; 251 pinctrl-names = "default"; 252 pinctrl-0 = <&pinctrl_spi1_default>; 253 254 flash@0 { 255 status = "okay"; 256 label = "pnor"; 257 m25p,fast-read; 258 }; 259}; 260 261&uart1 { 262 /* Rear RS-232 connector */ 263 status = "okay"; 264 pinctrl-names = "default"; 265 pinctrl-0 = <&pinctrl_txd1_default 266 &pinctrl_rxd1_default 267 &pinctrl_nrts1_default 268 &pinctrl_ndtr1_default 269 &pinctrl_ndsr1_default 270 &pinctrl_ncts1_default 271 &pinctrl_ndcd1_default 272 &pinctrl_nri1_default>; 273}; 274 275&uart2 { 276 /* APSS */ 277 status = "okay"; 278 pinctrl-names = "default"; 279 pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>; 280}; 281 282&uart5 { 283 status = "okay"; 284}; 285 286&lpc_ctrl { 287 status = "okay"; 288 memory-region = <&flash_memory>; 289 flash = <&spi1>; 290}; 291 292&mac0 { 293 status = "okay"; 294 pinctrl-names = "default"; 295 pinctrl-0 = <&pinctrl_rmii1_default>; 296 use-ncsi; 297}; 298 299&i2c2 { 300 status = "okay"; 301 302 /* MUX -> 303 * Samtec 1 304 * Samtec 2 305 */ 306}; 307 308&i2c3 { 309 status = "okay"; 310 311 bmp: bmp280@77 { 312 compatible = "bosch,bmp280"; 313 reg = <0x77>; 314 #io-channel-cells = <1>; 315 }; 316 317 max31785@52 { 318 compatible = "maxim,max31785a"; 319 reg = <0x52>; 320 #address-cells = <1>; 321 #size-cells = <0>; 322 }; 323 324 dps: dps310@76 { 325 compatible = "infineon,dps310"; 326 reg = <0x76>; 327 #io-channel-cells = <0>; 328 }; 329 330 pca0: pca9552@60 { 331 compatible = "nxp,pca9552"; 332 reg = <0x60>; 333 #address-cells = <1>; 334 #size-cells = <0>; 335 336 gpio-controller; 337 #gpio-cells = <2>; 338 339 gpio@0 { 340 reg = <0>; 341 type = <PCA955X_TYPE_GPIO>; 342 }; 343 344 gpio@1 { 345 reg = <1>; 346 type = <PCA955X_TYPE_GPIO>; 347 }; 348 349 gpio@2 { 350 reg = <2>; 351 type = <PCA955X_TYPE_GPIO>; 352 }; 353 354 gpio@3 { 355 reg = <3>; 356 type = <PCA955X_TYPE_GPIO>; 357 }; 358 359 gpio@4 { 360 reg = <4>; 361 type = <PCA955X_TYPE_GPIO>; 362 }; 363 364 gpio@5 { 365 reg = <5>; 366 type = <PCA955X_TYPE_GPIO>; 367 }; 368 369 gpio@6 { 370 reg = <6>; 371 type = <PCA955X_TYPE_GPIO>; 372 }; 373 374 gpio@7 { 375 reg = <7>; 376 type = <PCA955X_TYPE_GPIO>; 377 }; 378 379 gpio@8 { 380 reg = <8>; 381 type = <PCA955X_TYPE_GPIO>; 382 }; 383 384 gpio@9 { 385 reg = <9>; 386 type = <PCA955X_TYPE_GPIO>; 387 }; 388 389 gpio@10 { 390 reg = <10>; 391 type = <PCA955X_TYPE_GPIO>; 392 }; 393 394 gpio@11 { 395 reg = <11>; 396 type = <PCA955X_TYPE_GPIO>; 397 }; 398 399 gpio@12 { 400 reg = <12>; 401 type = <PCA955X_TYPE_GPIO>; 402 }; 403 404 gpio@13 { 405 reg = <13>; 406 type = <PCA955X_TYPE_GPIO>; 407 }; 408 409 gpio@14 { 410 reg = <14>; 411 type = <PCA955X_TYPE_GPIO>; 412 }; 413 414 gpio@15 { 415 reg = <15>; 416 type = <PCA955X_TYPE_GPIO>; 417 }; 418 }; 419 420 power-supply@68 { 421 compatible = "ibm,cffps1"; 422 reg = <0x68>; 423 }; 424 425 power-supply@69 { 426 compatible = "ibm,cffps1"; 427 reg = <0x69>; 428 }; 429}; 430 431&i2c4 { 432 status = "okay"; 433 434 tmp423a@4c { 435 compatible = "ti,tmp423"; 436 reg = <0x4c>; 437 }; 438 439 ir35221@70 { 440 compatible = "infineon,ir35221"; 441 reg = <0x70>; 442 }; 443 444 ir35221@71 { 445 compatible = "infineon,ir35221"; 446 reg = <0x71>; 447 }; 448}; 449 450 451&i2c5 { 452 status = "okay"; 453 454 tmp423a@4c { 455 compatible = "ti,tmp423"; 456 reg = <0x4c>; 457 }; 458 459 ir35221@70 { 460 compatible = "infineon,ir35221"; 461 reg = <0x70>; 462 }; 463 464 ir35221@71 { 465 compatible = "infineon,ir35221"; 466 reg = <0x71>; 467 }; 468}; 469 470&i2c9 { 471 status = "okay"; 472 473 tmp275@4a { 474 compatible = "ti,tmp275"; 475 reg = <0x4a>; 476 }; 477}; 478 479&i2c10 { 480 /* MUX 481 * -> PCIe Slot 3 482 * -> PCIe Slot 4 483 */ 484 status = "okay"; 485}; 486 487&i2c11 { 488 status = "okay"; 489 490 pca9552: pca9552@60 { 491 compatible = "nxp,pca9552"; 492 reg = <0x60>; 493 #address-cells = <1>; 494 #size-cells = <0>; 495 gpio-controller; 496 #gpio-cells = <2>; 497 498 gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N", 499 "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF", 500 "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF", 501 "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF", 502 "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF", 503 "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF", 504 "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF", 505 "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N"; 506 507 gpio@0 { 508 reg = <0>; 509 type = <PCA955X_TYPE_GPIO>; 510 }; 511 512 gpio@1 { 513 reg = <1>; 514 type = <PCA955X_TYPE_GPIO>; 515 }; 516 517 gpio@2 { 518 reg = <2>; 519 type = <PCA955X_TYPE_GPIO>; 520 }; 521 522 gpio@3 { 523 reg = <3>; 524 type = <PCA955X_TYPE_GPIO>; 525 }; 526 527 gpio@4 { 528 reg = <4>; 529 type = <PCA955X_TYPE_GPIO>; 530 }; 531 532 gpio@5 { 533 reg = <5>; 534 type = <PCA955X_TYPE_GPIO>; 535 }; 536 537 gpio@6 { 538 reg = <6>; 539 type = <PCA955X_TYPE_GPIO>; 540 }; 541 542 gpio@7 { 543 reg = <7>; 544 type = <PCA955X_TYPE_GPIO>; 545 }; 546 547 gpio@8 { 548 reg = <8>; 549 type = <PCA955X_TYPE_GPIO>; 550 }; 551 552 gpio@9 { 553 reg = <9>; 554 type = <PCA955X_TYPE_GPIO>; 555 }; 556 557 gpio@10 { 558 reg = <10>; 559 type = <PCA955X_TYPE_GPIO>; 560 }; 561 562 gpio@11 { 563 reg = <11>; 564 type = <PCA955X_TYPE_GPIO>; 565 }; 566 567 gpio@12 { 568 reg = <12>; 569 type = <PCA955X_TYPE_GPIO>; 570 }; 571 572 gpio@13 { 573 reg = <13>; 574 type = <PCA955X_TYPE_GPIO>; 575 }; 576 577 gpio@14 { 578 reg = <14>; 579 type = <PCA955X_TYPE_GPIO>; 580 }; 581 582 gpio@15 { 583 reg = <15>; 584 type = <PCA955X_TYPE_GPIO>; 585 }; 586 }; 587 588 rtc@32 { 589 compatible = "epson,rx8900"; 590 reg = <0x32>; 591 }; 592 593 eeprom@51 { 594 compatible = "atmel,24c64"; 595 reg = <0x51>; 596 }; 597 598 ucd90160@64 { 599 compatible = "ti,ucd90160"; 600 reg = <0x64>; 601 }; 602}; 603 604&i2c12 { 605 status = "okay"; 606}; 607 608&i2c13 { 609 status = "okay"; 610}; 611 612&vuart { 613 status = "okay"; 614}; 615 616&gfx { 617 status = "okay"; 618 memory-region = <&gfx_memory>; 619}; 620 621&pinctrl { 622 aspeed,external-nodes = <&gfx &lhc>; 623}; 624 625&wdt1 { 626 aspeed,reset-type = "none"; 627 aspeed,external-signal; 628 aspeed,ext-push-pull; 629 aspeed,ext-active-high; 630 631 pinctrl-names = "default"; 632 pinctrl-0 = <&pinctrl_wdtrst1_default>; 633}; 634 635&wdt2 { 636 aspeed,alt-boot; 637}; 638 639&ibt { 640 status = "okay"; 641}; 642 643&adc { 644 status = "okay"; 645}; 646 647&vhub { 648 status = "okay"; 649}; 650 651&video { 652 status = "okay"; 653 memory-region = <&video_engine_memory>; 654}; 655 656#include "ibm-power9-dual.dtsi" 657