Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 // Copyright (c) 2018 Facebook Inc.
0003 // Author: Vijay Khemka <vijaykhemka@fb.com>
0004 /dts-v1/;
0005 
0006 #include "aspeed-g5.dtsi"
0007 #include <dt-bindings/gpio/aspeed-gpio.h>
0008 #include <dt-bindings/i2c/i2c.h>
0009 
0010 / {
0011         model = "Facebook TiogaPass BMC";
0012         compatible = "facebook,tiogapass-bmc", "aspeed,ast2500";
0013         aliases {
0014                 serial0 = &uart1;
0015                 serial4 = &uart5;
0016 
0017                 /*
0018                  * Hardcode the bus number of i2c switches' channels to
0019                  * avoid breaking the legacy applications.
0020                  */
0021                 i2c16 = &imux16;
0022                 i2c17 = &imux17;
0023                 i2c18 = &imux18;
0024                 i2c19 = &imux19;
0025                 i2c20 = &imux20;
0026                 i2c21 = &imux21;
0027                 i2c22 = &imux22;
0028                 i2c23 = &imux23;
0029                 i2c24 = &imux24;
0030                 i2c25 = &imux25;
0031                 i2c26 = &imux26;
0032                 i2c27 = &imux27;
0033                 i2c28 = &imux28;
0034                 i2c29 = &imux29;
0035                 i2c30 = &imux30;
0036                 i2c31 = &imux31;
0037         };
0038         chosen {
0039                 stdout-path = &uart5;
0040                 bootargs = "console=ttyS4,115200 earlycon";
0041         };
0042 
0043         memory@80000000 {
0044                 reg = <0x80000000 0x20000000>;
0045         };
0046 
0047         iio-hwmon {
0048                 compatible = "iio-hwmon";
0049                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0050                               <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
0051         };
0052 
0053 };
0054 
0055 &fmc {
0056         status = "okay";
0057         flash@0 {
0058                 status = "okay";
0059                 m25p,fast-read;
0060 #include "openbmc-flash-layout.dtsi"
0061         };
0062 };
0063 
0064 &spi1 {
0065         status = "okay";
0066         pinctrl-names = "default";
0067         pinctrl-0 = <&pinctrl_spi1_default>;
0068         flash@0 {
0069                 status = "okay";
0070                 m25p,fast-read;
0071                 label = "pnor";
0072         };
0073 };
0074 
0075 &lpc_snoop {
0076         status = "okay";
0077         snoop-ports = <0x80>;
0078 };
0079 
0080 &lpc_ctrl {
0081         // Enable lpc clock
0082         status = "okay";
0083 };
0084 
0085 &uart1 {
0086         // Host Console
0087         status = "okay";
0088         pinctrl-names = "default";
0089         pinctrl-0 = <&pinctrl_txd1_default
0090                      &pinctrl_rxd1_default>;
0091 };
0092 
0093 &uart2 {
0094         // SoL Host Console
0095         status = "okay";
0096 };
0097 
0098 &uart3 {
0099         // SoL BMC Console
0100         status = "okay";
0101 };
0102 
0103 &uart5 {
0104         // BMC Console
0105         status = "okay";
0106 };
0107 
0108 &kcs2 {
0109         // BMC KCS channel 2
0110         status = "okay";
0111         aspeed,lpc-io-reg = <0xca8>;
0112 };
0113 
0114 &kcs3 {
0115         // BMC KCS channel 3
0116         status = "okay";
0117         aspeed,lpc-io-reg = <0xca2>;
0118 };
0119 
0120 &gpio {
0121         status = "okay";
0122         gpio-line-names =
0123         /*A0-A7*/       "BMC_CPLD_FPGA_SEL","","","","","","","",
0124         /*B0-B7*/       "","BMC_DEBUG_EN","","","","BMC_PPIN","PS_PWROK",
0125                         "IRQ_PVDDQ_GHJ_VRHOT_LVT3",
0126         /*C0-C7*/       "","","","","","","","",
0127         /*D0-D7*/       "BIOS_MRC_DEBUG_MSG_DIS","BOARD_REV_ID0","",
0128                         "BOARD_REV_ID1","IRQ_DIMM_SAVE_LVT3","BOARD_REV_ID2",
0129                         "CPU_ERR0_LVT3_BMC","CPU_ERR1_LVT3_BMC",
0130         /*E0-E7*/       "RESET_BUTTON","RESET_OUT","POWER_BUTTON",
0131                         "POWER_OUT","NMI_BUTTON","","CPU0_PROCHOT_LVT3_ BMC",
0132                         "CPU1_PROCHOT_LVT3_ BMC",
0133         /*F0-F7*/       "IRQ_PVDDQ_ABC_VRHOT_LVT3","",
0134                         "IRQ_PVCCIN_CPU0_VRHOT_LVC3",
0135                         "IRQ_PVCCIN_CPU1_VRHOT_LVC3",
0136                         "IRQ_PVDDQ_KLM_VRHOT_LVT3","","P3VBAT_BRIDGE_EN","",
0137         /*G0-G7*/       "CPU_ERR2_LVT3","CPU_CATERR_LVT3","PCH_BMC_THERMTRIP",
0138                         "CPU0_SKTOCC_LVT3","","","","BIOS_SMI_ACTIVE",
0139         /*H0-H7*/       "LED_POST_CODE_0","LED_POST_CODE_1","LED_POST_CODE_2",
0140                         "LED_POST_CODE_3","LED_POST_CODE_4","LED_POST_CODE_5",
0141                         "LED_POST_CODE_6","LED_POST_CODE_7",
0142         /*I0-I7*/       "CPU0_FIVR_FAULT_LVT3","CPU1_FIVR_FAULT_LVT3",
0143                         "FORCE_ADR","UV_ADR_TRIGGER_EN","","","","",
0144         /*J0-J7*/       "","","","","","","","",
0145         /*K0-K7*/       "","","","","","","","",
0146         /*L0-L7*/       "IRQ_UV_DETECT","IRQ_OC_DETECT","HSC_TIMER_EXP","",
0147                         "MEM_THERM_EVENT_PCH","PMBUS_ALERT_BUF_EN","","",
0148         /*M0-M7*/       "CPU0_RC_ERROR","CPU1_RC_ERROR","","OC_DETECT_EN",
0149                         "CPU0_THERMTRIP_LATCH_LVT3",
0150                         "CPU1_THERMTRIP_LATCH_LVT3","","",
0151         /*N0-N7*/       "","","","CPU_MSMI_LVT3","","BIOS_SPI_BMC_CTRL","","",
0152         /*O0-O7*/       "","","","","","","","",
0153         /*P0-P7*/       "BOARD_SKU_ID0","BOARD_SKU_ID1","BOARD_SKU_ID2",
0154                         "BOARD_SKU_ID3","BOARD_SKU_ID4","BMC_PREQ",
0155                         "BMC_PWR_DEBUG","RST_RSMRST",
0156         /*Q0-Q7*/       "","","","","UARTSW_LSB","UARTSW_MSB",
0157                         "POST_CARD_PRES_BMC","PE_BMC_WAKE",
0158         /*R0-R7*/       "","","BMC_TCK_MUX_SEL","BMC_PRDY",
0159                         "BMC_XDP_PRSNT_IN","RST_BMC_PLTRST_BUF","SLT_CFG0",
0160                         "SLT_CFG1",
0161         /*S0-S7*/       "THROTTLE","BMC_READY","","HSC_SMBUS_SWITCH_EN","",
0162                         "","","",
0163         /*T0-T7*/       "","","","","","","","",
0164         /*U0-U7*/       "","","","","","BMC_FAULT","","",
0165         /*V0-V7*/       "","","","FAST_PROCHOT_EN","","","","",
0166         /*W0-W7*/       "","","","","","","","",
0167         /*X0-X7*/       "","","","GLOBAL_RST_WARN",
0168                         "CPU0_MEMABC_MEMHOT_LVT3_BMC",
0169                         "CPU0_MEMDEF_MEMHOT_LVT3_BMC",
0170                         "CPU1_MEMGHJ_MEMHOT_LVT3_BMC",
0171                         "CPU1_MEMKLM_MEMHOT_LVT3_BMC",
0172         /*Y0-Y7*/       "SIO_S3","SIO_S5","BMC_JTAG_SEL","SIO_ONCONTROL","",
0173                         "","","",
0174         /*Z0-Z7*/       "","SIO_POWER_GOOD","IRQ_PVDDQ_DEF_VRHOT_LVT3","",
0175                         "","","","",
0176         /*AA0-AA7*/     "CPU1_SKTOCC_LVT3","IRQ_SML1_PMBUS_ALERT",
0177                         "SERVER_POWER_LED","","PECI_MUX_SELECT","UV_HIGH_SET",
0178                         "","POST_COMPLETE",
0179         /*AB0-AB7*/     "IRQ_HSC_FAULT","OCP_MEZZA_PRES","","","","","","",
0180         /*AC0-AC7*/     "","","","","","","","";
0181 };
0182 
0183 &mac0 {
0184         status = "okay";
0185 
0186         pinctrl-names = "default";
0187         pinctrl-0 = <&pinctrl_rmii1_default>;
0188         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0189                  <&syscon ASPEED_CLK_MAC1RCLK>;
0190         clock-names = "MACCLK", "RCLK";
0191         use-ncsi;
0192 };
0193 
0194 &mac1 {
0195         status = "okay";
0196 
0197         pinctrl-names = "default";
0198         pinctrl-0 = <&pinctrl_rmii2_default>;
0199         use-ncsi;
0200 };
0201 
0202 &adc {
0203         status = "okay";
0204 };
0205 
0206 &i2c0 {
0207         status = "okay";
0208         //Airmax Conn B, CPU0 PIROM, CPU1 PIROM
0209 };
0210 
0211 &i2c1 {
0212         status = "okay";
0213         //X24 Riser
0214         i2c-switch@71 {
0215                 compatible = "nxp,pca9544";
0216                 #address-cells = <1>;
0217                 #size-cells = <0>;
0218                 reg = <0x71>;
0219 
0220                 imux16: i2c@0 {
0221                         #address-cells = <1>;
0222                         #size-cells = <0>;
0223                         reg = <0>;
0224 
0225                         ina230@45 {
0226                                 compatible = "ti,ina230";
0227                                 reg = <0x45>;
0228                         };
0229 
0230                         tmp75@48 {
0231                                 compatible = "ti,tmp75";
0232                                 reg = <0x48>;
0233                         };
0234 
0235                         tmp421@49 {
0236                                 compatible = "ti,tmp75";
0237                                 reg = <0x49>;
0238                         };
0239 
0240                         eeprom@50 {
0241                                 compatible = "atmel,24c64";
0242                                 reg = <0x50>;
0243                                 pagesize = <32>;
0244                         };
0245 
0246                         i2c-switch@73 {
0247                                 compatible = "nxp,pca9546";
0248                                 #address-cells = <1>;
0249                                 #size-cells = <0>;
0250                                 reg = <0x73>;
0251 
0252                                 imux20: i2c@0 {
0253                                         #address-cells = <1>;
0254                                         #size-cells = <0>;
0255                                         reg = <0>;
0256                                 };
0257 
0258                                 imux21: i2c@1 {
0259                                         #address-cells = <1>;
0260                                         #size-cells = <0>;
0261                                         reg = <1>;
0262                                 };
0263 
0264                                 imux22: i2c@2 {
0265                                         #address-cells = <1>;
0266                                         #size-cells = <0>;
0267                                         reg = <2>;
0268                                 };
0269 
0270                                 imux23: i2c@3 {
0271                                         #address-cells = <1>;
0272                                         #size-cells = <0>;
0273                                         reg = <3>;
0274                                 };
0275 
0276                         };
0277 
0278                 };
0279 
0280                 imux17: i2c@1 {
0281                         #address-cells = <1>;
0282                         #size-cells = <0>;
0283                         reg = <1>;
0284 
0285                         ina230@45 {
0286                                 compatible = "ti,ina230";
0287                                 reg = <0x45>;
0288                         };
0289 
0290                         tmp421@48 {
0291                                 compatible = "ti,tmp75";
0292                                 reg = <0x48>;
0293                         };
0294 
0295                         tmp421@49 {
0296                                 compatible = "ti,tmp75";
0297                                 reg = <0x49>;
0298                         };
0299 
0300                         eeprom@50 {
0301                                 compatible = "atmel,24c64";
0302                                 reg = <0x50>;
0303                                 pagesize = <32>;
0304                         };
0305 
0306                         i2c-switch@73 {
0307                                 compatible = "nxp,pca9546";
0308                                 #address-cells = <1>;
0309                                 #size-cells = <0>;
0310                                 reg = <0x73>;
0311 
0312                                 imux24: i2c@0 {
0313                                         #address-cells = <1>;
0314                                         #size-cells = <0>;
0315                                         reg = <0>;
0316                                 };
0317 
0318                                 imux25: i2c@1 {
0319                                         #address-cells = <1>;
0320                                         #size-cells = <0>;
0321                                         reg = <1>;
0322                                 };
0323 
0324                                 imux26: i2c@2 {
0325                                         #address-cells = <1>;
0326                                         #size-cells = <0>;
0327                                         reg = <2>;
0328                                 };
0329 
0330                                 imux27: i2c@3 {
0331                                         #address-cells = <1>;
0332                                         #size-cells = <0>;
0333                                         reg = <3>;
0334                                 };
0335 
0336                         };
0337 
0338                 };
0339 
0340                 imux18: i2c@2 {
0341                         #address-cells = <1>;
0342                         #size-cells = <0>;
0343                         reg = <2>;
0344 
0345                         ina230@45 {
0346                                 compatible = "ti,ina230";
0347                                 reg = <0x45>;
0348                         };
0349 
0350                         tmp421@48 {
0351                                 compatible = "ti,tmp75";
0352                                 reg = <0x48>;
0353                         };
0354 
0355                         tmp421@49 {
0356                                 compatible = "ti,tmp75";
0357                                 reg = <0x49>;
0358                         };
0359 
0360                         eeprom@50 {
0361                                 compatible = "atmel,24c64";
0362                                 reg = <0x50>;
0363                                 pagesize = <32>;
0364                         };
0365 
0366                         i2c-switch@73 {
0367                                 compatible = "nxp,pca9546";
0368                                 #address-cells = <1>;
0369                                 #size-cells = <0>;
0370                                 reg = <0x73>;
0371 
0372                                 imux28: i2c@0 {
0373                                         #address-cells = <1>;
0374                                         #size-cells = <0>;
0375                                         reg = <0>;
0376                                 };
0377 
0378                                 imux29: i2c@1 {
0379                                         #address-cells = <1>;
0380                                         #size-cells = <0>;
0381                                         reg = <1>;
0382                                 };
0383 
0384                                 imux30: i2c@2 {
0385                                         #address-cells = <1>;
0386                                         #size-cells = <0>;
0387                                         reg = <2>;
0388                                 };
0389 
0390                                 imux31: i2c@3 {
0391                                         #address-cells = <1>;
0392                                         #size-cells = <0>;
0393                                         reg = <3>;
0394                                 };
0395 
0396                         };
0397 
0398                 };
0399 
0400                 imux19: i2c@3 {
0401                         #address-cells = <1>;
0402                         #size-cells = <0>;
0403                         reg = <3>;
0404 
0405                         i2c-switch@40 {
0406                                 compatible = "ti,ina230";
0407                                 reg = <0x40>;
0408                         };
0409 
0410                         i2c-switch@41 {
0411                                 compatible = "ti,ina230";
0412                                 reg = <0x41>;
0413                         };
0414 
0415                         i2c-switch@45 {
0416                                 compatible = "ti,ina230";
0417                                 reg = <0x45>;
0418                         };
0419 
0420                 };
0421 
0422         };
0423 };
0424 
0425 &i2c2 {
0426         status = "okay";
0427         // Mezz Management SMBus
0428 };
0429 
0430 &i2c3 {
0431         status = "okay";
0432         // SMBus to Board ID EEPROM
0433 };
0434 
0435 &i2c4 {
0436         status = "okay";
0437         // BMC Debug Header
0438         ipmb0@10 {
0439                 compatible = "ipmb-dev";
0440                 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
0441                 i2c-protocol;
0442         };
0443 };
0444 
0445 &i2c5 {
0446         status = "okay";
0447         // CPU Voltage regulators
0448         regulator@48 {
0449                 compatible = "infineon,pxe1610";
0450                 reg = <0x48>;
0451         };
0452         regulator@4a {
0453                 compatible = "infineon,pxe1610";
0454                 reg = <0x4a>;
0455         };
0456         regulator@50 {
0457                 compatible = "infineon,pxe1610";
0458                 reg = <0x50>;
0459         };
0460         regulator@52 {
0461                 compatible = "infineon,pxe1610";
0462                 reg = <0x52>;
0463         };
0464         regulator@58 {
0465                 compatible = "infineon,pxe1610";
0466                 reg = <0x58>;
0467         };
0468         regulator@5a {
0469                 compatible = "infineon,pxe1610";
0470                 reg = <0x5a>;
0471         };
0472         regulator@68 {
0473                 compatible = "infineon,pxe1610";
0474                 reg = <0x68>;
0475         };
0476         regulator@70 {
0477                 compatible = "infineon,pxe1610";
0478                 reg = <0x70>;
0479         };
0480         regulator@72 {
0481                 compatible = "infineon,pxe1610";
0482                 reg = <0x72>;
0483         };
0484 };
0485 
0486 &i2c6 {
0487         status = "okay";
0488         tpm@20 {
0489                 compatible = "infineon,slb9645tt";
0490                 reg = <0x20>;
0491         };
0492         tmp421@4e {
0493                 compatible = "ti,tmp421";
0494                 reg = <0x4e>;
0495         };
0496         tmp421@4f {
0497                 compatible = "ti,tmp421";
0498                 reg = <0x4f>;
0499         };
0500         eeprom@54 {
0501                 compatible = "atmel,24c64";
0502                 reg = <0x54>;
0503                 pagesize = <32>;
0504         };
0505 };
0506 
0507 &i2c7 {
0508         status = "okay";
0509         //HSC, AirMax Conn A
0510         adm1278@45 {
0511                 compatible = "adm1275";
0512                 reg = <0x45>;
0513                 shunt-resistor-micro-ohms = <250>;
0514         };
0515 };
0516 
0517 &i2c8 {
0518         status = "okay";
0519         tmp421@1f {
0520                 compatible = "ti,tmp421";
0521                 reg = <0x1f>;
0522         };
0523         //Mezz Sensor SMBus
0524 };
0525 
0526 &i2c9 {
0527         status = "okay";
0528         //USB Debug Connector
0529         ipmb0@10 {
0530                 compatible = "ipmb-dev";
0531                 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
0532                 i2c-protocol;
0533         };
0534 };
0535 
0536 &pwm_tacho {
0537         status = "okay";
0538         pinctrl-names = "default";
0539         pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
0540         fan@0 {
0541                 reg = <0x00>;
0542                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
0543         };
0544 
0545         fan@1 {
0546                 reg = <0x01>;
0547                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
0548         };
0549 };