* [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB
@ 2025-06-10 20:12 Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 1/6] dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000 Alexander Sverdlin
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel
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:
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 | 31 +++++++
.../sophgo/sg2000-milkv-duo-module-01.dtsi | 85 ++++++++++++++++++
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
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v7 1/6] dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
@ 2025-06-10 20:12 ` Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 2/6] arm64: dts: sophgo: Add initial SG2000 SoC device tree Alexander Sverdlin
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel,
Conor Dooley
Move sophgo.yaml from riscv into soc/sophgo so that it can be shared for
all SoCs containing ARM cores as well. This already applies to SG2002.
Add SG2000 SoC, Milk-V Duo Module 01 and Milk-V Module 01 EVB.
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
.../devicetree/bindings/{riscv => soc/sophgo}/sophgo.yaml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
rename Documentation/devicetree/bindings/{riscv => soc/sophgo}/sophgo.yaml (81%)
diff --git a/Documentation/devicetree/bindings/riscv/sophgo.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml
similarity index 81%
rename from Documentation/devicetree/bindings/riscv/sophgo.yaml
rename to Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml
index b4c4d7a7d7ad..602c092b4ad5 100644
--- a/Documentation/devicetree/bindings/riscv/sophgo.yaml
+++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
-$id: http://devicetree.org/schemas/riscv/sophgo.yaml#
+$id: http://devicetree.org/schemas/soc/sophgo/sophgo.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Sophgo SoC-based boards
@@ -26,6 +26,11 @@ properties:
- enum:
- sophgo,huashan-pi
- const: sophgo,cv1812h
+ - items:
+ - enum:
+ - milkv,duo-module-01-evb
+ - const: milkv,duo-module-01
+ - const: sophgo,sg2000
- items:
- enum:
- sipeed,licheerv-nano-b
--
2.49.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 2/6] arm64: dts: sophgo: Add initial SG2000 SoC device tree
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 1/6] dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000 Alexander Sverdlin
@ 2025-06-10 20:12 ` Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 3/6] arm64: dts: sophgo: Add Duo Module 01 Alexander Sverdlin
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel
Add initial device tree for the SG2000 SoC by SOPHGO (from ARM64 PoV).
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
arch/arm64/boot/dts/sophgo/sg2000.dtsi | 86 ++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 arch/arm64/boot/dts/sophgo/sg2000.dtsi
diff --git a/arch/arm64/boot/dts/sophgo/sg2000.dtsi b/arch/arm64/boot/dts/sophgo/sg2000.dtsi
new file mode 100644
index 000000000000..51177dfe9ed2
--- /dev/null
+++ b/arch/arm64/boot/dts/sophgo/sg2000.dtsi
@@ -0,0 +1,86 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+#define SOC_PERIPHERAL_IRQ(nr) GIC_SPI (nr)
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <riscv/sophgo/cv180x.dtsi>
+#include <riscv/sophgo/cv181x.dtsi>
+
+/ {
+ compatible = "sophgo,sg2000";
+ interrupt-parent = <&gic>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu@0 {
+ compatible = "arm,cortex-a53";
+ device_type = "cpu";
+ reg = <0>;
+ enable-method = "psci";
+ i-cache-size = <32768>;
+ d-cache-size = <32768>;
+ next-level-cache = <&l2>;
+ };
+
+ l2: l2-cache {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x20000>;
+ };
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x20000000>; /* 512MiB */
+ };
+
+ pmu {
+ compatible = "arm,cortex-a53-pmu";
+ interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ cpu_on = <0xc4000003>;
+ cpu_off = <0x84000002>;
+ };
+
+ soc {
+ gic: interrupt-controller@1f01000 {
+ compatible = "arm,cortex-a15-gic";
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ reg = <0x01f01000 0x1000>,
+ <0x01f02000 0x2000>;
+ };
+
+ pinctrl: pinctrl@3001000 {
+ compatible = "sophgo,sg2000-pinctrl";
+ reg = <0x03001000 0x1000>,
+ <0x05027000 0x1000>;
+ reg-names = "sys", "rtc";
+ };
+
+ clk: clock-controller@3002000 {
+ compatible = "sophgo,sg2000-clk";
+ reg = <0x03002000 0x1000>;
+ clocks = <&osc>;
+ #clock-cells = <1>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
+ always-on;
+ clock-frequency = <25000000>;
+ };
+};
--
2.49.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 3/6] arm64: dts: sophgo: Add Duo Module 01
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 1/6] dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000 Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 2/6] arm64: dts: sophgo: Add initial SG2000 SoC device tree Alexander Sverdlin
@ 2025-06-10 20:12 ` Alexander Sverdlin
2025-06-10 22:04 ` Inochi Amaoto
2025-06-10 20:12 ` [PATCH v7 4/6] arm64: dts: sophgo: Add Duo Module 01 Evaluation Board Alexander Sverdlin
` (2 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel
The Duo Module 01 is a compact module with integrated SG2000,
WI-FI6/BTDM5.4, and eMMC.
Add only support for UART and SDHCI.
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
.../sophgo/sg2000-milkv-duo-module-01.dtsi | 85 +++++++++++++++++++
1 file changed, 85 insertions(+)
create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi
diff --git a/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi
new file mode 100644
index 000000000000..bb52cdad990a
--- /dev/null
+++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+#include <dt-bindings/pinctrl/pinctrl-sg2000.h>
+#include "sg2000.dtsi"
+
+/ {
+ model = "Milk-V Duo Module 01";
+ compatible = "milkv,duo-module-01", "sophgo,sg2000";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ serial3 = &uart3;
+ serial4 = &uart4;
+ };
+};
+
+&osc {
+ clock-frequency = <25000000>;
+};
+
+&pinctrl {
+ sdhci0_cfg: sdhci0-cfg {
+ sdhci0-cd-pins {
+ pinmux = <PINMUX(PIN_SD0_CD, 0)>;
+ bias-pull-up;
+ drive-strength-microamp = <10800>;
+ power-source = <3300>;
+ };
+
+ sdhci0-clk-pins {
+ pinmux = <PINMUX(PIN_SD0_CLK, 0)>;
+ bias-pull-up;
+ drive-strength-microamp = <16100>;
+ power-source = <3300>;
+ };
+
+ sdhci0-cmd-pins {
+ pinmux = <PINMUX(PIN_SD0_CMD, 0)>;
+ bias-pull-up;
+ drive-strength-microamp = <10800>;
+ power-source = <3300>;
+ };
+
+ sdhci0-data-pins {
+ pinmux = <PINMUX(PIN_SD0_D0, 0)>,
+ <PINMUX(PIN_SD0_D1, 0)>,
+ <PINMUX(PIN_SD0_D2, 0)>,
+ <PINMUX(PIN_SD0_D3, 0)>;
+ bias-pull-up;
+ drive-strength-microamp = <10800>;
+ power-source = <3300>;
+ };
+ };
+
+ uart0_cfg: uart0-cfg {
+ uart0-pins {
+ pinmux = <PINMUX(PIN_UART0_TX, 0)>,
+ <PINMUX(PIN_UART0_RX, 0)>;
+ bias-pull-up;
+ drive-strength-microamp = <10800>;
+ power-source = <3300>;
+ };
+ };
+};
+
+&emmc {
+ bus-width = <4>;
+ no-1-8-v;
+ cap-mmc-hw-reset;
+ no-sd;
+ no-sdio;
+ non-removable;
+ status = "okay";
+};
+
+/* Wi-Fi */
+&sdhci1 {
+ bus-width = <4>;
+ cap-sdio-irq;
+ no-mmc;
+ no-sd;
+ non-removable;
+};
--
2.49.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 4/6] arm64: dts: sophgo: Add Duo Module 01 Evaluation Board
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
` (2 preceding siblings ...)
2025-06-10 20:12 ` [PATCH v7 3/6] arm64: dts: sophgo: Add Duo Module 01 Alexander Sverdlin
@ 2025-06-10 20:12 ` Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 5/6] arm64: Add SOPHGO SOC family Kconfig support Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 6/6] arm64: defconfig: Enable rudimentary Sophgo SG2000 support Alexander Sverdlin
5 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel
Duo Module 01 Evaluation Board contains Sophgo Duo Module 01
SMD SoM, Ethernet+USB switch, microSD slot, etc...
Add only support for UART0 (console) and microSD slot.
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/sophgo/Makefile | 2 ++
.../sophgo/sg2000-milkv-duo-module-01-evb.dts | 31 +++++++++++++++++++
3 files changed, 34 insertions(+)
create mode 100644 arch/arm64/boot/dts/sophgo/Makefile
create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 79b73a21ddc2..3a32b157ac8c 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -28,6 +28,7 @@ subdir-y += realtek
subdir-y += renesas
subdir-y += rockchip
subdir-y += socionext
+subdir-y += sophgo
subdir-y += sprd
subdir-y += st
subdir-y += synaptics
diff --git a/arch/arm64/boot/dts/sophgo/Makefile b/arch/arm64/boot/dts/sophgo/Makefile
new file mode 100644
index 000000000000..94f52cd7d994
--- /dev/null
+++ b/arch/arm64/boot/dts/sophgo/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_SOPHGO) += sg2000-milkv-duo-module-01-evb.dtb
diff --git a/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts
new file mode 100644
index 000000000000..b1f8a5787861
--- /dev/null
+++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01-evb.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+/dts-v1/;
+
+#include "sg2000-milkv-duo-module-01.dtsi"
+
+/ {
+ model = "Milk-V Duo Module 01 Evaluation Board";
+ compatible = "milkv,duo-module-01-evb", "milkv,duo-module-01", "sophgo,sg2000";
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&uart0 {
+ pinctrl-0 = <&uart0_cfg>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&sdhci0 {
+ bus-width = <4>;
+ no-1-8-v;
+ no-mmc;
+ no-sdio;
+ disable-wp;
+ pinctrl-0 = <&sdhci0_cfg>;
+ pinctrl-names = "default";
+ status = "okay";
+};
--
2.49.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 5/6] arm64: Add SOPHGO SOC family Kconfig support
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
` (3 preceding siblings ...)
2025-06-10 20:12 ` [PATCH v7 4/6] arm64: dts: sophgo: Add Duo Module 01 Evaluation Board Alexander Sverdlin
@ 2025-06-10 20:12 ` Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 6/6] arm64: defconfig: Enable rudimentary Sophgo SG2000 support Alexander Sverdlin
5 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel
First user will be Aarch64 core within SG2000 SoC.
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
arch/arm64/Kconfig.platforms | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index a541bb029aa4..8c23aa111e94 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -307,6 +307,12 @@ config ARCH_INTEL_SOCFPGA
Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
Agilex and eASIC N5X.
+config ARCH_SOPHGO
+ bool "Sophgo SoCs"
+ select ARCH_HAS_RESET_CONTROLLER
+ help
+ This enables support for Sophgo SoC platform hardware.
+
config ARCH_STM32
bool "STMicroelectronics STM32 SoC Family"
select GPIOLIB
--
2.49.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 6/6] arm64: defconfig: Enable rudimentary Sophgo SG2000 support
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
` (4 preceding siblings ...)
2025-06-10 20:12 ` [PATCH v7 5/6] arm64: Add SOPHGO SOC family Kconfig support Alexander Sverdlin
@ 2025-06-10 20:12 ` Alexander Sverdlin
5 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2025-06-10 20:12 UTC (permalink / raw)
To: sophgo, soc
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Catalin Marinas,
Will Deacon, Arnd Bergmann, Jisheng Zhang, Haylen Chu, Chao Wei,
devicetree, linux-riscv, linux-kernel, linux-arm-kernel,
Krzysztof Kozlowski
Enable ARCH_SOPHGO, pinctrl (built-in, required to boot), ADC as module.
This defconfig is able to boot from SD card on Milk-V Duo Module 01
evalboard.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
arch/arm64/configs/defconfig | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 897fc686e6a9..b43f9502acce 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -66,6 +66,7 @@ CONFIG_ARCH_RENESAS=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_ARCH_SEATTLE=y
CONFIG_ARCH_INTEL_SOCFPGA=y
+CONFIG_ARCH_SOPHGO=y
CONFIG_ARCH_STM32=y
CONFIG_ARCH_SYNQUACER=y
CONFIG_ARCH_TEGRA=y
@@ -654,6 +655,7 @@ CONFIG_PINCTRL_SM8450_LPASS_LPI=m
CONFIG_PINCTRL_SC8280XP_LPASS_LPI=m
CONFIG_PINCTRL_SM8550_LPASS_LPI=m
CONFIG_PINCTRL_SM8650_LPASS_LPI=m
+CONFIG_PINCTRL_SOPHGO_SG2000=y
CONFIG_GPIO_ALTERA=m
CONFIG_GPIO_DAVINCI=y
CONFIG_GPIO_DWAPB=y
@@ -1430,6 +1432,7 @@ CONFIG_QCOM_HFPLL=y
CONFIG_CLK_GFM_LPASS_SM8250=m
CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y
CONFIG_CLK_RENESAS_VBATTB=m
+CONFIG_CLK_SOPHGO_CV1800=y
CONFIG_HWSPINLOCK=y
CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_QCOM=y
@@ -1530,6 +1533,7 @@ CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_ROCKCHIP_SARADC=m
CONFIG_RZG2L_ADC=m
+CONFIG_SOPHGO_CV1800B_ADC=m
CONFIG_TI_ADS1015=m
CONFIG_TI_AM335X_ADC=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
--
2.49.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v7 3/6] arm64: dts: sophgo: Add Duo Module 01
2025-06-10 20:12 ` [PATCH v7 3/6] arm64: dts: sophgo: Add Duo Module 01 Alexander Sverdlin
@ 2025-06-10 22:04 ` Inochi Amaoto
0 siblings, 0 replies; 8+ messages in thread
From: Inochi Amaoto @ 2025-06-10 22:04 UTC (permalink / raw)
To: Alexander Sverdlin, sophgo, soc
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Catalin Marinas, Will Deacon, Arnd Bergmann,
Jisheng Zhang, Haylen Chu, Chao Wei, devicetree, linux-riscv,
linux-kernel, linux-arm-kernel
On Tue, Jun 10, 2025 at 10:12:16PM +0200, Alexander Sverdlin wrote:
> The Duo Module 01 is a compact module with integrated SG2000,
> WI-FI6/BTDM5.4, and eMMC.
> Add only support for UART and SDHCI.
>
> Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> ---
> .../sophgo/sg2000-milkv-duo-module-01.dtsi | 85 +++++++++++++++++++
> 1 file changed, 85 insertions(+)
> create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi
>
> diff --git a/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi
> new file mode 100644
> index 000000000000..bb52cdad990a
> --- /dev/null
> +++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-module-01.dtsi
> @@ -0,0 +1,85 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +#include <dt-bindings/pinctrl/pinctrl-sg2000.h>
> +#include "sg2000.dtsi"
> +
> +/ {
> + model = "Milk-V Duo Module 01";
> + compatible = "milkv,duo-module-01", "sophgo,sg2000";
> +
> + aliases {
> + serial0 = &uart0;
> + serial1 = &uart1;
> + serial2 = &uart2;
> + serial3 = &uart3;
> + serial4 = &uart4;
> + };
> +};
> +
> +&osc {
> + clock-frequency = <25000000>;
> +};
> +
> +&pinctrl {
> + sdhci0_cfg: sdhci0-cfg {
> + sdhci0-cd-pins {
> + pinmux = <PINMUX(PIN_SD0_CD, 0)>;
> + bias-pull-up;
> + drive-strength-microamp = <10800>;
> + power-source = <3300>;
> + };
> +
> + sdhci0-clk-pins {
> + pinmux = <PINMUX(PIN_SD0_CLK, 0)>;
> + bias-pull-up;
> + drive-strength-microamp = <16100>;
> + power-source = <3300>;
> + };
> +
> + sdhci0-cmd-pins {
> + pinmux = <PINMUX(PIN_SD0_CMD, 0)>;
> + bias-pull-up;
> + drive-strength-microamp = <10800>;
> + power-source = <3300>;
> + };
> +
> + sdhci0-data-pins {
> + pinmux = <PINMUX(PIN_SD0_D0, 0)>,
> + <PINMUX(PIN_SD0_D1, 0)>,
> + <PINMUX(PIN_SD0_D2, 0)>,
> + <PINMUX(PIN_SD0_D3, 0)>;
> + bias-pull-up;
> + drive-strength-microamp = <10800>;
> + power-source = <3300>;
> + };
> + };
> +
> + uart0_cfg: uart0-cfg {
> + uart0-pins {
> + pinmux = <PINMUX(PIN_UART0_TX, 0)>,
> + <PINMUX(PIN_UART0_RX, 0)>;
> + bias-pull-up;
> + drive-strength-microamp = <10800>;
> + power-source = <3300>;
> + };
> + };
> +};
Please move this slice to the board dts, only configuration related to
the module itself can be left in this dtsi file.
Regards,
Inochi
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-06-10 22:51 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-10 20:12 [PATCH v7 0/6] arm64 support for Milk-V Duo Module 01 EVB Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 1/6] dt-bindings: soc: sophgo: Move SoCs/boards from riscv into soc, add SG2000 Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 2/6] arm64: dts: sophgo: Add initial SG2000 SoC device tree Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 3/6] arm64: dts: sophgo: Add Duo Module 01 Alexander Sverdlin
2025-06-10 22:04 ` Inochi Amaoto
2025-06-10 20:12 ` [PATCH v7 4/6] arm64: dts: sophgo: Add Duo Module 01 Evaluation Board Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 5/6] arm64: Add SOPHGO SOC family Kconfig support Alexander Sverdlin
2025-06-10 20:12 ` [PATCH v7 6/6] arm64: defconfig: Enable rudimentary Sophgo SG2000 support Alexander Sverdlin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).