[PATCH v4] ARM: dts: aspeed: Adding Facebook Yosemite V3.5 BMC

logananth hcl logananth13.hcl at gmail.com
Tue Jul 26 21:37:06 AEST 2022


On Thu, Jul 21, 2022 at 4:46 AM Zev Weiss <zweiss at equinix.com> wrote:

> On Wed, Jul 20, 2022 at 03:53:31AM PDT, Logananth Sundararaj wrote:
> >The Yosemite V3.5 is a facebook multi-node server
> >platform that host four OCP server. The BMC
> >in the Yosemite V3.5 platform based on AST2600 SoC.
> >
> >This patch adds linux device tree entry related to
> >Yosemite V3.5 specific devices connected to BMC SoC.
> >
> >Signed-off-by: Logananth Sundararaj <logananth_s at hcl.com>
> >
> >---
> >--- v4 - Bootagrs and memory removed.
> >--- v3 - Addressed v2 patch comments.
> >--- v2 - Enabled i2c drivers.
> >--- v1 - Initial draft.
> >---
> >---
> > arch/arm/boot/dts/Makefile                    |   1 +
> > .../boot/dts/aspeed-bmc-facebook-fby35.dts    | 260 ++++++++++++++++++
> > 2 files changed, 261 insertions(+)
> > create mode 100644 arch/arm/boot/dts/aspeed-bmc-facebook-fby35.dts
> >
> >diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >index 7e0934180724..58add093e5fb 100644
> >--- a/arch/arm/boot/dts/Makefile
> >+++ b/arch/arm/boot/dts/Makefile
> >@@ -1465,6 +1465,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> >       aspeed-bmc-facebook-cloudripper.dtb \
> >       aspeed-bmc-facebook-cmm.dtb \
> >       aspeed-bmc-facebook-elbert.dtb \
> >+      aspeed-bmc-facebook-fby35.dtb \
> >       aspeed-bmc-facebook-fuji.dtb \
> >       aspeed-bmc-facebook-galaxy100.dtb \
> >       aspeed-bmc-facebook-minipack.dtb \
> >diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-fby35.dts
> b/arch/arm/boot/dts/aspeed-bmc-facebook-fby35.dts
> >new file mode 100644
> >index 000000000000..05efba7117a8
> >--- /dev/null
> >+++ b/arch/arm/boot/dts/aspeed-bmc-facebook-fby35.dts
> >@@ -0,0 +1,260 @@
> >+// SPDX-License-Identifier: GPL-2.0-or-later
> >+// Copyright (c) 2020 Facebook Inc.
> >+
> >+/dts-v1/;
> >+
> >+#include "aspeed-g6.dtsi"
> >+#include <dt-bindings/gpio/aspeed-gpio.h>
> >+#include <dt-bindings/i2c/i2c.h>
> >+
> >+/ {
> >+      model = "Facebook fby35";
> >+      compatible = "facebook,fby35", "aspeed,ast2600";
> >+
> >+      aliases {
> >+              serial4 = &uart5;
> >+      };
> >+
> >+      chosen {
> >+              stdout-path = &uart5;
> >+      };
> >+
> >+      iio-hwmon {
> >+              compatible = "iio-hwmon";
> >+              io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
> >+                      <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
> >+                      <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
> >+                      <&adc1 4>, <&adc1 5>, <&adc1 6>;
> >+      };
>
> A blank line here would be nice for formatting consistency...
>
> will fix it.

> >+      spi_gpio: spi-gpio {
> >+              status = "okay";
> >+              compatible = "spi-gpio";
> >+              #address-cells = <1>;
> >+              #size-cells = <0>;
> >+
> >+              gpio-sck = <&gpio0 ASPEED_GPIO(X, 3) GPIO_ACTIVE_HIGH>;
> >+              gpio-mosi = <&gpio0 ASPEED_GPIO(X, 4) GPIO_ACTIVE_HIGH>;
> >+              gpio-miso = <&gpio0 ASPEED_GPIO(X, 5) GPIO_ACTIVE_HIGH>;
> >+              num-chipselects = <1>;
> >+              cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
> >+
> >+              tpmdev at 0 {
> >+                      compatible = "tcg,tpm_tis-spi";
> >+                      spi-max-frequency = <33000000>;
> >+                      reg = <0>;
> >+              };
> >+      };
> >+
>
> ...and this one could be removed.
>
> will fix it.

> >+};
> >+
> >+&mac3 {
> >+      status = "okay";
> >+
> >+      pinctrl-names = "default";
> >+      pinctrl-0 = <&pinctrl_rmii4_default>;
> >+      no-hw-checksum;
> >+      use-ncsi;
> >+      mlx,multi-host;
> >+      ncsi-ctrl,start-redo-probe;
> >+      ncsi-ctrl,no-channel-monitor;
> >+      ncsi-package = <1>;
> >+      ncsi-channel = <1>;
> >+      ncsi-rexmit = <1>;
> >+      ncsi-timeout = <2>;
> >+};
> >+
> >+&uart1 {
> >+      status = "okay";
> >+};
> >+
> >+&uart2 {
> >+      status = "okay";
> >+};
> >+
> >+&uart3 {
> >+      status = "okay";
> >+};
> >+
> >+&uart4 {
> >+      status = "okay";
> >+};
> >+
> >+&uart5 {
> >+      status = "okay";
> >+      compatible = "snps,dw-apb-uart";
> >+};
> >+
> >+&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>;
> >+};
> >+
> >+&rtc {
> >+      status = "okay";
> >+};
> >+
> >+&fmc {
> >+      status = "okay";
> >+      flash at 0 {
> >+              status = "okay";
> >+              m25p,fast-read;
> >+              label = "spi0.1";
> >+              spi-max-frequency = <50000000>;
> >+              #include "openbmc-flash-layout-128.dtsi"
> >+      };
> >+      flash at 1 {
> >+              status = "okay";
> >+              m25p,fast-read;
> >+              label = "spi0.0";
> >+              spi-max-frequency = <50000000>;
> >+              #include "openbmc-flash-layout.dtsi"
> >+      };
>
> The labels on these look backwards from what I'd guess was probably
> intended (flash at 0 is spi0.1 and flash at 1 is spi0.0).
>
> Let's check into this, and fix it.

> >+};
> >+
> >+&i2c0 {
> >+      //Host1 IPMB bus
>
> While it's not currently 100% consistent, I think the generally
> preferred style is to put a space after '//' (here and elsewhere).
>
will fix it.

>
> >+      status = "okay";
> >+      multi-master;
> >+      ipmb0 at 10 {
> >+              compatible = "ipmb-dev";
> >+              reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
> >+              i2c-protocol;
> >+      };
> >+};
> >+
> >+&i2c1 {
> >+      //Host2 IPMB bus
> >+      status = "okay";
> >+      multi-master;
> >+      ipmb1 at 10 {
> >+              compatible = "ipmb-dev";
> >+              reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
> >+              i2c-protocol;
> >+      };
> >+};
> >+
> >+&i2c2 {
> >+      //Host3 IPMB bus
> >+      status = "okay";
> >+      multi-master;
> >+      ipmb2 at 10 {
> >+              compatible = "ipmb-dev";
> >+              reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
> >+              i2c-protocol;
> >+      };
> >+};
> >+
> >+&i2c3 {
> >+      //Host1 IPMB bus
> >+      status = "okay";
> >+      multi-master;
> >+      ipmb3 at 10 {
> >+              compatible = "ipmb-dev";
> >+              reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
> >+              i2c-protocol;
> >+      };
> >+};
> >+
> >+&i2c4 {
> >+      status = "okay";
> >+};
> >+
> >+&i2c5 {
> >+      status = "okay";
> >+};
> >+
> >+&i2c6 {
> >+      status = "okay";
> >+};
> >+
> >+&i2c7 {
> >+      status = "okay";
> >+};
> >+
> >+&i2c8 {
> >+      //NIC SENSOR TEMP
> >+      status = "okay";
> >+      tmp421 at 1f {
> >+              compatible = "ti,tmp421";
> >+              reg = <0x1f>;
> >+      };
> >+};
> >+
> >+&i2c9 {
> >+      // Debug-Card IPMB bus
> >+      status = "okay";
> >+      multi-master;
> >+      ipmb9 at 30 {
> >+              compatible = "ipmb-dev";
> >+              reg = <(0x30 | I2C_OWN_SLAVE_ADDRESS)>;
> >+              i2c-protocol;
> >+      };
> >+};
> >+
> >+&i2c10 {
> >+      status = "okay";
> >+};
> >+
> >+&i2c11 {
> >+      status = "okay";
> >+      //FRU EEPROM
> >+      eeprom at 51 {
> >+              compatible = "atmel,24c64";
> >+              reg = <0x51>;
> >+              pagesize = <32>;
> >+      };
> >+};
> >+
> >+&i2c12 {
> >+      status = "okay";
> >+      //INLET TEMP
> >+      tmp75 at 4e {
> >+              compatible = "ti,tmp75";
> >+              reg = <0x4e>;
> >+      };
> >+      //OUTLET TEMP
> >+      tmp75 at 4f {
> >+              compatible = "ti,tmp75";
> >+              reg = <0x4f>;
> >+      };
> >+};
> >+
> >+&i2c13 {
> >+      status = "okay";
> >+};
> >+
> >+&adc0 {
> >+      ref_voltage = <2500>;
> >+      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 {
> >+      ref_voltage = <2500>;
> >+      status = "okay";
> >+
> >+      pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
> >+              &pinctrl_adc10_default &pinctrl_adc11_default
> >+              &pinctrl_adc12_default &pinctrl_adc13_default>;
> >+};
>
> Missing blank line.
>
> will fix.

> >+&ehci0 {
> >+      status = "okay";
> >+};
> >+
> >+&ehci1 {
> >+      status = "okay";
> >+};
> >+
> >+&uhci {
> >+      status = "okay";
> >+};
> >--
> >2.17.1
> >

Thanks
-Logananth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linux-aspeed/attachments/20220726/d23da5d5/attachment-0001.htm>


More information about the Linux-aspeed mailing list