.../{riscv => soc/sophgo}/sophgo.yaml | 7 +- arch/arm64/Kconfig.platforms | 6 ++ arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/sophgo/Makefile | 2 + .../sophgo/sg2000-milkv-duo-module-01-evb.dts | 76 ++++++++++++++++ .../sophgo/sg2000-milkv-duo-module-01.dtsi | 40 +++++++++ arch/arm64/boot/dts/sophgo/sg2000.dtsi | 86 +++++++++++++++++++ arch/arm64/configs/defconfig | 4 + 8 files changed, 221 insertions(+), 1 deletion(-) rename Documentation/devicetree/bindings/{riscv => soc/sophgo}/sophgo.yaml (81%) create mode 100644 arch/arm64/boot/dts/sophgo/Makefile create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi create mode 100644 arch/arm64/boot/dts/sophgo/sg2000.dtsi
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). Partial SoC documentation is available [3]. This series lacks the support of: - USB - Audio - Ethernet - WiFi - Bluetooth - eMMC - Video Changelog: v8: - moved sdhci0_cfg and uart0_cfg pinctrl nodes from module into board .dtsi - dropped Inochi's RB tags from the patches affected by above changes v7: - dropped all reset stuff again; it will come independently in [5] and is fully compatible; - rebase onto sophgo [6] for-next (3a8cef361be5) (almost v6.16-rc1) v6: - rebase onto sophgo/for-next (108a76779829) - dropped first patch refactoring RiscV counterpart (equivalent present in sophgo/for-next) - added cpu_on/cpu_off properties into psci node - added reset-controller node, compatible comes in [4] v5: - PSCI node in DT v4: - minimized patch 1/7 (cleanups dropped) - cv18xx-cpu-intc.dtsi instead of cv18xx-cpu.dtsi+cv18xx-intc.dtsi in patch 1/7 v3: - &cpus node has been moved into cv18xx-cpu.dtsi, &plic and &clint nodes were moved into cv18xx-intc.dtsi to reduce code duplication; v2: - dropped all patches related to the new reboot driver and corresponding DT and bindings; - grouped DT-related and config-related patches together; - added patch moving sophgo.yaml from riscv into soc (to share it with ARM); added SG2000 SoC and Milk-V Duo Module 01 EVB into it; - other changes are documented in the corresponding patches; [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 [4] https://lore.kernel.org/sophgo/20250609230417.620089-1-alexander.sverdlin@gmail.com/ [5] https://lore.kernel.org/all/20250608232214.771855-1-inochiama@gmail.com/ [6] https://github.com/sophgo/linux.git Alexander Sverdlin (6): dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000 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 arm64: Add SOPHGO SOC family Kconfig support arm64: defconfig: Enable rudimentary Sophgo SG2000 support .../{riscv => soc/sophgo}/sophgo.yaml | 7 +- arch/arm64/Kconfig.platforms | 6 ++ arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/sophgo/Makefile | 2 + .../sophgo/sg2000-milkv-duo-module-01-evb.dts | 76 ++++++++++++++++ .../sophgo/sg2000-milkv-duo-module-01.dtsi | 40 +++++++++ arch/arm64/boot/dts/sophgo/sg2000.dtsi | 86 +++++++++++++++++++ arch/arm64/configs/defconfig | 4 + 8 files changed, 221 insertions(+), 1 deletion(-) rename Documentation/devicetree/bindings/{riscv => soc/sophgo}/sophgo.yaml (81%) create mode 100644 arch/arm64/boot/dts/sophgo/Makefile create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi create mode 100644 arch/arm64/boot/dts/sophgo/sg2000.dtsi -- 2.49.0
On Thu, 12 Jun 2025 15:28:08 +0200, 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. > > [...] Applied to for-next, thanks! [1/6] dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000 https://github.com/sophgo/linux/commit/f71cc64dde536e1e805e5b38855d8d3a01eec845 [2/6] arm64: dts: sophgo: Add initial SG2000 SoC device tree https://github.com/sophgo/linux/commit/7846621ce517375537ae2772e54f033a241fe382 [3/6] arm64: dts: sophgo: Add Duo Module 01 https://github.com/sophgo/linux/commit/7a2f4a250a1129e9d92ed8c43c02f528181df679 [4/6] arm64: dts: sophgo: Add Duo Module 01 Evaluation Board https://github.com/sophgo/linux/commit/29f4eab1d97c89a0a72793823db287ea6649baf6 [5/6] arm64: Add SOPHGO SOC family Kconfig support https://github.com/sophgo/linux/commit/af00cebfbb31190dd0124c431d1baabae456c313 [6/6] arm64: defconfig: Enable rudimentary Sophgo SG2000 support https://github.com/sophgo/linux/commit/1793a187e20257c260f520d42611966d6d249f22 Thanks, Inochi
On Thu, Jun 12, 2025 at 03:28:08PM +0200, 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). > > Partial SoC documentation is available [3]. > > This series lacks the support of: > - USB > - Audio > - Ethernet > - WiFi > - Bluetooth > - eMMC > - Video > > Changelog: > v8: > - moved sdhci0_cfg and uart0_cfg pinctrl nodes from module into board .dtsi > - dropped Inochi's RB tags from the patches affected by above changes > v7: > - dropped all reset stuff again; it will come independently in [5] and is > fully compatible; > - rebase onto sophgo [6] for-next (3a8cef361be5) (almost v6.16-rc1) > v6: > - rebase onto sophgo/for-next (108a76779829) > - dropped first patch refactoring RiscV counterpart (equivalent present in > sophgo/for-next) > - added cpu_on/cpu_off properties into psci node > - added reset-controller node, compatible comes in [4] > v5: > - PSCI node in DT > v4: > - minimized patch 1/7 (cleanups dropped) > - cv18xx-cpu-intc.dtsi instead of cv18xx-cpu.dtsi+cv18xx-intc.dtsi in > patch 1/7 > v3: > - &cpus node has been moved into cv18xx-cpu.dtsi, &plic and &clint nodes > were moved into cv18xx-intc.dtsi to reduce code duplication; > v2: > - dropped all patches related to the new reboot driver and corresponding DT > and bindings; > - grouped DT-related and config-related patches together; > - added patch moving sophgo.yaml from riscv into soc (to share it with > ARM); added SG2000 SoC and Milk-V Duo Module 01 EVB into it; > - other changes are documented in the corresponding patches; > > [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 > [4] https://lore.kernel.org/sophgo/20250609230417.620089-1-alexander.sverdlin@gmail.com/ > [5] https://lore.kernel.org/all/20250608232214.771855-1-inochiama@gmail.com/ > [6] https://github.com/sophgo/linux.git > > Alexander Sverdlin (6): > dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add > SG2000 > 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 > arm64: Add SOPHGO SOC family Kconfig support > arm64: defconfig: Enable rudimentary Sophgo SG2000 support > > .../{riscv => soc/sophgo}/sophgo.yaml | 7 +- > arch/arm64/Kconfig.platforms | 6 ++ > arch/arm64/boot/dts/Makefile | 1 + > arch/arm64/boot/dts/sophgo/Makefile | 2 + > .../sophgo/sg2000-milkv-duo-module-01-evb.dts | 76 ++++++++++++++++ > .../sophgo/sg2000-milkv-duo-module-01.dtsi | 40 +++++++++ > arch/arm64/boot/dts/sophgo/sg2000.dtsi | 86 +++++++++++++++++++ > arch/arm64/configs/defconfig | 4 + > 8 files changed, 221 insertions(+), 1 deletion(-) > rename Documentation/devicetree/bindings/{riscv => soc/sophgo}/sophgo.yaml (81%) > create mode 100644 arch/arm64/boot/dts/sophgo/Makefile > create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts > create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi > create mode 100644 arch/arm64/boot/dts/sophgo/sg2000.dtsi > > -- > 2.49.0 > LGTM, I will merge this patch next week if there is no other comments. Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
© 2016 - 2025 Red Hat, Inc.