* [PATCH v3 0/5] Add initial Milk-V Duo S board support
@ 2025-10-29 0:10 Joshua Milas
2025-10-29 0:10 ` [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Joshua Milas @ 2025-10-29 0:10 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: josh.milas, devicetree, sophgo, linux-riscv
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.
v3
- 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
v2: http
s://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 [2]
- 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]
Link: https://milkv.io/duo-s/duos-pinout.webp [2]
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 | 80 +++++++++++++++++++
arch/riscv/boot/dts/sophgo/Makefile | 1 +
.../boot/dts/sophgo/sg2000-milkv-duo-s.dts | 80 +++++++++++++++++++
arch/riscv/boot/dts/sophgo/sg2000.dtsi | 53 ++++++++++++
8 files changed, 221 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: 0251a1deaec78252cb311fc8305d3670bc5eee0e
--
2.51.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
@ 2025-10-29 0:10 ` Joshua Milas
2025-10-29 5:58 ` Krzysztof Kozlowski
2025-10-29 0:10 ` [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
` (4 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Joshua Milas @ 2025-10-29 0:10 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: josh.milas, devicetree, sophgo, linux-riscv
Document the compatible strings for the Milk-V Duo S board [1]
which uses the SOPHGO SG2000 SoC [2].
Link: https://milkv.io/duo-s [1]
Link: https://en.sophgo.com/sophon-u/product/introduce/sg200x.html [2]
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.51.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
2025-10-29 0:10 ` [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
@ 2025-10-29 0:10 ` Joshua Milas
2025-10-29 12:35 ` Michael Opdenacker
2025-10-29 0:10 ` [PATCH v3 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
` (3 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Joshua Milas @ 2025-10-29 0:10 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: josh.milas, devicetree, sophgo, linux-riscv
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 | 80 +++++++++++++++++++
2 files changed, 81 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..174c194e1301d
--- /dev/null
+++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts
@@ -0,0 +1,80 @@
+// 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";
+};
+
--
2.51.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
2025-10-29 0:10 ` [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
2025-10-29 0:10 ` [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
@ 2025-10-29 0:10 ` Joshua Milas
2025-10-29 0:10 ` [PATCH v3 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Joshua Milas @ 2025-10-29 0:10 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: josh.milas, devicetree, sophgo, linux-riscv
Document the compatible strings for the sg2000 [1] interrupt
controller and timer.
Link: https://en.sophgo.com/sophon-u/product/introduce/sg200x.html [1]
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 5b827bc243011..122d622d20a57 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
@@ -69,6 +69,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 d85a1a088b35d..42cbfb4d46a17 100644
--- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
+++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
@@ -48,6 +48,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.51.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 4/5] riscv64: dts: sophgo: add SG2000 dtsi
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
` (2 preceding siblings ...)
2025-10-29 0:10 ` [PATCH v3 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
@ 2025-10-29 0:10 ` Joshua Milas
2025-10-29 0:10 ` [PATCH v3 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2025-10-29 5:57 ` [PATCH v3 0/5] Add " Krzysztof Kozlowski
5 siblings, 0 replies; 10+ messages in thread
From: Joshua Milas @ 2025-10-29 0:10 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: josh.milas, devicetree, sophgo, linux-riscv
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.51.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
` (3 preceding siblings ...)
2025-10-29 0:10 ` [PATCH v3 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
@ 2025-10-29 0:10 ` Joshua Milas
2025-10-29 5:57 ` [PATCH v3 0/5] Add " Krzysztof Kozlowski
5 siblings, 0 replies; 10+ messages in thread
From: Joshua Milas @ 2025-10-29 0:10 UTC (permalink / raw)
To: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: josh.milas, devicetree, sophgo, linux-riscv
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 | 80 +++++++++++++++++++
2 files changed, 81 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..174c194e1301d
--- /dev/null
+++ b/arch/riscv/boot/dts/sophgo/sg2000-milkv-duo-s.dts
@@ -0,0 +1,80 @@
+// 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";
+};
+
--
2.51.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/5] Add initial Milk-V Duo S board support
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
` (4 preceding siblings ...)
2025-10-29 0:10 ` [PATCH v3 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
@ 2025-10-29 5:57 ` Krzysztof Kozlowski
5 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-29 5:57 UTC (permalink / raw)
To: Joshua Milas
Cc: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi, devicetree, sophgo, linux-riscv
On Tue, Oct 28, 2025 at 08:10:47PM -0400, Joshua Milas wrote:
> 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.
>
> v3
> - 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
How did you resolve previous comments on bindings? Nothing mentioned
here.
Best regards,
Krzysztof
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
2025-10-29 0:10 ` [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
@ 2025-10-29 5:58 ` Krzysztof Kozlowski
0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-29 5:58 UTC (permalink / raw)
To: Joshua Milas
Cc: tglx, robh, krzk+dt, conor+dt, unicorn_wang, inochiama,
paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi, devicetree, sophgo, linux-riscv
On Tue, Oct 28, 2025 at 08:10:48PM -0400, Joshua Milas wrote:
> Document the compatible strings for the Milk-V Duo S board [1]
> which uses the SOPHGO SG2000 SoC [2].
>
> Link: https://milkv.io/duo-s [1]
> Link: https://en.sophgo.com/sophon-u/product/introduce/sg200x.html [2]
Drop second link, not relevant. You are not adding new SoC here, are
you?
>
> Signed-off-by: Joshua Milas <josh.milas@gmail.com>
> ---
No changes against v2? You received comments, didn't you?
Best regards,
Krzysztof
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
2025-10-29 0:10 ` [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
@ 2025-10-29 12:35 ` Michael Opdenacker
2025-10-29 14:41 ` Michael Opdenacker
0 siblings, 1 reply; 10+ messages in thread
From: Michael Opdenacker @ 2025-10-29 12:35 UTC (permalink / raw)
To: Joshua Milas, tglx, robh, krzk+dt, conor+dt, unicorn_wang,
inochiama, paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: michael.opdenacker, devicetree, sophgo, linux-riscv
Hi Joshua
Many thanks for this update! I'd love to have this board supported in
mainline, and when this happens, I'll add it to Yocto's meta-riscv layer
to make it easy to use.
On 10/29/25 01:10, Joshua Milas wrote:
> 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 | 80 +++++++++++++++++++
> 2 files changed, 81 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..174c194e1301d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/sophgo/sg2000-milkv-duo-s.dts
> @@ -0,0 +1,80 @@
> +// 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";
> +};
> +
I managed to boot the board and run tests:
Tested successfully:
* uart0: boot console
* mmc0 (sdhci0?): root filesystem
Issues
*
eth0:
ifconfig eth0 172.24.0.2
[ 48.893725] stmmaceth 4070000.ethernet eth0: Register
MEM_TYPE_PAGE_POOL RxQ-0
[ 48.903077] stmmaceth 4070000.ethernet eth0: cannot attach to PHY
(error: -ENODEV)
ifconfig: SIOCSIFFLAGS: No such device
I believe I have all drivers enabled though...
* emmc:
[ 2.730194] mmc2: Failed to initialize a non-removable card
[ 2.764843] mmc1: Failed to initialize a non-removable card
I tested with a board that has an eMMC
* i2c4: detected by "i2cdetect -l"
but no devices found by "i2cdetect -r 4"
I tried both pins 3/4 and pins 50/48, with two different devices
connected to the bus.
Which pins did you use? I could check the SoC pin muxing, but your
answer will save me time :D
Would you mind sharing your defconfig file ("make savedefconfig") via a
private message or through a link (to avoid sending the entire file to
the list)?
Thanks again
Cheers
Michael.
--
Michael Opdenacker
Root Commit
Yocto Project and OpenEmbedded Training course - Learn by doing:
https://rootcommit.com/training/yocto/
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
2025-10-29 12:35 ` Michael Opdenacker
@ 2025-10-29 14:41 ` Michael Opdenacker
0 siblings, 0 replies; 10+ messages in thread
From: Michael Opdenacker @ 2025-10-29 14:41 UTC (permalink / raw)
To: Joshua Milas, tglx, robh, krzk+dt, conor+dt, unicorn_wang,
inochiama, paul.walmsley, samuel.holland, palmer, aou, alex,
alexander.sverdlin, rabenda.cn, thomas.bonnefille, chao.wei,
liujingqi
Cc: michael.opdenacker, devicetree, sophgo, linux-riscv
Greetings,
On 10/29/25 13:35, Michael Opdenacker wrote:
>
> I managed to boot the board and run tests:
>
> Tested successfully:
>
> * uart0: boot console
> * mmc0 (sdhci0?): root filesystem
>
> Issues
...
I realize I replied to the arm64 part of the thread, but indeed I ran my
tests on riscv.
Michael.
--
Michael Opdenacker
Root Commit
Yocto Project and OpenEmbedded Training course - Learn by doing:
https://rootcommit.com/training/yocto/
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-10-29 14:42 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-29 0:10 [PATCH v3 0/5] Add initial Milk-V Duo S board support Joshua Milas
2025-10-29 0:10 ` [PATCH v3 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
2025-10-29 5:58 ` Krzysztof Kozlowski
2025-10-29 0:10 ` [PATCH v3 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2025-10-29 12:35 ` Michael Opdenacker
2025-10-29 14:41 ` Michael Opdenacker
2025-10-29 0:10 ` [PATCH v3 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
2025-10-29 0:10 ` [PATCH v3 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
2025-10-29 0:10 ` [PATCH v3 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2025-10-29 5:57 ` [PATCH v3 0/5] Add " Krzysztof Kozlowski
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).