[PATCH 00/10] arm64 support for Milk-V Duo Module 01 EVB
Chen Wang
unicorn_wang at outlook.com
Sun Feb 9 16:02:12 PST 2025
On 2025/2/10 6:06, Alexander Sverdlin wrote:
> This series adds very basic support for Milk-V Duo Module 01 EVB [1] in
> arm64 mode. The SoC (SG2000) is dual-arch, RiscV and ARM64, the latter has
> been chosen because the upstream toolchain can be utilized.
>
> Sophgo SG2000 seems to be a continuation of the Cvitek CV18xx series, same
> peripherals with an addition of ARM64 core. Therefore it would be
> beneficial not to copy-paste the peripherals' device-tree, but rather split
> the most suitable riscv DT into ARCH-specific and peripherals parts and
> just include the latter on the arm64 side.
>
> This series adds the device-tree for Milk-V Duo Module 01 EVB, which
> in turn contains Milk-V Duo Module 01 (separate .dtsi) on it, which has
> SG2000 SoC inside (separate .dtsi).
>
> This series has been tested with Sophgo-provided U-Boot binary [2]: it
> boots from SD card, pinctrl, serial, GPIO drivers are functional (same
> as for RiscV-based CV18xx SoCs).
> New reset driver is provided as an alternative to the ATF PSCI handler,
> which Sophgo only provides in binary form.
I just see Inochi posted a patchset about cv18xx reset driver [1]. FYI.
Maybe you and Inochi need to communicate with each other and synchronize
the related work in this regard.
Link:
https://lore.kernel.org/linux-riscv/20250209122936.2338821-1-inochiama@gmail.com/
[1]
>
> Partial SoC documentation is available [3].
>
> This series lacks the support of:
> - USB
> - Audio
> - Ethernet
> - WiFi
> - Bluetooth
> - eMMC
> - Video
>
> It would probably make sense that the whole series would go into SOC tree,
> even though technically nothing prevents the reboot/reset driver to come
> in PM/reset tree. If everything would come together, `reboot` command would
> work out of the box.
>
> [1] https://milkv.io/docs/duo/getting-started/duo-module-01
> [2] https://github.com/milkv-duo/duo-buildroot-sdk-v2/releases/
> [3] https://github.com/sophgo/sophgo-doc/releases/download/sg2000-trm-v1.01/sg2000_trm_en.pdf
>
> Alexander Sverdlin (10):
> arm64: Add SOPHGO SOC family Kconfig support
> riscv: dts: sophgo: cv18xx: Split into CPU core and peripheral parts
> arm64: dts: sophgo: Add initial SG2000 SoC device tree
> arm64: dts: sophgo: Add Duo Module 01
> arm64: dts: sophgo: Add Duo Module 01 Evaluation Board
> dt-bindings: mfd: syscon: Add Cvitek CV18xx rtcsys core and ctrl
> compatible
> dt-bindings: reset: sophgo: Add CV18xx reset controller
> riscv/arm64: dts: cv18xx: Add sysctl and reset nodes
> power: reset: cv18xx: New driver
> arm64: defconfig: Enable rudimentary Sophgo SG2000 support
>
> .../devicetree/bindings/mfd/syscon.yaml | 4 +
> .../bindings/reset/sophgo,cv1800-reset.yaml | 38 ++
> MAINTAINERS | 1 +
> arch/arm64/Kconfig.platforms | 12 +
> arch/arm64/boot/dts/Makefile | 1 +
> arch/arm64/boot/dts/sophgo/Makefile | 2 +
> arch/arm64/boot/dts/sophgo/sg2000.dtsi | 79 +++++
> .../sophgo/sg2000_milkv_duo_module_01.dtsi | 84 +++++
> .../sophgo/sg2000_milkv_duo_module_01_evb.dts | 30 ++
> arch/arm64/configs/defconfig | 3 +
> arch/riscv/boot/dts/sophgo/cv181x.dtsi | 2 +-
> arch/riscv/boot/dts/sophgo/cv18xx-periph.dtsi | 329 ++++++++++++++++++
> arch/riscv/boot/dts/sophgo/cv18xx.dtsi | 305 +---------------
> drivers/power/reset/Kconfig | 12 +
> drivers/power/reset/Makefile | 1 +
> drivers/power/reset/cv18xx-reset.c | 89 +++++
> 16 files changed, 689 insertions(+), 303 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/reset/sophgo,cv1800-reset.yaml
> create mode 100644 arch/arm64/boot/dts/sophgo/Makefile
> create mode 100644 arch/arm64/boot/dts/sophgo/sg2000.dtsi
> create mode 100644 arch/arm64/boot/dts/sophgo/sg2000_milkv_duo_module_01.dtsi
> create mode 100644 arch/arm64/boot/dts/sophgo/sg2000_milkv_duo_module_01_evb.dts
> create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-periph.dtsi
> create mode 100644 drivers/power/reset/cv18xx-reset.c
>
More information about the linux-riscv
mailing list