0001 // SPDX-License-Identifier: GPL-2.0+
0002 /dts-v1/;
0003 #include "aspeed-g5.dtsi"
0004 #include <dt-bindings/gpio/aspeed-gpio.h>
0005 #include <dt-bindings/leds/leds-pca955x.h>
0006
0007 / {
0008 model = "Witherspoon BMC";
0009 compatible = "ibm,witherspoon-bmc", "aspeed,ast2500";
0010
0011 chosen {
0012 stdout-path = &uart5;
0013 bootargs = "console=ttyS4,115200 earlycon";
0014 };
0015
0016 memory@80000000 {
0017 reg = <0x80000000 0x20000000>;
0018 };
0019
0020 reserved-memory {
0021 #address-cells = <1>;
0022 #size-cells = <1>;
0023 ranges;
0024
0025 flash_memory: region@98000000 {
0026 no-map;
0027 reg = <0x98000000 0x04000000>; /* 64M */
0028 };
0029
0030 vga_memory: region@9f000000 {
0031 no-map;
0032 compatible = "shared-dma-pool";
0033 reg = <0x9f000000 0x01000000>; /* 16M */
0034 };
0035
0036 gfx_memory: framebuffer {
0037 size = <0x01000000>;
0038 alignment = <0x01000000>;
0039 compatible = "shared-dma-pool";
0040 reusable;
0041 };
0042
0043 video_engine_memory: jpegbuffer {
0044 size = <0x02000000>; /* 32MM */
0045 alignment = <0x01000000>;
0046 compatible = "shared-dma-pool";
0047 reusable;
0048 };
0049 };
0050
0051 gpio-keys {
0052 compatible = "gpio-keys";
0053
0054 event-air-water {
0055 label = "air-water";
0056 gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
0057 linux,code = <ASPEED_GPIO(B, 5)>;
0058 };
0059
0060 event-checkstop {
0061 label = "checkstop";
0062 gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
0063 linux,code = <ASPEED_GPIO(J, 2)>;
0064 };
0065
0066 event-ps0-presence {
0067 label = "ps0-presence";
0068 gpios = <&gpio ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
0069 linux,code = <ASPEED_GPIO(P, 7)>;
0070 };
0071
0072 event-ps1-presence {
0073 label = "ps1-presence";
0074 gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>;
0075 linux,code = <ASPEED_GPIO(N, 0)>;
0076 };
0077 };
0078
0079 iio-hwmon-battery {
0080 compatible = "iio-hwmon";
0081 io-channels = <&adc 12>;
0082 };
0083
0084 gpio-keys-polled {
0085 compatible = "gpio-keys-polled";
0086 poll-interval = <1000>;
0087
0088 event-fan0-presence {
0089 label = "fan0-presence";
0090 gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
0091 linux,code = <4>;
0092 };
0093
0094 event-fan1-presence {
0095 label = "fan1-presence";
0096 gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
0097 linux,code = <5>;
0098 };
0099
0100 event-fan2-presence {
0101 label = "fan2-presence";
0102 gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
0103 linux,code = <6>;
0104 };
0105
0106 event-fan3-presence {
0107 label = "fan3-presence";
0108 gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
0109 linux,code = <7>;
0110 };
0111 };
0112
0113 leds {
0114 compatible = "gpio-leds";
0115
0116 fan0 {
0117 retain-state-shutdown;
0118 default-state = "keep";
0119 gpios = <&pca0 0 GPIO_ACTIVE_LOW>;
0120 };
0121
0122 fan1 {
0123 retain-state-shutdown;
0124 default-state = "keep";
0125 gpios = <&pca0 1 GPIO_ACTIVE_LOW>;
0126 };
0127
0128 fan2 {
0129 retain-state-shutdown;
0130 default-state = "keep";
0131 gpios = <&pca0 2 GPIO_ACTIVE_LOW>;
0132 };
0133
0134 fan3 {
0135 retain-state-shutdown;
0136 default-state = "keep";
0137 gpios = <&pca0 3 GPIO_ACTIVE_LOW>;
0138 };
0139
0140 front-fault {
0141 retain-state-shutdown;
0142 default-state = "keep";
0143 gpios = <&pca0 13 GPIO_ACTIVE_LOW>;
0144 };
0145
0146 front-power {
0147 retain-state-shutdown;
0148 default-state = "keep";
0149 gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
0150 };
0151
0152 front-id {
0153 retain-state-shutdown;
0154 default-state = "keep";
0155 gpios = <&pca0 15 GPIO_ACTIVE_LOW>;
0156 };
0157
0158 rear-fault {
0159 gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
0160 };
0161
0162 rear-id {
0163 gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>;
0164 };
0165
0166 rear-power {
0167 gpios = <&gpio ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
0168 };
0169
0170 power-button {
0171 gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
0172 };
0173 };
0174
0175 fsi: gpio-fsi {
0176 compatible = "fsi-master-gpio", "fsi-master";
0177 #address-cells = <2>;
0178 #size-cells = <0>;
0179 no-gpio-delays;
0180
0181 clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
0182 data-gpios = <&gpio ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
0183 mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
0184 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
0185 trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
0186 };
0187
0188 iio-hwmon-dps310 {
0189 compatible = "iio-hwmon";
0190 io-channels = <&dps 0>;
0191 };
0192
0193 iio-hwmon-bmp280 {
0194 compatible = "iio-hwmon";
0195 io-channels = <&bmp 1>;
0196 };
0197
0198 };
0199
0200 &gpio {
0201 gpio-line-names =
0202 /*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
0203 /*B0-B7*/ "","","","","","air-water","","",
0204 /*C0-C7*/ "","","","","","","","",
0205 /*D0-D7*/ "fsi-enable","","","","","","","",
0206 /*E0-E7*/ "fsi-data","","","","","","","",
0207 /*F0-F7*/ "","","","","","","","",
0208 /*G0-G7*/ "","","","","","","","",
0209 /*H0-H7*/ "","","","","","","","",
0210 /*I0-I7*/ "","","","","","","","",
0211 /*J0-J7*/ "","","checkstop","","","","","",
0212 /*K0-K7*/ "","","","","","","","",
0213 /*L0-L7*/ "","","","","","","","",
0214 /*M0-M7*/ "","","","","","","","",
0215 /*N0-N7*/ "presence-ps1","","led-rear-fault","led-rear-power",
0216 "led-rear-id","","","",
0217 /*O0-O7*/ "","","","","","","","",
0218 /*P0-P7*/ "","","","","","","","presence-ps0",
0219 /*Q0-Q7*/ "","","","","","","","",
0220 /*R0-R7*/ "","","fsi-trans","","","power-button","","",
0221 /*S0-S7*/ "","","","","","","","",
0222 /*T0-T7*/ "","","","","","","","",
0223 /*U0-U7*/ "","","","","","","","",
0224 /*V0-V7*/ "","","","","","","","",
0225 /*W0-W7*/ "","","","","","","","",
0226 /*X0-X7*/ "","","","","","","","",
0227 /*Y0-Y7*/ "","","","","","","","",
0228 /*Z0-Z7*/ "","","","","","","","",
0229 /*AA0-AA7*/ "fsi-clock","","","","","","","",
0230 /*AB0-AB7*/ "","","","","","","","",
0231 /*AC0-AC7*/ "","","","","","","","";
0232 };
0233
0234 &fmc {
0235 status = "okay";
0236
0237 flash@0 {
0238 status = "okay";
0239 label = "bmc";
0240 m25p,fast-read;
0241 spi-max-frequency = <50000000>;
0242
0243 partitions {
0244 #address-cells = < 1 >;
0245 #size-cells = < 1 >;
0246 compatible = "fixed-partitions";
0247 u-boot@0 {
0248 reg = < 0 0x60000 >;
0249 label = "u-boot";
0250 };
0251 u-boot-env@60000 {
0252 reg = < 0x60000 0x20000 >;
0253 label = "u-boot-env";
0254 };
0255 obmc-ubi@80000 {
0256 reg = < 0x80000 0x1F80000 >;
0257 label = "obmc-ubi";
0258 };
0259 };
0260 };
0261
0262 flash@1 {
0263 status = "okay";
0264 label = "alt-bmc";
0265 m25p,fast-read;
0266 spi-max-frequency = <50000000>;
0267
0268 partitions {
0269 #address-cells = < 1 >;
0270 #size-cells = < 1 >;
0271 compatible = "fixed-partitions";
0272 u-boot@0 {
0273 reg = < 0 0x60000 >;
0274 label = "alt-u-boot";
0275 };
0276 u-boot-env@60000 {
0277 reg = < 0x60000 0x20000 >;
0278 label = "alt-u-boot-env";
0279 };
0280 obmc-ubi@80000 {
0281 reg = < 0x80000 0x1F80000 >;
0282 label = "alt-obmc-ubi";
0283 };
0284 };
0285 };
0286 };
0287
0288 &spi1 {
0289 status = "okay";
0290 pinctrl-names = "default";
0291 pinctrl-0 = <&pinctrl_spi1_default>;
0292
0293 flash@0 {
0294 status = "okay";
0295 label = "pnor";
0296 m25p,fast-read;
0297 spi-max-frequency = <100000000>;
0298 };
0299 };
0300
0301 &uart1 {
0302 /* Rear RS-232 connector */
0303 status = "okay";
0304 pinctrl-names = "default";
0305 pinctrl-0 = <&pinctrl_txd1_default
0306 &pinctrl_rxd1_default
0307 &pinctrl_nrts1_default
0308 &pinctrl_ndtr1_default
0309 &pinctrl_ndsr1_default
0310 &pinctrl_ncts1_default
0311 &pinctrl_ndcd1_default
0312 &pinctrl_nri1_default>;
0313 };
0314
0315 &uart2 {
0316 /* APSS */
0317 status = "okay";
0318 pinctrl-names = "default";
0319 pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
0320 };
0321
0322 &uart5 {
0323 status = "okay";
0324 };
0325
0326 &lpc_ctrl {
0327 status = "okay";
0328 memory-region = <&flash_memory>;
0329 flash = <&spi1>;
0330 };
0331
0332 &mac0 {
0333 status = "okay";
0334 pinctrl-names = "default";
0335 pinctrl-0 = <&pinctrl_rmii1_default>;
0336 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0337 <&syscon ASPEED_CLK_MAC1RCLK>;
0338 clock-names = "MACCLK", "RCLK";
0339 use-ncsi;
0340 };
0341
0342 &i2c2 {
0343 status = "okay";
0344
0345 /* MUX ->
0346 * Samtec 1
0347 * Samtec 2
0348 */
0349 };
0350
0351 &i2c3 {
0352 status = "okay";
0353
0354 bmp: bmp280@77 {
0355 compatible = "bosch,bmp280";
0356 reg = <0x77>;
0357 #io-channel-cells = <1>;
0358 };
0359
0360 max31785@52 {
0361 compatible = "maxim,max31785a";
0362 reg = <0x52>;
0363 #address-cells = <1>;
0364 #size-cells = <0>;
0365 };
0366
0367 dps: dps310@76 {
0368 compatible = "infineon,dps310";
0369 reg = <0x76>;
0370 #io-channel-cells = <0>;
0371 };
0372
0373 pca0: pca9552@60 {
0374 compatible = "nxp,pca9552";
0375 reg = <0x60>;
0376 #address-cells = <1>;
0377 #size-cells = <0>;
0378
0379 gpio-controller;
0380 #gpio-cells = <2>;
0381
0382 gpio@0 {
0383 reg = <0>;
0384 type = <PCA955X_TYPE_GPIO>;
0385 };
0386
0387 gpio@1 {
0388 reg = <1>;
0389 type = <PCA955X_TYPE_GPIO>;
0390 };
0391
0392 gpio@2 {
0393 reg = <2>;
0394 type = <PCA955X_TYPE_GPIO>;
0395 };
0396
0397 gpio@3 {
0398 reg = <3>;
0399 type = <PCA955X_TYPE_GPIO>;
0400 };
0401
0402 gpio@4 {
0403 reg = <4>;
0404 type = <PCA955X_TYPE_GPIO>;
0405 };
0406
0407 gpio@5 {
0408 reg = <5>;
0409 type = <PCA955X_TYPE_GPIO>;
0410 };
0411
0412 gpio@6 {
0413 reg = <6>;
0414 type = <PCA955X_TYPE_GPIO>;
0415 };
0416
0417 gpio@7 {
0418 reg = <7>;
0419 type = <PCA955X_TYPE_GPIO>;
0420 };
0421
0422 gpio@8 {
0423 reg = <8>;
0424 type = <PCA955X_TYPE_GPIO>;
0425 };
0426
0427 gpio@9 {
0428 reg = <9>;
0429 type = <PCA955X_TYPE_GPIO>;
0430 };
0431
0432 gpio@10 {
0433 reg = <10>;
0434 type = <PCA955X_TYPE_GPIO>;
0435 };
0436
0437 gpio@11 {
0438 reg = <11>;
0439 type = <PCA955X_TYPE_GPIO>;
0440 };
0441
0442 gpio@12 {
0443 reg = <12>;
0444 type = <PCA955X_TYPE_GPIO>;
0445 };
0446
0447 gpio@13 {
0448 reg = <13>;
0449 type = <PCA955X_TYPE_GPIO>;
0450 };
0451
0452 gpio@14 {
0453 reg = <14>;
0454 type = <PCA955X_TYPE_GPIO>;
0455 };
0456
0457 gpio@15 {
0458 reg = <15>;
0459 type = <PCA955X_TYPE_GPIO>;
0460 };
0461 };
0462
0463 power-supply@68 {
0464 compatible = "ibm,cffps1";
0465 reg = <0x68>;
0466 };
0467
0468 power-supply@69 {
0469 compatible = "ibm,cffps1";
0470 reg = <0x69>;
0471 };
0472 };
0473
0474 &i2c4 {
0475 status = "okay";
0476
0477 tmp423a@4c {
0478 compatible = "ti,tmp423";
0479 reg = <0x4c>;
0480 };
0481
0482 ir35221@70 {
0483 compatible = "infineon,ir35221";
0484 reg = <0x70>;
0485 };
0486
0487 ir35221@71 {
0488 compatible = "infineon,ir35221";
0489 reg = <0x71>;
0490 };
0491 };
0492
0493
0494 &i2c5 {
0495 status = "okay";
0496
0497 tmp423a@4c {
0498 compatible = "ti,tmp423";
0499 reg = <0x4c>;
0500 };
0501
0502 ir35221@70 {
0503 compatible = "infineon,ir35221";
0504 reg = <0x70>;
0505 };
0506
0507 ir35221@71 {
0508 compatible = "infineon,ir35221";
0509 reg = <0x71>;
0510 };
0511 };
0512
0513 &i2c9 {
0514 status = "okay";
0515
0516 tmp275@4a {
0517 compatible = "ti,tmp275";
0518 reg = <0x4a>;
0519 };
0520 };
0521
0522 &i2c10 {
0523 /* MUX
0524 * -> PCIe Slot 3
0525 * -> PCIe Slot 4
0526 */
0527 status = "okay";
0528 };
0529
0530 &i2c11 {
0531 status = "okay";
0532
0533 pca9552: pca9552@60 {
0534 compatible = "nxp,pca9552";
0535 reg = <0x60>;
0536 #address-cells = <1>;
0537 #size-cells = <0>;
0538 gpio-controller;
0539 #gpio-cells = <2>;
0540
0541 gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
0542 "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF",
0543 "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
0544 "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF",
0545 "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
0546 "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
0547 "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
0548 "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
0549
0550 gpio@0 {
0551 reg = <0>;
0552 type = <PCA955X_TYPE_GPIO>;
0553 };
0554
0555 gpio@1 {
0556 reg = <1>;
0557 type = <PCA955X_TYPE_GPIO>;
0558 };
0559
0560 gpio@2 {
0561 reg = <2>;
0562 type = <PCA955X_TYPE_GPIO>;
0563 };
0564
0565 gpio@3 {
0566 reg = <3>;
0567 type = <PCA955X_TYPE_GPIO>;
0568 };
0569
0570 gpio@4 {
0571 reg = <4>;
0572 type = <PCA955X_TYPE_GPIO>;
0573 };
0574
0575 gpio@5 {
0576 reg = <5>;
0577 type = <PCA955X_TYPE_GPIO>;
0578 };
0579
0580 gpio@6 {
0581 reg = <6>;
0582 type = <PCA955X_TYPE_GPIO>;
0583 };
0584
0585 gpio@7 {
0586 reg = <7>;
0587 type = <PCA955X_TYPE_GPIO>;
0588 };
0589
0590 gpio@8 {
0591 reg = <8>;
0592 type = <PCA955X_TYPE_GPIO>;
0593 };
0594
0595 gpio@9 {
0596 reg = <9>;
0597 type = <PCA955X_TYPE_GPIO>;
0598 };
0599
0600 gpio@10 {
0601 reg = <10>;
0602 type = <PCA955X_TYPE_GPIO>;
0603 };
0604
0605 gpio@11 {
0606 reg = <11>;
0607 type = <PCA955X_TYPE_GPIO>;
0608 };
0609
0610 gpio@12 {
0611 reg = <12>;
0612 type = <PCA955X_TYPE_GPIO>;
0613 };
0614
0615 gpio@13 {
0616 reg = <13>;
0617 type = <PCA955X_TYPE_GPIO>;
0618 };
0619
0620 gpio@14 {
0621 reg = <14>;
0622 type = <PCA955X_TYPE_GPIO>;
0623 };
0624
0625 gpio@15 {
0626 reg = <15>;
0627 type = <PCA955X_TYPE_GPIO>;
0628 };
0629 };
0630
0631 rtc@32 {
0632 compatible = "epson,rx8900";
0633 reg = <0x32>;
0634 };
0635
0636 eeprom@51 {
0637 compatible = "atmel,24c64";
0638 reg = <0x51>;
0639 };
0640
0641 ucd90160@64 {
0642 compatible = "ti,ucd90160";
0643 reg = <0x64>;
0644 };
0645 };
0646
0647 &i2c12 {
0648 status = "okay";
0649 };
0650
0651 &i2c13 {
0652 status = "okay";
0653 };
0654
0655 &vuart {
0656 status = "okay";
0657 };
0658
0659 &gfx {
0660 status = "okay";
0661 memory-region = <&gfx_memory>;
0662 };
0663
0664 &pinctrl {
0665 aspeed,external-nodes = <&gfx &lhc>;
0666 };
0667
0668 &wdt1 {
0669 aspeed,reset-type = "none";
0670 aspeed,external-signal;
0671 aspeed,ext-push-pull;
0672 aspeed,ext-active-high;
0673
0674 pinctrl-names = "default";
0675 pinctrl-0 = <&pinctrl_wdtrst1_default>;
0676 };
0677
0678 &wdt2 {
0679 aspeed,alt-boot;
0680 };
0681
0682 &ibt {
0683 status = "okay";
0684 };
0685
0686 &adc {
0687 status = "okay";
0688 };
0689
0690 &vhub {
0691 status = "okay";
0692 };
0693
0694 &video {
0695 status = "okay";
0696 memory-region = <&video_engine_memory>;
0697 };
0698
0699 &xdma {
0700 status = "okay";
0701 memory-region = <&vga_memory>;
0702 };
0703
0704 #include "ibm-power9-dual.dtsi"