Back to home page

OSCL-LXR

 
 

    


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 = <&ethphy2>;
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 };