* [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard
@ 2025-11-24 23:14 Marc Olberding
2025-11-24 23:14 ` [PATCH v4 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Marc Olberding @ 2025-11-24 23:14 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 v4:
- Changed model name to be accurate per Andrew Jeffery
- Added comments about why there are no i2c devices described here per Andrew Jeffery
- Added support for probing the backup spi device through fmc
- Link to v3: https://lore.kernel.org/r/20251108-msx1_devicetree-v3-0-c7cb477ade27@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 | 248 +++++++++++++++++++++
3 files changed, 250 insertions(+)
---
base-commit: ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d
change-id: 20250908-msx1_devicetree-7af2c1fc15d0
Best regards,
--
Marc Olberding <molberding@nvidia.com>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v4 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board 2025-11-24 23:14 [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding @ 2025-11-24 23:14 ` Marc Olberding 2025-11-24 23:14 ` [PATCH v4 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding 2025-11-25 18:09 ` [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Rob Herring 2 siblings, 0 replies; 5+ messages in thread From: Marc Olberding @ 2025-11-24 23:14 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] 5+ messages in thread
* [PATCH v4 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm 2025-11-24 23:14 [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding 2025-11-24 23:14 ` [PATCH v4 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding @ 2025-11-24 23:14 ` Marc Olberding 2025-11-27 0:09 ` Andrew Jeffery 2025-11-25 18:09 ` [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Rob Herring 2 siblings, 1 reply; 5+ messages in thread From: Marc Olberding @ 2025-11-24 23:14 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 | 248 +++++++++++++++++++++ 2 files changed, 249 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..79d46c2c6cd3e1fbc9408b9b3f941a8d13177853 --- /dev/null +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts @@ -0,0 +1,248 @@ +// 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 BMC"; + 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" + }; + + flash@1 { + compatible = "jedec,spi-nor"; + label = "alt-bmc"; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <1>; + status = "okay"; + }; +}; + +&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",""; +}; + +// Devices on these busses are available after POST +// however there isn't a great way to defer probing +// until that point today, as the BMC doesn't +// have direct control over when the host completes +// POST, especially from the kernel. +&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] 5+ messages in thread
* Re: [PATCH v4 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm 2025-11-24 23:14 ` [PATCH v4 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding @ 2025-11-27 0:09 ` Andrew Jeffery 0 siblings, 0 replies; 5+ messages in thread From: Andrew Jeffery @ 2025-11-27 0:09 UTC (permalink / raw) To: Marc Olberding, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel Hi Marc, On Mon, 2025-11-24 at 15:14 -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. I was looking to apply this, and set about tweaking the commit message in the process, but the more I tweaked the more I felt I needed to tweak. So rather than do all that myself, I'll ask that you work through these requests :) The things that I'd like addressed are: 1. The subject prefix needs to begin with "ARM: ", so: ARM: dts: aspeed: ... 2. I'd rather stick to formalised naming and capitalisation, so NVIDIA, MSX4, and HPM, Granite Rapids etc 3. "Add a dts for" in the subject is a bit redundant, as we already have "dts" in the prefix. We can trim that out: ARM: dts: aspeed: Add NVIDIA MSX4 HPM platform 4. "HPM" hasn't yet been expanded anywhere and it's still a mystery to me. Can we unpack that in the commit message? 5. "Adds a dts for ..." in the commit message is self-evident from the patch. Rather, can you please talk a bit more about the purpose of the platform? I'd like to see discussion of its use cases and any interesting points of design or implementation. Cheers, Andrew ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard 2025-11-24 23:14 [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding 2025-11-24 23:14 ` [PATCH v4 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding 2025-11-24 23:14 ` [PATCH v4 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding @ 2025-11-25 18:09 ` Rob Herring 2 siblings, 0 replies; 5+ messages in thread From: Rob Herring @ 2025-11-25 18:09 UTC (permalink / raw) To: Marc Olberding Cc: Conor Dooley, Conor Dooley, devicetree, Joel Stanley, Krzysztof Kozlowski, Andrew Jeffery, linux-kernel, linux-aspeed, linux-arm-kernel On Mon, 24 Nov 2025 15:14:16 -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 v4: > - Changed model name to be accurate per Andrew Jeffery > - Added comments about why there are no i2c devices described here per Andrew Jeffery > - Added support for probing the backup spi device through fmc > - Link to v3: https://lore.kernel.org/r/20251108-msx1_devicetree-v3-0-c7cb477ade27@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 | 248 +++++++++++++++++++++ > 3 files changed, 250 insertions(+) > --- > base-commit: ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d > 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: ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d (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 20251124-msx1_devicetree-v4-0-a3ebe3110a67@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] 5+ messages in thread
end of thread, other threads:[~2025-11-27 0:09 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-11-24 23:14 [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Marc Olberding 2025-11-24 23:14 ` [PATCH v4 1/2] dt-bindings: arm: aspeed: Add Nvidia msx4 board Marc Olberding 2025-11-24 23:14 ` [PATCH v4 2/2] dts: aspeed: Add a dts for the nvidia msx4 hpm Marc Olberding 2025-11-27 0:09 ` Andrew Jeffery 2025-11-25 18:09 ` [PATCH v4 0/2] Add device tree for Nvidia BMC msx4 cx8 switchboard Rob Herring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox