Add initial version of device tree for Meta Greatlakes BMC which is equipped with Aspeed AST2600 BMC SoC.
Signed-off-by: Delphine CC Chiu <delphine_cc_c...@wiwynn.com> --- arch/arm/dts/Makefile | 1 + arch/arm/dts/ast2600-greatlakes.dts | 205 ++++++++++++++++++++++++++ configs/ast2600_openbmc_spl_defconfig | 1 + 3 files changed, 207 insertions(+) create mode 100644 arch/arm/dts/ast2600-greatlakes.dts diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 6c34b83336..c9cb54cddd 100755 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -686,6 +686,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \ ast2600-evb.dtb \ ast2600-dcscm.dtb \ ast2600-fpga.dtb \ + ast2600-greatlakes.dtb \ ast2600-intel.dtb \ ast2600-ncsi.dtb \ ast2600-p10bmc.dtb \ diff --git a/arch/arm/dts/ast2600-greatlakes.dts b/arch/arm/dts/ast2600-greatlakes.dts new file mode 100644 index 0000000000..59d6c7a087 --- /dev/null +++ b/arch/arm/dts/ast2600-greatlakes.dts @@ -0,0 +1,205 @@ +// SPDX-License-Identifier: GPL-2.0+ +// Copyright (c) 2022 Meta Platforms Inc. +/dts-v1/; + +#include "ast2600-u-boot.dtsi" + +/ { + model = "Facebook Greatlakes BMC"; + compatible = "facebook,greatlakes-bmc", "aspeed,ast2600"; + + memory { + device_type = "memory"; + reg = <0x80000000 0x40000000>; + }; + + chosen { + stdout-path = &uart5; + }; + + aliases { + spi0 = &fmc; + ethernet3 = &mac3; + }; + + cpus { + cpu@0 { + clock-frequency = <800000000>; + }; + cpu@1 { + clock-frequency = <800000000>; + }; + }; +}; + +&uart5 { + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&sdrammc { + clock-frequency = <400000000>; +}; + +&wdt1 { + status = "okay"; +}; + +&wdt2 { + status = "okay"; +}; + +&wdt3 { + status = "okay"; +}; + +&mdio { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_mdio4_default>; + #address-cells = <1>; + #size-cells = <0>; + ethphy3: ethernet-phy@3 { + reg = <0>; + }; +}; + +&mac3 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <ðphy3>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_rgmii4_default>; +}; + +&fmc { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_fmcquad_default>; + + flash@0 { + status = "okay"; + spi-max-frequency = <50000000>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + }; + + flash@1 { + status = "okay"; + spi-max-frequency = <50000000>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + }; +}; + +&gpio0 { + status = "okay"; + line_148 { + gpio-hog; + gpios = <148 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "bmc-slot1-isolated-enabled"; + }; + line_149 { + gpio-hog; + gpios = <149 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "bmc-slot2-isolated-enabled"; + }; + line_150 { + gpio-hog; + gpios = <150 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "bmc-slot3-isolated-enabled"; + }; + line_151 { + gpio-hog; + gpios = <151 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "bmc-slot4-isolated-enabled"; + }; +}; + +&i2c0 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c1_default>; +}; + +&i2c1 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c2_default>; +}; + +&i2c2 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3_default>; +}; + +&i2c3 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c4_default>; +}; + +&i2c4 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c5_default>; +}; + +&i2c5 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c6_default>; +}; + +&i2c6 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c7_default>; +}; + +&i2c7 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c8_default>; +}; + +&i2c8 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c9_default>; +}; + +&scu { + mac0-clk-delay = <0x10 0x0a + 0x10 0x10 + 0x10 0x10>; + mac1-clk-delay = <0x10 0x0a + 0x10 0x10 + 0x10 0x10>; + mac2-clk-delay = <0x08 0x04 + 0x08 0x04 + 0x08 0x04>; + mac3-clk-delay = <0x08 0x04 + 0x08 0x04 + 0x08 0x04>; +}; + +&hace { + u-boot,dm-pre-reloc; + status = "okay"; +}; diff --git a/configs/ast2600_openbmc_spl_defconfig b/configs/ast2600_openbmc_spl_defconfig index 95d7651b8e..efd683570f 100644 --- a/configs/ast2600_openbmc_spl_defconfig +++ b/configs/ast2600_openbmc_spl_defconfig @@ -100,6 +100,7 @@ CONFIG_ASPEED_ACRY=y CONFIG_DM_GPIO=y CONFIG_SPL_GPIO_HOG=y CONFIG_ASPEED_GPIO=y +CONFIG_GPIO_HOG=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_ASPEED=y CONFIG_MISC=y -- 2.17.1