Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003 #include "aspeed-g5.dtsi"
0004 #include <dt-bindings/gpio/aspeed-gpio.h>
0005 
0006 / {
0007         model = "Zaius BMC";
0008         compatible = "ingrasys,zaius-bmc", "aspeed,ast2500";
0009 
0010         aliases {
0011                 i2c15 = &i2cpcie0;
0012                 i2c16 = &i2cpcie1;
0013                 i2c17 = &i2cpcie2;
0014                 i2c19 = &i2cpcie3;
0015                 i2c20 = &i2cpcie4;
0016         };
0017 
0018         chosen {
0019                 stdout-path = &uart5;
0020                 bootargs = "console=ttyS4,115200 earlycon";
0021         };
0022 
0023         memory@80000000 {
0024                 reg = <0x80000000 0x40000000>;
0025         };
0026 
0027         reserved-memory {
0028                 #address-cells = <1>;
0029                 #size-cells = <1>;
0030                 ranges;
0031 
0032                 flash_memory: region@98000000 {
0033                         no-map;
0034                         reg = <0x98000000 0x04000000>; /* 64M */
0035                 };
0036         };
0037 
0038         onewire0 {
0039                 compatible = "w1-gpio";
0040                 gpios = <&gpio ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>;
0041         };
0042 
0043         onewire1 {
0044                 compatible = "w1-gpio";
0045                 gpios = <&gpio ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
0046         };
0047 
0048         onewire2 {
0049                 compatible = "w1-gpio";
0050                 gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
0051         };
0052 
0053         onewire3 {
0054                 compatible = "w1-gpio";
0055                 gpios = <&gpio ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
0056         };
0057 
0058         gpio-keys {
0059                 compatible = "gpio-keys";
0060 
0061                 event-checkstop {
0062                         label = "checkstop";
0063                         gpios = <&gpio ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
0064                         linux,code = <ASPEED_GPIO(F, 7)>;
0065                 };
0066 
0067                 event-pcie-e2b-present{
0068                         label = "pcie-e2b-present";
0069                         gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
0070                         linux,code = <ASPEED_GPIO(E, 7)>;
0071                 };
0072         };
0073 
0074         leds {
0075                 compatible = "gpio-leds";
0076 
0077                 sys_boot_status {
0078                         label = "System boot status";
0079                         gpios = <&gpio ASPEED_GPIO(D, 5) GPIO_ACTIVE_LOW>;
0080                 };
0081 
0082                 attention {
0083                         label = "Attention";
0084                         gpios = <&gpio ASPEED_GPIO(D, 6) GPIO_ACTIVE_LOW>;
0085                 };
0086 
0087                 plt_fault {
0088                         label = "Platform fault";
0089                         gpios = <&gpio ASPEED_GPIO(D, 7) GPIO_ACTIVE_LOW>;
0090                 };
0091 
0092                 hdd_fault {
0093                         label = "Onboard drive fault";
0094                         gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
0095                 };
0096         };
0097 
0098         fsi: gpio-fsi {
0099                 compatible = "fsi-master-gpio", "fsi-master";
0100                 #address-cells = <2>;
0101                 #size-cells = <0>;
0102                 no-gpio-delays;
0103 
0104                 trans-gpios = <&gpio ASPEED_GPIO(O, 6) GPIO_ACTIVE_HIGH>;
0105                 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
0106                 clock-gpios = <&gpio ASPEED_GPIO(G, 0) GPIO_ACTIVE_HIGH>;
0107                 data-gpios = <&gpio ASPEED_GPIO(G, 1) GPIO_ACTIVE_HIGH>;
0108                 mux-gpios = <&gpio ASPEED_GPIO(P, 6) GPIO_ACTIVE_HIGH>;
0109         };
0110 
0111         iio-hwmon {
0112                 compatible = "iio-hwmon";
0113                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
0114                         <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
0115                         <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
0116                         <&adc 13>, <&adc 14>, <&adc 15>;
0117         };
0118 
0119         iio-hwmon-battery {
0120                 compatible = "iio-hwmon";
0121                 io-channels = <&adc 12>;
0122         };
0123 
0124 };
0125 
0126 &fmc {
0127         status = "okay";
0128 
0129         flash@0 {
0130                 status = "okay";
0131                 label = "bmc";
0132                 m25p,fast-read;
0133                 spi-max-frequency = <50000000>;
0134 #include "openbmc-flash-layout.dtsi"
0135         };
0136 };
0137 
0138 &spi1 {
0139         status = "okay";
0140         pinctrl-names = "default";
0141         pinctrl-0 = <&pinctrl_spi1_default>;
0142 
0143         flash@0 {
0144                 status = "okay";
0145                 label = "pnor";
0146                 m25p,fast-read;
0147                 spi-max-frequency = <100000000>;
0148         };
0149 };
0150 
0151 &spi2 {
0152         status = "okay";
0153         pinctrl-names = "default";
0154         pinctrl-0 = <&pinctrl_spi2ck_default
0155                      &pinctrl_spi2cs0_default
0156                      &pinctrl_spi2cs1_default
0157                      &pinctrl_spi2miso_default
0158                      &pinctrl_spi2mosi_default>;
0159 
0160         flash@0 {
0161                 status = "okay";
0162         };
0163 };
0164 
0165 &uart1 {
0166         status = "okay";
0167         pinctrl-names = "default";
0168         pinctrl-0 = <&pinctrl_txd1_default
0169                      &pinctrl_rxd1_default>;
0170 };
0171 
0172 &lpc_ctrl {
0173         status = "okay";
0174         memory-region = <&flash_memory>;
0175         flash = <&spi1>;
0176 };
0177 
0178 &lpc_snoop {
0179         status = "okay";
0180         snoop-ports = <0x80>;
0181 };
0182 
0183 
0184 &uart5 {
0185         status = "okay";
0186 };
0187 
0188 &mac0 {
0189         status = "okay";
0190         pinctrl-names = "default";
0191         pinctrl-0 = <&pinctrl_rmii1_default>;
0192         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
0193                  <&syscon ASPEED_CLK_MAC1RCLK>;
0194         clock-names = "MACCLK", "RCLK";
0195         use-ncsi;
0196 };
0197 
0198 &mac1 {
0199         status = "okay";
0200 
0201         pinctrl-names = "default";
0202         pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
0203 };
0204 
0205 &i2c0 {
0206         status = "okay";
0207 
0208         eeprom@50 {
0209                 compatible = "atmel,24c64";
0210                 reg = <0x50>;
0211                 pagesize = <32>;
0212         };
0213 
0214         rtc@68 {
0215                 compatible = "nxp,pcf8523";
0216                 reg = <0x68>;
0217         };
0218 
0219         ucd90160@64 {
0220                 compatible = "ti,ucd90160";
0221                 reg = <0x64>;
0222         };
0223 
0224         /* Power sequencer UCD90160 PMBUS @64h
0225          * FRU AT24C64D @50h
0226          * RTC PCF8523 @68h
0227          * Clock buffer 9DBL04 @6dh
0228          */
0229 };
0230 
0231 &i2c1 {
0232         status = "okay";
0233 
0234         i2c-switch@71 {
0235                 compatible = "nxp,pca9546";
0236                 reg = <0x71>;
0237                 #address-cells = <1>;
0238                 #size-cells = <0>;
0239 
0240                 i2cpcie0: i2c@0 {
0241                         #address-cells = <1>;
0242                         #size-cells = <0>;
0243                         reg = <0>;
0244                 };
0245                 i2cpcie1: i2c@1 {
0246                         #address-cells = <1>;
0247                         #size-cells = <0>;
0248                         reg = <1>;
0249                 };
0250                 i2cpcie2: i2c@2 {
0251                         #address-cells = <1>;
0252                         #size-cells = <0>;
0253                         reg = <2>;
0254                 };
0255                 i2ctpm: i2c@3 {
0256                         #address-cells = <1>;
0257                         #size-cells = <0>;
0258                         reg = <3>;
0259                 };
0260         };
0261 
0262         /* MUX1 PCA9546A @71h
0263          *   PCIe 0
0264          *   PCIe 1
0265          *   PCIe 2
0266          *   TPM header
0267          */
0268 };
0269 
0270 &i2c2 {
0271         status = "disabled";
0272 
0273         /* OCP Mezz Connector A (OOB SMBUS) */
0274 };
0275 
0276 &i2c3 {
0277         status = "disabled";
0278 
0279         /* OCP Mezz Connector A (PCIe slot SMBUS) */
0280 };
0281 
0282 &i2c4 {
0283         status = "okay";
0284 
0285         i2c-switch@71 {
0286                 compatible = "nxp,pca9546";
0287                 reg = <0x71>;
0288                 #address-cells = <1>;
0289                 #size-cells = <0>;
0290 
0291                 i2cpcie3: i2c@0 {
0292                         #address-cells = <1>;
0293                         #size-cells = <0>;
0294                         reg = <0>;
0295                 };
0296                 i2cpcie4: i2c@1 {
0297                         #address-cells = <1>;
0298                         #size-cells = <0>;
0299                         reg = <1>;
0300                 };
0301         };
0302 
0303         /* MUX1 PCA9546A @71h
0304          *   PCIe 3
0305          *   PCIe 4
0306          */
0307 };
0308 
0309 
0310 &i2c5 {
0311         status = "disabled";
0312 
0313         /* CPU0 PRM 0.7V */
0314         /* CPU0 PRM 1.2V CH03 */
0315         /* CPU0 PRM 0.8V */
0316         /* CPU0 PRM 1.2V CH47 */
0317 };
0318 
0319 &i2c6 {
0320         status = "disabled";
0321 
0322         /* CPU1 PRM 0.7V */
0323         /* CPU1 PRM 1.2V CH03 */
0324         /* CPU1 PRM 0.8V */
0325         /* CPU1 PRM 1.2V CH47 */
0326 };
0327 
0328 &i2c7 {
0329         status = "okay";
0330 
0331         pca9541a@70 {
0332                 compatible = "nxp,pca9541";
0333                 reg = <0x70>;
0334 
0335                 i2c-arb {
0336                         #address-cells = <1>;
0337                         #size-cells = <0>;
0338 
0339                         hotswap@54 {
0340                                 compatible = "ti,lm5066i";
0341                                 reg = <0x54>;
0342                         };
0343                 };
0344 
0345         };
0346 
0347         vrm@64 {
0348                 compatible = "isil,isl68137";
0349                 reg = <0x64>;
0350         };
0351 
0352         vrm@40 {
0353                 compatible = "isil,isl68137";
0354                 reg = <0x40>;
0355         };
0356 
0357         vrm@60 {
0358                 compatible = "isil,isl68137";
0359                 reg = <0x60>;
0360         };
0361 
0362         vrm@43 {
0363                 compatible = "infineon,ir38064";
0364                 reg = <0x43>;
0365         };
0366 
0367         vrm@41 {
0368                 compatible = "isil,isl68137";
0369                 reg = <0x41>;
0370         };
0371 
0372         /* Master selector PCA9541A @70h (other master: CPU0)
0373          *   LM5066I PMBUS @10h
0374          */
0375 
0376         /*
0377          * Brick will be one of these types/addresses.  Depending
0378          * on the board SKU only one is actually present and will successfully
0379          * instantiate while the others will fail the probe operation.
0380          * These are the PVT (and presumably beyond) addresses:
0381          *    12V Quarter Brick DC/DC Converter Q54SJ12050 @6Ah
0382          *    12V Quarter Brick DC/DC Converter Q54SH12050 @30h
0383          */
0384         power-brick@6a {
0385                 compatible = "delta,dps800";
0386                 reg = <0x6a>;
0387         };
0388         power-brick@30 {
0389                 compatible = "delta,dps800";
0390                 reg = <0x30>;
0391         };
0392 
0393         /* CPU0 VR ISL68137 0.7V, 0.96V PMBUS @64h */
0394         /* CPU0 VR ISL68137 1.2V CH03 PMBUS @40h */
0395         /* CPU0 VR ISL68137 0.8V PMBUS @60h */
0396         /* CPU0 VR 1.0V IR38064 I2C @11h, PMBUS @43h */
0397         /* CPU0 VR ISL68137 1.2V CH47 PMBUS @41h */
0398         /* Master selector PCA9541A @70h (other master: CPU0)
0399          *   LM5066I PMBUS @10h
0400          */
0401 };
0402 
0403 &i2c8 {
0404         status = "okay";
0405 
0406         vrm@64 {
0407                 compatible = "isil,isl68137";
0408                 reg = <0x64>;
0409         };
0410 
0411         vrm@40 {
0412                 compatible = "isil,isl68137";
0413                 reg = <0x40>;
0414         };
0415 
0416         vrm@41 {
0417                 compatible = "isil,isl68137";
0418                 reg = <0x41>;
0419         };
0420 
0421         vrm@42 {
0422                 compatible = "infineon,ir38064";
0423                 reg = <0x42>;
0424         };
0425 
0426         vrm@60 {
0427                 compatible = "isil,isl68137";
0428                 reg = <0x60>;
0429         };
0430 
0431         /* CPU1 VR ISL68137 0.7V, 0.96V PMBUS @64h */
0432         /* CPU1 VR ISL68137 1.2V CH03 PMBUS @40h */
0433         /* CPU1 VR ISL68137 1.2V CH47 PMBUS @41h */
0434         /* CPU1 VR 1.0V IR38064 I2C @12h, PMBUS @42h */
0435         /* CPU1 VR ISL68137 0.8V PMBUS @60h */
0436 };
0437 
0438 
0439 &i2c9 {
0440         status = "disabled";
0441 
0442         /* Fan board */
0443 };
0444 
0445 &i2c10 {
0446         status = "disabled";
0447 };
0448 
0449 &i2c11 {
0450         status = "disabled";
0451 
0452         /* GPU sideband */
0453 };
0454 
0455 &i2c12 {
0456         status = "disabled";
0457 };
0458 
0459 &i2c13 {
0460         status = "disabled";
0461 
0462         /* MUX PI3USB102
0463          *   CPU0 debug
0464          *   CPU1 debug
0465          */
0466 };
0467 
0468 &pinctrl {
0469         aspeed,external-nodes = <&gfx &lhc>;
0470 
0471         pinctrl_gpioh_unbiased: gpioi_unbiased {
0472                 pins = "A8", "C7", "B7", "A7", "D7", "B6", "A6", "E7";
0473                 bias-disable;
0474         };
0475 };
0476 
0477 &gpio {
0478         pinctrl-names = "default";
0479         pinctrl-0 = <&pinctrl_gpioh_unbiased>;
0480 
0481         gpio-line-names =
0482         /*A0-A7*/       "","cfam-reset","","","","","","",
0483         /*B0-B7*/       "","","","","","","","",
0484         /*C0-C7*/       "","","","","","","","",
0485         /*D0-D7*/       "fsi-enable","","","","","led-sys-boot-status","led-attention",
0486                                 "led-fault",
0487         /*E0-E7*/       "","","","","","","","presence-pcie-e2b",
0488         /*F0-F7*/       "","","","","","","","checkstop",
0489         /*G0-G7*/       "fsi-clock","fsi-data","","","","","","",
0490         /*H0-H7*/       "onewire0","onewire1","onewire2","onewire3","","","","",
0491         /*I0-I7*/       "","","","power-button","","","","",
0492         /*J0-J7*/       "","","","","","","","",
0493         /*K0-K7*/       "","","","","","","","",
0494         /*L0-L7*/       "","","","","","","","",
0495         /*M0-M7*/       "","","","","","","","",
0496         /*N0-N7*/       "","","","","","","","",
0497         /*O0-O7*/       "","","","","iso_u164_en","","fsi-trans","",
0498         /*P0-P7*/       "ncsi_mux_en_n","bmc_i2c2_sw_rst_n","","bmc_i2c5_sw_rst_n","",
0499                                 "","fsi-mux","",
0500         /*Q0-Q7*/       "","","","","","","","",
0501         /*R0-R7*/       "","","","","","","","",
0502         /*S0-S7*/       "","","","","","","","",
0503         /*T0-T7*/       "","","","","","","","",
0504         /*U0-U7*/       "","","","","","","","",
0505         /*V0-V7*/       "","","","","","","","",
0506         /*W0-W7*/       "","","","","","","","",
0507         /*X0-X7*/       "","","","","","","","",
0508         /*Y0-Y7*/       "","","","","","","","",
0509         /*Z0-Z7*/       "","","","","","","","",
0510         /*AA0-AA7*/     "","","led-hdd-fault","","","","","",
0511         /*AB0-AB7*/     "","","","","","","","",
0512         /*AC0-AC7*/     "","","","","","","","";
0513 
0514         line_iso_u146_en {
0515                 gpio-hog;
0516                 gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>;
0517                 output-high;
0518         };
0519 
0520         ncsi_mux_en_n {
0521                 gpio-hog;
0522                 gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
0523                 output-low;
0524         };
0525 
0526         line_bmc_i2c2_sw_rst_n {
0527                 gpio-hog;
0528                 gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
0529                 output-high;
0530         };
0531 
0532         line_bmc_i2c5_sw_rst_n {
0533                 gpio-hog;
0534                 gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
0535                 output-high;
0536         };
0537 };
0538 
0539 &vuart {
0540         status = "okay";
0541 };
0542 
0543 &gfx {
0544         status = "okay";
0545 };
0546 
0547 &pwm_tacho {
0548         status = "okay";
0549         pinctrl-names = "default";
0550         pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
0551                 &pinctrl_pwm2_default &pinctrl_pwm3_default>;
0552 
0553         fan@0 {
0554                 reg = <0x00>;
0555                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
0556         };
0557 
0558         fan@1 {
0559                 reg = <0x01>;
0560                 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
0561         };
0562 
0563         fan@2 {
0564                 reg = <0x02>;
0565                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
0566         };
0567 
0568         fan@3 {
0569                 reg = <0x03>;
0570                 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
0571         };
0572 };
0573 
0574 &ibt {
0575         status = "okay";
0576 };
0577 
0578 #include "ibm-power9-dual.dtsi"