0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 // Copyright 2022 Quanta Corp.
0003 /dts-v1/;
0004
0005 #include "aspeed-g6.dtsi"
0006 #include <dt-bindings/gpio/aspeed-gpio.h>
0007 #include <dt-bindings/i2c/i2c.h>
0008
0009 / {
0010 model = "Quanta S6Q BMC";
0011 compatible = "quanta,s6q-bmc", "aspeed,ast2600";
0012
0013 aliases {
0014 // bus 0
0015 i2c20 = &SMB_HOST_DB2000_3V3AUX_SCL;
0016 i2c21 = &U12_PCA9546_CH1;
0017 i2c22 = &SMB_HOST_DB800_B_SCL;
0018 i2c23 = &SMB_HOST_DB800_C_SCL;
0019
0020 // bus 1
0021 i2c24 = &SMB_M2_P0_1V8AUX_SCL;
0022 i2c25 = &SMB_M2_P1_1V8AUX_SCL;
0023 i2c26 = &SMB_CPU_PIROM_3V3AUX_SCL;
0024 i2c27 = &SMB_TEMP_3V3AUX_SCL;
0025 i2c28 = &SMB_IPMB_3V3AUX_SSDSB_SCL;
0026 i2c29 = &SMB_IPMB_3V3AUX_SCL;
0027 i2c31 = &SMB_FB_SCL;
0028
0029 // bus 1 - Fan board
0030 i2c32 = &SMB_IOEXP_SCL;
0031 i2c33 = &SMB_PROGRAM_SCL;
0032 i2c34 = &SMB_FB_SCL_CH2;
0033 i2c35 = &SMB_FAN_SENSE_SCL;
0034
0035 // bus 6
0036 i2c36 = &U197_PCA9546_CH0;
0037 i2c37 = &U197_PCA9546_CH1;
0038 i2c38 = &U197_PCA9546_CH2;
0039 i2c39 = &U197_PCA9546_CH3;
0040
0041 //bus 7
0042 i2c40 = &SMB_OCP_SFF_3V3AUX_SCL; //OCP1
0043 i2c41 = &SMB_OCP_LFF_3V3AUX_SCL; //OCP2
0044 };
0045
0046 chosen {
0047 stdout-path = &uart5;
0048 bootargs = "console=ttyS4,115200n8 earlycon";
0049 };
0050
0051 memory@80000000 {
0052 device_type = "memory";
0053 reg = <0x80000000 0x40000000>;
0054 };
0055
0056 iio-hwmon {
0057 compatible = "iio-hwmon";
0058 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
0059 <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
0060 <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
0061 <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
0062 };
0063
0064 leds {
0065 compatible = "gpio-leds";
0066
0067 BMC_HEARTBEAT_N {
0068 label = "BMC_HEARTBEAT_N";
0069 gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
0070 linux,default-trigger = "heartbeat";
0071 };
0072
0073 BMC_LED_STATUS_AMBER_N {
0074 label = "BMC_LED_STATUS_AMBER_N";
0075 gpios = <&gpio0 ASPEED_GPIO(S, 6) GPIO_ACTIVE_LOW>;
0076 default-state = "off";
0077 };
0078
0079 FM_ID_LED_N {
0080 label = "FM_ID_LED_N";
0081 gpios = <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
0082 default-state = "off";
0083 };
0084 };
0085 };
0086
0087 &gpio0 {
0088 gpio-line-names =
0089 /*A0 - A7*/ "", "", "", "", "", "", "", "",
0090 /*B0 - B7*/ "", "", "", "", "", "", "", "",
0091 /*C0 - C7*/ "", "", "", "", "", "", "", "",
0092 /*D0 - D7*/ "", "", "", "", "", "", "", "",
0093 /*E0 - E7*/ "", "", "", "", "", "", "", "",
0094 /*F0 - F7*/ "PLTRST_N", "", "PWR_DEBUG_N", "", "", "", "", "",
0095 /*G0 - G7*/ "", "", "", "", "", "", "", "",
0096 /*H0 - H7*/ "", "", "", "", "", "", "", "",
0097 /*I0 - I7*/ "", "", "", "", "", "", "", "",
0098 /*J0 - J7*/ "", "", "", "", "", "", "", "",
0099 /*K0 - K7*/ "", "", "", "", "", "", "", "",
0100 /*L0 - L7*/ "", "", "", "", "PREQ_N", "TCK_MUX_SEL", "", "",
0101 /*M0 - M7*/ "", "", "", "PWRGD_SYS_PWROK", "", "PRDY_N", "", "",
0102 /*N0 - N7*/ "", "", "", "", "", "", "", "",
0103 /*O0 - O7*/ "", "", "", "", "", "", "", "",
0104 /*P0 - P7*/ "SYS_BMC_PWRBTN_R_N", "SYS_PWRBTN_N", "FM_MB_RST_BTN", "RST_BMC_RSTBTN_OUT_N", "", "", "", "",
0105 /*Q0 - Q7*/ "", "", "", "", "", "", "", "",
0106 /*R0 - R7*/ "", "", "", "", "", "", "", "",
0107 /*S0 - S7*/ "", "", "", "FP_ID_BTN_SCM_N", "", "", "", "",
0108 /*T0 - T7*/ "", "", "", "", "", "", "", "",
0109 /*U0 - U7*/ "", "", "", "", "", "", "", "",
0110 /*V0 - V7*/ "", "", "", "", "", "SMI", "", "",
0111 /*W0 - W7*/ "", "", "", "", "", "", "", "",
0112 /*X0 - X7*/ "", "", "", "", "", "", "", "",
0113 /*Y0 - Y7*/ "", "", "", "", "", "", "", "",
0114 /*Z0 - Z7*/ "FM_BMC_READY_N", "", "", "", "", "", "", "",
0115 /*AA0 - AA7*/ "", "", "", "", "", "", "", "",
0116 /*AB0 - AB7*/ "", "", "", "", "", "", "", "",
0117 /*AC0 - AC7*/ "", "", "", "", "", "", "", "";
0118 };
0119
0120 &sgpiom0 {
0121 status = "okay";
0122 ngpios = <128>;
0123 bus-frequency = <48000>;
0124 gpio-line-names =
0125 /* SGPIO input lines */
0126 /*IOA0-IOA7*/ "","", "SIO_POWER_GOOD","OA1", "XDP_PRST_N","", "","", "FM_SLPS3_PLD_N","", "FM_SLPS4_PLD_N","", "FM_BIOS_POST_CMPLT_BMC_N","", "FM_ADR_TRIGGER_N","OA7",
0127 /*IOB0-IOB7*/ "FM_ADR_COMPLETE","", "FM_PMBUS_ALERT_B_EN","", "PSU0_PRESENT_N","", "PSU1_PRESENT_N","", "PSU0_VIN_BUF_GOOD","", "PSU01_VIN_BUF_GOOD","", "PWRGD_PS0_PWROK_R","", "PWRGD_PS1_PWROK_R","",
0128 /*IOC0-IOC7*/ "PWRGD_PS_PWROK_PLD_R","", "CHASSIS_INTRUSION","", "BMC_MFG_MODE","", "FM_BMC_EN_DET_R","", "FM_ME_BT_DONE","", "CPU1_PRESENCE","", "CPU2_PRESENCE","", "IRQ_PSYS_CRIT_N","",
0129 /*IOD0-IOD7*/ "","", "CPU1_THERMTRIP","", "CPU2_THERMTRIP","", "CPU1_MEM_THERM_EVENT","", "CPU2_MEM_THERM_EVENT","", "CPU1_VRHOT","", "CPU2_VRHOT","", "","",
0130 /*IOE0-IOE7*/ "","", "CPU1_MEM_VRHOT","", "CPU2_MEM_VRHOT","", "","", "PCH_BMC_THERMTRIP","", "","", "","", "","",
0131 /*IOF0-IOF7*/ "CPU_ERR0","", "CPU_ERR1","", "CPU_ERR2","", "","", "","", "CPU_CATERR","", "","", "","",
0132 /*IOG0-IOG7*/ "","", "","", "","", "","", "","", "","", "","", "","",
0133 /*IOH0-IOH7*/ "","", "FP_ID_BTN_R1_N","", "FP_RST_BTN_N","", "","", "","", "FP_PWR_BTN_PLD_N_R","", "","", "","",
0134 /*IOI0-IOI7*/ "","", "","", "","", "","", "","", "","", "","", "","",
0135 /*IOJ0-IOJ7*/ "","", "","", "","", "","", "","", "","", "","", "","",
0136 /*IOK0-IOK7*/ "","", "","", "","", "","", "","", "","", "","", "","",
0137 /*IOL0-IOL7*/ "","", "","", "","", "","", "","", "","", "","", "","",
0138 /*IOM0-IOM7*/ "","", "","", "","", "","", "","", "","", "","", "","",
0139 /*ION0-ION7*/ "","BMC_SW_HEARTBEAT_N_R", "","FP_LED_FAULT_N", "","FP_ID_LED_N", "","FM_BMC_RSTBTN_OUT_N", "","FM_THERMTRIP_DLY_LVC1_R_N", "","", "","RST_PCA9548_SENSOR_PLD_N", "","USB_OC1_REAR_N",
0140 /*IOO0-IOO7*/ "","IRQ_TPM_SPI_N", "","", "","IRQ_PCH_SCI_WHEA_R_N", "","IRQ_BMC_PCH_NMI_R", "","H_CPU_NMI_LVC1_R_N", "","", "","", "","FM_JTAG_BMC_PLD_MUX_SEL",
0141 /*IOP0-IOP7*/ "IP0","OP0", "","", "","", "","", "","", "","", "","", "IP7","OP7";
0142 };
0143
0144 &adc0 {
0145 vref = <2500>;
0146 status = "okay";
0147
0148 pinctrl-names = "default";
0149 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
0150 &pinctrl_adc2_default &pinctrl_adc3_default
0151 &pinctrl_adc4_default &pinctrl_adc5_default
0152 &pinctrl_adc6_default &pinctrl_adc7_default>;
0153 };
0154
0155 &adc1 {
0156 vref = <2500>;
0157 status = "okay";
0158
0159 pinctrl-names = "default";
0160 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
0161 &pinctrl_adc10_default &pinctrl_adc11_default
0162 &pinctrl_adc12_default &pinctrl_adc13_default
0163 &pinctrl_adc14_default &pinctrl_adc15_default>;
0164 };
0165
0166 &mdio2 {
0167 status = "okay";
0168
0169 ethphy2: ethernet-phy@0 {
0170 compatible = "ethernet-phy-ieee802.3-c22";
0171 reg = <0>;
0172 };
0173 };
0174
0175 &mac2 {
0176 status = "okay";
0177
0178 phy-mode = "rgmii";
0179 phy-handle = <ðphy2>;
0180
0181 pinctrl-names = "default";
0182 pinctrl-0 = <&pinctrl_rgmii3_default>;
0183 };
0184
0185 &mac3 {
0186 status = "okay";
0187
0188 phy-mode = "rmii";
0189 use-ncsi;
0190
0191 pinctrl-names = "default";
0192 pinctrl-0 = <&pinctrl_rmii4_default>;
0193 };
0194
0195 &fmc {
0196 status = "okay";
0197
0198 flash@0 {
0199 status = "okay";
0200 m25p,fast-read;
0201 label = "bmc";
0202 spi-max-frequency = <50000000>;
0203 #include "openbmc-flash-layout-64.dtsi"
0204 };
0205 };
0206
0207 &spi2 {
0208 pinctrl-names = "default";
0209 pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default
0210 &pinctrl_spi2cs2_default>;
0211 status = "okay";
0212
0213 flash@0 {
0214 status = "okay";
0215 m25p,fast-read;
0216 label = "spi2:0";
0217 spi-max-frequency = <50000000>;
0218 };
0219 };
0220
0221 &kcs1 {
0222 status = "okay";
0223 aspeed,lpc-io-reg = <0xCA0>;
0224 };
0225
0226 &kcs2 {
0227 status = "okay";
0228 aspeed,lpc-io-reg = <0xCA8>;
0229 };
0230
0231 &kcs3 {
0232 status = "okay";
0233 aspeed,lpc-io-reg = <0xCA2>;
0234 };
0235
0236 &emmc_controller {
0237 status = "okay";
0238 };
0239
0240 &emmc {
0241 non-removable;
0242 bus-width = <4>;
0243 max-frequency = <100000000>;
0244 };
0245
0246 &vhub {
0247 status = "okay";
0248 };
0249
0250 &lpc_snoop {
0251 status = "okay";
0252 snoop-ports = <0x80>;
0253 };
0254
0255 &uart1 {
0256 status = "okay";
0257 };
0258
0259 &uart2 {
0260 status = "okay";
0261 };
0262
0263 &uart4 {
0264 status = "okay";
0265 };
0266
0267 &uart5 {
0268 status = "okay";
0269 };
0270
0271 &uart_routing {
0272 status = "okay";
0273 };
0274
0275 &i2c0 {
0276 status = "okay";
0277
0278 U34_PWR_ADC@48 {
0279 compatible = "ti,ads7830";
0280 reg = <0x48>;
0281 };
0282
0283 U35_PWR_ADC@4b {
0284 compatible = "ti,ads7830";
0285 reg = <0x4b>;
0286 };
0287
0288 i2c-switch@70 {
0289 compatible = "nxp,pca9546";
0290 reg = <0x70>;
0291 #address-cells = <1>;
0292 #size-cells = <0>;
0293 i2c-mux-idle-disconnect;
0294
0295 SMB_HOST_DB2000_3V3AUX_SCL: i2c@0 {
0296 #address-cells = <1>;
0297 #size-cells = <0>;
0298 reg = <0>;
0299 };
0300
0301 U12_PCA9546_CH1: i2c@1 {
0302 #address-cells = <1>;
0303 #size-cells = <0>;
0304 reg = <1>;
0305 };
0306
0307 SMB_HOST_DB800_B_SCL: i2c@2 {
0308 #address-cells = <1>;
0309 #size-cells = <0>;
0310 reg = <2>;
0311 };
0312
0313 SMB_HOST_DB800_C_SCL: i2c@3 {
0314 #address-cells = <1>;
0315 #size-cells = <0>;
0316 reg = <3>;
0317 };
0318 };
0319 };
0320
0321 &i2c1 {
0322 status = "okay";
0323
0324 i2c-switch@59 {
0325 compatible = "nxp,pca9848";
0326 reg = <0x59>;
0327 #address-cells = <1>;
0328 #size-cells = <0>;
0329 i2c-mux-idle-disconnect;
0330
0331 SMB_M2_P0_1V8AUX_SCL: i2c@0 {
0332 #address-cells = <1>;
0333 #size-cells = <0>;
0334 reg = <0>;
0335 };
0336
0337 SMB_M2_P1_1V8AUX_SCL: i2c@1 {
0338 #address-cells = <1>;
0339 #size-cells = <0>;
0340 reg = <1>;
0341 };
0342
0343 SMB_CPU_PIROM_3V3AUX_SCL: i2c@2 {
0344 #address-cells = <1>;
0345 #size-cells = <0>;
0346 reg = <2>;
0347 };
0348
0349 SMB_TEMP_3V3AUX_SCL: i2c@3 {
0350 #address-cells = <1>;
0351 #size-cells = <0>;
0352 reg = <3>;
0353
0354 U163_tmp75@48 {
0355 compatible = "ti,tmp75";
0356 reg = <0x48>;
0357 };
0358 U114_tmp75@49 {
0359 compatible = "ti,tmp75";
0360 reg = <0x49>;
0361 };
0362 };
0363
0364 SMB_IPMB_3V3AUX_SSDSB_SCL: i2c@4 {
0365 #address-cells = <1>;
0366 #size-cells = <0>;
0367 reg = <4>;
0368
0369 U4_tmp75@4c {
0370 compatible = "ti,tmp75";
0371 reg = <0x4c>;
0372 };
0373 U73_tmp75@4d {
0374 compatible = "ti,tmp75";
0375 reg = <0x4d>;
0376 };
0377 };
0378
0379 SMB_IPMB_3V3AUX_SCL: i2c@5 {
0380 #address-cells = <1>;
0381 #size-cells = <0>;
0382 reg = <5>;
0383
0384 U190_fru@51 {
0385 compatible = "atmel,24c128";
0386 reg = <0x51>;
0387 pagesize = <32>;
0388 };
0389 };
0390
0391 SMB_FB_SCL: i2c@7 {
0392 #address-cells = <1>;
0393 #size-cells = <0>;
0394 reg = <7>;
0395
0396 i2c-switch@77 {
0397 compatible = "nxp,pca9546";
0398 reg = <0x77>;
0399 #address-cells = <1>;
0400 #size-cells = <0>;
0401 i2c-mux-idle-disconnect;
0402
0403 SMB_IOEXP_SCL: i2c@0 {
0404 #address-cells = <1>;
0405 #size-cells = <0>;
0406 reg = <0>;
0407 };
0408
0409 SMB_PROGRAM_SCL: i2c@1 {
0410 #address-cells = <1>;
0411 #size-cells = <0>;
0412 reg = <1>;
0413 };
0414
0415 SMB_FB_SCL_CH2: i2c@2 {
0416 #address-cells = <1>;
0417 #size-cells = <0>;
0418 reg = <2>;
0419 };
0420
0421 SMB_FAN_SENSE_SCL: i2c@3 {
0422 #address-cells = <1>;
0423 #size-cells = <0>;
0424 reg = <3>;
0425
0426 Current_Meter_U2@45 {
0427 compatible = "ti,ina219";
0428 reg = <0x45>;
0429 shunt-resistor = <1000>; /* = 1 mOhm */
0430 };
0431
0432 Current_Meter_U3@44 {
0433 compatible = "ti,ina219";
0434 reg = <0x44>;
0435 shunt-resistor = <1000>; /* = 1 mOhm */
0436 };
0437
0438 TEMP_sensor_U2@4b {
0439 compatible = "ti,tmp75";
0440 reg = <0x4b>;
0441 };
0442 };
0443 };
0444 };
0445 };
0446 };
0447
0448 &i2c2 {
0449 status = "okay";
0450 bus-frequency = <400000>;
0451
0452 ipmb@10 {
0453 compatible = "ipmb-dev";
0454 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
0455 i2c-protocol;
0456 };
0457 };
0458
0459 &i2c3 {
0460 status = "okay";
0461
0462 /* MB FRU (U173) @ 0xA2 */
0463 mb_fru: mb_fru@51 {
0464 compatible = "atmel,24c128";
0465 reg = <0x51>;
0466 pagesize = <32>;
0467 };
0468
0469 /* FP_U1 Inlet */
0470 FP_U1_tmp75@4a {
0471 compatible = "ti,tmp75";
0472 reg = <0x4a>;
0473 };
0474
0475 FP_U4_fru@52 {
0476 compatible = "atmel,24c02";
0477 reg = <0x52>;
0478 pagesize = <16>;
0479 };
0480 };
0481
0482 &i2c4 {
0483 status = "okay";
0484 };
0485
0486 &i2c5 {
0487 status = "okay";
0488 };
0489
0490 &i2c6 {
0491 status = "okay";
0492
0493 i2c-switch@77 {
0494 compatible = "nxp,pca9548";
0495 #address-cells = <1>;
0496 #size-cells = <0>;
0497 reg = <0x77>;
0498 i2c-mux-idle-disconnect;
0499
0500 U197_PCA9546_CH0: i2c@0 {
0501 #address-cells = <1>;
0502 #size-cells = <0>;
0503 reg = <0>;
0504 };
0505
0506 U197_PCA9546_CH1: i2c@1 {
0507 #address-cells = <1>;
0508 #size-cells = <0>;
0509 reg = <1>;
0510
0511 cpu0_pvccin@60 {
0512 compatible = "isil,raa229004";
0513 reg = <0x60>;
0514 };
0515
0516 cpu0_pvccinfaon@61 {
0517 compatible = "isil,isl69260";
0518 reg = <0x61>;
0519 };
0520
0521 cpu0_pvccd_hv@63 {
0522 compatible = "isil,isl69260";
0523 reg = <0x63>;
0524 };
0525 };
0526
0527 U197_PCA9546_CH2: i2c@2 {
0528 #address-cells = <1>;
0529 #size-cells = <0>;
0530 reg = <2>;
0531
0532 cpu1_pvccin@72 {
0533 compatible = "isil,raa229004";
0534 reg = <0x72>;
0535 };
0536
0537 cpu1_pvccinfaon@74 {
0538 compatible = "isil,isl69260";
0539 reg = <0x74>;
0540 };
0541
0542 cpu1_pvccd_hv@76 {
0543 compatible = "isil,isl69260";
0544 reg = <0x76>;
0545 };
0546 };
0547
0548 U197_PCA9546_CH3: i2c@3 {
0549 #address-cells = <1>;
0550 #size-cells = <0>;
0551 reg = <3>;
0552 };
0553 };
0554 };
0555
0556 &i2c7 {
0557 status = "okay";
0558
0559 i2c-switch@75 {
0560 compatible = "nxp,pca9546";
0561 #address-cells = <1>;
0562 #size-cells = <0>;
0563 reg = <0x75>;
0564 i2c-mux-idle-disconnect;
0565
0566 SMB_OCP_SFF_3V3AUX_SCL: i2c@0 {
0567 #address-cells = <1>;
0568 #size-cells = <0>;
0569 reg = <0>;
0570 };
0571
0572 SMB_OCP_LFF_3V3AUX_SCL: i2c@1 {
0573 #address-cells = <1>;
0574 #size-cells = <0>;
0575 reg = <1>;
0576 };
0577 };
0578 };
0579
0580 &i2c8 {
0581 status = "okay";
0582 };
0583
0584 &i2c9 {
0585 status = "okay";
0586 };
0587
0588 &i2c11 {
0589 status = "okay";
0590 };
0591
0592 &i2c14 {
0593 status = "okay";
0594
0595 /* SCM FRU (U19) @ 0xA2 */
0596 scm_fru: scm_fru@51 {
0597 compatible = "atmel,24c128";
0598 reg = <0x51>;
0599 pagesize = <32>;
0600 };
0601
0602 scm_tmp75_u4@4a {
0603 compatible = "ti,tmp75";
0604 reg = <0x4a>;
0605 };
0606 };
0607
0608 &i2c15 {
0609 status = "okay";
0610 };