* [PATCH v5 0/3] arm: dts: aspeed: Add Intel AVCRP and JNCRP BMC platforms
@ 2026-11-09 17:41 Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 1/3] dt-bindings: arm: aspeed: Add Intel AVCRP and JNCRP boards Dawid Glazik
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Dawid Glazik @ 2026-11-09 17:41 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
dawid.glazik, maciej.lawniczak
This series adds initial upstream support for the Intel AVCRP and JNCRP
BMC platforms. Both are x86 server platforms with Intel host processors,
managed by an ASPEED AST2600 BMC.
The first patch adds the board compatibles to the ASPEED binding. The
remaining two patches add the board DTS files and register them in the
ASPEED DTB build list.
Changes in v5:
- Removed bootargs from the chosen node
- Added a description of each platform to the commit messages
- Capitalised the first word of the DTS subjects
- Rebased onto the current aspeed/arm/dt
Dawid Glazik (3):
dt-bindings: arm: aspeed: Add Intel AVCRP and JNCRP boards
ARM: dts: aspeed: Add Intel AVCRP BMC
ARM: dts: aspeed: Add Intel JNCRP BMC
.../bindings/arm/aspeed/aspeed.yaml | 2 +
arch/arm/boot/dts/aspeed/Makefile | 2 +
.../dts/aspeed/aspeed-bmc-intel-avcrp.dts | 321 ++++++++++++++++++
.../dts/aspeed/aspeed-bmc-intel-jncrp.dts | 275 +++++++++++++++
4 files changed, 600 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-intel-avcrp.dts
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-intel-jncrp.dts
base-commit: 6767ba3efdda2d27e5eab719db39a7ed98d28b35
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v5 1/3] dt-bindings: arm: aspeed: Add Intel AVCRP and JNCRP boards
2026-11-09 17:41 [PATCH v5 0/3] arm: dts: aspeed: Add Intel AVCRP and JNCRP BMC platforms Dawid Glazik
@ 2026-11-09 17:41 ` Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 3/3] ARM: dts: aspeed: Add Intel JNCRP BMC Dawid Glazik
2 siblings, 0 replies; 6+ messages in thread
From: Dawid Glazik @ 2026-11-09 17:41 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
dawid.glazik, maciej.lawniczak, Krzysztof Kozlowski
Add compatible strings for the Intel AVCRP and JNCRP BMC boards.
Signed-off-by: Dawid Glazik <dawid.glazik@linux.intel.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
v5:
- Rebased onto the current aspeed/arm/dt, no other changes
v4:
- Rebased onto aspeed/arm/dt of bmc/linux.git, no other changes
v2:
- Squash the separate AVCRP and JNCRP commits from v1 into a single
commit, since the changes are small and closely related
- Fix compatible string ordering so the new entries stay in
alphabetical order within the enum
---
Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
index b7e70868ebd8..61616a9754a4 100644
--- a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
+++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
@@ -110,6 +110,8 @@ properties:
- ibm,sbp1-bmc
- ibm,system1-bmc
- ibm,tacoma-bmc
+ - intel,avcrp-bmc
+ - intel,jncrp-bmc
- inventec,starscream-bmc
- inventec,transformer-bmc
- jabil,rbp-bmc
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC
2026-11-09 17:41 [PATCH v5 0/3] arm: dts: aspeed: Add Intel AVCRP and JNCRP BMC platforms Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 1/3] dt-bindings: arm: aspeed: Add Intel AVCRP and JNCRP boards Dawid Glazik
@ 2026-11-09 17:41 ` Dawid Glazik
2026-11-10 5:53 ` Andrew Jeffery
2026-11-09 17:41 ` [PATCH v5 3/3] ARM: dts: aspeed: Add Intel JNCRP BMC Dawid Glazik
2 siblings, 1 reply; 6+ messages in thread
From: Dawid Glazik @ 2026-11-09 17:41 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
dawid.glazik, maciej.lawniczak, Andrew Lunn
AVCRP is an Intel x86 server platform equipped with an ASPEED
AST2600 BMC. The BMC is used for out-of-band management, platform
monitoring, and system control.
Signed-off-by: Dawid Glazik <dawid.glazik@linux.intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
---
v5:
- Removed bootargs from the chosen node
- Added a description of the platform to the commit message, written
in the style of other boards upstream (Facebook, Lenovo, Ampere)
- Rebased onto the current aspeed/arm/dt
- Capitalised the first word of the subject
v4:
- Rebased onto aspeed/arm/dt of bmc/linux.git, no other changes
v3:
- Sorted nodes alphabetically
- Sorted properties per dts-coding-style
- Removed lpc-snoop label
- Removed &i3c_global since it's enabled by default
- Removed GPIO line names for pins claimed by pinctrl
- Restored Reviewed-by from Andrew Lunn, dropped by mistake in v2
v2:
- Reviewed-by: Andrew Lunn for nodes: &mdio1, &mac1
- Replace bootargs console=ttyS4,115200n8 with stdout-path = &uart5
- Remove the unreferenced video_memory reserved-memory node
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../dts/aspeed/aspeed-bmc-intel-avcrp.dts | 321 ++++++++++++++++++
2 files changed, 322 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-intel-avcrp.dts
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 6874b621deb4..1e4154f12228 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -57,6 +57,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-ibm-rainier-4u.dtb \
aspeed-bmc-ibm-sbp1.dtb \
aspeed-bmc-ibm-system1.dtb \
+ aspeed-bmc-intel-avcrp.dtb \
aspeed-bmc-intel-s2600wf.dtb \
aspeed-bmc-inspur-fp5280g2.dtb \
aspeed-bmc-inspur-nf5280m6.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-intel-avcrp.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-intel-avcrp.dts
new file mode 100644
index 000000000000..eb73d6441222
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-intel-avcrp.dts
@@ -0,0 +1,321 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+// Copyright 2026 Intel Corporation
+
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+
+/ {
+ compatible = "intel,avcrp-bmc", "aspeed,ast2600";
+ model = "Intel AVCRP BMC";
+
+ aliases {
+ serial4 = &uart5;
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>;
+ };
+
+ reserved-memory {
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ video_engine_memory: jpegbuffer {
+ compatible = "shared-dma-pool";
+ alignment = <0x01000000>;
+ reusable;
+ size = <0x02000000>; /* 32M */
+ };
+ };
+};
+
+&fmc {
+ status = "okay";
+
+ flash@0 {
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+ spi-rx-bus-width = <4>;
+ m25p,fast-read;
+
+ status = "okay";
+
+#include "openbmc-flash-layout-64.dtsi"
+ };
+};
+
+&gpio0 {
+ gpio-line-names =
+ /*A0-A7*/ "", "", "", "", "SMB_CPU_PIROM_SCL", "SMB_CPU_PIROM_SDA",
+ "SMB_IPMB_STBY_LVC3_SCL", "SMB_IPMB_STBY_LVC3_SDA",
+ /*B0-B7*/ "", "", "", "FM_CPU1_ERR2_LVT3_N", "", "",
+ "FM_BMC_BMCINIT_R", "FP_ID_LED_N",
+ /*C0-C7*/ "FM_FORCE_BMC_UPDATE_N", "RST_RGMII_PHYRST_N",
+ "FM_TPM_EN_PULSE", "", "", "",
+ "FM_CPU1_ERR0_LVT3_N", "FM_CPU1_ERR1_LVT3_N",
+ /*D0-D7*/ "CPU_ERR0", "CPU_ERR1", "CPU_ERR2", "PRDY_N",
+ "FM_SPD_SWITCH_CTRL_N", "", "", "",
+ /*E0-E7*/ "FM_SKT1_FAULT_LED", "FM_SKT0_FAULT_LED",
+ "CLK_50M_CKMNG_BMCB", "ID_BUTTON", "", "", "", "",
+ /*F0-F7*/ "", "FM_DUAL_PARTITION_MODE_N",
+ "FM_STANDALONE_MODE_N", "FM_4S_8S_N_MODE",
+ "FM_NODE_ID0", "FM_NODE_ID1", "", "",
+ /*G0-G7*/ "FM_SMB_BMC_NVME_LVC3_ALERT_N", "RST_BMC_HSBP_MUX_N",
+ "FP_LED_STATUS_GREEN_N", "FP_LED_STATUS_AMBER_N",
+ "PS_PWROK", "FM_PARTITION_SEL",
+ "FM_BMC_CPU_FBRK_OUT_R_N", "DBP_PRESENT_IN_R2_N",
+ /*H0-H7*/ "", "", "", "", "PLTRST_N", "CPU_CATERR", "", "",
+ /*I0-I7*/ "", "JTAG_ASD_TDI_R", "JTAG_ASD_TCK_R", "JTAG_ASD_TMS_R",
+ "JTAG_ASD_TDO", "FM_BMC_PWRBTN_OUT_R_N",
+ "FM_BMC_PWR_BTN_N", "",
+ /*J0-J7*/ "", "", "", "", "", "", "", "",
+ /*K0-K7*/ "", "", "", "", "", "", "", "",
+ /*L0-L7*/ "", "", "", "", "PREQ_N", "TCK_MUX_SEL", "", "",
+ /*M0-M7*/ "", "", "", "", "", "", "SPA_SOUT", "SPA_SIN",
+ /*N0-N7*/ "", "", "", "", "", "", "SPB_SOUT", "SPB_SIN",
+ /*O0-O7*/ "", "", "", "", "", "", "NMI_BUTTON", "SPEAKER_BMC_R",
+ /*P0-P7*/ "RESET_BUTTON", "RESET_OUT", "POWER_BUTTON", "POWER_OUT",
+ "", "", "", "LED_BMC_HB_LED_N",
+ /*Q0-Q7*/ "", "", "", "", "", "", "", "",
+ /*R0-R7*/ "", "", "", "", "", "", "", "",
+ /*S0-S7*/ "RST_BMC_PCIE_MUX_N", "FM_BMC_TRUST_N",
+ "FM_BMC_FRU_WP_N", "", "PWRGD_CPU0_AUXPWRGD",
+ "A_P3V_BAT_SCALED_EN", "REMOTE_DEBUG_ENABLE", "",
+ /*T0-T7*/ "", "", "", "", "", "", "", "",
+ /*U0-U7*/ "", "", "", "", "", "", "", "",
+ /*V0-V7*/ "SIO_S3", "SIO_S5", "", "SIO_ONCONTROL",
+ "SIO_POWER_GOOD", "", "", "",
+ /*W0-W7*/ "LPC_LAD0_ESPI_R_IO0", "LPC_LAD1_ESPI_R_IO1",
+ "LPC_LAD2_ESPI_R_IO2", "LPC_LAD3_ESPI_R_IO3",
+ "CLK_24M_66M_LPC0_ESPI_BMC", "LPC_LFRAME_N_ESPI_CS0_BMC_N",
+ "IRQ_LPC_SERIRQ_ESPI_ALERT_N", "RST_LPC_LRST_ESPI_RST_BMC_R_N",
+ /*X0-X7*/ "", "", "PCH_BMC_THERMTRIP", "", "", "", "", "",
+ /*Y0-Y7*/ "FM_BMC_CMOS_CLR_R_N", "", "FM_BMC_SAFS_EN",
+ "IRQ_SML1_PMBUS_BMC_ALERT_N", "", "",
+ "", "",
+ /*Z0-Z7*/ "", "", "", "HW_STRAP_5", "HW_STRAP_6", "HW_STRAP_7",
+ "HW_STRAP_2", "HW_STRAP_3";
+};
+
+&i2c5 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c6 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c7 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c8 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c9 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c10 {
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+};
+
+&i2c12 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c13 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c15 {
+ status = "okay";
+};
+
+&i3c2 {
+ i2c-scl-hz = <400000>;
+ mctp-controller;
+
+ status = "okay";
+};
+
+&kcs3 {
+ aspeed,lpc-io-reg = <0xca2>;
+
+ status = "okay";
+};
+
+&lpc {
+ lpc-snoop@80 {
+ snoop-ports = <0x80>;
+
+ status = "okay";
+ };
+};
+
+&mac1 {
+ clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>,
+ <&syscon ASPEED_CLK_MAC2RCLK>;
+ clock-names = "MACCLK", "RCLK";
+ phy-handle = <ðphy1>;
+ phy-mode = "rgmii-id";
+ pinctrl-0 = <&pinctrl_rgmii2_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&mdio1 {
+ status = "okay";
+
+ ethphy1: ethernet-phy@0 {
+ compatible = "ethernet-phy-id001c.c916";
+ reg = <0>;
+ reset-assert-us = <10000>;
+ reset-deassert-us = <50000>;
+ reset-gpios = <&gpio0 ASPEED_GPIO(C, 1) GPIO_ACTIVE_LOW>;
+ };
+};
+
+&rtc {
+ status = "okay";
+};
+
+&sgpiom0 {
+ bus-frequency = <2000000>;
+ gpio-line-names =
+ /*A, 0-7*/ "CPU1_PRESENCE", "", "CPU1_THERMTRIP", "",
+ "CPU1_VRHOT", "", "H_CPU0_MON_FAIL_LVC1_N", "",
+ "CPU1_MEM_VRHOT", "", "CPU1_MEM_THERM_EVENT", "",
+ "FM_CPU0_PROC_ID0", "", "FM_CPU0_PROC_ID1", "",
+ /*B, 8-15*/ "CPU1_MISMATCH", "LED_CPU1_CH1_DIMM1_FAULT", "",
+ "LED_CPU1_CH1_DIMM2_FAULT", "CPU2_PRESENCE",
+ "LED_CPU1_CH2_DIMM1_FAULT", "CPU2_THERMTRIP",
+ "LED_CPU1_CH2_DIMM2_FAULT", "CPU2_VRHOT",
+ "LED_CPU1_CH3_DIMM1_FAULT", "H_CPU1_MON_FAIL_LVC1_N",
+ "LED_CPU1_CH3_DIMM2_FAULT", "CPU2_MEM_VRHOT",
+ "LED_CPU1_CH4_DIMM1_FAULT", "CPU2_MEM_THERM_EVENT",
+ "LED_CPU1_CH4_DIMM2_FAULT",
+ /*C, 16-23*/ "FM_CPU1_PROC_ID0", "LED_CPU1_CH5_DIMM1_FAULT",
+ "FM_CPU1_PROC_ID1", "LED_CPU1_CH5_DIMM2_FAULT",
+ "CPU2_MISMATCH", "LED_CPU1_CH6_DIMM1_FAULT", "",
+ "LED_CPU1_CH6_DIMM2_FAULT", "", "LED_FAN1_FAULT", "",
+ "LED_FAN2_FAULT", "", "LED_FAN3_FAULT", "",
+ "LED_FAN4_FAULT",
+ /*D, 24-31*/ "", "LED_FAN5_FAULT", "", "LED_FAN6_FAULT", "",
+ "LED_FAN7_FAULT", "", "LED_FAN8_FAULT", "",
+ "LED_CPU2_CH1_DIMM1_FAULT", "", "LED_CPU2_CH1_DIMM2_FAULT",
+ "", "LED_CPU2_CH2_DIMM1_FAULT", "",
+ "LED_CPU2_CH2_DIMM2_FAULT",
+ /*E, 32-39*/ "", "LED_CPU2_CH3_DIMM1_FAULT", "",
+ "LED_CPU2_CH3_DIMM2_FAULT", "", "LED_CPU2_CH4_DIMM1_FAULT",
+ "", "LED_CPU2_CH4_DIMM2_FAULT", "",
+ "LED_CPU2_CH5_DIMM1_FAULT", "", "LED_CPU2_CH5_DIMM2_FAULT",
+ "", "LED_CPU2_CH6_DIMM1_FAULT", "CPU1_CPLD_CRC_ERROR",
+ "LED_CPU2_CH6_DIMM2_FAULT",
+ /*F, 40-47*/ "CPU2_CPLD_CRC_ERROR", "", "CPU1_CATERR_IERR", "",
+ "CPU1_CATERR_MCERR", "", "CPU2_CATERR_IERR", "",
+ "CPU2_CATERR_MCERR", "", "", "", "", "", "", "",
+ /*G, 48-55*/ "MAIN_PLD_MINOR_REV_BIT0", "", "MAIN_PLD_MINOR_REV_BIT1", "",
+ "MAIN_PLD_MINOR_REV_BIT2", "", "MAIN_PLD_MINOR_REV_BIT3", "",
+ "MAIN_PLD_MAJOR_REV_BIT0", "", "MAIN_PLD_MAJOR_REV_BIT1", "",
+ "MAIN_PLD_MAJOR_REV_BIT2", "", "MAIN_PLD_MAJOR_REV_BIT3", "",
+ /*H, 56-63*/ "", "", "WMEMX_PWR_FLT", "", "WCPUX_MEM_PWR_FLT", "",
+ "PWRGD_P3V3_FF", "", "WPSU_PWR_FLT", "", "", "",
+ "", "", "WPCH_PWR_FLT", "",
+ /*I, 64-71*/ "FM_CPU0_PKGID0", "LED_CPU1_CH7_DIMM1_FAULT",
+ "FM_CPU0_PKGID1", "LED_CPU1_CH7_DIMM2_FAULT",
+ "FM_CPU0_PKGID2", "LED_CPU1_CH8_DIMM1_FAULT",
+ "H_CPU0_MEMTRIP_LVC1_N", "LED_CPU1_CH8_DIMM2_FAULT",
+ "FM_CPU1_PKGID0", "LED_CPU2_CH7_DIMM1_FAULT",
+ "FM_CPU1_PKGID1", "LED_CPU2_CH7_DIMM2_FAULT",
+ "FM_CPU1_PKGID2", "LED_CPU2_CH8_DIMM1_FAULT",
+ "H_CPU1_MEMTRIP_LVC1_N", "LED_CPU2_CH8_DIMM2_FAULT",
+ /*J, 72-79*/ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ /*K, 80-87*/ "FM_BOARD_REV_ID0", "LED_CPU0_CH9_DIMM1_FAULT",
+ "FM_BOARD_REV_ID1", "LED_CPU0_CH9_DIMM2_FAULT",
+ "FM_BOARD_REV_ID2", "LED_CPU0_CH10_DIMM1_FAULT",
+ "FM_BOARD_SKU_ID0", "LED_CPU0_CH10_DIMM2_FAULT",
+ "FM_BOARD_SKU_ID1", "LED_CPU0_CH11_DIMM1_FAULT",
+ "FM_BOARD_SKU_ID2", "LED_CPU0_CH11_DIMM2_FAULT",
+ "FM_BOARD_SKU_ID3", "LED_CPU0_CH12_DIMM1_FAULT",
+ "FM_BOARD_SKU_ID4", "LED_CPU0_CH12_DIMM2_FAULT",
+ /*L, 88-95*/ "FM_BOARD_SKU_ID5", "LED_CPU1_CH9_DIMM1_FAULT",
+ "FM_BMC_VAL_EN", "LED_CPU1_CH9_DIMM2_FAULT",
+ "FM_SERIAL_BOOT", "LED_CPU1_CH10_DIMM1_FAULT", "",
+ "LED_CPU1_CH10_DIMM2_FAULT", "S0_PWROK",
+ "LED_CPU1_CH11_DIMM1_FAULT", "", "LED_CPU1_CH11_DIMM2_FAULT",
+ "", "LED_CPU1_CH12_DIMM1_FAULT", "",
+ "LED_CPU1_CH12_DIMM2_FAULT",
+ /*M, 96-103*/ "", "FM_SURPRISE_RESET_N", "",
+ "FM_CPU1_INTR_CLK_CONFDONE_N", "", "FM_GLOBAL_RESET_N",
+ "FM_1200VA_OC", "BMC_BOOT_DONE", "", "IRQ_BMC_CPU_NMI_P0",
+ "", "IRQ_BMC_CPU_NMI_P1", "", "", "", "",
+ /*N, 104-111*/ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ /*O, 112-119*/ "R1S_PRESENCE", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ /*P, 120-127*/ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "";
+ ngpios = <128>;
+
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&vhub {
+ status = "okay";
+};
+
+&video {
+ memory-region = <&video_engine_memory>;
+
+ status = "okay";
+};
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v5 3/3] ARM: dts: aspeed: Add Intel JNCRP BMC
2026-11-09 17:41 [PATCH v5 0/3] arm: dts: aspeed: Add Intel AVCRP and JNCRP BMC platforms Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 1/3] dt-bindings: arm: aspeed: Add Intel AVCRP and JNCRP boards Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC Dawid Glazik
@ 2026-11-09 17:41 ` Dawid Glazik
2 siblings, 0 replies; 6+ messages in thread
From: Dawid Glazik @ 2026-11-09 17:41 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
dawid.glazik, maciej.lawniczak, Andrew Lunn
JNCRP is an Intel x86 server platform equipped with an ASPEED
AST2600 BMC. The BMC is used for out-of-band management, platform
monitoring, and system control.
Signed-off-by: Dawid Glazik <dawid.glazik@linux.intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
---
v5:
- Removed bootargs from the chosen node
- Added a description of the platform to the commit message, written
in the style of other boards upstream (Facebook, Lenovo, Ampere)
- Rebased onto the current aspeed/arm/dt
- Capitalised the first word of the subject
v4:
- Rebased onto aspeed/arm/dt of bmc/linux.git, no other changes
v3:
- Sorted nodes alphabetically
- Sorted properties per dts-coding-style
- Removed lpc-snoop label
- Removed &i3c_global since it's enabled by default
- Added &kcs3 and replaced flash layout with 128MB one
- Restored Reviewed-by from Andrew Lunn, dropped by mistake in v2
v2:
- Reviewed-by: Andrew Lunn for nodes: &mdio1, &mac1
- Replace bootargs console=ttyS4,115200n8 with stdout-path = &uart5
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../dts/aspeed/aspeed-bmc-intel-jncrp.dts | 275 ++++++++++++++++++
2 files changed, 276 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-intel-jncrp.dts
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 1e4154f12228..5e685a625883 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-ibm-sbp1.dtb \
aspeed-bmc-ibm-system1.dtb \
aspeed-bmc-intel-avcrp.dtb \
+ aspeed-bmc-intel-jncrp.dtb \
aspeed-bmc-intel-s2600wf.dtb \
aspeed-bmc-inspur-fp5280g2.dtb \
aspeed-bmc-inspur-nf5280m6.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-intel-jncrp.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-intel-jncrp.dts
new file mode 100644
index 000000000000..5d395986802f
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-intel-jncrp.dts
@@ -0,0 +1,275 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+// Copyright 2025 Intel Corporation
+
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+
+/ {
+ compatible = "intel,jncrp-bmc", "aspeed,ast2600";
+ model = "Intel JNCRP BMC";
+
+ aliases {
+ serial4 = &uart5;
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>;
+ };
+};
+
+&fmc {
+ status = "okay";
+
+ flash@0 {
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+ spi-rx-bus-width = <4>;
+ m25p,fast-read;
+
+ status = "okay";
+
+#include "openbmc-flash-layout-128.dtsi"
+ };
+};
+
+&gpio0 {
+ gpio-line-names =
+ /*A0-A7*/ "", "", "", "", "", "", "", "",
+ /*B0-B7*/ "PWRGD_AUX_PWRGD_BMC_CPU", "", "", "", "", "", "",
+ "FP_ID_LED_N",
+ /*C0-C7*/ "FM_FORCE_BMC_UPDATE_N", "RST_RGMII_PHYRST_N",
+ "FM_TPM_EN_PULSE", "", "", "",
+ "DBP_HOOK3_CPU_FBRK_OUT_R_N", "DBP_PRSNT_IN_N",
+ /*D0-D7*/ "CPU_ERR0_N", "CPU_ERR1_N", "CPU_ERR2_N", "DBP_ASD_BMC_PRDY_N",
+ "FM_SPD_SWITCH_CTRL_N", "", "", "",
+ /*E0-E7*/ "", "", "", "ID_BUTTON", "", "", "", "",
+ /*F0-F7*/ "", "", "FM_AGGREGATOR_MODE_N", "", "", "",
+ "FP_LED_STATUS_GREEN_R_N", "FP_LED_STATUS_AMBER_R_N",
+ /*G0-G7*/ "", "", "", "", "", "", "", "",
+ /*H0-H7*/ "", "", "", "", "", "", "", "",
+ /*I0-I7*/ "", "", "", "", "", "", "", "",
+ /*J0-J7*/ "", "", "", "", "", "", "", "",
+ /*K0-K7*/ "", "", "", "", "", "", "", "",
+ /*L0-L7*/ "", "", "", "", "PREQ_N", "FM_P3V3_SW_ENA", "", "",
+ /*M0-M7*/ "", "", "", "", "", "", "", "",
+ /*N0-N7*/ "", "", "", "", "", "", "", "",
+ /*O0-O7*/ "", "", "", "", "", "", "NMI_BUTTON", "",
+ /*P0-P7*/ "RESET_BUTTON", "RESET_OUT", "POWER_BUTTON", "POWER_OUT",
+ "", "", "", "LED_BMC_HB_LED_N",
+ /*Q0-Q7*/ "", "", "", "", "", "", "", "",
+ /*R0-R7*/ "", "", "", "", "", "", "", "",
+ /*S0-S7*/ "CPU_CATERR_IERR_N", "CPU_CATERR_MCERR_N", "FM_BMC_FRU_WP_N",
+ "FM_INTRUSION_CABLE_PRES_N", "PWRGD_CPU_AUXPWRGD",
+ "FM_P3V_BAT_SCALED_EN", "REMOTE_DEBUG_ENABLE", "",
+ /*T0-T7*/ "", "", "", "", "", "", "", "",
+ /*U0-U7*/ "", "", "", "", "", "", "", "",
+ /*V0-V7*/ "SIO_S3", "SIO_S5", "", "SIO_ONCONTROL",
+ "SIO_POWER_GOOD", "", "", "",
+ /*W0-W7*/ "", "", "", "", "", "", "", "",
+ /*X0-X7*/ "", "", "POST_COMPLETE", "", "", "", "", "",
+ /*Y0-Y7*/ "FM_BMC_CMOS_CLR_R_N", "PLTRST_N", "FM_BMC_SAFS_EN",
+ "IRQ_PSU_ALERT_LVC3_N", "", "", "", "",
+ /*Z0-Z7*/ "", "", "", "", "", "", "", "";
+
+ status = "okay";
+
+ spd-switch-cpu-hog {
+ gpio-hog;
+ gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
+ output-low;
+ };
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&i2c5 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c6 {
+ status = "okay";
+};
+
+&i2c7 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c8 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c9 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c10 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+};
+
+&i2c12 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c13 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i2c14 {
+ status = "okay";
+};
+
+&i2c15 {
+ multi-master;
+
+ status = "okay";
+};
+
+&i3c1 {
+ i2c-scl-hz = <1000000>;
+ mctp-controller;
+
+ status = "okay";
+};
+
+&kcs3 {
+ aspeed,lpc-io-reg = <0xca2>;
+
+ status = "okay";
+};
+
+&lpc {
+ lpc-snoop@80 {
+ snoop-ports = <0x80>;
+
+ status = "okay";
+ };
+};
+
+&mac1 {
+ clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>,
+ <&syscon ASPEED_CLK_MAC2RCLK>;
+ clock-names = "MACCLK", "RCLK";
+ phy-handle = <ðphy1>;
+ phy-mode = "rgmii-id";
+ pinctrl-0 = <&pinctrl_rgmii2_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&mdio1 {
+ status = "okay";
+
+ ethphy1: ethernet-phy@0 {
+ compatible = "ethernet-phy-id001c.c916";
+ reg = <0>;
+ reset-assert-us = <10000>;
+ reset-deassert-us = <50000>;
+ reset-gpios = <&gpio0 ASPEED_GPIO(C, 1) GPIO_ACTIVE_LOW>;
+ };
+};
+
+&rtc {
+ status = "okay";
+};
+
+&sgpiom0 {
+ bus-frequency = <2000000>;
+ gpio-line-names =
+ /*A, 0-7*/ "CPU0_VRHOT_N", "LED_POSTCODE_0_LSB",
+ "CPU0_THERMTRIP_N", "LED_POSTCODE_1",
+ "CPU0_MEMTRIP_N", "LED_POSTCODE_2",
+ "CPU0_MEM_VRHOT_N", "LED_POSTCODE_3",
+ "CPU0_MEM_HOT_N", "LED_POSTCODE_4",
+ "CPU0_MON_FAIL_N", "LED_POSTCODE_5",
+ "CPU1_VRHOT_N", "LED_POSTCODE_6",
+ "CPU1_THERMTRIP_N", "LED_POSTCODE_7_MSB",
+ /*B, 8-15*/ "CPU1_MEMTRIP_N", "FM_ASYNC_WARM_RESET_REQ",
+ "CPU1_MEM_VRHOT_N", "HPM_FRU_READ_DONE",
+ "CPU1_MEM_HOT_N", "FM_ASYNC_GLOBAL_RESET_REQ",
+ "CPU1_MON_FAIL_N", "BMC_BOOT_DONE",
+ "CPU2_VRHOT_N", "NMI_OUT",
+ "CPU2_THERMTRIP_N", "AGGREGATOR_MODE",
+ "CPU2_MEMTRIP_N", "RST_I3C_PCIE_HUB_N",
+ "CPU2_MEM_VRHOT_N", "",
+ /*C, 16-23*/ "CPU2_MEM_HOT_N", "HPM0_PRESENT",
+ "CPU2_MON_FAIL_N", "HPM1_PRESENT",
+ "CPU3_VRHOT_N", "HPM2_PRESENT",
+ "CPU3_THERMTRIP_N", "HPM3_PRESENT",
+ "CPU3_MEMTRIP_N", "HPM0_SOURCE_TO_DESTINATION_FAIL",
+ "CPU3_MEM_VRHOT_N", "HPM1_SOURCE_TO_DESTINATION_FAIL",
+ "CPU3_MEM_HOT_N", "HPM2_SOURCE_TO_DESTINATION_FAIL",
+ "CPU3_MON_FAIL_N", "HPM3_SOURCE_TO_DESTINATION_FAIL",
+ /*D, 24-31*/ "FM_BMC_VAL_EN", "HPM0_FRU_VALID",
+ "FM_SERIAL_BOOT", "HPM1_FRU_VALID",
+ "FM_INTRUSION_CABLE_PRES_N", "HPM2_FRU_VALID",
+ "USB_OC_P2_3_N", "HPM3_FRU_VALID",
+ "FM_SYSTEM_COOLING_MODE0", "FM_S2D_DISCOVERY_DONE",
+ "FM_SYSTEM_COOLING_MODE1", "", "", "", "", "",
+ /*E, 32-39*/ "DBP_PMODE_S0_PWROK", "", "DBP_PMODE_PLTRST", "",
+ "DBP_PMODE_GLOBALRESET", "", "DBP_PMODE_CPU_PWRGD", "",
+ "FM_SMBUS_RDY", "", "FM_LEAK_DETECTION", "",
+ "FM_LEAK_CBL_PRSNT_N", "", "FM_LEAK_CBL_FAULT_N", "",
+ /*F, 40-47*/ "CPU0_SKTOCC1_N", "CPU0_SKT_FAULT_LED",
+ "CPU0_SKTOCC2_N", "CPU1_SKT_FAULT_LED",
+ "CPU0_MISMATCH", "CPU2_SKT_FAULT_LED",
+ "CPU1_SKTOCC1_N", "CPU3_SKT_FAULT_LED",
+ "CPU1_SKTOCC2_N", "", "CPU1_MISMATCH", "",
+ "CPU2_SKTOCC1_N", "", "CPU2_SKTOCC2_N", "",
+ /*G, 48-55*/ "CPU2_MISMATCH", "", "CPU3_SKTOCC1_N", "",
+ "CPU3_SKTOCC2_N", "", "CPU3_MISMATCH", "",
+ "HPM0_PRSNT_N", "", "HPM1_PRSNT_N", "",
+ "HPM2_PRSNT_N", "", "HPM3_PRSNT_N", "",
+ /*H, 56-63*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ /*I, 64-71*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ /*J, 72-79*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ /*K, 80-87*/ "FM_BOARD_REV_ID0", "", "FM_BOARD_REV_ID1", "",
+ "FM_BOARD_REV_ID2", "", "FM_BOARD_SKU_ID0", "",
+ "FM_BOARD_SKU_ID1", "", "FM_BOARD_SKU_ID2", "",
+ "FM_BOARD_SKU_ID3", "", "FM_BOARD_SKU_ID4", "",
+ /*L, 88-95*/ "FM_BOARD_SKU_ID5", "", "FM_BOARD_SKU_ID6", "",
+ "FM_BOARD_SKU_ID7", "", "", "", "", "", "", "",
+ "", "", "", "",
+ /*M, 96-103*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ /*N, 104-111*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ /*O, 112-119*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ /*P, 120-127*/ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "";
+ ngpios = <128>;
+
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
--
2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC
2026-11-09 17:41 ` [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC Dawid Glazik
@ 2026-11-10 5:53 ` Andrew Jeffery
2026-11-10 16:42 ` Dawid Glazik
0 siblings, 1 reply; 6+ messages in thread
From: Andrew Jeffery @ 2026-11-10 5:53 UTC (permalink / raw)
To: Dawid Glazik, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
maciej.lawniczak, Andrew Lunn
On Mon, 2026-11-09 at 18:41 +0100, Dawid Glazik wrote:
> AVCRP is an Intel x86 server platform equipped with an ASPEED
> AST2600 BMC. The BMC is used for out-of-band management, platform
> monitoring, and system control.
It's probably my fault to some degree for not providing a better
explanation of what I was after on v4, and for merging changes from
others in the past that were pretty lax on the description, but what I
was hoping for was something more like e.g:
- f28674fab34f ("ARM: dts: aspeed: Add NVIDIA MSX4 HPM"), or
- bc83b7353d2b ("ARM: dts: aspeed: Add Facebook Anacapa platform")
Are there more details you can provide? If there are, I'm fine if you
reply here with them, and if there are no further concerns I can update
the commit message while applying the patches.
This also applies to the JNCRP patch that follows.
Andrew
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC
2026-11-10 5:53 ` Andrew Jeffery
@ 2026-11-10 16:42 ` Dawid Glazik
0 siblings, 0 replies; 6+ messages in thread
From: Dawid Glazik @ 2026-11-10 16:42 UTC (permalink / raw)
To: Andrew Jeffery, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
maciej.lawniczak, Andrew Lunn
On 11/10/2026 6:53 AM, Andrew Jeffery wrote:
> On Mon, 2026-11-09 at 18:41 +0100, Dawid Glazik wrote:
>> AVCRP is an Intel x86 server platform equipped with an ASPEED
>> AST2600 BMC. The BMC is used for out-of-band management, platform
>> monitoring, and system control.
>
> It's probably my fault to some degree for not providing a better
> explanation of what I was after on v4, and for merging changes from
> others in the past that were pretty lax on the description, but what I
> was hoping for was something more like e.g:
>
> - f28674fab34f ("ARM: dts: aspeed: Add NVIDIA MSX4 HPM"), or
> - bc83b7353d2b ("ARM: dts: aspeed: Add Facebook Anacapa platform")
>
> Are there more details you can provide? If there are, I'm fine if you
> reply here with them, and if there are no further concerns I can update
> the commit message while applying the patches.
>
> This also applies to the JNCRP patch that follows.
>
> Andrew
Hi Andrew,
Thanks, that helps. I also found one more issue in v5 (uart-routing
issue), so I'll send a v6 with the fuller descriptions below
instead of having you edit them. Please hold off applying v5.
AVCRP is an Intel x86 server platform. The BMC is an ASPEED
AST2600-based RunBMC module on the platform's DC-SCM. It supports the
platform's out-of-band management and exposes board management I/O such
as the system UARTs, status LEDs and control buttons, while integrating
with the host's telemetry and management infrastructure.
JNCRP is an Intel x86 server platform managed by an ASPEED AST2600 BMC.
The BMC is the platform management controller for the host system and
supports platform power and reset control, while participating in
out-of-band monitoring and reporting for host faults during bring-up and
normal operation.
Does this shape work for you?
Best regards,
Dawid
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-11-10 16:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-09 17:41 [PATCH v5 0/3] arm: dts: aspeed: Add Intel AVCRP and JNCRP BMC platforms Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 1/3] dt-bindings: arm: aspeed: Add Intel AVCRP and JNCRP boards Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 2/3] ARM: dts: aspeed: Add Intel AVCRP BMC Dawid Glazik
2026-11-10 5:53 ` Andrew Jeffery
2026-11-10 16:42 ` Dawid Glazik
2026-11-09 17:41 ` [PATCH v5 3/3] ARM: dts: aspeed: Add Intel JNCRP BMC Dawid Glazik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®