[PATCH v5 0/3] riscv: dts: sophgo: Add Milk-V Duo 256M board support
Chen-Yu Yeh <[email protected]> Sun, 26 Jul 2026 01:53:42 +0800
| Newsgroups | dev.linux.lists.sophgo,org.infradead.lists.linux-riscv |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected]/ 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@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@4340000 and rtc@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