Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: aspeed: Add Mowgli BMC platform

The Mowgli BMC is an ASPEED ast2500 based BMC that is part of an
OpenPower Power9 server.

Signed-off-by: Ben Pai <Ben_Pai@wistron.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200909090818.24021-1-ben_pai@wistron.com
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Ben Pai and committed by
Joel Stanley
e8957058 adfe1479

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