[PATCH v3 0/7] riscv: Add device tree support for UltraRISC DP1000
From: Xincheng Ji via B4 Relay
Date: Tue Oct 13 2026 - 06:54:19 EST
Add Devicetree support for the UltraRISC DP1000 RISC-V SoC and two
DP1000-based motherboards: Shenzhen Rongda M0 and Milk-V Titan.
DP1000 integrates eight UltraRISC CP100 CPU cores. The SoC description
includes the CPU and cache topology, CLINT, PLIC, clock controller,
pinctrl, GPIO, four UARTs, two SPI controllers, four I2C controllers,
three PCIe root complexes, GMAC, and the DMA controller.
The Shenzhen Rongda M0 and Milk-V Titan device trees add their
board-specific pin multiplexing, RTC devices, and Ethernet PHY
configuration. Both boards enable the three PCIe root complexes and
the GMAC described as disabled by default in the SoC DTS. The Titan
description also provides its GPIO wakeup keys.
The binding patches add the vendor, CPU, board, and peripheral compatible
strings consumed by the new device trees. The SPI, I2C, and AXI DMA nodes
use their respective generic DesignWare compatible strings as fallbacks.
An earlier version of the DP1000 SoC and board Devicetree support was
posted as part of a combined Devicetree and pinctrl series. The pinctrl
binding and driver were subsequently split out and merged separately.
This series carries the updated Devicetree portion.
Link: https://lore.kernel.org/all/20260515-ultrarisc-pinctrl-v1-0-bf559589ea8a@xxxxxxxxxxxxx/
The following prerequisites have been applied to their respective
subsystem trees but are not yet included in the base:
- net: stmmac: Add common internal RGMII delay handling and DP1000 support
https://lore.kernel.org/netdev/20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@xxxxxxxxxxxxx/
- dt-bindings: i2c: dw: Add compatible for UltraRISC DP1000 SoC
https://patch.msgid.link/20260907-ultrarisc-dts-v2-6-5eb4c97477c5@xxxxxxxxxxxxx
- dt-bindings: dma: snps,dw-axi-dmac: Add UltraRISC DP1000 compatible
https://patch.msgid.link/20260907-ultrarisc-dts-v2-7-5eb4c97477c5@xxxxxxxxxxxxx
Testing:
- Built dp1000-shenrongda-m0.dtb and dp1000-milkv-titan.dtb with
ARCH=riscv and W=1.
- Ran dt_binding_check for the modified and prerequisite bindings.
- Validated both DTBs against the relevant Devicetree schemas with
CHECK_DTBS=y and all prerequisite changes applied.
- Boot-tested both DTBs on Shenzhen Rongda M0 and Milk-V Titan. Verified
the CPU topology and CBO selftests, UART, SPI, I2C/RTC, system memory,
and all three PCIe root complexes. The expected PCIe endpoints were
enumerated on both boards.
- With the prerequisite GMAC series applied, ultrarisc-dwmac established
1000 Mb/s full-duplex links with the YT8531S PHY on M0 and the RTL8211F
PHY on Titan.
Signed-off-by: Jia Wang <wangjia@xxxxxxxxxxxxx>
Signed-off-by: Xincheng Ji <jixincheng@xxxxxxxxxxxxx>
---
Changes in v3:
- Drop the DP1000 SPI binding patch, which has been merged, and the I2C
and DMA binding patches, which have been applied.
- Correct the reg property address ranges and sizes for DMA and I2C nodes in the DP1000 base device tree.
- Link to v2: https://patch.msgid.link/20260907-ultrarisc-dts-v2-0-5eb4c97477c5@xxxxxxxxxxxxx
Changes in v2:
- Remove the dependency on the DP1000 clock series, which has since
been merged.
- Drop the generic DWMAC compatible patch; DP1000 GMAC support is handled
by a separate prerequisite series.
- Drop the RISC-V CPU binding yamllint fix, which has been applied.
- Add DP1000-specific resource constraints and hardware descriptions to
the SPI, I2C and DMA bindings.
- Correct the native chip-select count of SPI1 from three to four.
- Describe all eight per-channel DMA interrupts.
- Update the DP1000 GMAC nodes for the separate GMAC support series:
remove the generic DWMAC fallback, use "rgmii-id" for both boards, and
clarify the fixed MAC-side RGMII delays.
- Link to v1: https://patch.msgid.link/20260824-ultrarisc-dts-v1-0-61ab7aebe9e5@xxxxxxxxxxxxx
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Paul Walmsley <pjw@xxxxxxxxxx>
To: Palmer Dabbelt <palmer@xxxxxxxxxxx>
To: Albert Ou <aou@xxxxxxxxxxxxxxxxx>
To: Alexandre Ghiti <alex@xxxxxxxx>
To: Jia Wang <wangjia@xxxxxxxxxxxxx>
To: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
To: Thomas Gleixner <tglx@xxxxxxxxxx>
To: Samuel Holland <samuel.holland@xxxxxxxxxx>
To: Anup Patel <anup@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxx>
Cc: Conor Dooley <conor@xxxxxxxxxx>
Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
---
Jia Wang (7):
dt-bindings: vendor-prefixes: Add shenrongda
dt-bindings: riscv: cpus: Add UltraRISC CP100 compatible
dt-bindings: riscv: Add UltraRISC DP1000 board compatibles
dt-bindings: timer: Add UltraRISC DP1000 CLINT
riscv: dts: ultrarisc: Add initial device tree for UltraRISC DP1000
riscv: dts: ultrarisc: Add Shenzhen Rongda M0 board device tree
riscv: dts: ultrarisc: Add Milk-V Titan board device tree
Documentation/devicetree/bindings/riscv/cpus.yaml | 1 +
.../devicetree/bindings/riscv/ultrarisc.yaml | 27 +
.../devicetree/bindings/timer/sifive,clint.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 8 +
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/ultrarisc/Makefile | 3 +
.../dts/ultrarisc/dp1000-milkv-titan-pinctrl.dtsi | 108 +++
.../boot/dts/ultrarisc/dp1000-milkv-titan.dts | 203 +++++
arch/riscv/boot/dts/ultrarisc/dp1000-pinctrl.h | 63 ++
.../ultrarisc/dp1000-shenrongda-m0-pinctrl.dtsi | 79 ++
.../boot/dts/ultrarisc/dp1000-shenrongda-m0.dts | 113 +++
arch/riscv/boot/dts/ultrarisc/dp1000.dtsi | 899 +++++++++++++++++++++
13 files changed, 1508 insertions(+)
---
base-commit: 704340f1cd0dcef829eb62f5b48ae95a2ce17bdf
change-id: 20260522-ultrarisc-dts-9dab3a2316b6
prerequisite-message-id: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@xxxxxxxxxxxxx>
prerequisite-patch-id: 92e6cf1352d54e283d7721dc1542b580b8a41be1
prerequisite-patch-id: 875c2058e9d8a983d785d7447374758f994dc847
prerequisite-patch-id: 060a9b129c32c623a52ab1ba66f7a357e54575ff
prerequisite-patch-id: 9aafbac6d2531a378b2057bf57787c814523f9d3
prerequisite-patch-id: d75120a112276bd966d37441bd4d631e1539d0e8
prerequisite-patch-id: f526d36e1a4adb659a812fd4145dca2e69b19453
prerequisite-patch-id: 7d5e12085468dba34526d9047c62b357f874f91e
Best regards,
--
Xincheng Ji <jixincheng@xxxxxxxxxxxxx>