Re: [PATCH 7/9] riscv: dts: ultrarisc: add Rongda M0 board device tree
From: Jia Wang
Date: Thu May 28 2026 - 04:16:09 EST
On 2026-05-21 22:59 +0200, Krzysztof Kozlowski wrote:
> On 15/05/2026 03:18, Jia Wang via B4 Relay wrote:
> > From: Jia Wang <wangjia@xxxxxxxxxxxxx>
> >
> > Rongda M0 is an mATX motherboard based on the UltraRISC DP1000 SoC.
> >
> > Signed-off-by: Jia Wang <wangjia@xxxxxxxxxxxxx>
> > ---
> > arch/riscv/boot/dts/Makefile | 1 +
> > arch/riscv/boot/dts/ultrarisc/Makefile | 2 +
> > .../dts/ultrarisc/dp1000-rongda-m0-pinctrl.dtsi | 85 ++++++++++++++++
> > arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0.dts | 111 +++++++++++++++++++++
> > 4 files changed, 199 insertions(+)
> >
> > diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile
> > index 69d8751fb17c..702882974251 100644
> > --- a/arch/riscv/boot/dts/Makefile
> > +++ b/arch/riscv/boot/dts/Makefile
> > @@ -12,3 +12,4 @@ subdir-y += spacemit
> > subdir-y += starfive
> > subdir-y += tenstorrent
> > subdir-y += thead
> > +subdir-y += ultrarisc
> > diff --git a/arch/riscv/boot/dts/ultrarisc/Makefile b/arch/riscv/boot/dts/ultrarisc/Makefile
> > new file mode 100644
> > index 000000000000..d01a770d3cba
> > --- /dev/null
> > +++ b/arch/riscv/boot/dts/ultrarisc/Makefile
> > @@ -0,0 +1,2 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +dtb-$(CONFIG_ARCH_ULTRARISC) += dp1000-rongda-m0.dtb
> > diff --git a/arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0-pinctrl.dtsi b/arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0-pinctrl.dtsi
> > new file mode 100644
> > index 000000000000..101b416b1079
> > --- /dev/null
> > +++ b/arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0-pinctrl.dtsi
> > @@ -0,0 +1,85 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright(C) 2026 UltraRISC Technology (Shanghai) Co., Ltd.
> > + */
> > +
> > +#include "dp1000.dtsi"
> > +
> > +&pmx0 {
> > + i2c0_pins: i2c0-pins {
> > + pins = "PA12", "PA13";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + i2c1_pins: i2c1-pins {
> > + pins = "PB6", "PB7";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + i2c2_pins: i2c2-pins {
> > + pins = "PC0", "PC1";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + i2c3_pins: i2c3-pins {
> > + pins = "PC2", "PC3";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + pciex4a_link_pins: pciex4a-link-pins {
> > + pins = "PC0";
> > + function = "func1";
> > + bias-pull-down;
> > + drive-strength = <33>;
> > + };
> > +
> > + pciex4b_link_pins: pciex4b-link-pins {
> > + pins = "PC1";
> > + function = "func1";
> > + bias-pull-down;
> > + drive-strength = <33>;
> > + };
> > +
> > + spi0_pins: spi0-pins {
> > + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7";
> > + function = "func1";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + spi1_pins: spi1-pins {
> > + pins = "PA0", "PA1", "PA2", "PA3";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + uart0_pins: uart0-pins {
> > + pins = "PA8", "PA9";
> > + function = "func1";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + uart1_pins: uart1-pins {
> > + pins = "PB4", "PB5";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +
> > + uart2_pins: uart2-pins {
> > + pins = "PC4", "PC5";
> > + function = "func0";
> > + bias-pull-up;
> > + drive-strength = <33>;
> > + };
> > +};
> > diff --git a/arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0.dts b/arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0.dts
> > new file mode 100644
> > index 000000000000..6f72d60ad55e
> > --- /dev/null
> > +++ b/arch/riscv/boot/dts/ultrarisc/dp1000-rongda-m0.dts
> > @@ -0,0 +1,111 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright(C) 2026 UltraRISC Technology (Shanghai) Co., Ltd.
> > + */
> > +
> > +#include "dp1000-rongda-m0-pinctrl.dtsi"
> > +#include <dt-bindings/gpio/gpio.h>
> > +
> > +/ {
> > + model = "Rongda M0 Board";
> > + compatible = "rongda,m0", "ultrarisc,dp1000";
> > +
> > + aliases {
> > + serial0 = &uart0;
> > + serial1 = &uart1;
> > + serial2 = &uart2;
> > + serial3 = &uart3;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +
> > + gpio-poweroff {
> > + compatible = "gpio-poweroff";
> > + gpios = <&gpio_b 0 GPIO_ACTIVE_HIGH>;
> > + active-delay-ms = <100>;
> > +
> > + status = "disabled";
>
> Why is this disabled? You just added final board, so it cannot have any
> nodes disabled. Disabled at this point means you add dead code without
> explanation.
>
Will drop them, reset/poweroff is handled via OpenSBI SRST. Thanks!
>
> Best regards,
> Krzysztof
>
Best regards,
Jia Wang