* [PATCH v5 0/5] Add initial Milk-V Duo S board support
@ 2026-04-03 11:15 Joshua Milas
2026-04-03 11:15 ` [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Joshua Milas @ 2026-04-03 11:15 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup
Cc: josh.milas, linux-kernel, devicetree, linux-riscv, sophgo,
hanguidong02, michael.opdenacker
This adds an initial device tree for the Milk-V Duo S board
with support for reading from the SD card and network over
Ethernet. This is continued work from Michael Opdenacker's
v6 series [1] on the ARM64 and RISCV side. It has been tested
with ARM64 and RISCV64 to boot from an SD card, have networking,
and read I2C slave devices over i2c4.
---
v5
- Fixes spaces at beginning of line in &usb node of DTS
v4: https://lore.kernel.org/sophgo/20260328173450.219664-2-josh.milas@gmail.com/
- Rebased to latest sophogo/for-next
- Added usb node to arm64 and riscv DTS
- Removed sg200x link in commit messages
- Added missing change to v3 and removed link from v2
v3: https://lore.kernel.org/sophgo/20251029001052.36774-1-josh.milas@gmail.com/
- Added sg2000 interrupt controller and timer to documentation
- Added sg2000.dtsi for RISCV and moved DTS over to use it
- remove devices from DTS's to match what is available in the
default pinmux config. spi0-2, i2c0-3, uart1-4
- Added i2c4 and spi3 aliases
- Removed milkv,duo-s from sophgo,cv1812h in documentation
v2: https://lore.kernel.org/sophgo/20251011014811.28521-1-josh.milas@gmail.com/
- Made new entry in docs to avoid DTC error
- "Milk-V DuoS" -> "Milk-V Duo S"
- Sorting of aliases
- Added uart*, emmc, mdio, gmac0, i2c*, spi*, dmac, saradc
to device tree matching what is available on the pinout
- Removal of 'no-mmc' and 'no-sdio' for sdhci0 as it works without
- Added riscv device tree
v1: https://lore.kernel.org/sophgo/20250927173619.89768-1-josh.milas@gmail.com/
Link: https://lore.kernel.org/linux-riscv/20240421055710.143617-1-michael.opdenacker@bootlin.com/ [1]
Joshua Milas (5):
dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
arm64: dts: sophgo: add initial Milk-V Duo S board support
dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
riscv64: dts: sophgo: add SG2000 dtsi
riscv64: dts: sophgo: add initial Milk-V Duo S board support
.../sifive,plic-1.0.0.yaml | 1 +
.../bindings/soc/sophgo/sophgo.yaml | 4 +
.../bindings/timer/sifive,clint.yaml | 1 +
arch/arm64/boot/dts/sophgo/Makefile | 1 +
.../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 85 +++++++++++++++++++
arch/riscv/boot/dts/sophgo/Makefile | 1 +
.../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 85 +++++++++++++++++++
arch/riscv/boot/dts/sophgo/sg2000.dtsi | 53 ++++++++++++
8 files changed, 231 insertions(+)
create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts
create mode 100644 arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
create mode 100644 arch/riscv/boot/dts/sophgo/sg2000.dtsi
base-commit: 9aa6068586a9b4cd34cf04f8dee72a7283ab4ae4
--
2.53.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
2026-04-03 11:15 [PATCH v5 0/5] Add initial Milk-V Duo S board support Joshua Milas
@ 2026-04-03 11:15 ` Joshua Milas
2026-04-04 8:05 ` Krzysztof Kozlowski
2026-04-03 11:15 ` [PATCH v5 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Joshua Milas @ 2026-04-03 11:15 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup
Cc: josh.milas, linux-kernel, devicetree, linux-riscv, sophgo,
hanguidong02, michael.opdenacker
Document the compatible strings for the Milk-V Duo S board [1]
which uses the SOPHGO SG2000 SoC.
Link: https://milkv.io/duo-s [1]
Signed-off-by: Joshua Milas <josh.milas@gmail.com>
---
Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml
index 1c502618de51f..0b6fbab48b743 100644
--- a/Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml
+++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml
@@ -31,6 +31,10 @@ properties:
- milkv,duo-module-01-evb
- const: milkv,duo-module-01
- const: sophgo,sg2000
+ - items:
+ - enum:
+ - milkv,duo-s
+ - const: sophgo,sg2000
- items:
- enum:
- sipeed,licheerv-nano-b
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v5 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
2026-04-03 11:15 [PATCH v5 0/5] Add initial Milk-V Duo S board support Joshua Milas
2026-04-03 11:15 ` [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
@ 2026-04-03 11:15 ` Joshua Milas
2026-04-03 11:15 ` [PATCH v5 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
` (2 subsequent siblings)
4 siblings, 0 replies; 11+ messages in thread
From: Joshua Milas @ 2026-04-03 11:15 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup
Cc: josh.milas, linux-kernel, devicetree, linux-riscv, sophgo,
hanguidong02, michael.opdenacker
Adds initial arm64 support for the Milk-V Duo S board
[1] making it possible to boot Linux to the command line.
Link: https://milkv.io/duo-s [1]
Signed-off-by: Joshua Milas <josh.milas@gmail.com>
---
arch/arm64/boot/dts/sophgo/Makefile | 1 +
.../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 85 +++++++++++++++++++
2 files changed, 86 insertions(+)
create mode 100644 arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts
diff --git a/arch/arm64/boot/dts/sophgo/Makefile b/arch/arm64/boot/dts/sophgo/Makefile
index 94f52cd7d994b..68aace728223a 100644
--- a/arch/arm64/boot/dts/sophgo/Makefile
+++ b/arch/arm64/boot/dts/sophgo/Makefile
@@ -1,2 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_SOPHGO) += sg2000-milkv-duo-module-01-evb.dtb
+dtb-$(CONFIG_ARCH_SOPHGO) += sg2000-milkv-duo-s.dtb
diff --git a/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts
new file mode 100644
index 0000000000000..8632470f43ab0
--- /dev/null
+++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+/dts-v1/;
+
+#include "sg2000.dtsi"
+
+/ {
+ model = "Milk-V Duo S";
+ compatible = "milkv,duo-s", "sophgo,sg2000";
+
+ aliases {
+ i2c4 = &i2c4;
+ mmc0 = &sdhci0;
+ serial0 = &uart0;
+ spi3 = &spi3;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&osc {
+ clock-frequency = <25000000>;
+};
+
+&dmac {
+ status = "okay";
+};
+
+&emmc {
+ bus-width = <4>;
+ no-1-8-v;
+ cap-mmc-hw-reset;
+ no-sd;
+ no-sdio;
+ non-removable;
+ status = "okay";
+};
+
+&gmac0 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&mdio {
+ status = "okay";
+};
+
+&saradc {
+ status = "okay";
+};
+
+&sdhci0 {
+ bus-width = <4>;
+ no-1-8-v;
+ disable-wp;
+ status = "okay";
+};
+
+&sdhci1 {
+ bus-width = <4>;
+ cap-sdio-irq;
+ no-mmc;
+ no-sd;
+ non-removable;
+ status = "okay";
+};
+
+&spi3 {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&usb {
+ dr_mode = "host";
+ status = "okay";
+};
+
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v5 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
2026-04-03 11:15 [PATCH v5 0/5] Add initial Milk-V Duo S board support Joshua Milas
2026-04-03 11:15 ` [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
2026-04-03 11:15 ` [PATCH v5 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
@ 2026-04-03 11:15 ` Joshua Milas
2026-04-04 8:10 ` Krzysztof Kozlowski
2026-04-03 11:15 ` [PATCH v5 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
2026-04-03 11:15 ` [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
4 siblings, 1 reply; 11+ messages in thread
From: Joshua Milas @ 2026-04-03 11:15 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup
Cc: josh.milas, linux-kernel, devicetree, linux-riscv, sophgo,
hanguidong02, michael.opdenacker
Document the compatible strings for the sg2000 interrupt
controller and timer.
Signed-off-by: Joshua Milas <josh.milas@gmail.com>
---
.../bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
Documentation/devicetree/bindings/timer/sifive,clint.yaml | 1 +
2 files changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
index e0267223887ec..decc43df3c839 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
@@ -73,6 +73,7 @@ properties:
- allwinner,sun20i-d1-plic
- sophgo,cv1800b-plic
- sophgo,cv1812h-plic
+ - sophgo,sg2000-plic
- sophgo,sg2002-plic
- sophgo,sg2042-plic
- sophgo,sg2044-plic
diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
index 3bab40500df9b..54266b3c2a185 100644
--- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
+++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
@@ -50,6 +50,7 @@ properties:
- allwinner,sun20i-d1-clint
- sophgo,cv1800b-clint
- sophgo,cv1812h-clint
+ - sophgo,sg2000-clint
- sophgo,sg2002-clint
- thead,th1520-clint
- const: thead,c900-clint
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v5 4/5] riscv64: dts: sophgo: add SG2000 dtsi
2026-04-03 11:15 [PATCH v5 0/5] Add initial Milk-V Duo S board support Joshua Milas
` (2 preceding siblings ...)
2026-04-03 11:15 ` [PATCH v5 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
@ 2026-04-03 11:15 ` Joshua Milas
2026-04-21 16:11 ` Gui-Dong Han
2026-04-03 11:15 ` [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
4 siblings, 1 reply; 11+ messages in thread
From: Joshua Milas @ 2026-04-03 11:15 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup
Cc: josh.milas, linux-kernel, devicetree, linux-riscv, sophgo,
hanguidong02, michael.opdenacker
Adds sg2000.dtsi on the RISCV side.
Signed-off-by: Joshua Milas <josh.milas@gmail.com>
---
arch/riscv/boot/dts/sophgo/sg2000.dtsi | 53 ++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 arch/riscv/boot/dts/sophgo/sg2000.dtsi
diff --git a/arch/riscv/boot/dts/sophgo/sg2000.dtsi b/arch/riscv/boot/dts/sophgo/sg2000.dtsi
new file mode 100644
index 0000000000000..412adacc00576
--- /dev/null
+++ b/arch/riscv/boot/dts/sophgo/sg2000.dtsi
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+#define SOC_PERIPHERAL_IRQ(nr) ((nr) + 16)
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/pinctrl-sg2000.h>
+#include "cv180x-cpus.dtsi"
+#include "cv180x.dtsi"
+#include "cv181x.dtsi"
+
+/ {
+ compatible = "sophgo,sg2000";
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x10000000>;
+ };
+
+ soc {
+ interrupt-parent = <&plic>;
+ dma-noncoherent;
+
+ 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>;
+ };
+
+ plic: interrupt-controller@70000000 {
+ compatible = "sophgo,sg2000-plic", "thead,c900-plic";
+ reg = <0x70000000 0x4000000>;
+ interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>;
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <2>;
+ riscv,ndev = <101>;
+ };
+
+ clint: timer@74000000 {
+ compatible = "sophgo,sg2000-clint", "thead,c900-clint";
+ reg = <0x74000000 0x10000>;
+ interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>;
+ };
+ };
+};
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
2026-04-03 11:15 [PATCH v5 0/5] Add initial Milk-V Duo S board support Joshua Milas
` (3 preceding siblings ...)
2026-04-03 11:15 ` [PATCH v5 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
@ 2026-04-03 11:15 ` Joshua Milas
2026-04-21 16:13 ` Gui-Dong Han
4 siblings, 1 reply; 11+ messages in thread
From: Joshua Milas @ 2026-04-03 11:15 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup
Cc: josh.milas, linux-kernel, devicetree, linux-riscv, sophgo,
hanguidong02, michael.opdenacker
This adds initial riscv support for the Milk-V Duo S board
[1] making it possible to boot Linux to the command line.
Link: https://milkv.io/duo-s [1]
Signed-off-by: Joshua Milas <josh.milas@gmail.com>
---
arch/riscv/boot/dts/sophgo/Makefile | 1 +
.../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 85 +++++++++++++++++++
2 files changed, 86 insertions(+)
create mode 100644 arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
diff --git a/arch/riscv/boot/dts/sophgo/Makefile b/arch/riscv/boot/dts/sophgo/Makefile
index 6f65526d4193b..58cc6b70d8de4 100644
--- a/arch/riscv/boot/dts/sophgo/Makefile
+++ b/arch/riscv/boot/dts/sophgo/Makefile
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_SOPHGO) += cv1800b-milkv-duo.dtb
dtb-$(CONFIG_ARCH_SOPHGO) += cv1812h-huashan-pi.dtb
+dtb-$(CONFIG_ARCH_SOPHGO) += sg2000-milkv-duo-s.dtb
dtb-$(CONFIG_ARCH_SOPHGO) += sg2002-licheerv-nano-b.dtb
dtb-$(CONFIG_ARCH_SOPHGO) += sg2042-milkv-pioneer.dtb
dtb-$(CONFIG_ARCH_SOPHGO) += sg2042-evb-v1.dtb
diff --git a/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts b/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
new file mode 100644
index 0000000000000..8632470f43ab0
--- /dev/null
+++ b/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+/dts-v1/;
+
+#include "sg2000.dtsi"
+
+/ {
+ model = "Milk-V Duo S";
+ compatible = "milkv,duo-s", "sophgo,sg2000";
+
+ aliases {
+ i2c4 = &i2c4;
+ mmc0 = &sdhci0;
+ serial0 = &uart0;
+ spi3 = &spi3;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&osc {
+ clock-frequency = <25000000>;
+};
+
+&dmac {
+ status = "okay";
+};
+
+&emmc {
+ bus-width = <4>;
+ no-1-8-v;
+ cap-mmc-hw-reset;
+ no-sd;
+ no-sdio;
+ non-removable;
+ status = "okay";
+};
+
+&gmac0 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&mdio {
+ status = "okay";
+};
+
+&saradc {
+ status = "okay";
+};
+
+&sdhci0 {
+ bus-width = <4>;
+ no-1-8-v;
+ disable-wp;
+ status = "okay";
+};
+
+&sdhci1 {
+ bus-width = <4>;
+ cap-sdio-irq;
+ no-mmc;
+ no-sd;
+ non-removable;
+ status = "okay";
+};
+
+&spi3 {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&usb {
+ dr_mode = "host";
+ status = "okay";
+};
+
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
2026-04-03 11:15 ` [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
@ 2026-04-04 8:05 ` Krzysztof Kozlowski
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-04 8:05 UTC (permalink / raw)
To: Joshua Milas
Cc: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup,
linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
michael.opdenacker
On Fri, Apr 03, 2026 at 07:15:12AM -0400, Joshua Milas wrote:
> Document the compatible strings for the Milk-V Duo S board [1]
> which uses the SOPHGO SG2000 SoC.
>
> Link: https://milkv.io/duo-s [1]
>
> Signed-off-by: Joshua Milas <josh.milas@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v5 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
2026-04-03 11:15 ` [PATCH v5 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
@ 2026-04-04 8:10 ` Krzysztof Kozlowski
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2026-04-04 8:10 UTC (permalink / raw)
To: Joshua Milas
Cc: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup,
linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
michael.opdenacker
On Fri, Apr 03, 2026 at 07:15:14AM -0400, Joshua Milas wrote:
> Document the compatible strings for the sg2000 interrupt
> controller and timer.
>
> Signed-off-by: Joshua Milas <josh.milas@gmail.com>
> ---
> .../bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
> Documentation/devicetree/bindings/timer/sifive,clint.yaml | 1 +
> 2 files changed, 2 insertions(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v5 4/5] riscv64: dts: sophgo: add SG2000 dtsi
2026-04-03 11:15 ` [PATCH v5 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
@ 2026-04-21 16:11 ` Gui-Dong Han
0 siblings, 0 replies; 11+ messages in thread
From: Gui-Dong Han @ 2026-04-21 16:11 UTC (permalink / raw)
To: Joshua Milas
Cc: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup,
linux-kernel, devicetree, linux-riscv, sophgo, michael.opdenacker
On Fri, Apr 3, 2026 at 7:16 PM Joshua Milas <josh.milas@gmail.com> wrote:
>
> Adds sg2000.dtsi on the RISCV side.
>
> Signed-off-by: Joshua Milas <josh.milas@gmail.com>
Tested-by: Gui-Dong Han <hanguidong02@gmail.com>
Reviewed-by: Gui-Dong Han <hanguidong02@gmail.com>
> ---
> arch/riscv/boot/dts/sophgo/sg2000.dtsi | 53 ++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
> create mode 100644 arch/riscv/boot/dts/sophgo/sg2000.dtsi
>
> diff --git a/arch/riscv/boot/dts/sophgo/sg2000.dtsi b/arch/riscv/boot/dts/sophgo/sg2000.dtsi
> new file mode 100644
> index 0000000000000..412adacc00576
> --- /dev/null
> +++ b/arch/riscv/boot/dts/sophgo/sg2000.dtsi
> @@ -0,0 +1,53 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +#define SOC_PERIPHERAL_IRQ(nr) ((nr) + 16)
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/pinctrl/pinctrl-sg2000.h>
> +#include "cv180x-cpus.dtsi"
> +#include "cv180x.dtsi"
> +#include "cv181x.dtsi"
> +
> +/ {
> + compatible = "sophgo,sg2000";
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x80000000 0x10000000>;
> + };
> +
> + soc {
> + interrupt-parent = <&plic>;
> + dma-noncoherent;
> +
> + 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>;
> + };
> +
> + plic: interrupt-controller@70000000 {
> + compatible = "sophgo,sg2000-plic", "thead,c900-plic";
> + reg = <0x70000000 0x4000000>;
> + interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>;
> + interrupt-controller;
> + #address-cells = <0>;
> + #interrupt-cells = <2>;
> + riscv,ndev = <101>;
> + };
> +
> + clint: timer@74000000 {
> + compatible = "sophgo,sg2000-clint", "thead,c900-clint";
> + reg = <0x74000000 0x10000>;
> + interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>;
> + };
> + };
> +};
> --
> 2.53.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
2026-04-03 11:15 ` [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
@ 2026-04-21 16:13 ` Gui-Dong Han
2026-05-20 20:46 ` Michael Opdenacker
0 siblings, 1 reply; 11+ messages in thread
From: Gui-Dong Han @ 2026-04-21 16:13 UTC (permalink / raw)
To: Joshua Milas
Cc: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
inochiama, daniel.lezcano, palmer, aou, alex, liujingqi,
alexander.sverdlin, rabenda.cn, dlan, chao.wei, anup,
linux-kernel, devicetree, linux-riscv, sophgo, michael.opdenacker,
Wang Jiayue, Yao Zi
On Fri, Apr 3, 2026 at 7:16 PM Joshua Milas <josh.milas@gmail.com> wrote:
>
> This adds initial riscv support for the Milk-V Duo S board
> [1] making it possible to boot Linux to the command line.
>
> Link: https://milkv.io/duo-s [1]
>
> Signed-off-by: Joshua Milas <josh.milas@gmail.com>
Great work, thanks Joshua! I really like this board.
I encountered the same issue Michael Opdenacker saw in v4, but
enabling the MDIO-related configs resolved it.
I'll keep using and testing this series and provide further feedback
if anything comes up. Next, I plan to test the arm64 side and will
also try developing an efuse driver.
Tested-by: Gui-Dong Han <hanguidong02@gmail.com>
Reviewed-by: Gui-Dong Han <hanguidong02@gmail.com>
> ---
> arch/riscv/boot/dts/sophgo/Makefile | 1 +
> .../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 85 +++++++++++++++++++
> 2 files changed, 86 insertions(+)
> create mode 100644 arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
>
> diff --git a/arch/riscv/boot/dts/sophgo/Makefile b/arch/riscv/boot/dts/sophgo/Makefile
> index 6f65526d4193b..58cc6b70d8de4 100644
> --- a/arch/riscv/boot/dts/sophgo/Makefile
> +++ b/arch/riscv/boot/dts/sophgo/Makefile
> @@ -1,6 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0
> dtb-$(CONFIG_ARCH_SOPHGO) += cv1800b-milkv-duo.dtb
> dtb-$(CONFIG_ARCH_SOPHGO) += cv1812h-huashan-pi.dtb
> +dtb-$(CONFIG_ARCH_SOPHGO) += sg2000-milkv-duo-s.dtb
> dtb-$(CONFIG_ARCH_SOPHGO) += sg2002-licheerv-nano-b.dtb
> dtb-$(CONFIG_ARCH_SOPHGO) += sg2042-milkv-pioneer.dtb
> dtb-$(CONFIG_ARCH_SOPHGO) += sg2042-evb-v1.dtb
> diff --git a/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts b/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
> new file mode 100644
> index 0000000000000..8632470f43ab0
> --- /dev/null
> +++ b/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
> @@ -0,0 +1,85 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +/dts-v1/;
> +
> +#include "sg2000.dtsi"
> +
> +/ {
> + model = "Milk-V Duo S";
> + compatible = "milkv,duo-s", "sophgo,sg2000";
> +
> + aliases {
> + i2c4 = &i2c4;
> + mmc0 = &sdhci0;
> + serial0 = &uart0;
> + spi3 = &spi3;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +};
> +
> +&osc {
> + clock-frequency = <25000000>;
> +};
> +
> +&dmac {
> + status = "okay";
> +};
> +
> +&emmc {
> + bus-width = <4>;
> + no-1-8-v;
> + cap-mmc-hw-reset;
> + no-sd;
> + no-sdio;
> + non-removable;
> + status = "okay";
> +};
> +
> +&gmac0 {
> + status = "okay";
> +};
> +
> +&i2c4 {
> + status = "okay";
> +};
> +
> +&mdio {
> + status = "okay";
> +};
> +
> +&saradc {
> + status = "okay";
> +};
> +
> +&sdhci0 {
> + bus-width = <4>;
> + no-1-8-v;
> + disable-wp;
> + status = "okay";
> +};
> +
> +&sdhci1 {
> + bus-width = <4>;
> + cap-sdio-irq;
> + no-mmc;
> + no-sd;
> + non-removable;
> + status = "okay";
> +};
> +
> +&spi3 {
> + status = "okay";
> +};
> +
> +&uart0 {
> + status = "okay";
> +};
> +
> +&usb {
> + dr_mode = "host";
> + status = "okay";
> +};
> +
> --
> 2.53.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
2026-04-21 16:13 ` Gui-Dong Han
@ 2026-05-20 20:46 ` Michael Opdenacker
0 siblings, 0 replies; 11+ messages in thread
From: Michael Opdenacker @ 2026-05-20 20:46 UTC (permalink / raw)
To: Gui-Dong Han, Joshua Milas
Cc: michael.opdenacker, tglx, robh, krzk+dt, conor+dt, pjw,
samuel.holland, unicorn_wang, inochiama, daniel.lezcano, palmer,
aou, alex, liujingqi, alexander.sverdlin, rabenda.cn, dlan,
chao.wei, anup, linux-kernel, devicetree, linux-riscv, sophgo,
Wang Jiayue, Yao Zi
Joshua, Gui-Dong
(my apologies for my previous-email with HTML content... bad default
Thunderbird settings!
On 4/21/26 6:13 PM, Gui-Dong Han wrote:
> On Fri, Apr 3, 2026 at 7:16 PM Joshua Milas <josh.milas@gmail.com> wrote:
>> This adds initial riscv support for the Milk-V Duo S board
>> [1] making it possible to boot Linux to the command line.
>>
>> Link: https://milkv.io/duo-s [1]
>>
>> Signed-off-by: Joshua Milas <josh.milas@gmail.com>
> Great work, thanks Joshua! I really like this board.
>
> I encountered the same issue Michael Opdenacker saw in v4, but
> enabling the MDIO-related configs resolved it.
>
> I'll keep using and testing this series and provide further feedback
> if anything comes up. Next, I plan to test the arm64 side and will
> also try developing an efuse driver.
>
> Tested-by: Gui-Dong Han <hanguidong02@gmail.com>
> Reviewed-by: Gui-Dong Han <hanguidong02@gmail.com>
What about submitting a new iteration of your patchset? I guess the last
one was too close to the merge window to make it, but if you submit a
new version not too late and review it quickly enough, we could make it
this time.
Don't hesitate to let us know if you need help (happy to post the new
iteration if you don't have time).
Thanks in advance
Cheers
Michael.
--
Root Commit
Embedded Linux Training and Consulting
https://rootcommit.com
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-05-20 20:46 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-03 11:15 [PATCH v5 0/5] Add initial Milk-V Duo S board support Joshua Milas
2026-04-03 11:15 ` [PATCH v5 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
2026-04-04 8:05 ` Krzysztof Kozlowski
2026-04-03 11:15 ` [PATCH v5 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2026-04-03 11:15 ` [PATCH v5 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
2026-04-04 8:10 ` Krzysztof Kozlowski
2026-04-03 11:15 ` [PATCH v5 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
2026-04-21 16:11 ` Gui-Dong Han
2026-04-03 11:15 ` [PATCH v5 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2026-04-21 16:13 ` Gui-Dong Han
2026-05-20 20:46 ` Michael Opdenacker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox