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