Re: [PATCH v4 2/2] ARM: dts: aspeed: Add NVIDIA VR-NVL BMC
From: Rob Herring
Date: Tue Jul 28 2026 - 10:44:34 EST
On Tue, Jul 28, 2026 at 05:55:10PM +0900, Jacky Huang wrote:
> Add the device tree for the Aspeed AST2600 BMC for NVIDIA's Vera
> Rubin NVL compute platform.
>
> MAC0 uses phy-mode = "rgmii-id" because the on-board PHY supplies
> both RGMII internal delays. The matching U-Boot device tree does not
> enable SoC-side MAC clock delays, leaving the MAC internal delay at
> zero so the PHY-provided delay is not doubled by the MAC controller.
>
> The corresponding U-Boot change has been submitted to openbmc/u-boot:
> Link: https://lore.kernel.org/all/20260629105202.1417679-1-jackyhuang@xxxxxxxxxx/
>
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
> Signed-off-by: Jacky Huang <jackyhuang@xxxxxxxxxx>
> ---
> v4: address dt-check-style findings for property and child node ordering,
> required blank lines, and line length. Retain 8 conventional multi-line
> block comments with mixed-indent and 22 meaningful unused labels for
> source readability and future references. They can be removed if
> preferred.
>
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../aspeed/aspeed-bmc-nvidia-vr-nvl-bmc.dts | 923 ++++++++++++++++++
> 2 files changed, 924 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-vr-nvl-bmc.dts
>
> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
> index 6b68671f9379..07e10083a8bd 100644
> --- a/arch/arm/boot/dts/aspeed/Makefile
> +++ b/arch/arm/boot/dts/aspeed/Makefile
> @@ -65,6 +65,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-microsoft-olympus.dtb \
> aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
> aspeed-bmc-nvidia-msx4-bmc.dtb \
> + aspeed-bmc-nvidia-vr-nvl-bmc.dtb \
> aspeed-bmc-opp-lanyang.dtb \
> aspeed-bmc-opp-mowgli.dtb \
> aspeed-bmc-opp-nicole.dtb \
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-vr-nvl-bmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-vr-nvl-bmc.dts
> new file mode 100644
> index 000000000000..1c04fd3e627c
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-vr-nvl-bmc.dts
> @@ -0,0 +1,923 @@
> +// SPDX-License-Identifier: GPL-2.0
> +// Copyright (c) 2026 NVIDIA Corporation
> +&ehci1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + status = "okay";
> +
> + hub@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hub@1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hub@4 {
> + reg = <4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* port 1: BlueField-4 SMA mgmt */
> + device@1 {
> + reg = <1>;
> + #address-cells = <2>;
> + #size-cells = <0>;
> +
> + interface@1 {
> + reg = <1 1>;
> + };
> + };
> +
> + cp2112g: device@2 {
This and other devices should have a compatible string and associated
schema. The hub probably should too.
> + reg = <2>;
> + #gpio-cells = <2>;
> + gpio-controller;
> + gpio-line-names =
> + "BF4_USB_MCU_RECOVERY_L",
> + "BF4_USB_MCU_RST_L",
> + "BF4_USB_FORCE_FNP_L",
> + "BF4_GLOBAL_WP",
> + "BF4_FORCE_POR_L",
> + "BF4_BMC_EROT_RST_L",
> + "BF4_BMC_EROT_RECOVERY_L",
> + "BF4_THERM_SHUTDOWN";
> + #interrupt-cells = <2>;
> + interrupt-controller;
> + };
> + };
> + };
> +
> +&fmc {
> + status = "okay";
> +
> + flash@0 {
Needs a compatible.
> + label = "bmc";
> +
> + status = "okay";
okay is the default, so not needed.
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + reg = <0x0 0xe0000>; /* 896 KiB */
> + label = "u-boot";
> + };
> +
> + partition@100000 {
> + reg = <0x100000 0x900000>; /* 9 MiB */
> + label = "kernel";
> + };
> +
> + partition@a00000 {
> + /*
> + * extends to end of 64 MiB - 4 KiB; last
> + * 4 KiB reserved for EROT image
> + */
> + reg = <0xa00000 0x35ff000>;
> + label = "rofs";
> + };
> + };
> + };
> +};
> +&spi2 {
> + pinctrl-0 = <&pinctrl_spi2_default>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +
> + flash@0 {
> + label = "config";
Needs a compatible.
> +
> + status = "okay";
Drop
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + reg = <0x0 0x40000>; /* 256 KiB */
> + label = "u-boot-env";
> + };
> +
> + partition@40000 {
> + reg = <0x40000 0x1000000>; /* 16 MiB */
> + label = "rwfs";
> + };
> +
> + partition@1040000 {
> + reg = <0x1040000 0x2800000>; /* 40 MiB */
> + label = "log";
> + };
> + };
> + };
> +};