Re: [PATCH 00/10] arm64 support for Milk-V Duo Module 01 EVB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxx/ [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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux