[PATCH v10 2/2] ARM: dts: aspeed: Add ASRock Rack B650D4U BMC
Prasanth Kumar Padarthi
prasanth.padarthi10 at gmail.com
Thu Oct 29 16:13:39 PDT 2026
Add the device tree for the ASRock Rack B650D4U BMC, based on the
ASPEED AST2600 SoC.
Describe the BMC memory, SPI NOR flash layout, UART5 console, GPIO
line names, graphics memory, and the EEPROM on I2C7. Use the EEPROM
as the NVMEM provider for the MAC0 address and configure MAC0 with
an RTL8211F PHY in RGMII-ID mode.
Enable both ADC engines with 2.5 V internal references and expose
the sixteen channels through an IIO-to-hwmon bridge for board
voltage monitoring.
Retain the SoC's serial4 alias for UART5 and select it as stdout,
without adding a second serial alias for the same UART.
Reviewed-by: Andrew Lunn <andrew at lunn.ch> # MAC0 and MDIO nodes only
Signed-off-by: Prasanth Kumar Padarthi <prasanth.padarthi10 at gmail.com>
---
Changes in v10:
- Use the inherited serial4/UART5 alias instead of duplicating it as serial0.
- Consolidate root nodes and fix peripheral/ADC property ordering.
- Keep ADC settings and MAC0/MDIO semantics unchanged.
Changes in v9: enable ADC0/ADC1 and add the ordered IIO-to-hwmon bridge.
Earlier history and testing limitations: see the cover letter.
Previous series:
https://lore.kernel.org/all/20261027034911.99482-1-prasanth.padarthi10@gmail.com/
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../dts/aspeed/aspeed-bmc-asrock-b650d4u.dts | 169 ++++++++++++++++++
2 files changed, 170 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-asrock-b650d4u.dts
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 6874b621d..fcb94e62c 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-ampere-mtmitchell.dtb \
aspeed-bmc-arm-stardragon4800-rep2.dtb \
aspeed-bmc-asrock-altrad8.dtb \
+ aspeed-bmc-asrock-b650d4u.dtb \
aspeed-bmc-asrock-e3c246d4i.dtb \
aspeed-bmc-asrock-e3c256d4i.dtb \
aspeed-bmc-asrock-paul-ipmi-card.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-asrock-b650d4u.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-asrock-b650d4u.dts
new file mode 100644
index 000000000..522c4d53e
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-asrock-b650d4u.dts
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+
+/ {
+ compatible = "asrock,b650d4u-bmc", "aspeed,ast2600";
+ model = "ASRock Rack B650D4U BMC";
+
+ chosen {
+ stdout-path = "serial4:115200n8";
+ };
+
+ iio-hwmon {
+ compatible = "iio-hwmon";
+ io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
+ <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
+ <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
+ <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
+ };
+
+ memory at 80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x20000000>;
+ };
+
+ reserved-memory {
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ gfx_memory: framebuffer {
+ compatible = "shared-dma-pool";
+ alignment = <0x01000000>;
+ reusable;
+ size = <0x01000000>;
+ };
+ };
+};
+
+&adc0 {
+ pinctrl-0 = <&pinctrl_adc0_default>,
+ <&pinctrl_adc1_default>,
+ <&pinctrl_adc2_default>,
+ <&pinctrl_adc3_default>,
+ <&pinctrl_adc4_default>,
+ <&pinctrl_adc5_default>,
+ <&pinctrl_adc6_default>,
+ <&pinctrl_adc7_default>;
+ pinctrl-names = "default";
+ aspeed,int-vref-microvolt = <2500000>;
+
+ status = "okay";
+};
+
+&adc1 {
+ pinctrl-0 = <&pinctrl_adc8_default>,
+ <&pinctrl_adc9_default>,
+ <&pinctrl_adc10_default>,
+ <&pinctrl_adc11_default>,
+ <&pinctrl_adc12_default>,
+ <&pinctrl_adc13_default>,
+ <&pinctrl_adc14_default>,
+ <&pinctrl_adc15_default>;
+ pinctrl-names = "default";
+ aspeed,int-vref-microvolt = <2500000>;
+
+ status = "okay";
+};
+
+&fmc {
+ status = "okay";
+
+ flash at 0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+ spi-rx-bus-width = <4>;
+ m25p,fast-read;
+
+ status = "okay";
+
+#include "openbmc-flash-layout-64.dtsi"
+ };
+};
+
+&gfx {
+ memory-region = <&gfx_memory>;
+
+ status = "okay";
+};
+
+&gpio0 {
+ gpio-line-names =
+ /* A0-A7 */ "", "", "", "", "", "", "", "",
+ /* B0-B7 */ "", "", "", "", "", "", "", "",
+ /* C0-C7 */ "", "", "", "", "", "", "", "",
+ /* D0-D7 */ "", "", "", "", "", "", "", "",
+ /* E0-E7 */ "", "", "", "", "", "", "", "",
+ /* F0-F7 */ "", "", "", "", "", "", "", "",
+ /* G0-G7 */ "", "", "", "", "", "", "", "",
+ /* H0-H7 */ "", "", "", "", "", "", "", "",
+ /* I0-I7 */ "", "", "", "", "", "", "", "",
+ /* J0-J7 */ "", "", "", "", "", "", "", "",
+ /* K0-K7 */ "", "", "", "", "", "", "", "",
+ /* L0-L7 */ "", "", "", "", "", "", "", "",
+ /* M0-M7 */ "", "", "", "", "", "", "", "",
+ /* N0-N7 */ "", "", "", "", "", "", "", "",
+ /* O0-O7 */ "", "", "", "", "", "", "", "",
+ /* P0-P7 */ "button-reset-n", "control-reset-n",
+ "button-power-n", "control-power-n",
+ "button-nmi-n", "control-nmi-n",
+ "", "",
+ /* Q0-Q7 */ "", "", "", "", "", "", "", "",
+ /* R0-R7 */ "", "", "", "", "", "", "", "",
+ /* S0-S7 */ "", "", "", "", "", "", "", "",
+ /* T0-T7 */ "", "", "", "", "", "", "", "",
+ /* U0-U7 */ "", "", "", "", "", "", "", "",
+ /* V0-V7 */ "", "", "", "", "", "", "", "",
+ /* W0-W7 */ "", "", "", "", "", "", "", "",
+ /* X0-X7 */ "", "", "", "", "", "", "", "",
+ /* Y0-Y7 */ "", "", "", "", "", "", "", "",
+ /* Z0-Z7 */ "", "", "", "", "", "", "", "";
+};
+
+&i2c7 {
+ status = "okay";
+
+ eeprom at 57 {
+ compatible = "atmel,24c128";
+ reg = <0x57>;
+ pagesize = <16>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eth0_macaddress: macaddress at 3f80 {
+ reg = <0x3f80 6>;
+ };
+ };
+ };
+};
+
+&mac0 {
+ nvmem-cells = <ð0_macaddress>;
+ nvmem-cell-names = "mac-address";
+ phy-handle = <ðphy0>;
+ phy-mode = "rgmii-id";
+ pinctrl-0 = <&pinctrl_rgmii1_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&mdio0 {
+ status = "okay";
+
+ ethphy0: ethernet-phy at 0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&uart5 {
+ status = "okay";
+};
--
2.47.3
More information about the linux-arm-kernel
mailing list