ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board
authorYang Chen <yangchen.openbmc@gmail.com>
Thu, 14 Sep 2023 12:56:48 +0000 (20:56 +0800)
committerJoel Stanley <joel@jms.id.au>
Fri, 13 Oct 2023 04:29:03 +0000 (14:59 +1030)
Add linux device tree entry related to the Minerva Chassis Management
Controller (CMC) specific devices connected to the Aspeed SoC (AST2600).

Signed-off-by: Yang Chen <yangchen.openbmc@gmail.com>
Link: https://lore.kernel.org/r/20230914125648.3966519-3-yangchen.openbmc@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
arch/arm/boot/dts/aspeed/Makefile
arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts [new file with mode: 0644]

index 23cbc7203a8e3099ca0a7186b026fa864a14b99f..d3ac20e316d01e5d2aeca25ae283b6e8e601b885 100644 (file)
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
        aspeed-bmc-facebook-fuji.dtb \
        aspeed-bmc-facebook-galaxy100.dtb \
        aspeed-bmc-facebook-greatlakes.dtb \
+       aspeed-bmc-facebook-minerva-cmc.dtb \
        aspeed-bmc-facebook-minipack.dtb \
        aspeed-bmc-facebook-tiogapass.dtb \
        aspeed-bmc-facebook-wedge40.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts
new file mode 100644 (file)
index 0000000..f04ef90
--- /dev/null
@@ -0,0 +1,265 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright (c) 2023 Facebook Inc.
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+       model = "Facebook Minerva CMC";
+       compatible = "facebook,minerva-cmc", "aspeed,ast2600";
+
+       aliases {
+               serial5 = &uart5;
+       };
+
+       chosen {
+               stdout-path = "serial5:57600n8";
+       };
+
+       memory@80000000 {
+               device_type = "memory";
+               reg = <0x80000000 0x80000000>;
+       };
+
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
+                       <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
+                       <&adc1 2>;
+       };
+};
+
+&uart6 {
+       status = "okay";
+};
+
+&wdt1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_wdtrst1_default>;
+       aspeed,reset-type = "soc";
+       aspeed,external-signal;
+       aspeed,ext-push-pull;
+       aspeed,ext-active-high;
+       aspeed,ext-pulse-duration = <256>;
+};
+
+&mac3 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_rmii4_default>;
+       use-ncsi;
+       mlx,multi-host;
+};
+
+&fmc {
+       status = "okay";
+       flash@0 {
+               status = "okay";
+               m25p,fast-read;
+               label = "bmc";
+               spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout-128.dtsi"
+       };
+       flash@1 {
+               status = "okay";
+               m25p,fast-read;
+               label = "alt-bmc";
+               spi-max-frequency = <50000000>;
+       };
+};
+
+&rtc {
+       status = "okay";
+};
+
+&sgpiom1 {
+       status = "okay";
+       ngpios = <128>;
+       bus-frequency = <2000000>;
+};
+
+&i2c0 {
+       status = "okay";
+};
+
+&i2c1 {
+       status = "okay";
+
+       temperature-sensor@4b {
+               compatible = "ti,tmp75";
+               reg = <0x4B>;
+       };
+
+       eeprom@51 {
+               compatible = "atmel,24c128";
+               reg = <0x51>;
+       };
+};
+
+&i2c2 {
+       status = "okay";
+
+       i2c-mux@77 {
+               compatible = "nxp,pca9548";
+               reg = <0x77>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               i2c-mux-idle-disconnect;
+
+               i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+
+                       eeprom@50 {
+                               compatible = "atmel,24c128";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+
+                       eeprom@50 {
+                               compatible = "atmel,24c128";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+
+                       eeprom@50 {
+                               compatible = "atmel,24c128";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+
+                       eeprom@50 {
+                               compatible = "atmel,24c128";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c@4 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <4>;
+
+                       eeprom@50 {
+                               compatible = "atmel,24c128";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c@5 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <5>;
+
+                       eeprom@50 {
+                               compatible = "atmel,24c128";
+                               reg = <0x50>;
+                       };
+               };
+       };
+};
+
+&i2c3 {
+       status = "okay";
+};
+
+&i2c4 {
+       status = "okay";
+};
+
+&i2c5 {
+       status = "okay";
+};
+
+&i2c6 {
+       status = "okay";
+};
+
+&i2c7 {
+       status = "okay";
+};
+
+&i2c8 {
+       status = "okay";
+};
+
+&i2c9 {
+       status = "okay";
+};
+
+&i2c10 {
+       status = "okay";
+};
+
+&i2c11 {
+       status = "okay";
+};
+
+&i2c12 {
+       status = "okay";
+};
+
+&i2c13 {
+       status = "okay";
+};
+
+&i2c14 {
+       status = "okay";
+       multi-master;
+
+       ipmb@10 {
+               compatible = "ipmb-dev";
+               reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
+               i2c-protocol;
+       };
+};
+
+&i2c15 {
+       status = "okay";
+
+       eeprom@50 {
+               compatible = "atmel,24c128";
+               reg = <0x50>;
+       };
+};
+
+&adc0 {
+       aspeed,int-vref-microvolt = <2500000>;
+       status = "okay";
+       pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
+               &pinctrl_adc2_default &pinctrl_adc3_default
+               &pinctrl_adc4_default &pinctrl_adc5_default
+               &pinctrl_adc6_default &pinctrl_adc7_default>;
+};
+
+&adc1 {
+       aspeed,int-vref-microvolt = <2500000>;
+       status = "okay";
+       pinctrl-0 = <&pinctrl_adc10_default>;
+};
+
+&ehci1 {
+       status = "okay";
+};
+
+&uhci {
+       status = "okay";
+};