[PATCH v5 0/3] riscv: dts: sophgo: Add Milk-V Duo 256M board support
Chen-Yu Yeh
chenyou910331 at gmail.com
Sat Jul 25 10:53:42 PDT 2026
The Milk-V Duo 256M is a small form factor development board based on
the Sophgo SG2002 SoC.
This series adds the board binding, the PWR_GPIO controller node for
the CV180x/CV181x family, and the board device tree with support for
the UART console, SD/MMC, USB host and the onboard blue status LED.
Tested on actual Milk-V Duo 256M hardware: verified boot to shell,
SD card rootfs mount, USB host (root hub detected) and the heartbeat
LED, both via the default heartbeat trigger and manual sysfs control.
A U-Boot series adding support for the same board [0] refers to this
series as the canonical device tree, and intends to switch to the
upstream kernel DT once this lands.
[0] https://lore.kernel.org/u-boot/20260710-add-milkv-duo256m-v1-0-0f761100361d@baylibre.com/
Changes since v4:
- Fix the coprocessor RTOS reserved region in the board dts. v4 carried
over the address from the 64M Duo (0x83f40000/0xc0000), which sits at
the top of 64MB and is wrong for this board. The vendor device tree
passed by the bootloader declares memory as <0x80000000 0x0fe00000>,
i.e. the firmware keeps the top 2MB of the 256MB DRAM for the RTOS, so
the region is 0x8fe00000/0x200000. This matches cv1812h-huashan-pi,
which has the same amount of DRAM. Verified on hardware:
OF: reserved mem: 0x000000008fe00000..0x000000008fffffff (2048 KiB)
nomap non-reusable region at 8fe00000
(Reported by sashiko-bot)
Changes since v3:
- Move the pwr_gpio node in cv180x.dtsi to follow unit-address ordering,
placing it between usb at 4340000 and rtc at 5025000 (Inochi Amaoto)
Changes since v2:
- Add the PWR_GPIO (porte) controller node to cv180x.dtsi as a new
patch, instead of dropping the LED node (Inochi Amaoto)
- Restore the gpio-leds node for the onboard blue status LED
- Add my copyright to the new board dts
- Drop the unrelated Makefile trailing-newline change
Changes since v1:
- Removed the leds node because &porte was not supported in cv180x.dtsi
(reworked in v3)
- Retained the &usb node because it is already defined in cv180x.dtsi
Chen-Yu Yeh (3):
dt-bindings: soc: sophgo: add Milk-V Duo 256M board
riscv: dts: sophgo: cv180x: Add PWR_GPIO controller
riscv: dts: sophgo: Add Milk-V Duo 256M board support
.../bindings/soc/sophgo/sophgo.yaml | 4 +
arch/riscv/boot/dts/sophgo/Makefile | 1 +
arch/riscv/boot/dts/sophgo/cv180x.dtsi | 18 +++
.../boot/dts/sophgo/sg2002-milkv-duo256m.dts | 121 ++++++++++++++++++
4 files changed, 144 insertions(+)
create mode 100644 arch/riscv/boot/dts/sophgo/sg2002-milkv-duo256m.dts
--
2.43.0
More information about the linux-riscv
mailing list