0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003 #include "aspeed-g5.dtsi"
0004 #include <dt-bindings/gpio/aspeed-gpio.h>
0005
0006 / {
0007 model = "Zaius BMC";
0008 compatible = "ingrasys,zaius-bmc", "aspeed,ast2500";
0009
0010 aliases {
0011 i2c15 = &i2cpcie0;
0012 i2c16 = &i2cpcie1;
0013 i2c17 = &i2cpcie2;
0014 i2c19 = &i2cpcie3;
0015 i2c20 = &i2cpcie4;
0016 };
0017
0018 chosen {
0019 stdout-path = &uart5;
0020 bootargs = "console=ttyS4,115200 earlycon";
0021 };
0022
0023 memory@80000000 {
0024 reg = <0x80000000 0x40000000>;
0025 };
0026
0027 reserved-memory {
0028 #address-cells = <1>;
0029 #size-cells = <1>;
0030 ranges;
0031
0032 flash_memory: region@98000000 {
0033 no-map;
0034 reg = <0x98000000 0x04000000>; /* 64M */
0035 };
0036 };
0037
0038 onewire0 {
0039 compatible = "w1-gpio";
0040 gpios = <&gpio ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>;
0041 };
0042
0043 onewire1 {
0044 compatible = "w1-gpio";
0045 gpios = <&gpio ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
0046 };
0047
0048 onewire2 {
0049 compatible = "w1-gpio";
0050 gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
0051 };
0052
0053 onewire3 {
0054 compatible = "w1-gpio";
0055 gpios = <&gpio ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
0056 };
0057
0058 gpio-keys {
0059 compatible = "gpio-keys";
0060
0061 event-checkstop {
0062 label = "checkstop";
0063 gpios = <&gpio ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
0064 linux,code = <ASPEED_GPIO(F, 7)>;
0065 };
0066
0067 event-pcie-e2b-present{
0068 label = "pcie-e2b-present";
0069 gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
0070 linux,code = <ASPEED_GPIO(E, 7)>;
0071 };
0072 };
0073
0074 leds {
0075 compatible = "gpio-leds";
0076
0077 sys_boot_status {
0078 label = "System boot status";
0079 gpios = <&gpio ASPEED_GPIO(D, 5) GPIO_ACTIVE_LOW>;
0080 };
0081
0082 attention {
0083 label = "Attention";
0084 gpios = <&gpio ASPEED_GPIO(D, 6) GPIO_ACTIVE_LOW>;
0085 };
0086
0087 plt_fault {
0088 label = "Platform fault";
0089 gpios = <&gpio ASPEED_GPIO(D, 7) GPIO_ACTIVE_LOW>;
0090 };
0091
0092 hdd_fault {
0093 label = "Onboard drive fault";
0094 gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
0095 };
0096 };
0097
0098 fsi: gpio-fsi {
0099 compatible = "fsi-master-gpio", "fsi-master";
0100 #address-cells = <2>;
0101 #size-cells = <0>;
0102 no-gpio-delays;
0103
0104 trans-gpios = <&gpio ASPEED_GPIO(O, 6) GPIO_ACTIVE_HIGH>;
0105 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
0106 clock-gpios = <&gpio ASPEED_GPIO(G, 0) GPIO_ACTIVE_HIGH>;
0107 data-gpios = <&gpio ASPEED_GPIO(G, 1) GPIO_ACTIVE_HIGH>;
0108 mux-gpios = <&gpio ASPEED_GPIO(P, 6) GPIO_ACTIVE_HIGH>;
0109 };
0110
0111 iio-hwmon {
0112 compatible = "iio-hwmon";
0113 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0114 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
0115 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
0116 <&adc 13>, <&adc 14>, <&adc 15>;
0117 };
0118
0119 iio-hwmon-battery {
0120 compatible = "iio-hwmon";
0121 io-channels = <&adc 12>;
0122 };
0123
0124 };
0125
0126 &fmc {
0127 status = "okay";
0128
0129 flash@0 {
0130 status = "okay";
0131 label = "bmc";
0132 m25p,fast-read;
0133 spi-max-frequency = <50000000>;
0134 #include "openbmc-flash-layout.dtsi"
0135 };
0136 };
0137
0138 &spi1 {
0139 status = "okay";
0140 pinctrl-names = "default";
0141 pinctrl-0 = <&pinctrl_spi1_default>;
0142
0143 flash@0 {
0144 status = "okay";
0145 label = "pnor";
0146 m25p,fast-read;
0147 spi-max-frequency = <100000000>;
0148 };
0149 };
0150
0151 &spi2 {
0152 status = "okay";
0153 pinctrl-names = "default";
0154 pinctrl-0 = <&pinctrl_spi2ck_default
0155 &pinctrl_spi2cs0_default
0156 &pinctrl_spi2cs1_default
0157 &pinctrl_spi2miso_default
0158 &pinctrl_spi2mosi_default>;
0159
0160 flash@0 {
0161 status = "okay";
0162 };
0163 };
0164
0165 &uart1 {
0166 status = "okay";
0167 pinctrl-names = "default";
0168 pinctrl-0 = <&pinctrl_txd1_default
0169 &pinctrl_rxd1_default>;
0170 };
0171
0172 &lpc_ctrl {
0173 status = "okay";
0174 memory-region = <&flash_memory>;
0175 flash = <&spi1>;
0176 };
0177
0178 &lpc_snoop {
0179 status = "okay";
0180 snoop-ports = <0x80>;
0181 };
0182
0183
0184 &uart5 {
0185 status = "okay";
0186 };
0187
0188 &mac0 {
0189 status = "okay";
0190 pinctrl-names = "default";
0191 pinctrl-0 = <&pinctrl_rmii1_default>;
0192 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0193 <&syscon ASPEED_CLK_MAC1RCLK>;
0194 clock-names = "MACCLK", "RCLK";
0195 use-ncsi;
0196 };
0197
0198 &mac1 {
0199 status = "okay";
0200
0201 pinctrl-names = "default";
0202 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
0203 };
0204
0205 &i2c0 {
0206 status = "okay";
0207
0208 eeprom@50 {
0209 compatible = "atmel,24c64";
0210 reg = <0x50>;
0211 pagesize = <32>;
0212 };
0213
0214 rtc@68 {
0215 compatible = "nxp,pcf8523";
0216 reg = <0x68>;
0217 };
0218
0219 ucd90160@64 {
0220 compatible = "ti,ucd90160";
0221 reg = <0x64>;
0222 };
0223
0224 /* Power sequencer UCD90160 PMBUS @64h
0225 * FRU AT24C64D @50h
0226 * RTC PCF8523 @68h
0227 * Clock buffer 9DBL04 @6dh
0228 */
0229 };
0230
0231 &i2c1 {
0232 status = "okay";
0233
0234 i2c-switch@71 {
0235 compatible = "nxp,pca9546";
0236 reg = <0x71>;
0237 #address-cells = <1>;
0238 #size-cells = <0>;
0239
0240 i2cpcie0: i2c@0 {
0241 #address-cells = <1>;
0242 #size-cells = <0>;
0243 reg = <0>;
0244 };
0245 i2cpcie1: i2c@1 {
0246 #address-cells = <1>;
0247 #size-cells = <0>;
0248 reg = <1>;
0249 };
0250 i2cpcie2: i2c@2 {
0251 #address-cells = <1>;
0252 #size-cells = <0>;
0253 reg = <2>;
0254 };
0255 i2ctpm: i2c@3 {
0256 #address-cells = <1>;
0257 #size-cells = <0>;
0258 reg = <3>;
0259 };
0260 };
0261
0262 /* MUX1 PCA9546A @71h
0263 * PCIe 0
0264 * PCIe 1
0265 * PCIe 2
0266 * TPM header
0267 */
0268 };
0269
0270 &i2c2 {
0271 status = "disabled";
0272
0273 /* OCP Mezz Connector A (OOB SMBUS) */
0274 };
0275
0276 &i2c3 {
0277 status = "disabled";
0278
0279 /* OCP Mezz Connector A (PCIe slot SMBUS) */
0280 };
0281
0282 &i2c4 {
0283 status = "okay";
0284
0285 i2c-switch@71 {
0286 compatible = "nxp,pca9546";
0287 reg = <0x71>;
0288 #address-cells = <1>;
0289 #size-cells = <0>;
0290
0291 i2cpcie3: i2c@0 {
0292 #address-cells = <1>;
0293 #size-cells = <0>;
0294 reg = <0>;
0295 };
0296 i2cpcie4: i2c@1 {
0297 #address-cells = <1>;
0298 #size-cells = <0>;
0299 reg = <1>;
0300 };
0301 };
0302
0303 /* MUX1 PCA9546A @71h
0304 * PCIe 3
0305 * PCIe 4
0306 */
0307 };
0308
0309
0310 &i2c5 {
0311 status = "disabled";
0312
0313 /* CPU0 PRM 0.7V */
0314 /* CPU0 PRM 1.2V CH03 */
0315 /* CPU0 PRM 0.8V */
0316 /* CPU0 PRM 1.2V CH47 */
0317 };
0318
0319 &i2c6 {
0320 status = "disabled";
0321
0322 /* CPU1 PRM 0.7V */
0323 /* CPU1 PRM 1.2V CH03 */
0324 /* CPU1 PRM 0.8V */
0325 /* CPU1 PRM 1.2V CH47 */
0326 };
0327
0328 &i2c7 {
0329 status = "okay";
0330
0331 pca9541a@70 {
0332 compatible = "nxp,pca9541";
0333 reg = <0x70>;
0334
0335 i2c-arb {
0336 #address-cells = <1>;
0337 #size-cells = <0>;
0338
0339 hotswap@54 {
0340 compatible = "ti,lm5066i";
0341 reg = <0x54>;
0342 };
0343 };
0344
0345 };
0346
0347 vrm@64 {
0348 compatible = "isil,isl68137";
0349 reg = <0x64>;
0350 };
0351
0352 vrm@40 {
0353 compatible = "isil,isl68137";
0354 reg = <0x40>;
0355 };
0356
0357 vrm@60 {
0358 compatible = "isil,isl68137";
0359 reg = <0x60>;
0360 };
0361
0362 vrm@43 {
0363 compatible = "infineon,ir38064";
0364 reg = <0x43>;
0365 };
0366
0367 vrm@41 {
0368 compatible = "isil,isl68137";
0369 reg = <0x41>;
0370 };
0371
0372 /* Master selector PCA9541A @70h (other master: CPU0)
0373 * LM5066I PMBUS @10h
0374 */
0375
0376 /*
0377 * Brick will be one of these types/addresses. Depending
0378 * on the board SKU only one is actually present and will successfully
0379 * instantiate while the others will fail the probe operation.
0380 * These are the PVT (and presumably beyond) addresses:
0381 * 12V Quarter Brick DC/DC Converter Q54SJ12050 @6Ah
0382 * 12V Quarter Brick DC/DC Converter Q54SH12050 @30h
0383 */
0384 power-brick@6a {
0385 compatible = "delta,dps800";
0386 reg = <0x6a>;
0387 };
0388 power-brick@30 {
0389 compatible = "delta,dps800";
0390 reg = <0x30>;
0391 };
0392
0393 /* CPU0 VR ISL68137 0.7V, 0.96V PMBUS @64h */
0394 /* CPU0 VR ISL68137 1.2V CH03 PMBUS @40h */
0395 /* CPU0 VR ISL68137 0.8V PMBUS @60h */
0396 /* CPU0 VR 1.0V IR38064 I2C @11h, PMBUS @43h */
0397 /* CPU0 VR ISL68137 1.2V CH47 PMBUS @41h */
0398 /* Master selector PCA9541A @70h (other master: CPU0)
0399 * LM5066I PMBUS @10h
0400 */
0401 };
0402
0403 &i2c8 {
0404 status = "okay";
0405
0406 vrm@64 {
0407 compatible = "isil,isl68137";
0408 reg = <0x64>;
0409 };
0410
0411 vrm@40 {
0412 compatible = "isil,isl68137";
0413 reg = <0x40>;
0414 };
0415
0416 vrm@41 {
0417 compatible = "isil,isl68137";
0418 reg = <0x41>;
0419 };
0420
0421 vrm@42 {
0422 compatible = "infineon,ir38064";
0423 reg = <0x42>;
0424 };
0425
0426 vrm@60 {
0427 compatible = "isil,isl68137";
0428 reg = <0x60>;
0429 };
0430
0431 /* CPU1 VR ISL68137 0.7V, 0.96V PMBUS @64h */
0432 /* CPU1 VR ISL68137 1.2V CH03 PMBUS @40h */
0433 /* CPU1 VR ISL68137 1.2V CH47 PMBUS @41h */
0434 /* CPU1 VR 1.0V IR38064 I2C @12h, PMBUS @42h */
0435 /* CPU1 VR ISL68137 0.8V PMBUS @60h */
0436 };
0437
0438
0439 &i2c9 {
0440 status = "disabled";
0441
0442 /* Fan board */
0443 };
0444
0445 &i2c10 {
0446 status = "disabled";
0447 };
0448
0449 &i2c11 {
0450 status = "disabled";
0451
0452 /* GPU sideband */
0453 };
0454
0455 &i2c12 {
0456 status = "disabled";
0457 };
0458
0459 &i2c13 {
0460 status = "disabled";
0461
0462 /* MUX PI3USB102
0463 * CPU0 debug
0464 * CPU1 debug
0465 */
0466 };
0467
0468 &pinctrl {
0469 aspeed,external-nodes = <&gfx &lhc>;
0470
0471 pinctrl_gpioh_unbiased: gpioi_unbiased {
0472 pins = "A8", "C7", "B7", "A7", "D7", "B6", "A6", "E7";
0473 bias-disable;
0474 };
0475 };
0476
0477 &gpio {
0478 pinctrl-names = "default";
0479 pinctrl-0 = <&pinctrl_gpioh_unbiased>;
0480
0481 gpio-line-names =
0482 /*A0-A7*/ "","cfam-reset","","","","","","",
0483 /*B0-B7*/ "","","","","","","","",
0484 /*C0-C7*/ "","","","","","","","",
0485 /*D0-D7*/ "fsi-enable","","","","","led-sys-boot-status","led-attention",
0486 "led-fault",
0487 /*E0-E7*/ "","","","","","","","presence-pcie-e2b",
0488 /*F0-F7*/ "","","","","","","","checkstop",
0489 /*G0-G7*/ "fsi-clock","fsi-data","","","","","","",
0490 /*H0-H7*/ "onewire0","onewire1","onewire2","onewire3","","","","",
0491 /*I0-I7*/ "","","","power-button","","","","",
0492 /*J0-J7*/ "","","","","","","","",
0493 /*K0-K7*/ "","","","","","","","",
0494 /*L0-L7*/ "","","","","","","","",
0495 /*M0-M7*/ "","","","","","","","",
0496 /*N0-N7*/ "","","","","","","","",
0497 /*O0-O7*/ "","","","","iso_u164_en","","fsi-trans","",
0498 /*P0-P7*/ "ncsi_mux_en_n","bmc_i2c2_sw_rst_n","","bmc_i2c5_sw_rst_n","",
0499 "","fsi-mux","",
0500 /*Q0-Q7*/ "","","","","","","","",
0501 /*R0-R7*/ "","","","","","","","",
0502 /*S0-S7*/ "","","","","","","","",
0503 /*T0-T7*/ "","","","","","","","",
0504 /*U0-U7*/ "","","","","","","","",
0505 /*V0-V7*/ "","","","","","","","",
0506 /*W0-W7*/ "","","","","","","","",
0507 /*X0-X7*/ "","","","","","","","",
0508 /*Y0-Y7*/ "","","","","","","","",
0509 /*Z0-Z7*/ "","","","","","","","",
0510 /*AA0-AA7*/ "","","led-hdd-fault","","","","","",
0511 /*AB0-AB7*/ "","","","","","","","",
0512 /*AC0-AC7*/ "","","","","","","","";
0513
0514 line_iso_u146_en {
0515 gpio-hog;
0516 gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>;
0517 output-high;
0518 };
0519
0520 ncsi_mux_en_n {
0521 gpio-hog;
0522 gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
0523 output-low;
0524 };
0525
0526 line_bmc_i2c2_sw_rst_n {
0527 gpio-hog;
0528 gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
0529 output-high;
0530 };
0531
0532 line_bmc_i2c5_sw_rst_n {
0533 gpio-hog;
0534 gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
0535 output-high;
0536 };
0537 };
0538
0539 &vuart {
0540 status = "okay";
0541 };
0542
0543 &gfx {
0544 status = "okay";
0545 };
0546
0547 &pwm_tacho {
0548 status = "okay";
0549 pinctrl-names = "default";
0550 pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
0551 &pinctrl_pwm2_default &pinctrl_pwm3_default>;
0552
0553 fan@0 {
0554 reg = <0x00>;
0555 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
0556 };
0557
0558 fan@1 {
0559 reg = <0x01>;
0560 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
0561 };
0562
0563 fan@2 {
0564 reg = <0x02>;
0565 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
0566 };
0567
0568 fan@3 {
0569 reg = <0x03>;
0570 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
0571 };
0572 };
0573
0574 &ibt {
0575 status = "okay";
0576 };
0577
0578 #include "ibm-power9-dual.dtsi"