| // SPDX-License-Identifier: GPL-2.0+ | 
| // Copyright (c) 2018 Facebook Inc. | 
| /dts-v1/; | 
|   | 
| #include "ast2500-facebook-netbmc-common.dtsi" | 
|   | 
| / { | 
|     model = "Facebook Minipack 100 BMC"; | 
|     compatible = "facebook,minipack-bmc", "aspeed,ast2500"; | 
|   | 
|     aliases { | 
|         /* | 
|          * Override the default serial aliases to avoid breaking | 
|          * the legacy applications. | 
|          */ | 
|         serial0 = &uart5; | 
|         serial1 = &uart1; | 
|         serial2 = &uart2; | 
|         serial3 = &uart3; | 
|         serial4 = &uart4; | 
|   | 
|         /* | 
|          * i2c switch 2-0070, pca9548, 8 child channels assigned | 
|          * with bus number 16-23. | 
|          */ | 
|         i2c16 = &imux16; | 
|         i2c17 = &imux17; | 
|         i2c18 = &imux18; | 
|         i2c19 = &imux19; | 
|         i2c20 = &imux20; | 
|         i2c21 = &imux21; | 
|         i2c22 = &imux22; | 
|         i2c23 = &imux23; | 
|   | 
|         /* | 
|          * i2c switch 8-0070, pca9548, 8 child channels assigned | 
|          * with bus number 24-31. | 
|          */ | 
|         i2c24 = &imux24; | 
|         i2c25 = &imux25; | 
|         i2c26 = &imux26; | 
|         i2c27 = &imux27; | 
|         i2c28 = &imux28; | 
|         i2c29 = &imux29; | 
|         i2c30 = &imux30; | 
|         i2c31 = &imux31; | 
|   | 
|         /* | 
|          * i2c switch 9-0070, pca9548, 8 child channels assigned | 
|          * with bus number 32-39. | 
|          */ | 
|         i2c32 = &imux32; | 
|         i2c33 = &imux33; | 
|         i2c34 = &imux34; | 
|         i2c35 = &imux35; | 
|         i2c36 = &imux36; | 
|         i2c37 = &imux37; | 
|         i2c38 = &imux38; | 
|         i2c39 = &imux39; | 
|   | 
|         /* | 
|          * i2c switch 11-0070, pca9548, 8 child channels assigned | 
|          * with bus number 40-47. | 
|          */ | 
|         i2c40 = &imux40; | 
|         i2c41 = &imux41; | 
|         i2c42 = &imux42; | 
|         i2c43 = &imux43; | 
|         i2c44 = &imux44; | 
|         i2c45 = &imux45; | 
|         i2c46 = &imux46; | 
|         i2c47 = &imux47; | 
|     }; | 
|   | 
|     chosen { | 
|         stdout-path = &uart1; | 
|         bootargs = "debug console=ttyS1,9600n8 root=/dev/ram rw"; | 
|     }; | 
| }; | 
|   | 
| &wdt2 { | 
|     status = "okay"; | 
|     aspeed,reset-type = "system"; | 
| }; | 
|   | 
| /* | 
|  * Both firmware flashes are 64MB on Minipack BMC. | 
|  */ | 
| &fmc_flash0 { | 
|     partitions { | 
|         compatible = "fixed-partitions"; | 
|         #address-cells = <1>; | 
|         #size-cells = <1>; | 
|   | 
|         /* | 
|          * u-boot partition: 384KB. | 
|          */ | 
|         u-boot@0 { | 
|             reg = <0x0 0x60000>; | 
|             label = "u-boot"; | 
|         }; | 
|   | 
|         /* | 
|          * u-boot environment variables: 128KB. | 
|          */ | 
|         u-boot-env@60000 { | 
|             reg = <0x60000 0x20000>; | 
|             label = "env"; | 
|         }; | 
|   | 
|         /* | 
|          * FIT image: 59.5 MB. | 
|          */ | 
|         fit@80000 { | 
|             reg = <0x80000 0x3b80000>; | 
|             label = "fit"; | 
|         }; | 
|   | 
|         /* | 
|          * "data0" partition (4MB) is reserved for persistent | 
|          * data store. | 
|          */ | 
|         data0@3800000 { | 
|             reg = <0x3c00000 0x400000>; | 
|             label = "data0"; | 
|         }; | 
|   | 
|         /* | 
|          * "flash0" partition (covering the entire flash) is | 
|          * explicitly created to avoid breaking legacy applications. | 
|          */ | 
|         flash0@0 { | 
|             reg = <0x0 0x4000000>; | 
|             label = "flash0"; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &fmc_flash1 { | 
|     partitions { | 
|         compatible = "fixed-partitions"; | 
|         #address-cells = <1>; | 
|         #size-cells = <1>; | 
|   | 
|         flash1@0 { | 
|             reg = <0x0 0x4000000>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &uart1 { | 
|     pinctrl-0 = <&pinctrl_txd1_default | 
|              &pinctrl_rxd1_default | 
|              &pinctrl_ncts1_default | 
|              &pinctrl_ndsr1_default | 
|              &pinctrl_ndtr1_default | 
|              &pinctrl_nrts1_default>; | 
| }; | 
|   | 
| &uart2 { | 
|     status = "okay"; | 
|     pinctrl-names = "default"; | 
|     pinctrl-0 = <&pinctrl_txd2_default | 
|              &pinctrl_rxd2_default>; | 
| }; | 
|   | 
| &uart4 { | 
|     status = "okay"; | 
|     pinctrl-names = "default"; | 
|     pinctrl-0 = <&pinctrl_txd4_default | 
|              &pinctrl_rxd4_default>; | 
| }; | 
|   | 
| &i2c0 { | 
|     status = "okay"; | 
|     bus-frequency = <400000>; | 
|     multi-master; | 
| }; | 
|   | 
| &i2c1 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c2 { | 
|     status = "okay"; | 
|   | 
|     i2c-switch@70 { | 
|         compatible = "nxp,pca9548"; | 
|         #address-cells = <1>; | 
|         #size-cells = <0>; | 
|         reg = <0x70>; | 
|   | 
|         imux16: i2c@0 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <0>; | 
|         }; | 
|   | 
|         imux17: i2c@1 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <1>; | 
|         }; | 
|   | 
|         imux18: i2c@2 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <2>; | 
|         }; | 
|   | 
|         imux19: i2c@3 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <3>; | 
|         }; | 
|   | 
|         imux20: i2c@4 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <4>; | 
|         }; | 
|   | 
|         imux21: i2c@5 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <5>; | 
|         }; | 
|   | 
|         imux22: i2c@6 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <6>; | 
|         }; | 
|   | 
|         imux23: i2c@7 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <7>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &i2c3 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c4 { | 
|     status = "okay"; | 
|     multi-master; | 
| }; | 
|   | 
| &i2c5 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c6 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c7 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c8 { | 
|     status = "okay"; | 
|   | 
|     i2c-switch@70 { | 
|         compatible = "nxp,pca9548"; | 
|         #address-cells = <1>; | 
|         #size-cells = <0>; | 
|         reg = <0x70>; | 
|   | 
|         imux24: i2c@0 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <0>; | 
|         }; | 
|   | 
|         imux25: i2c@1 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <1>; | 
|         }; | 
|   | 
|         imux26: i2c@2 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <2>; | 
|         }; | 
|   | 
|         imux27: i2c@3 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <3>; | 
|         }; | 
|   | 
|         imux28: i2c@4 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <4>; | 
|         }; | 
|   | 
|         imux29: i2c@5 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <5>; | 
|         }; | 
|   | 
|         imux30: i2c@6 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <6>; | 
|         }; | 
|   | 
|         imux31: i2c@7 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <7>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &i2c9 { | 
|     status = "okay"; | 
|   | 
|     i2c-switch@70 { | 
|         compatible = "nxp,pca9548"; | 
|         #address-cells = <1>; | 
|         #size-cells = <0>; | 
|         reg = <0x70>; | 
|   | 
|         imux32: i2c@0 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <0>; | 
|         }; | 
|   | 
|         imux33: i2c@1 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <1>; | 
|         }; | 
|   | 
|         imux34: i2c@2 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <2>; | 
|         }; | 
|   | 
|         imux35: i2c@3 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <3>; | 
|         }; | 
|   | 
|         imux36: i2c@4 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <4>; | 
|         }; | 
|   | 
|         imux37: i2c@5 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <5>; | 
|         }; | 
|   | 
|         imux38: i2c@6 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <6>; | 
|         }; | 
|   | 
|         imux39: i2c@7 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <7>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &i2c10 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c11 { | 
|     status = "okay"; | 
|   | 
|     i2c-switch@70 { | 
|         compatible = "nxp,pca9548"; | 
|         #address-cells = <1>; | 
|         #size-cells = <0>; | 
|         reg = <0x70>; | 
|   | 
|         imux40: i2c@0 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <0>; | 
|         }; | 
|   | 
|         imux41: i2c@1 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <1>; | 
|         }; | 
|   | 
|         imux42: i2c@2 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <2>; | 
|         }; | 
|   | 
|         imux43: i2c@3 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <3>; | 
|         }; | 
|   | 
|         imux44: i2c@4 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <4>; | 
|         }; | 
|   | 
|         imux45: i2c@5 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <5>; | 
|         }; | 
|   | 
|         imux46: i2c@6 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <6>; | 
|         }; | 
|   | 
|         imux47: i2c@7 { | 
|             #address-cells = <1>; | 
|             #size-cells = <0>; | 
|             reg = <7>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &i2c12 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &i2c13 { | 
|     status = "okay"; | 
| }; |