* [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard
@ 2025-11-08 22:24 Marc Olberding
2025-11-08 22:24 ` [PATCH v3 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Marc Olberding @ 2025-11-08 22:24 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
Marc Olberding, Conor Dooley
Patch 1 Adds the binding for the msx4 cx8 switchboard
Patch 2 Adds the device tree for the msx4 cx8 switchboard reference implementation.
This is an Aspeed AST2600 based reference implementation for a BMC
managing the nvidia mgx cx8 switchboard.
Reference to Ast2600 Soc [1].
Link: https://www.aspeedtech.com/server_ast2600/ [1]
Signed-off-by: Marc Olberding <molberding@nvidia.com>
---
Changes in v3:
- Removed mac and mdio node completely per Andrew Lunn's request. Will add back
once the mac driver is fixed
- Link to v2: https://lore.kernel.org/r/20251107-msx1_devicetree-v2-0-6e36eb878db2@nvidia.com
Changes in v2:
- Added ack by Conor Dooley on patch 1
- Changed phy-mode attribute after discussion with Andrew Jeffery and feedback from Andrew Lunn
and added a comment with a better explanation
- Link to v1: https://lore.kernel.org/r/20250918-msx1_devicetree-v1-1-18dc07e02118@nvidia.com
---
Marc Olberding (2):
dt-bindings: arm: aspeed: Add Nvidia msx4 board
dts: aspeed: Add a dts for the nvidia msx4 hpm
.../devicetree/bindings/arm/aspeed/aspeed.yaml | 1 +
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts | 235 +++++++++++++++++++++
3 files changed, 237 insertions(+)
---
base-commit: 38a2c275c3d3f7d7180d012386cd6fcf87854400
change-id: 20250908-msx1_devicetree-7af2c1fc15d0
Best regards,
--
Marc Olberding <molberding@nvidia.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board
2025-11-08 22:24 [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding
@ 2025-11-08 22:24 ` Marc Olberding
2025-11-08 22:24 ` [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding
2025-11-10 14:34 ` [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Rob Herring (Arm)
2 siblings, 0 replies; 6+ messages in thread
From: Marc Olberding @ 2025-11-08 22:24 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
Marc Olberding, Conor Dooley
Adds a compatible string for NVIDIAs msx4 BMC board.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Marc Olberding <molberding@nvidia.com>
---
Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
index aedefca7cf4a80b5c9d14098b60ce277391fcdcb..5933eda3371b33f16a1129cbb84933c1393c9b2a 100644
--- a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
+++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
@@ -104,6 +104,7 @@ properties:
- inventec,transformer-bmc
- jabil,rbp-bmc
- nvidia,gb200nvl-bmc
+ - nvidia,msx4-bmc
- qcom,dc-scm-v1-bmc
- quanta,s6q-bmc
- ufispace,ncplite-bmc
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm
2025-11-08 22:24 [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding
2025-11-08 22:24 ` [PATCH v3 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding
@ 2025-11-08 22:24 ` Marc Olberding
2025-11-14 4:16 ` Andrew Jeffery
2025-11-10 14:34 ` [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Rob Herring (Arm)
2 siblings, 1 reply; 6+ messages in thread
From: Marc Olberding @ 2025-11-08 22:24 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
Marc Olberding
Adds a dts for the nvidia mgx pcie switchboard reference
platformi hpm. This is a dual socket granite rapids based platform.
Signed-off-by: Marc Olberding <molberding@nvidia.com>
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts | 235 +++++++++++++++++++++
2 files changed, 236 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 0f0b5b7076545e6babb2f25f302b5d70b71d8a19..c3ce0d218b53f2b4c37061cace483f5f2c6d3bf1 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -56,6 +56,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-lenovo-hr855xg2.dtb \
aspeed-bmc-microsoft-olympus.dtb \
aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
+ aspeed-bmc-nvidia-msx4-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-msx4-bmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts
new file mode 100644
index 0000000000000000000000000000000000000000..ad476a093293f807c04f7e70858af1f557c17370
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts
@@ -0,0 +1,235 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+ model = "AST2600 MSX4 Kernel";
+ compatible = "nvidia,msx4-bmc", "aspeed,ast2600";
+
+ aliases {
+ serial0 = &uart1;
+ serial1 = &uart2;
+ serial2 = &uart3;
+ serial3 = &uart4;
+ serial4 = &uart5;
+ };
+
+ chosen {
+ stdout-path = "uart5:115200n8";
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x80000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gfx_memory: framebuffer {
+ compatible = "shared-dma-pool";
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ reusable;
+ };
+
+ video_engine_memory: jpegbuffer {
+ compatible = "shared-dma-pool";
+ size = <0x02000000>; /* 32M */
+ alignment = <0x01000000>;
+ reusable;
+ };
+ };
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&fmc {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ label = "bmc";
+ spi-tx-bus-width = <4>;
+ spi-rx-bus-width = <4>;
+ status = "okay";
+ #include "openbmc-flash-layout-128.dtsi"
+ };
+};
+
+&gfx {
+ memory-region = <&gfx_memory>;
+ status = "okay";
+};
+
+&gpio0 {
+ gpio-line-names =
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "ASSERT_BMC_READY","","","","","","","",
+ /*C0-C7*/ "MON_PWR_GOOD","","","","","","","FP_ID_LED_N",
+ /*D0-D7*/ "","","","","","","","",
+ /*E0-E7*/ "","","","","","","","",
+ /*F0-F7*/ "","","","","","","","",
+ /*G0-G7*/ "","","FP_LED_STATUS_GREEN_N","FP_LED_STATUS_AMBER_N",
+ "","","","",
+ /*H0-H7*/ "","","","","","","","",
+ /*I0-I7*/ "","","","","","","","",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","","","","",
+ /*M0-M7*/ "","","","","","","","",
+ /*N0-N7*/ "","","","","","","","",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "MON_PWR_BTN_L","ASSERT_PWR_BTN_L","MON_RST_BTN_L",
+ "ASSERT_RST_BTN_L","","ASSERT_NMI_BTN_L","","",
+ /*Q0-Q7*/ "","","MEMORY_HOT_0","MEMORY_HOT_1","","","","",
+ /*R0-R7*/ "ID_BTN","","","","","VBAT_GPIO","","",
+ /*S0-S7*/ "","","RST_PCA_MUX","","","","","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "","","","","","","","",
+ /*W0-W7*/ "","","","","","","","",
+ /*X0-X7*/ "","","","","","","","",
+ /*Y0-Y7*/ "","","","","","","","",
+ /*Z0-Z7*/ "","","","","","","","";
+};
+
+&gpio1 {
+ gpio-line-names =
+ /*18A0-18A7*/ "","","","","","","","",
+ /*18B0-18B7*/ "","","","","","","","",
+ /*18C0-18C7*/ "","","","","","","","",
+ /*18D0-18D7*/ "","","","","","","","",
+ /*18E0-18E3*/ "","","BMC_INIT_DONE","";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+};
+
+&i2c3 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+
+ eeprom@51 {
+ compatible = "atmel,24c256";
+ reg = <0x51>;
+ pagesize = <64>;
+ label = "sku";
+ };
+};
+
+&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";
+};
+
+&i2c15 {
+ status = "okay";
+};
+
+&kcs1 {
+ aspeed,lpc-io-reg = <0xca0>;
+ status = "okay";
+};
+
+&kcs2 {
+ aspeed,lpc-io-reg = <0xca8>;
+ status = "okay";
+};
+
+&kcs3 {
+ aspeed,lpc-io-reg = <0xca2>;
+ status = "okay";
+};
+
+&lpc_reset {
+ status = "okay";
+};
+
+&rtc {
+ status = "okay";
+};
+
+&sgpiom0 {
+ ngpios = <80>;
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&video {
+ memory-region = <&video_engine_memory>;
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard
2025-11-08 22:24 [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding
2025-11-08 22:24 ` [PATCH v3 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding
2025-11-08 22:24 ` [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding
@ 2025-11-10 14:34 ` Rob Herring (Arm)
2 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2025-11-10 14:34 UTC (permalink / raw)
To: Marc Olberding
Cc: Joel Stanley, Conor Dooley, Krzysztof Kozlowski, Conor Dooley,
linux-arm-kernel, devicetree, Andrew Jeffery, linux-aspeed,
linux-kernel
On Sat, 08 Nov 2025 14:24:33 -0800, Marc Olberding wrote:
> Patch 1 Adds the binding for the msx4 cx8 switchboard
> Patch 2 Adds the device tree for the msx4 cx8 switchboard reference implementation.
>
> This is an Aspeed AST2600 based reference implementation for a BMC
> managing the nvidia mgx cx8 switchboard.
>
> Reference to Ast2600 Soc [1].
>
> Link: https://www.aspeedtech.com/server_ast2600/ [1]
>
> Signed-off-by: Marc Olberding <molberding@nvidia.com>
> ---
> Changes in v3:
> - Removed mac and mdio node completely per Andrew Lunn's request. Will add back
> once the mac driver is fixed
> - Link to v2: https://lore.kernel.org/r/20251107-msx1_devicetree-v2-0-6e36eb878db2@nvidia.com
>
> Changes in v2:
> - Added ack by Conor Dooley on patch 1
> - Changed phy-mode attribute after discussion with Andrew Jeffery and feedback from Andrew Lunn
> and added a comment with a better explanation
> - Link to v1: https://lore.kernel.org/r/20250918-msx1_devicetree-v1-1-18dc07e02118@nvidia.com
>
> ---
> Marc Olberding (2):
> dt-bindings: arm: aspeed: Add Nvidia msx4 board
> dts: aspeed: Add a dts for the nvidia msx4 hpm
>
> .../devicetree/bindings/arm/aspeed/aspeed.yaml | 1 +
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts | 235 +++++++++++++++++++++
> 3 files changed, 237 insertions(+)
> ---
> base-commit: 38a2c275c3d3f7d7180d012386cd6fcf87854400
> change-id: 20250908-msx1_devicetree-7af2c1fc15d0
>
> Best regards,
> --
> Marc Olberding <molberding@nvidia.com>
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: 38a2c275c3d3f7d7180d012386cd6fcf87854400 (use --merge-base to override)
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
New warnings running 'make CHECK_DTBS=y for arch/arm/boot/dts/aspeed/' for 20251108-msx1_devicetree-v3-0-c7cb477ade27@nvidia.com:
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: timer (arm,armv7-timer): 'clocks' does not match any of the regexes: '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: sdram@1e6e0000 (aspeed,ast2600-sdram-edac): compatible: ['aspeed,ast2600-sdram-edac', 'syscon'] is too long
from schema $id: http://devicetree.org/schemas/edac/aspeed,ast2400-sdram-edac.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: bus@1e600000 (aspeed,ast2600-ahbc): compatible: ['aspeed,ast2600-ahbc', 'syscon'] is too long
from schema $id: http://devicetree.org/schemas/bus/aspeed,ast2600-ahbc.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: syscon@1e6e2000 (aspeed,ast2600-scu): 'smp-memram@180' does not match any of the regexes: '^interrupt-controller@[0-9a-f]+$', '^p2a-control@[0-9a-f]+$', '^pinctrl(@[0-9a-f]+)?$', '^pinctrl-[0-9]+$', '^silicon-id@[0-9a-f]+$'
from schema $id: http://devicetree.org/schemas/mfd/aspeed,ast2x00-scu.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: /ahb/apb/syscon@1e6e2000/smp-memram@180: failed to match any schema with compatible: ['aspeed,ast2600-smpmem']
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: adc@1e6e9000 (aspeed,ast2600-adc0): 'interrupts' does not match any of the regexes: '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: adc@1e6e9100 (aspeed,ast2600-adc1): 'interrupts' does not match any of the regexes: '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: crypto@1e6fa000 (aspeed,ast2600-acry): 'aspeed,ahbc' does not match any of the regexes: '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/crypto/aspeed,ast2600-acry.yaml
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: /ahb/apb/lpc@1e789000/lhc@a0: failed to match any schema with compatible: ['aspeed,ast2600-lhc']
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: /ahb/apb/lpc@1e789000/ibt@140: failed to match any schema with compatible: ['aspeed,ast2600-ibt-bmc']
arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dtb: /ahb/apb/dma-controller@1e79e000: failed to match any schema with compatible: ['aspeed,ast2600-udma']
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm
2025-11-08 22:24 ` [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding
@ 2025-11-14 4:16 ` Andrew Jeffery
2025-11-14 6:26 ` Marc Olberding
0 siblings, 1 reply; 6+ messages in thread
From: Andrew Jeffery @ 2025-11-14 4:16 UTC (permalink / raw)
To: Marc Olberding, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel
On Sat, 2025-11-08 at 14:24 -0800, Marc Olberding wrote:
> Adds a dts for the nvidia mgx pcie switchboard reference
> platformi hpm. This is a dual socket granite rapids based platform.
>
> Signed-off-by: Marc Olberding <molberding@nvidia.com>
> ---
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts | 235 +++++++++++++++++++++
> 2 files changed, 236 insertions(+)
>
> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
> index 0f0b5b7076545e6babb2f25f302b5d70b71d8a19..c3ce0d218b53f2b4c37061cace483f5f2c6d3bf1 100644
> --- a/arch/arm/boot/dts/aspeed/Makefile
> +++ b/arch/arm/boot/dts/aspeed/Makefile
> @@ -56,6 +56,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-lenovo-hr855xg2.dtb \
> aspeed-bmc-microsoft-olympus.dtb \
> aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
> + aspeed-bmc-nvidia-msx4-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-msx4-bmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts
> new file mode 100644
> index 0000000000000000000000000000000000000000..ad476a093293f807c04f7e70858af1f557c17370
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts
> @@ -0,0 +1,235 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +#include <dt-bindings/i2c/i2c.h>
> +
> +/ {
> + model = "AST2600 MSX4 Kernel";
I find this to be a curious model name :)
Are there no other reasonable names?
> + compatible = "nvidia,msx4-bmc", "aspeed,ast2600";
> +
> + aliases {
> + serial0 = &uart1;
> + serial1 = &uart2;
> + serial2 = &uart3;
> + serial3 = &uart4;
> + serial4 = &uart5;
Just checking whether you're actually using all of these? I guess the
uart nodes further down suggest so?
> + };
> +
> + chosen {
> + stdout-path = "uart5:115200n8";
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x80000000 0x80000000>;
> + };
> +
> + reserved-memory {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + gfx_memory: framebuffer {
> + compatible = "shared-dma-pool";
> + size = <0x01000000>;
> + alignment = <0x01000000>;
> + reusable;
> + };
> +
> + video_engine_memory: jpegbuffer {
> + compatible = "shared-dma-pool";
> + size = <0x02000000>; /* 32M */
> + alignment = <0x01000000>;
> + reusable;
> + };
> + };
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&fmc {
> + status = "okay";
> +
> + flash@0 {
> + compatible = "jedec,spi-nor";
> + label = "bmc";
> + spi-tx-bus-width = <4>;
> + spi-rx-bus-width = <4>;
> + status = "okay";
> + #include "openbmc-flash-layout-128.dtsi"
> + };
> +};
> +
> +&gfx {
> + memory-region = <&gfx_memory>;
> + status = "okay";
> +};
> +
> +&gpio0 {
> + gpio-line-names =
> + /*A0-A7*/ "","","","","","","","",
> + /*B0-B7*/ "ASSERT_BMC_READY","","","","","","","",
> + /*C0-C7*/ "MON_PWR_GOOD","","","","","","","FP_ID_LED_N",
> + /*D0-D7*/ "","","","","","","","",
> + /*E0-E7*/ "","","","","","","","",
> + /*F0-F7*/ "","","","","","","","",
> + /*G0-G7*/ "","","FP_LED_STATUS_GREEN_N","FP_LED_STATUS_AMBER_N",
> + "","","","",
> + /*H0-H7*/ "","","","","","","","",
> + /*I0-I7*/ "","","","","","","","",
> + /*J0-J7*/ "","","","","","","","",
> + /*K0-K7*/ "","","","","","","","",
> + /*L0-L7*/ "","","","","","","","",
> + /*M0-M7*/ "","","","","","","","",
> + /*N0-N7*/ "","","","","","","","",
> + /*O0-O7*/ "","","","","","","","",
> + /*P0-P7*/ "MON_PWR_BTN_L","ASSERT_PWR_BTN_L","MON_RST_BTN_L",
> + "ASSERT_RST_BTN_L","","ASSERT_NMI_BTN_L","","",
> + /*Q0-Q7*/ "","","MEMORY_HOT_0","MEMORY_HOT_1","","","","",
> + /*R0-R7*/ "ID_BTN","","","","","VBAT_GPIO","","",
> + /*S0-S7*/ "","","RST_PCA_MUX","","","","","",
> + /*T0-T7*/ "","","","","","","","",
> + /*U0-U7*/ "","","","","","","","",
> + /*V0-V7*/ "","","","","","","","",
> + /*W0-W7*/ "","","","","","","","",
> + /*X0-X7*/ "","","","","","","","",
> + /*Y0-Y7*/ "","","","","","","","",
> + /*Z0-Z7*/ "","","","","","","","";
> +};
> +
> +&gpio1 {
> + gpio-line-names =
> + /*18A0-18A7*/ "","","","","","","","",
> + /*18B0-18B7*/ "","","","","","","","",
> + /*18C0-18C7*/ "","","","","","","","",
> + /*18D0-18D7*/ "","","","","","","","",
> + /*18E0-18E3*/ "","","BMC_INIT_DONE","";
> +};
> +
> +&i2c0 {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "okay";
> +};
> +
> +&i2c2 {
> + status = "okay";
> +};
> +
> +&i2c3 {
> + status = "okay";
> +};
> +
> +&i2c4 {
> + status = "okay";
> +
> + eeprom@51 {
> + compatible = "atmel,24c256";
> + reg = <0x51>;
> + pagesize = <64>;
> + label = "sku";
> + };
> +};
> +
> +&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";
> +};
> +
> +&i2c15 {
> + status = "okay";
> +};
> +
Seems curious to enable all of these I2C controllers yet have no
devices under them? Can you elaborate?
Andrew
> +&kcs1 {
> + aspeed,lpc-io-reg = <0xca0>;
> + status = "okay";
> +};
> +
> +&kcs2 {
> + aspeed,lpc-io-reg = <0xca8>;
> + status = "okay";
> +};
> +
> +&kcs3 {
> + aspeed,lpc-io-reg = <0xca2>;
> + status = "okay";
> +};
> +
> +&lpc_reset {
> + status = "okay";
> +};
> +
> +&rtc {
> + status = "okay";
> +};
> +
> +&sgpiom0 {
> + ngpios = <80>;
> + status = "okay";
> +};
> +
> +&uart_routing {
> + status = "okay";
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart2 {
> + status = "okay";
> +};
> +
> +&uart3 {
> + status = "okay";
> +};
> +
> +&uart4 {
> + status = "okay";
> +};
> +
> +&uart5 {
> + status = "okay";
> +};
> +
> +&video {
> + memory-region = <&video_engine_memory>;
> + status = "okay";
> +};
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm
2025-11-14 4:16 ` Andrew Jeffery
@ 2025-11-14 6:26 ` Marc Olberding
0 siblings, 0 replies; 6+ messages in thread
From: Marc Olberding @ 2025-11-14 6:26 UTC (permalink / raw)
To: Andrew Jeffery
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
devicetree, linux-arm-kernel, linux-aspeed, linux-kernel
On Fri, Nov 14, 2025 at 02:46:19PM +1030, Andrew Jeffery wrote:
> > + model = "AST2600 MSX4 Kernel";
>
> I find this to be a curious model name :)
>
> Are there no other reasonable names?
>
For better or worse, this is the most accurate name, and matches the hpm hardware itself.
We may need multi-hpm support for the resulting firmware at some point, so matching
the hpm to the device tree seemed like the simplest thing to do. If this doesn't
match the way the kernel deals with this sort of thing, please let me know the best path forward.
> > + compatible = "nvidia,msx4-bmc", "aspeed,ast2600";
> > +
> > + aliases {
> > + serial0 = &uart1;
> > + serial1 = &uart2;
> > + serial2 = &uart3;
> > + serial3 = &uart4;
> > + serial4 = &uart5;
>
> Just checking whether you're actually using all of these? I guess the
> uart nodes further down suggest so?
>
These UARTs are wired up on this platform. Userspace may not use them today,
but we want to enable doing so without needing further device tree updates, in
case they are needed for debug where a BMC firmware flash would be unpalatable.
>
> Seems curious to enable all of these I2C controllers yet have no
> devices under them? Can you elaborate?
>
> Andrew
Unfortunately, the devices that we need over i2c are not
guaranteed to be available at BMC boot, and are probed in userspace through
the new_device sysfs node from the i2c subsystem. The BMC doesn't
have direct control over when these devices are accessible,
they are available after the host has completed POST.
As far as I can tell, there isn't a great way to defer probe for devices
that the BMC doesn't have immediate control over whether its accessible.
Regulators seem like a match, but it seems to assume that you can directly
turn on the power domain that the device is tied to, which isn't the case here
for various reasons.
Please let me know if I'm ignorant of a way to deal with this issue.
Thanks for the Review,
Marc
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-14 6:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-08 22:24 [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding
2025-11-08 22:24 ` [PATCH v3 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding
2025-11-08 22:24 ` [PATCH v3 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding
2025-11-14 4:16 ` Andrew Jeffery
2025-11-14 6:26 ` Marc Olberding
2025-11-10 14:34 ` [PATCH v3 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Rob Herring (Arm)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).