| // SPDX-License-Identifier: GPL-2.0+ |
| // Copyright (c) 2018 Facebook Inc. |
| /dts-v1/; |
| |
| #include "aspeed-g5.dtsi" |
| |
| / { |
| model = "Facebook Backpack CMM BMC"; |
| compatible = "facebook,cmm-bmc", "aspeed,ast2500"; |
| |
| aliases { |
| /* |
| * Override the default uart aliases to avoid breaking |
| * the legacy applications. |
| */ |
| serial0 = &uart5; |
| serial1 = &uart1; |
| serial2 = &uart3; |
| serial3 = &uart4; |
| |
| /* |
| * Hardcode the bus number of i2c switches' channels to |
| * avoid breaking the legacy applications. |
| */ |
| i2c16 = &imux16; |
| i2c17 = &imux17; |
| i2c18 = &imux18; |
| i2c19 = &imux19; |
| i2c20 = &imux20; |
| i2c21 = &imux21; |
| i2c22 = &imux22; |
| i2c23 = &imux23; |
| i2c24 = &imux24; |
| i2c25 = &imux25; |
| i2c26 = &imux26; |
| i2c27 = &imux27; |
| i2c28 = &imux28; |
| i2c29 = &imux29; |
| i2c30 = &imux30; |
| i2c31 = &imux31; |
| i2c32 = &imux32; |
| i2c33 = &imux33; |
| i2c34 = &imux34; |
| i2c35 = &imux35; |
| i2c36 = &imux36; |
| i2c37 = &imux37; |
| i2c38 = &imux38; |
| i2c39 = &imux39; |
| }; |
| |
| chosen { |
| stdout-path = &uart1; |
| bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlyprintk"; |
| }; |
| |
| memory@80000000 { |
| reg = <0x80000000 0x20000000>; |
| }; |
| |
| ast-adc-hwmon { |
| compatible = "iio-hwmon"; |
| io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, |
| <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>; |
| }; |
| }; |
| |
| &pinctrl { |
| aspeed,external-nodes = <&gfx &lhc>; |
| }; |
| |
| /* |
| * Update reset type to "system" (full chip) to fix warm reboot hang issue |
| * when reset type is set to default ("soc", gated by reset mask registers). |
| */ |
| &wdt1 { |
| status = "okay"; |
| aspeed,reset-type = "system"; |
| }; |
| |
| /* |
| * wdt2 is not used by Backpack CMM. |
| */ |
| &wdt2 { |
| status = "disabled"; |
| }; |
| |
| &fmc { |
| status = "okay"; |
| flash@0 { |
| status = "okay"; |
| m25p,fast-read; |
| label = "bmc"; |
| #include "facebook-bmc-flash-layout.dtsi" |
| }; |
| }; |
| |
| &uart1 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_txd1_default |
| &pinctrl_rxd1_default |
| &pinctrl_ncts1_default |
| &pinctrl_ndcd1_default |
| &pinctrl_ndsr1_default |
| &pinctrl_ndtr1_default |
| &pinctrl_nrts1_default>; |
| }; |
| |
| &uart3 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_txd3_default |
| &pinctrl_rxd3_default |
| &pinctrl_ncts3_default |
| &pinctrl_ndcd3_default |
| &pinctrl_nri3_default>; |
| }; |
| |
| &uart4 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_txd4_default |
| &pinctrl_rxd4_default>; |
| }; |
| |
| &uart5 { |
| status = "okay"; |
| }; |
| |
| &mac1 { |
| status = "okay"; |
| no-hw-checksum; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>; |
| }; |
| |
| /* |
| * I2C bus reserved for communication with COM-E. |
| */ |
| &i2c0 { |
| status = "okay"; |
| }; |
| |
| /* |
| * I2C bus to Line Cards and Fabric Cards. |
| */ |
| &i2c1 { |
| status = "okay"; |
| |
| i2c-switch@77 { |
| compatible = "nxp,pca9548"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x77>; |
| |
| 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>; |
| }; |
| }; |
| }; |
| |
| /* |
| * I2C bus to Power Distribution Board. |
| */ |
| &i2c2 { |
| status = "okay"; |
| |
| i2c-switch@71 { |
| compatible = "nxp,pca9548"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x71>; |
| |
| 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>; |
| }; |
| }; |
| }; |
| |
| /* |
| * I2c bus connected with temperature sensors on CMM. |
| */ |
| &i2c3 { |
| status = "okay"; |
| }; |
| |
| /* |
| * I2C bus reserved for communication with COM-E. |
| */ |
| &i2c4 { |
| status = "okay"; |
| }; |
| |
| /* |
| * I2c bus connected with ADM1278. |
| */ |
| &i2c5 { |
| status = "okay"; |
| }; |
| |
| /* |
| * I2c bus connected with I/O Expander. |
| */ |
| &i2c6 { |
| status = "okay"; |
| }; |
| |
| /* |
| * I2c bus connected with I/O Expander and EPROMs. |
| */ |
| &i2c7 { |
| status = "okay"; |
| }; |
| |
| /* |
| * I2C bus to Fan Control Board. |
| */ |
| &i2c8 { |
| status = "okay"; |
| |
| i2c-switch@77 { |
| compatible = "nxp,pca9548"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x77>; |
| |
| 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>; |
| }; |
| }; |
| }; |
| |
| /* |
| * I2C bus to CMM CPLD. |
| */ |
| &i2c13 { |
| status = "okay"; |
| }; |
| |
| &adc { |
| status = "okay"; |
| }; |
| |
| &ehci0 { |
| status = "okay"; |
| }; |
| |
| &ehci1 { |
| status = "okay"; |
| }; |