0001 // SPDX-License-Identifier: GPL-2.0+
0002 /*
0003 * Device Tree file for Lenovo Hr630 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 = "HR630 BMC";
0015 compatible = "lenovo,hr630-bmc", "aspeed,ast2500";
0016
0017 aliases {
0018 i2c14 = &i2c_rbp;
0019 i2c15 = &i2c_fbp1;
0020 i2c16 = &i2c_fbp2;
0021 i2c17 = &i2c_fbp3;
0022 i2c18 = &i2c_riser2;
0023 i2c19 = &i2c_pcie4;
0024 i2c20 = &i2c_riser1;
0025 i2c21 = &i2c_ocp;
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(J, 1) GPIO_ACTIVE_LOW>;
0061 };
0062
0063 fault {
0064 gpios = <&gpio ASPEED_GPIO(J, 0) 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>,
0073 <&adc 12>, <&adc 13>, <&adc 14>;
0074 };
0075
0076 };
0077
0078 &fmc {
0079 status = "okay";
0080 flash@0 {
0081 status = "okay";
0082 m25p,fast-read;
0083 label = "bmc";
0084 spi-max-frequency = <50000000>;
0085 #include "openbmc-flash-layout.dtsi"
0086 };
0087 };
0088
0089 &lpc_ctrl {
0090 status = "okay";
0091 memory-region = <&flash_memory>;
0092 flash = <&spi1>;
0093 };
0094
0095 &uart1 {
0096 status = "okay";
0097 pinctrl-names = "default";
0098 pinctrl-0 = <&pinctrl_txd1_default
0099 &pinctrl_rxd1_default>;
0100 };
0101
0102 &uart2 {
0103 /* Rear RS-232 connector */
0104 status = "okay";
0105 pinctrl-names = "default";
0106 pinctrl-0 = <&pinctrl_txd2_default
0107 &pinctrl_rxd2_default
0108 &pinctrl_nrts2_default
0109 &pinctrl_ndtr2_default
0110 &pinctrl_ndsr2_default
0111 &pinctrl_ncts2_default
0112 &pinctrl_ndcd2_default
0113 &pinctrl_nri2_default>;
0114 };
0115
0116 &uart3 {
0117 status = "okay";
0118 pinctrl-names = "default";
0119 pinctrl-0 = <&pinctrl_txd3_default
0120 &pinctrl_rxd3_default>;
0121 };
0122
0123 &uart5 {
0124 status = "okay";
0125 };
0126
0127 &ibt {
0128 status = "okay";
0129 };
0130
0131 &mac0 {
0132 status = "okay";
0133
0134 pinctrl-names = "default";
0135 pinctrl-0 = <&pinctrl_rmii1_default>;
0136 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0137 <&syscon ASPEED_CLK_MAC1RCLK>;
0138 clock-names = "MACCLK", "RCLK";
0139 use-ncsi;
0140 };
0141
0142 &mac1 {
0143 status = "okay";
0144
0145 pinctrl-names = "default";
0146 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
0147 };
0148
0149 &adc {
0150 status = "okay";
0151
0152 pinctrl-names = "default";
0153 pinctrl-0 = <&pinctrl_adc0_default
0154 &pinctrl_adc1_default
0155 &pinctrl_adc2_default
0156 &pinctrl_adc3_default
0157 &pinctrl_adc4_default
0158 &pinctrl_adc5_default
0159 &pinctrl_adc6_default
0160 &pinctrl_adc7_default
0161 &pinctrl_adc8_default
0162 &pinctrl_adc9_default
0163 &pinctrl_adc10_default
0164 &pinctrl_adc12_default
0165 &pinctrl_adc13_default
0166 &pinctrl_adc14_default>;
0167 };
0168
0169 &i2c0 {
0170 status = "okay";
0171 /* temp1 inlet */
0172 tmp75@4e {
0173 compatible = "national,lm75";
0174 reg = <0x4e>;
0175 };
0176 };
0177
0178 &i2c1 {
0179 status = "okay";
0180 /* temp2 outlet */
0181 tmp75@4d {
0182 compatible = "national,lm75";
0183 reg = <0x4d>;
0184 };
0185 };
0186
0187 &i2c2 {
0188 status = "okay";
0189 };
0190
0191 &i2c3 {
0192 status = "okay";
0193 };
0194
0195 &i2c4 {
0196 status = "okay";
0197 };
0198
0199 &i2c5 {
0200 status = "okay";
0201 };
0202
0203 &i2c6 {
0204 status = "okay";
0205 /* Slot 0,
0206 * Slot 1,
0207 * Slot 2,
0208 * Slot 3
0209 */
0210
0211 i2c-switch@70 {
0212 compatible = "nxp,pca9545";
0213 reg = <0x70>;
0214 #address-cells = <1>;
0215 #size-cells = <0>;
0216 i2c-mux-idle-disconnect; /* may use mux@70 next. */
0217
0218 i2c_rbp: i2c@0 {
0219 #address-cells = <1>;
0220 #size-cells = <0>;
0221 reg = <0>;
0222 };
0223
0224 i2c_fbp1: i2c@1 {
0225 #address-cells = <1>;
0226 #size-cells = <0>;
0227 reg = <1>;
0228 };
0229
0230 i2c_fbp2: i2c@2 {
0231 #address-cells = <1>;
0232 #size-cells = <0>;
0233 reg = <2>;
0234 };
0235
0236 i2c_fbp3: i2c@3 {
0237 #address-cells = <1>;
0238 #size-cells = <0>;
0239 reg = <3>;
0240 };
0241 };
0242 };
0243
0244 &i2c7 {
0245 status = "okay";
0246
0247 /* Slot 0,
0248 * Slot 1,
0249 * Slot 2,
0250 * Slot 3
0251 */
0252 i2c-switch@76 {
0253 compatible = "nxp,pca9546";
0254 reg = <0x76>;
0255 #address-cells = <1>;
0256 #size-cells = <0>;
0257 i2c-mux-idle-disconnect; /* may use mux@76 next. */
0258
0259 i2c_riser2: i2c@0 {
0260 #address-cells = <1>;
0261 #size-cells = <0>;
0262 reg = <0>;
0263 };
0264
0265 i2c_pcie4: i2c@1 {
0266 #address-cells = <1>;
0267 #size-cells = <0>;
0268 reg = <1>;
0269 };
0270
0271 i2c_riser1: i2c@2 {
0272 #address-cells = <1>;
0273 #size-cells = <0>;
0274 reg = <2>;
0275 };
0276
0277 i2c_ocp: i2c@3 {
0278 #address-cells = <1>;
0279 #size-cells = <0>;
0280 reg = <3>;
0281 };
0282 };
0283 };
0284
0285 &i2c8 {
0286 status = "okay";
0287
0288 eeprom@57 {
0289 compatible = "atmel,24c256";
0290 reg = <0x57>;
0291 pagesize = <16>;
0292 };
0293 };
0294
0295 &i2c9 {
0296 status = "okay";
0297 };
0298
0299 &i2c10 {
0300 status = "okay";
0301 };
0302
0303 &i2c11 {
0304 status = "okay";
0305 };
0306
0307 &i2c12 {
0308 status = "okay";
0309 };
0310
0311 &ehci1 {
0312 status = "okay";
0313 };
0314
0315 &uhci {
0316 status = "okay";
0317 };
0318
0319 &gfx {
0320 status = "okay";
0321 memory-region = <&gfx_memory>;
0322 };
0323
0324 &pwm_tacho {
0325 status = "okay";
0326 pinctrl-names = "default";
0327 pinctrl-0 = <&pinctrl_pwm0_default
0328 &pinctrl_pwm1_default
0329 &pinctrl_pwm2_default
0330 &pinctrl_pwm3_default
0331 &pinctrl_pwm4_default
0332 &pinctrl_pwm5_default
0333 &pinctrl_pwm6_default>;
0334
0335 fan@0 {
0336 reg = <0x00>;
0337 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
0338 };
0339
0340 fan@1 {
0341 reg = <0x00>;
0342 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
0343 };
0344
0345 fan@2 {
0346 reg = <0x01>;
0347 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
0348 };
0349
0350 fan@3 {
0351 reg = <0x01>;
0352 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
0353 };
0354
0355 fan@4 {
0356 reg = <0x02>;
0357 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
0358 };
0359
0360 fan@5 {
0361 reg = <0x02>;
0362 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
0363 };
0364
0365 fan@6 {
0366 reg = <0x03>;
0367 aspeed,fan-tach-ch = /bits/ 8 <0x06>;
0368 };
0369
0370 fan@7 {
0371 reg = <0x03>;
0372 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
0373 };
0374
0375 fan@8 {
0376 reg = <0x04>;
0377 aspeed,fan-tach-ch = /bits/ 8 <0x08>;
0378 };
0379
0380 fan@9 {
0381 reg = <0x04>;
0382 aspeed,fan-tach-ch = /bits/ 8 <0x09>;
0383 };
0384
0385 fan@10 {
0386 reg = <0x05>;
0387 aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
0388 };
0389
0390 fan@11 {
0391 reg = <0x05>;
0392 aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
0393 };
0394
0395 fan@12 {
0396 reg = <0x06>;
0397 aspeed,fan-tach-ch = /bits/ 8 <0x0c>;
0398 };
0399
0400 fan@13 {
0401 reg = <0x06>;
0402 aspeed,fan-tach-ch = /bits/ 8 <0x0d>;
0403 };
0404 };
0405
0406 &gpio {
0407
0408 pin_gpio_b5 {
0409 gpio-hog;
0410 gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
0411 output-high;
0412 line-name = "IRQ_BMC_PCH_SMI_LPC_N";
0413 };
0414
0415 pin_gpio_f0 {
0416 gpio-hog;
0417 gpios = <ASPEED_GPIO(F, 0) GPIO_ACTIVE_HIGH>;
0418 output-low;
0419 line-name = "IRQ_BMC_PCH_NMI_R";
0420 };
0421
0422 pin_gpio_f3 {
0423 gpio-hog;
0424 gpios = <ASPEED_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
0425 output-high;
0426 line-name = "I2C_BUS0_RST_OUT_N";
0427 };
0428
0429 pin_gpio_f4 {
0430 gpio-hog;
0431 gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
0432 output-low;
0433 line-name = "FM_SKT0_FAULT_LED";
0434 };
0435
0436 pin_gpio_f5 {
0437 gpio-hog;
0438 gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>;
0439 output-low;
0440 line-name = "FM_SKT1_FAULT_LED";
0441 };
0442
0443 pin_gpio_g4 {
0444 gpio-hog;
0445 gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>;
0446 output-high;
0447 line-name = "FAN_PWR_CTL_N";
0448 };
0449
0450 pin_gpio_g7 {
0451 gpio-hog;
0452 gpios = <ASPEED_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
0453 output-high;
0454 line-name = "RST_BMC_PCIE_I2CMUX_N";
0455 };
0456
0457 pin_gpio_h2 {
0458 gpio-hog;
0459 gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
0460 output-high;
0461 line-name = "PSU1_FFS_N_R";
0462 };
0463
0464 pin_gpio_h3 {
0465 gpio-hog;
0466 gpios = <ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
0467 output-high;
0468 line-name = "PSU2_FFS_N_R";
0469 };
0470
0471 pin_gpio_i3 {
0472 gpio-hog;
0473 gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
0474 output-high;
0475 line-name = "BMC_INTRUDED_COVER";
0476 };
0477
0478 pin_gpio_j2 {
0479 gpio-hog;
0480 gpios = <ASPEED_GPIO(J, 2) GPIO_ACTIVE_HIGH>;
0481 output-high;
0482 line-name = "BMC_BIOS_UPDATE_N";
0483 };
0484
0485 pin_gpio_j3 {
0486 gpio-hog;
0487 gpios = <ASPEED_GPIO(J, 3) GPIO_ACTIVE_HIGH>;
0488 output-high;
0489 line-name = "RST_BMC_HDD_I2CMUX_N";
0490 };
0491
0492 pin_gpio_s2 {
0493 gpio-hog;
0494 gpios = <ASPEED_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
0495 output-high;
0496 line-name = "BMC_VGA_SW";
0497 };
0498
0499 pin_gpio_s4 {
0500 gpio-hog;
0501 gpios = <ASPEED_GPIO(S, 4) GPIO_ACTIVE_HIGH>;
0502 output;
0503 line-name = "VBAT_EN_N";
0504 };
0505
0506 pin_gpio_s6 {
0507 gpio-hog;
0508 gpios = <ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
0509 output-high;
0510 line-name = "PU_BMC_GPIOS6";
0511 };
0512
0513 pin_gpio_y0 {
0514 gpio-hog;
0515 gpios = <ASPEED_GPIO(Y, 0) GPIO_ACTIVE_HIGH>;
0516 output-low;
0517 line-name = "BMC_NCSI_MUX_CTL_S0";
0518 };
0519
0520 pin_gpio_y1 {
0521 gpio-hog;
0522 gpios = <ASPEED_GPIO(Y, 1) GPIO_ACTIVE_HIGH>;
0523 output-low;
0524 line-name = "BMC_NCSI_MUX_CTL_S1";
0525 };
0526
0527 pin_gpio_z0 {
0528 gpio-hog;
0529 gpios = <ASPEED_GPIO(Z, 0) GPIO_ACTIVE_HIGH>;
0530 output-high;
0531 line-name = "I2C_RISER2_INT_N";
0532 };
0533
0534 pin_gpio_z2 {
0535 gpio-hog;
0536 gpios = <ASPEED_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
0537 output-high;
0538 line-name = "I2C_RISER2_RESET_N";
0539 };
0540
0541 pin_gpio_z3 {
0542 gpio-hog;
0543 gpios = <ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
0544 output-high;
0545 line-name = "FM_BMC_PCH_SCI_LPC_N";
0546 };
0547
0548 pin_gpio_z7 {
0549 gpio-hog;
0550 gpios = <ASPEED_GPIO(Z, 7) GPIO_ACTIVE_HIGH>;
0551 output-low;
0552 line-name = "BMC_POST_CMPLT_N";
0553 };
0554
0555 pin_gpio_aa0 {
0556 gpio-hog;
0557 gpios = <ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
0558 output-low;
0559 line-name = "HOST_BMC_USB_SEL";
0560 };
0561
0562 pin_gpio_aa5 {
0563 gpio-hog;
0564 gpios = <ASPEED_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
0565 output-high;
0566 line-name = "I2C_BUS1_RST_OUT_N";
0567 };
0568
0569 };