0001 // SPDX-License-Identifier: GPL-2.0
0002 // Copyright (c) 2021 Inspur Corporation
0003 /dts-v1/;
0004
0005 #include "aspeed-g5.dtsi"
0006 #include <dt-bindings/gpio/aspeed-gpio.h>
0007 #include <dt-bindings/i2c/i2c.h>
0008 #include <dt-bindings/leds/leds-pca955x.h>
0009
0010 / {
0011 model = "NF5280M6 BMC";
0012 compatible = "inspur,nf5280m6-bmc", "aspeed,ast2500";
0013
0014 chosen {
0015 stdout-path = &uart5;
0016 bootargs = "console=ttyS4,115200 earlycon";
0017 };
0018
0019 memory@80000000 {
0020 reg = <0x80000000 0x40000000>;
0021 };
0022
0023 reserved-memory {
0024 #address-cells = <1>;
0025 #size-cells = <1>;
0026 ranges;
0027
0028 vga_memory: framebuffer@9f000000 {
0029 no-map;
0030 reg = <0x9f000000 0x01000000>; /* 16M */
0031 };
0032
0033 video_engine_memory: jpegbuffer {
0034 size = <0x02000000>; /* 32M */
0035 alignment = <0x01000000>;
0036 compatible = "shared-dma-pool";
0037 reusable;
0038 };
0039 };
0040
0041 leds {
0042 compatible = "gpio-leds";
0043
0044 bmc_alive {
0045 label = "bmc_alive";
0046 gpios = <&gpio ASPEED_GPIO(B, 0) GPIO_ACTIVE_LOW>;
0047 linux,default-trigger = "timer";
0048 led-pattern = <1000 1000>;
0049 };
0050
0051 front-fan {
0052 label = "front-fan";
0053 gpios = <&gpio ASPEED_GPIO(F,2) GPIO_ACTIVE_LOW>;
0054 };
0055
0056 front-psu {
0057 label = "front-psu";
0058 gpios = <&gpio ASPEED_GPIO(F,3) GPIO_ACTIVE_LOW>;
0059 };
0060
0061 front-syshot {
0062 label = "front-syshot";
0063 gpios = <&gpio ASPEED_GPIO(J, 3) GPIO_ACTIVE_LOW>;
0064 };
0065
0066 front-memory {
0067 label = "front-memory";
0068 gpios = <&gpio ASPEED_GPIO(S, 7) GPIO_ACTIVE_LOW>;
0069 };
0070
0071 identify {
0072 label = "identify";
0073 gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_LOW>;
0074 };
0075 };
0076
0077 iio-hwmon {
0078 compatible = "iio-hwmon";
0079 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0080 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
0081 <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
0082 <&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
0083 };
0084 };
0085
0086 &fmc {
0087 status = "okay";
0088 flash@0 {
0089 status = "okay";
0090 m25p,fast-read;
0091 label = "bmc";
0092 spi-max-frequency = <50000000>;
0093 #include "openbmc-flash-layout.dtsi"
0094 };
0095 };
0096
0097 &spi1 {
0098 status = "okay";
0099 pinctrl-names = "default";
0100 pinctrl-0 = <&pinctrl_spi1_default>;
0101 flash@0 {
0102 status = "okay";
0103 m25p,fast-read;
0104 label = "bios";
0105 spi-max-frequency = <100000000>;
0106 };
0107 };
0108
0109 &uart1 {
0110 status = "okay";
0111 };
0112
0113 &uart5 {
0114 status = "okay";
0115 };
0116
0117 &mac0 {
0118 status = "okay";
0119
0120 pinctrl-names = "default";
0121 pinctrl-0 = <&pinctrl_rmii1_default>;
0122 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0123 <&syscon ASPEED_CLK_MAC1RCLK>;
0124 clock-names = "MACCLK", "RCLK";
0125 use-ncsi;
0126 };
0127
0128 &mac1 {
0129 status = "okay";
0130
0131 pinctrl-names = "default";
0132 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
0133 };
0134
0135 &gpio {
0136 status = "okay";
0137 /* Enable GPIOE0 and GPIOE2 pass-through by default */
0138 pinctrl-names = "pass-through";
0139 pinctrl-0 = <&pinctrl_gpie0_default
0140 &pinctrl_gpie2_default>;
0141 gpio-line-names =
0142 /*A0-A7*/ "","MAC2LINK","BMC_RESET_CPLD","","BMC_SCL9","","MAC2MDC_R","",
0143 /*B0-B7*/ "BMC_INIT_OK","FM_SKU_ID2","FM_SPD_DDRCPU_LVLSHFT_DIS_R_N",
0144 "FM_CPU_MSMI_CATERR_LVT3_BMC_N","","FM_CPU0_PROCHOT_LVT3_N",
0145 "FM_CPU_MEM_THERMTRIP_LVT3_N","BIOS_LOAD_DEFAULT_R_N",
0146 /*C0-C7*/ "","","","","","","","",
0147 /*D0-D7*/ "","BMC_SD2CMD","BMC_SD2DAT0","BMC_SD2DAT1","BMC_SD2DAT2",
0148 "BMC_SD2DAT3","BMC_SD2DET","BMC_SD2WPT",
0149 /*E0-E7*/ "FM_BOARD_ID0","FM_BOARD_ID1","FM_BOARD_ID2","FM_BOARD_ID3",
0150 "FM_BOARD_ID4","FM_BOARD_ID5","","",
0151 /*F0-F7*/ "PSU1_PRESENT_N","PSU2_PRESENT_N","FAN_FAULT_LED_N","PSU_FAULT_LED_N",
0152 "BIOS_DEBUG_MODE_N","FP_LCD_RESET","FAN_TYPE_SEL",
0153 "RST_GLB_RST_WARN_N",
0154 /*G0-G7*/ "IRQ_LPTM21L_ALERT_N","IRQ_PLD_ALERT_N","AC_FAIL_N","FP_LCD_PRESENT_BMC",
0155 "BMC_JTAG_TCK_MUX_SEL","BMC_BIOS_RESERVED","SYS_NMI_N","BMC_NMI_N",
0156 /*H0-H7*/ "JTAG_BMC_TDI","JTAG_BMC_TDO","JTAG_BMC_TCK","JTAG_BMC_TMS","FM_BOARD_ID6",
0157 "FM_SKU_ID0","IRQ_SML1_PMBUS_ALERT_N","IRQ_SML0_ALERT_MUX_N",
0158 /*I0-I7*/ "FM_CPU_ERR0_LVT3_BMC_N","FM_CPU_ERR1_LVT3_BMC_N","FM_BMC_PCH_SCI_LPC_N",
0159 "FM_SYS_THROTTLE_LVC3","SPI2_PCH_CS0_N","","","",
0160 /*J0-J7*/ "FM_CPU0_SKTOCC_LVT3_N","FM_CPU1_SKTOCC_LVT3_N","","SYSHOT_FAULT_LED_N",
0161 "VGA_HSYNC","VGA_VSYNC","","",
0162 /*K0-K7*/ "","","","","","","","",
0163 /*L0-L7*/ "","","","","","","SYS_UART_TXD1","SYS_UART_RXD1",
0164 /*M0-M7*/ "","","","","","","","",
0165 /*N0-N7*/ "","","","","","","","",
0166 /*O0-O7*/ "","","","","","","","",
0167 /*P0-P7*/ "","","","","","","","",
0168 /*Q0-Q7*/ "","","","","","","FM_PCH_BMC_THERMTRIP_N","INTRUDER_N",
0169 /*R0-R7*/ "SPI_BMC_BOOT_CS1_R_N","FM_CPU_MEMHOT_LVC3_N",
0170 "DBP_CPU_PREQ_N","FM_CPU_ERR2_LVT3_BMC_N",
0171 "RISER_NCSI_EN_N","","LOM_NCSI_EN_N","OCP_NCSI_EN_N",
0172 /*S0-S7*/ "BMC_XDP_PRDY_N","SIO_POWER_GOOD","BMC_PWR_DEBUG_R_N","BMC_DEBUG_EN_R_N","",
0173 "GPIOS5_BMC","","GPIOS7_BMC",
0174 /*T0-T7*/ "","","","","","","","",
0175 /*U0-U7*/ "","","","","","","","",
0176 /*V0-V7*/ "","","","","","","","",
0177 /*W0-W7*/ "","","","","","","","",
0178 /*X0-X7*/ "","","","","","","","",
0179 /*Y0-Y7*/ "","BMC_DET_UID_N","BMC_JTAG_SEL","SIO_ONCONTROL","","","","",
0180 /*Z0-Z7*/ "XDP_PRESENT_N","DBP_SYSPWROK","BMC_JTAG_SEL","FM_SMI_ACTIVE_N","",
0181 "GPIOZ5","","",
0182 /*AA0-AA7*/ "FP_BMC_SYSLED_N","PS_PWROK","RST_PLTRST_BMC_N","HDA_SDO_BMC",
0183 "FM_SLPS4_R_N","","POWER_BUTTON","POWER_OUT",
0184 /*AB0-AB7*/ "RESET_OUT","RESET_BUTTON","BIOS_REFLASH","POST_COMPLETE","","","","",
0185 /*AC0-AC7*/ "","","","","","","","";
0186 };
0187
0188 &i2c0 {
0189 /* FP_LCD */
0190 status = "okay";
0191 };
0192
0193 &i2c1 {
0194 status = "okay";
0195
0196 eeprom@50 {
0197 compatible = "atmel,24c256";
0198 reg = <0x50>;
0199 label = "fru";
0200 };
0201 };
0202
0203 &i2c2 {
0204 status = "okay";
0205
0206 tmp112@48 {
0207 compatible = "ti,tmp112";
0208 reg = <0x48>;
0209 label = "inlet";
0210 };
0211
0212 tmp112@49 {
0213 compatible = "ti,tmp112";
0214 reg = <0x49>;
0215 label = "outlet";
0216 };
0217
0218 pca9548@70 {
0219 compatible = "nxp,pca9548";
0220 reg = <0x70>;
0221 };
0222 };
0223
0224 &i2c3 {
0225 status = "okay";
0226
0227 pca9548@70 {
0228 compatible = "nxp,pca9548";
0229 reg = <0x70>;
0230 };
0231
0232 pca9548@71 {
0233 compatible = "nxp,pca9548";
0234 reg = <0x71>;
0235 };
0236
0237 pca9548@72 {
0238 compatible = "nxp,pca9548";
0239 reg = <0x72>;
0240 };
0241 };
0242
0243 &i2c4 {
0244 /* IPMB */
0245 status = "okay";
0246 };
0247
0248 &i2c5 {
0249 status = "okay";
0250
0251 pca9548@70 {
0252 compatible = "nxp,pca9548";
0253 reg = <0x70>;
0254 };
0255 };
0256
0257 &i2c6 {
0258 status = "okay";
0259
0260 pca9548@70 {
0261 compatible = "nxp,pca9548";
0262 reg = <0x70>;
0263 };
0264 };
0265
0266 &i2c7 {
0267 status = "okay";
0268
0269 adm1278@33 {
0270 compatible = "adi,adm1293";
0271 reg = <0x33>;
0272 };
0273
0274 adm1278@32 {
0275 compatible = "adi,adm1293";
0276 reg = <0x32>;
0277 };
0278
0279 adm1278@20 {
0280 compatible = "adi,adm1293";
0281 reg = <0x20>;
0282 };
0283 };
0284
0285 &i2c8 {
0286 status = "okay";
0287
0288 pca0: pca9555@23 {
0289 compatible = "nxp,pca9555";
0290 reg = <0x23>;
0291 #address-cells = <1>;
0292 #size-cells = <0>;
0293
0294 gpio-controller;
0295 #gpio-cells = <2>;
0296
0297 gpio@0 {
0298 reg = <0>;
0299 type = <PCA955X_TYPE_GPIO>;
0300 };
0301
0302 gpio@1 {
0303 reg = <1>;
0304 type = <PCA955X_TYPE_GPIO>;
0305 };
0306
0307 gpio@2 {
0308 reg = <2>;
0309 type = <PCA955X_TYPE_GPIO>;
0310 };
0311
0312 gpio@3 {
0313 reg = <3>;
0314 type = <PCA955X_TYPE_GPIO>;
0315 };
0316
0317 gpio@4 {
0318 reg = <4>;
0319 type = <PCA955X_TYPE_GPIO>;
0320 };
0321
0322 gpio@5 {
0323 reg = <5>;
0324 type = <PCA955X_TYPE_GPIO>;
0325 };
0326
0327 gpio@6 {
0328 reg = <6>;
0329 type = <PCA955X_TYPE_GPIO>;
0330 };
0331 };
0332
0333 pca1: pca9555@22 {
0334 compatible = "nxp,pca9555";
0335 reg = <0x22>;
0336 #address-cells = <1>;
0337 #size-cells = <0>;
0338
0339 gpio-controller;
0340 #gpio-cells = <2>;
0341
0342 gpio@0 {
0343 reg = <0>;
0344 type = <PCA955X_TYPE_GPIO>;
0345 };
0346
0347 gpio@1 {
0348 reg = <1>;
0349 type = <PCA955X_TYPE_GPIO>;
0350 };
0351
0352 gpio@2 {
0353 reg = <2>;
0354 type = <PCA955X_TYPE_GPIO>;
0355 };
0356
0357 gpio@3 {
0358 reg = <3>;
0359 type = <PCA955X_TYPE_GPIO>;
0360 };
0361
0362 gpio@4 {
0363 reg = <4>;
0364 type = <PCA955X_TYPE_GPIO>;
0365 };
0366
0367 gpio@5 {
0368 reg = <5>;
0369 type = <PCA955X_TYPE_GPIO>;
0370 };
0371
0372 gpio@6 {
0373 reg = <6>;
0374 type = <PCA955X_TYPE_GPIO>;
0375 };
0376
0377 gpio@7 {
0378 reg = <7>;
0379 type = <PCA955X_TYPE_GPIO>;
0380 };
0381 };
0382
0383 pca2: pca9555@20 {
0384 compatible = "nxp,pca9555";
0385 reg = <0x20>;
0386 #address-cells = <1>;
0387 #size-cells = <0>;
0388
0389 gpio-controller;
0390 #gpio-cells = <2>;
0391
0392 gpio@0 {
0393 reg = <0>;
0394 type = <PCA955X_TYPE_GPIO>;
0395 };
0396
0397 gpio@1 {
0398 reg = <1>;
0399 type = <PCA955X_TYPE_GPIO>;
0400 };
0401
0402 gpio@2 {
0403 reg = <2>;
0404 type = <PCA955X_TYPE_GPIO>;
0405 };
0406
0407 gpio@3 {
0408 reg = <3>;
0409 type = <PCA955X_TYPE_GPIO>;
0410 };
0411
0412 gpio@4 {
0413 reg = <4>;
0414 type = <PCA955X_TYPE_GPIO>;
0415 };
0416
0417 gpio@5 {
0418 reg = <5>;
0419 type = <PCA955X_TYPE_GPIO>;
0420 };
0421
0422 gpio@6 {
0423 reg = <6>;
0424 type = <PCA955X_TYPE_GPIO>;
0425 };
0426
0427 gpio@7 {
0428 reg = <7>;
0429 type = <PCA955X_TYPE_GPIO>;
0430 };
0431 };
0432
0433 pca3: pca9555@21 {
0434 compatible = "nxp,pca9555";
0435 reg = <0x21>;
0436 #address-cells = <1>;
0437 #size-cells = <0>;
0438
0439 gpio-controller;
0440 #gpio-cells = <2>;
0441
0442 gpio@0 {
0443 reg = <0>;
0444 type = <PCA955X_TYPE_GPIO>;
0445 };
0446
0447 gpio@1 {
0448 reg = <1>;
0449 type = <PCA955X_TYPE_GPIO>;
0450 };
0451
0452 gpio@2 {
0453 reg = <2>;
0454 type = <PCA955X_TYPE_GPIO>;
0455 };
0456
0457 gpio@3 {
0458 reg = <3>;
0459 type = <PCA955X_TYPE_GPIO>;
0460 };
0461
0462 gpio@4 {
0463 reg = <4>;
0464 type = <PCA955X_TYPE_GPIO>;
0465 };
0466
0467 gpio@5 {
0468 reg = <5>;
0469 type = <PCA955X_TYPE_GPIO>;
0470 };
0471
0472 gpio@6 {
0473 reg = <6>;
0474 type = <PCA955X_TYPE_GPIO>;
0475 };
0476
0477 gpio@7 {
0478 reg = <7>;
0479 type = <PCA955X_TYPE_GPIO>;
0480 };
0481 };
0482 };
0483
0484 &i2c9 {
0485 /* cpld */
0486 status = "okay";
0487 };
0488
0489 &i2c10 {
0490 status = "okay";
0491
0492 pca4: pca9555@24 {
0493 compatible = "nxp,pca9555";
0494 reg = <0x24>;
0495 #address-cells = <1>;
0496 #size-cells = <0>;
0497
0498 gpio-controller;
0499 #gpio-cells = <2>;
0500
0501 gpio@0 {
0502 reg = <0>;
0503 type = <PCA955X_TYPE_GPIO>;
0504 };
0505
0506 gpio@1 {
0507 reg = <1>;
0508 type = <PCA955X_TYPE_GPIO>;
0509 };
0510
0511 gpio@2 {
0512 reg = <2>;
0513 type = <PCA955X_TYPE_GPIO>;
0514 };
0515
0516 gpio@3 {
0517 reg = <3>;
0518 type = <PCA955X_TYPE_GPIO>;
0519 };
0520
0521 gpio@4 {
0522 reg = <4>;
0523 type = <PCA955X_TYPE_GPIO>;
0524 };
0525
0526 gpio@5 {
0527 reg = <5>;
0528 type = <PCA955X_TYPE_GPIO>;
0529 };
0530
0531 gpio@6 {
0532 reg = <6>;
0533 type = <PCA955X_TYPE_GPIO>;
0534 };
0535
0536 gpio@7 {
0537 reg = <7>;
0538 type = <PCA955X_TYPE_GPIO>;
0539 };
0540 };
0541
0542 pca5: pca9555@25 {
0543 compatible = "nxp,pca9555";
0544 reg = <0x25>;
0545 #address-cells = <1>;
0546 #size-cells = <0>;
0547
0548 gpio-controller;
0549 #gpio-cells = <2>;
0550
0551 gpio@0 {
0552 reg = <0>;
0553 type = <PCA955X_TYPE_GPIO>;
0554 };
0555
0556 gpio@1 {
0557 reg = <1>;
0558 type = <PCA955X_TYPE_GPIO>;
0559 };
0560
0561 gpio@2 {
0562 reg = <2>;
0563 type = <PCA955X_TYPE_GPIO>;
0564 };
0565
0566 gpio@3 {
0567 reg = <3>;
0568 type = <PCA955X_TYPE_GPIO>;
0569 };
0570
0571 gpio@4 {
0572 reg = <4>;
0573 type = <PCA955X_TYPE_GPIO>;
0574 };
0575
0576 gpio@5 {
0577 reg = <5>;
0578 type = <PCA955X_TYPE_GPIO>;
0579 };
0580
0581 gpio@6 {
0582 reg = <6>;
0583 type = <PCA955X_TYPE_GPIO>;
0584 };
0585 };
0586 };
0587
0588 &i2c11 {
0589 status = "okay";
0590
0591 power-supply@58 {
0592 compatible = "inspur,ipsps1";
0593 reg = <0x58>;
0594 };
0595
0596 power-supply@59 {
0597 compatible = "inspur,ipsps1";
0598 reg = <0x59>;
0599 };
0600 };
0601
0602 &i2c12 {
0603 status = "okay";
0604 };
0605
0606 &i2c13 {
0607 status = "okay";
0608 };
0609
0610 &pwm_tacho {
0611 status = "okay";
0612 pinctrl-names = "default";
0613 pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
0614 &pinctrl_pwm2_default &pinctrl_pwm3_default
0615 &pinctrl_pwm4_default &pinctrl_pwm5_default
0616 &pinctrl_pwm6_default &pinctrl_pwm7_default>;
0617
0618 fan@0 {
0619 reg = <0x00>;
0620 aspeed,fan-tach-ch = /bits/ 8 <0x00 0x01>;
0621 };
0622
0623 fan@1 {
0624 reg = <0x01>;
0625 aspeed,fan-tach-ch = /bits/ 8 <0x02 0x03>;
0626 };
0627
0628 fan@2 {
0629 reg = <0x02>;
0630 aspeed,fan-tach-ch = /bits/ 8 <0x04 0x05>;
0631 };
0632
0633 fan@3 {
0634 reg = <0x03>;
0635 aspeed,fan-tach-ch = /bits/ 8 <0x06 0x07>;
0636 };
0637
0638 fan@4 {
0639 reg = <0x04>;
0640 aspeed,fan-tach-ch = /bits/ 8 <0x08 0x09>;
0641 };
0642
0643 fan@5 {
0644 reg = <0x05>;
0645 aspeed,fan-tach-ch = /bits/ 8 <0x0a 0x0b>;
0646 };
0647
0648 fan@6 {
0649 reg = <0x06>;
0650 aspeed,fan-tach-ch = /bits/ 8 <0x0c 0x0d>;
0651 };
0652
0653 fan@7 {
0654 reg = <0x07>;
0655 aspeed,fan-tach-ch = /bits/ 8 <0x0e 0x0f>;
0656 };
0657 };
0658
0659 &kcs3 {
0660 status = "okay";
0661 aspeed,lpc-io-reg = <0xca2>;
0662 };
0663
0664 &kcs4 {
0665 status = "okay";
0666 aspeed,lpc-io-reg = <0xca4>;
0667 };
0668
0669 &adc {
0670 status = "okay";
0671 pinctrl-names = "default";
0672 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
0673 &pinctrl_adc2_default &pinctrl_adc3_default &pinctrl_adc4_default
0674 &pinctrl_adc5_default &pinctrl_adc6_default &pinctrl_adc7_default
0675 &pinctrl_adc8_default &pinctrl_adc9_default &pinctrl_adc10_default
0676 &pinctrl_adc11_default &pinctrl_adc12_default &pinctrl_adc13_default
0677 &pinctrl_adc14_default &pinctrl_adc15_default>;
0678 };
0679
0680 &vhub {
0681 status = "okay";
0682 };
0683
0684 &video {
0685 status = "okay";
0686 memory-region = <&video_engine_memory>;
0687 };
0688
0689 &vuart {
0690 status = "okay";
0691 };