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