0001 // SPDX-License-Identifier: GPL-2.0+
0002 /*
0003 * Device Tree file for Lenovo Hr855xg2 platform
0004 *
0005 * Copyright (C) 2019-present Lenovo
0006 */
0007
0008 /dts-v1/;
0009
0010 #include "aspeed-g5.dtsi"
0011 #include <dt-bindings/gpio/aspeed-gpio.h>
0012
0013 / {
0014 model = "HR855XG2 BMC";
0015 compatible = "lenovo,hr855xg2-bmc", "aspeed,ast2500";
0016
0017 aliases {
0018 i2c14 = &i2c_riser1;
0019 i2c15 = &i2c_riser2;
0020 i2c16 = &i2c_riser3;
0021 i2c17 = &i2c_M2;
0022 i2c18 = &channel_0;
0023 i2c19 = &channel_1;
0024 i2c20 = &channel_2;
0025 i2c21 = &channel_3;
0026 };
0027
0028 chosen {
0029 stdout-path = &uart5;
0030 bootargs = "console=tty0 console=ttyS4,115200 earlycon";
0031 };
0032
0033 memory@80000000 {
0034 device_type = "memory";
0035 reg = <0x80000000 0x20000000>;
0036 };
0037
0038 reserved-memory {
0039 #address-cells = <1>;
0040 #size-cells = <1>;
0041 ranges;
0042
0043 flash_memory: region@98000000 {
0044 no-map;
0045 reg = <0x98000000 0x00100000>; /* 1M */
0046 };
0047
0048 gfx_memory: framebuffer {
0049 size = <0x01000000>;
0050 alignment = <0x01000000>;
0051 compatible = "shared-dma-pool";
0052 reusable;
0053 };
0054 };
0055
0056 leds {
0057 compatible = "gpio-leds";
0058
0059 heartbeat {
0060 gpios = <&gpio ASPEED_GPIO(C, 7) GPIO_ACTIVE_LOW>;
0061 };
0062
0063 fault {
0064 gpios = <&gpio ASPEED_GPIO(G, 3) GPIO_ACTIVE_LOW>;
0065 };
0066 };
0067
0068 iio-hwmon {
0069 compatible = "iio-hwmon";
0070 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0071 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
0072 <&adc 8>, <&adc 9>, <&adc 10>,<&adc 11>,
0073 <&adc 12>,<&adc 13>,<&adc 14>;
0074 };
0075
0076 iio-hwmon-battery {
0077 compatible = "iio-hwmon";
0078 io-channels = <&adc 15>;
0079 };
0080
0081 };
0082
0083 &fmc {
0084 status = "okay";
0085 flash@0 {
0086 status = "okay";
0087 m25p,fast-read;
0088 label = "bmc";
0089 spi-max-frequency = <50000000>;
0090 #include "openbmc-flash-layout.dtsi"
0091 };
0092 };
0093
0094 &lpc_ctrl {
0095 status = "okay";
0096 memory-region = <&flash_memory>;
0097 flash = <&spi1>;
0098 };
0099
0100 &lpc_snoop {
0101 status = "okay";
0102 snoop-ports = <0x80>;
0103 };
0104
0105 &uart1 {
0106 status = "okay";
0107 pinctrl-names = "default";
0108 pinctrl-0 = <&pinctrl_txd1_default
0109 &pinctrl_rxd1_default>;
0110 };
0111
0112 &uart2 {
0113 /* Rear RS-232 connector */
0114 status = "okay";
0115 pinctrl-names = "default";
0116 pinctrl-0 = <&pinctrl_txd2_default
0117 &pinctrl_rxd2_default
0118 &pinctrl_nrts2_default
0119 &pinctrl_ndtr2_default
0120 &pinctrl_ndsr2_default
0121 &pinctrl_ncts2_default
0122 &pinctrl_ndcd2_default
0123 &pinctrl_nri2_default>;
0124 };
0125
0126 &uart3 {
0127 status = "okay";
0128 };
0129
0130 &uart5 {
0131 status = "okay";
0132 };
0133
0134 &ibt {
0135 status = "okay";
0136 };
0137
0138 &mac0 {
0139 status = "okay";
0140 pinctrl-names = "default";
0141 pinctrl-0 = <&pinctrl_rmii1_default>;
0142 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0143 <&syscon ASPEED_CLK_MAC1RCLK>;
0144 clock-names = "MACCLK", "RCLK";
0145 use-ncsi;
0146 };
0147
0148 &mac1 {
0149 status = "okay";
0150 pinctrl-names = "default";
0151 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
0152 };
0153
0154 &adc{
0155 status = "okay";
0156 pinctrl-names = "default";
0157 pinctrl-0 = <&pinctrl_adc0_default
0158 &pinctrl_adc1_default
0159 &pinctrl_adc2_default
0160 &pinctrl_adc3_default
0161 &pinctrl_adc4_default
0162 &pinctrl_adc5_default
0163 &pinctrl_adc6_default
0164 &pinctrl_adc7_default
0165 &pinctrl_adc8_default
0166 &pinctrl_adc9_default
0167 &pinctrl_adc10_default
0168 &pinctrl_adc11_default
0169 &pinctrl_adc12_default
0170 &pinctrl_adc13_default
0171 &pinctrl_adc14_default
0172 &pinctrl_adc15_default>;
0173 };
0174
0175 &i2c0 {
0176 status = "okay";
0177
0178 i2c-switch@70 {
0179 compatible = "nxp,pca9545";
0180 reg = <0x70>;
0181 #address-cells = <1>;
0182 #size-cells = <0>;
0183
0184 i2c_riser1: i2c@0 {
0185 #address-cells = <1>;
0186 #size-cells = <0>;
0187 reg = <0>;
0188 };
0189
0190 i2c_riser2: i2c@1 {
0191 #address-cells = <1>;
0192 #size-cells = <0>;
0193 reg = <1>;
0194 };
0195
0196 i2c_riser3: i2c@2 {
0197 #address-cells = <1>;
0198 #size-cells = <0>;
0199 reg = <2>;
0200 };
0201
0202 i2c_M2: i2c@3 {
0203 #address-cells = <1>;
0204 #size-cells = <0>;
0205 reg = <3>;
0206 };
0207 };
0208 };
0209
0210 &i2c1 {
0211 status = "okay";
0212 bus-frequency = <90000>;
0213 HotSwap@10 {
0214 compatible = "adm1272";
0215 reg = <0x10>;
0216 };
0217
0218 VR@45 {
0219 compatible = "pmbus";
0220 reg = <0x45>;
0221 };
0222 };
0223
0224 &i2c2 {
0225 status = "okay";
0226 };
0227
0228 &i2c3 {
0229 status = "okay";
0230 i2c-switch@70 {
0231 compatible = "nxp,pca9546";
0232 reg = <0x70>;
0233 #address-cells = <1>;
0234 #size-cells = <0>;
0235
0236 channel_0: i2c@0 {
0237 #address-cells = <1>;
0238 #size-cells = <0>;
0239 reg = <0>;
0240 };
0241
0242 channel_1: i2c@1 {
0243 #address-cells = <1>;
0244 #size-cells = <0>;
0245 reg = <1>;
0246 };
0247
0248 channel_2: i2c@2 {
0249 #address-cells = <1>;
0250 #size-cells = <0>;
0251 reg = <2>;
0252 };
0253
0254 channel_3: i2c@3 {
0255 #address-cells = <1>;
0256 #size-cells = <0>;
0257 reg = <3>;
0258 };
0259 };
0260 };
0261
0262 &i2c4 {
0263 status = "okay";
0264 };
0265
0266 &i2c5 {
0267 status = "okay";
0268 };
0269
0270 &i2c6 {
0271 status = "okay";
0272 /* temp1 */
0273 tmp75@49 {
0274 compatible = "national,lm75";
0275 reg = <0x49>;
0276 };
0277
0278 /* temp2 */
0279 tmp75@4d {
0280 compatible = "national,lm75";
0281 reg = <0x4d>;
0282 };
0283
0284 eeprom@54 {
0285 compatible = "atmel,24c256";
0286 reg = <0x54>;
0287 pagesize = <16>;
0288 };
0289 };
0290
0291 &i2c7 {
0292 status = "okay";
0293 };
0294
0295 &i2c8 {
0296 status = "okay";
0297 };
0298
0299 &i2c9 {
0300 status = "okay";
0301 };
0302
0303 &i2c10 {
0304 status = "okay";
0305 };
0306
0307 &i2c11 {
0308 status = "okay";
0309 };
0310
0311 &i2c13 {
0312 status = "okay";
0313 };
0314
0315 &ehci1 {
0316 status = "okay";
0317 };
0318
0319 &uhci {
0320 status = "okay";
0321 };
0322
0323 &gfx {
0324 status = "okay";
0325 memory-region = <&gfx_memory>;
0326 };
0327
0328 &pwm_tacho {
0329 status = "okay";
0330 pinctrl-names = "default";
0331 pinctrl-0 = <&pinctrl_pwm0_default
0332 &pinctrl_pwm1_default
0333 &pinctrl_pwm2_default
0334 &pinctrl_pwm3_default
0335 &pinctrl_pwm4_default
0336 &pinctrl_pwm5_default
0337 &pinctrl_pwm6_default
0338 &pinctrl_pwm7_default>;
0339
0340 fan@0 {
0341 reg = <0x00>;
0342 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
0343 };
0344
0345 fan@1 {
0346 reg = <0x00>;
0347 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
0348 };
0349
0350 fan@2 {
0351 reg = <0x01>;
0352 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
0353 };
0354
0355 fan@3 {
0356 reg = <0x01>;
0357 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
0358 };
0359
0360 fan@4 {
0361 reg = <0x02>;
0362 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
0363 };
0364
0365 fan@5 {
0366 reg = <0x02>;
0367 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
0368 };
0369
0370 fan@6 {
0371 reg = <0x03>;
0372 aspeed,fan-tach-ch = /bits/ 8 <0x06>;
0373 };
0374
0375 fan@7 {
0376 reg = <0x03>;
0377 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
0378 };
0379
0380 fan@8 {
0381 reg = <0x04>;
0382 aspeed,fan-tach-ch = /bits/ 8 <0x08>;
0383 };
0384
0385 fan@9 {
0386 reg = <0x04>;
0387 aspeed,fan-tach-ch = /bits/ 8 <0x09>;
0388 };
0389
0390 fan@10 {
0391 reg = <0x05>;
0392 aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
0393 };
0394
0395 fan@11 {
0396 reg = <0x05>;
0397 aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
0398 };
0399
0400 fan@12 {
0401 reg = <0x06>;
0402 aspeed,fan-tach-ch = /bits/ 8 <0x0c>;
0403 };
0404
0405 fan@13 {
0406 reg = <0x06>;
0407 aspeed,fan-tach-ch = /bits/ 8 <0x0d>;
0408 };
0409
0410 fan@14 {
0411 reg = <0x07>;
0412 aspeed,fan-tach-ch = /bits/ 8 <0x0e>;
0413 };
0414
0415 fan@15 {
0416 reg = <0x07>;
0417 aspeed,fan-tach-ch = /bits/ 8 <0x0f>;
0418 };
0419
0420 fan@16 {
0421 reg = <0x07>;
0422 aspeed,fan-tach-ch = /bits/ 8 <0x0f>;
0423 };
0424 };
0425
0426 &gpio {
0427
0428 pin_gpio_a1 {
0429 gpio-hog;
0430 gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_LOW>;
0431 output-high;
0432 line-name = "BMC_EMMC_RST_N";
0433 };
0434
0435 pin_gpio_a3 {
0436 gpio-hog;
0437 gpios = <ASPEED_GPIO(A, 3) GPIO_ACTIVE_LOW>;
0438 output-high;
0439 line-name = "PCH_PWROK_BMC_FPGA";
0440 };
0441
0442 pin_gpio_b5 {
0443 gpio-hog;
0444 gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
0445 output-high;
0446 line-name = "IRQ_BMC_PCH_SMI_LPC_N";
0447 };
0448
0449 pin_gpio_b7 {
0450 gpio-hog;
0451 gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_LOW>;
0452 output-low;
0453 line-name = "CPU_SM_WP";
0454 };
0455
0456 pin_gpio_e0 {
0457 gpio-hog;
0458 gpios = <ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
0459 input;
0460 line-name = "PDB_PSU_SEL";
0461 };
0462
0463 pin_gpio_e2 {
0464 gpio-hog;
0465 gpios = <ASPEED_GPIO(E, 2) GPIO_ACTIVE_HIGH>;
0466 output-high;
0467 line-name = "LOCATOR_LED_N";
0468 };
0469
0470 pin_gpio_e5 {
0471 gpio-hog;
0472 gpios = <ASPEED_GPIO(E, 5) GPIO_ACTIVE_HIGH>;
0473 output-high;
0474 line-name = "FM_BMC_DBP_PRESENT_R1_N";
0475 };
0476
0477 pin_gpio_e6 {
0478 gpio-hog;
0479 gpios = <ASPEED_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
0480 output-high;
0481 line-name = "BMC_ME_SECURITY_OVERRIDE_N";
0482 };
0483
0484 pin_gpio_f0 {
0485 gpio-hog;
0486 gpios = <ASPEED_GPIO(F, 0) GPIO_ACTIVE_HIGH>;
0487 output-high;
0488 line-name = "IRQ_BMC_PCH_NMI_R";
0489 };
0490
0491 pin_gpio_f1 {
0492 gpio-hog;
0493 gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>;
0494 input;
0495 line-name = "CPU2_PROCDIS_BMC_N";
0496 };
0497
0498 pin_gpio_f2 {
0499 gpio-hog;
0500 gpios = <ASPEED_GPIO(F, 2) GPIO_ACTIVE_HIGH>;
0501 output-high;
0502 line-name = "RM_THROTTLE_EN_N";
0503 };
0504
0505 pin_gpio_f3 {
0506 gpio-hog;
0507 gpios = <ASPEED_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
0508 output-low;
0509 line-name = "FM_PMBUS_ALERT_B_EN";
0510 };
0511
0512 pin_gpio_f4 {
0513 gpio-hog;
0514 gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
0515 output-high;
0516 line-name = "BMC_FORCE_NM_THROTTLE_N";
0517 };
0518
0519 pin_gpio_f6 {
0520 gpio-hog;
0521 gpios = <ASPEED_GPIO(F, 6) GPIO_ACTIVE_HIGH>;
0522 output-high;
0523 line-name = "FM_BMC_CPU_PWR_DEBUG_N";
0524 };
0525
0526 pin_gpio_g7 {
0527 gpio-hog;
0528 gpios = <ASPEED_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
0529 output-high;
0530 line-name = "BMC_PCIE_I2C_MUX_RST_N";
0531 };
0532
0533 pin_gpio_h6 {
0534 gpio-hog;
0535 gpios = <ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
0536 output-high;
0537 line-name = "FM_BMC_DBP_PRESENT_R2_N";
0538 };
0539
0540 pin_gpio_i3 {
0541 gpio-hog;
0542 gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
0543 output-high;
0544 line-name = "SPI_BMC_BIOS_WP_N";
0545 };
0546
0547 pin_gpio_j1 {
0548 gpio-hog;
0549 gpios = <ASPEED_GPIO(J, 1) GPIO_ACTIVE_HIGH>;
0550 output-high;
0551 line-name = "BMC_USB_SEL";
0552 };
0553
0554 pin_gpio_j2 {
0555 gpio-hog;
0556 gpios = <ASPEED_GPIO(J, 2) GPIO_ACTIVE_HIGH>;
0557 output-high;
0558 line-name = "PDB_SMB_RST_N";
0559 };
0560
0561 pin_gpio_j3 {
0562 gpio-hog;
0563 gpios = <ASPEED_GPIO(J, 3) GPIO_ACTIVE_HIGH>;
0564 output-high;
0565 line-name = "SPI_BMC_BIOS_HOLD_N";
0566 };
0567
0568 pin_gpio_l0 {
0569 gpio-hog;
0570 gpios = <ASPEED_GPIO(L, 0) GPIO_ACTIVE_HIGH>;
0571 output-high;
0572 line-name = "PDB_FAN_TACH_SEL";
0573 };
0574
0575 pin_gpio_l1 {
0576 gpio-hog;
0577 gpios = <ASPEED_GPIO(L, 1) GPIO_ACTIVE_HIGH>;
0578 output-high;
0579 line-name = "SYS_RESET_BMC_FPGA_N";
0580 };
0581
0582 pin_gpio_l4 {
0583 gpio-hog;
0584 gpios = <ASPEED_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
0585 output-high;
0586 line-name = "FM_EFUSE_FAN_G1_EN";
0587 };
0588
0589 pin_gpio_l5 {
0590 gpio-hog;
0591 gpios = <ASPEED_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
0592 output-high;
0593 line-name = "FM_EFUSE_FAN_G2_EN";
0594 };
0595
0596 pin_gpio_r6 {
0597 gpio-hog;
0598 gpios = <ASPEED_GPIO(R, 6) GPIO_ACTIVE_HIGH>;
0599 input;
0600 line-name = "CPU3_PROCDIS_BMC_N";
0601 };
0602
0603 pin_gpio_r7 {
0604 gpio-hog;
0605 gpios = <ASPEED_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
0606 input;
0607 line-name = "CPU4_PROCDIS_BMC_N";
0608 };
0609
0610 pin_gpio_s1 {
0611 gpio-hog;
0612 gpios = <ASPEED_GPIO(S, 1) GPIO_ACTIVE_HIGH>;
0613 output-low;
0614 line-name = "DBP_SYSPWROK_BMC";
0615 };
0616
0617 pin_gpio_s2 {
0618 gpio-hog;
0619 gpios = <ASPEED_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
0620 output-high;
0621 line-name = "PCH_RST_RSMRST_N";
0622 };
0623
0624 pin_gpio_s6 {
0625 gpio-hog;
0626 gpios = <ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
0627 output-high;
0628 line-name = "BMC_HW_STRAP_5";
0629 };
0630
0631 pin_gpio_z3 {
0632 gpio-hog;
0633 gpios = <ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
0634 output-high;
0635 line-name = "FM_BMC_PCH_SCI_LPC_N";
0636 };
0637
0638 pin_gpio_aa0 {
0639 gpio-hog;
0640 gpios = <ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
0641 output-low;
0642 line-name = "FW_PSU_ALERT_EN_N";
0643 };
0644
0645 pin_gpio_aa4 {
0646 gpio-hog;
0647 gpios = <ASPEED_GPIO(AA, 4) GPIO_ACTIVE_HIGH>;
0648 output-high;
0649 line-name = "DBP_CPU_PREQ_N";
0650 };
0651
0652 pin_gpio_ab3 {
0653 gpio-hog;
0654 gpios = <ASPEED_GPIO(AB, 3) GPIO_ACTIVE_HIGH>;
0655 output-low;
0656 line-name = "BMC_WDTRST";
0657 };
0658
0659 pin_gpio_ac6 {
0660 gpio-hog;
0661 gpios = <ASPEED_GPIO(AC, 6) GPIO_ACTIVE_HIGH>;
0662 output-high;
0663 line-name = "ESPI_BMC_ALERT_N";
0664 };
0665
0666 };