All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
@ 2026-05-30 17:33 ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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] 35+ messages in thread

* [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
@ 2026-05-30 17:33 ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH v5 RESEND 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
  2026-05-30 17:33 ` Joshua Milas
@ 2026-05-30 17:33   ` Joshua Milas
  -1 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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] 35+ messages in thread

* [PATCH v5 RESEND 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
@ 2026-05-30 17:33   ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v5 RESEND 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33 ` Joshua Milas
@ 2026-05-30 17:33   ` Joshua Milas
  -1 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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] 35+ messages in thread

* [PATCH v5 RESEND 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
@ 2026-05-30 17:33   ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v5 RESEND 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
  2026-05-30 17:33 ` Joshua Milas
@ 2026-05-30 17:33   ` Joshua Milas
  -1 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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] 35+ messages in thread

* [PATCH v5 RESEND 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
@ 2026-05-30 17:33   ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v5 RESEND 4/5] riscv64: dts: sophgo: add SG2000 dtsi
  2026-05-30 17:33 ` Joshua Milas
@ 2026-05-30 17:33   ` Joshua Milas
  -1 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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] 35+ messages in thread

* [PATCH v5 RESEND 4/5] riscv64: dts: sophgo: add SG2000 dtsi
@ 2026-05-30 17:33   ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33 ` Joshua Milas
@ 2026-05-30 17:33   ` Joshua Milas
  -1 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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] 35+ messages in thread

* [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
@ 2026-05-30 17:33   ` Joshua Milas
  0 siblings, 0 replies; 35+ messages in thread
From: Joshua Milas @ 2026-05-30 17:33 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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33   ` Joshua Milas
  (?)
@ 2026-05-30 17:46   ` sashiko-bot
  -1 siblings, 0 replies; 35+ messages in thread
From: sashiko-bot @ 2026-05-30 17:46 UTC (permalink / raw)
  To: Joshua Milas; +Cc: devicetree, conor+dt, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The device tree enables several hardware peripherals (emmc, gmac0, i2c4, mdio, sdhci0, sdhci1, spi3, uart0) without defining or assigning their required pinctrl configurations.
--

commit 562d6189b640dfe9eda31b9948bcc49d22497758
Author: Joshua Milas <josh.milas@gmail.com>

arm64: dts: sophgo: add initial Milk-V Duo S board support

Adds initial arm64 support for the Milk-V Duo S board making it possible
to boot Linux to the command line.

Link: https://milkv.io/duo-s [1]

> 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

[ ... ]

> +&dmac {
> +	status = "okay";
> +};
> +
> +&emmc {
> +	bus-width = <4>;
> +	no-1-8-v;
> +	cap-mmc-hw-reset;
> +	no-sd;
> +	no-sdio;
> +	non-removable;
> +	status = "okay";
> +};

[Severity: Medium]
Should these hardware peripherals have their pinctrl configurations defined?

Several nodes are enabled here (emmc, gmac0, i2c4, mdio, sdhci0, sdhci1,
spi3, uart0) without pinctrl-0 and pinctrl-names properties assigned.

Without these properties, the kernel will not initialize the pin
multiplexing and relies entirely on the bootloader to have set up the
pinmux correctly.

If the bootloader behavior changes, or if a driver attempts to manage power
states by suspending and resuming the device, these peripherals might fail
to function.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260530173347.33533-1-josh.milas@gmail.com?part=2

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 4/5] riscv64: dts: sophgo: add SG2000 dtsi
  2026-05-30 17:33   ` Joshua Milas
  (?)
@ 2026-05-30 17:56   ` sashiko-bot
  -1 siblings, 0 replies; 35+ messages in thread
From: sashiko-bot @ 2026-05-30 17:56 UTC (permalink / raw)
  To: Joshua Milas; +Cc: robh, conor+dt, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Incorrect memory size specification for SG2000 SoC (256 MiB instead of 512 MiB).
--

commit c5b4a9fd5a4e96c34400baa5e56b2ce675d91e7b
Author: Joshua Milas <josh.milas@gmail.com>

riscv64: dts: sophgo: add SG2000 dtsi

This commit introduces the device tree source include file for the Sophgo
SG2000 SoC for the RISC-V architecture.

> diff --git a/arch/riscv/boot/dts/sophgo/sg2000.dtsi b/arch/riscv/boot/dts/sophgo/sg2000.dtsi
> index 0000000000000..412adacc00576
> --- /dev/null
> +++ b/arch/riscv/boot/dts/sophgo/sg2000.dtsi
[ ... ]
> +/ {
> +	compatible = "sophgo,sg2000";
> +
> +	memory@80000000 {
> +		device_type = "memory";
> +		reg = <0x80000000 0x10000000>;

[Severity: Medium]
Should this memory capacity be 512 MiB instead of 256 MiB? The SG2000 SoC
is a System-in-Package that integrates 512 MiB of DRAM, and the ARM64 device
tree for the same SoC specifies 0x20000000. 

Setting this to 0x10000000 restricts the available RAM to 256 MiB unless it
is explicitly overridden by a bootloader.

> +	};
[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260530173347.33533-1-josh.milas@gmail.com?part=4

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33   ` Joshua Milas
  (?)
@ 2026-05-30 18:02   ` sashiko-bot
  -1 siblings, 0 replies; 35+ messages in thread
From: sashiko-bot @ 2026-05-30 18:02 UTC (permalink / raw)
  To: Joshua Milas; +Cc: robh, conor+dt, devicetree

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Missing `pinctrl-0` properties for enabled peripherals, relying unsafely on bootloader pin multiplexing.
- [Medium] Unstable device enumeration due to incomplete MMC aliases.
--

commit 28d2e18610b4be21ce587f3639e449ae96302be3
Author: Joshua Milas <josh.milas@gmail.com>

riscv64: dts: sophgo: add initial Milk-V Duo S board support
    
This adds initial riscv support for the Milk-V Duo S board, making it
possible to boot Linux to the command line.
    
Link: https://milkv.io/duo-s [1]

> 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;

[Severity: Medium]
Will omitting aliases for the other enabled MMC controllers (&emmc and
&sdhci1) cause unstable device enumeration? 

The Linux MMC core relies on these aliases for stable block device numbering
(/dev/mmcblkX). Without explicit aliases for all enabled controllers, their
indices might be assigned dynamically based on asynchronous probe ordering,
which could swap block device numbers unexpectedly across reboots.

> +		serial0 = &uart0;
> +		spi3 = &spi3;
> +	};

[ ... ]

> +&emmc {
> +	bus-width = <4>;
> +	no-1-8-v;
> +	cap-mmc-hw-reset;
> +	no-sd;
> +	no-sdio;
> +	non-removable;
> +	status = "okay";
> +};

[Severity: Medium]
Do the peripherals enabled in this device tree, such as &emmc, &sdhci0, and
&uart0, need pinctrl-0 properties to define their hardware pin states?

Relying entirely on the bootloader's initial pin multiplexing configuration 
can break power management features like suspend and resume, or impact system
stability if the kernel needs to restore pin parameters dynamically.

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260530173347.33533-1-josh.milas@gmail.com?part=5

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33   ` Joshua Milas
@ 2026-05-30 22:00     ` Inochi Amaoto
  -1 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-05-30 22:00 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker

On Sat, May 30, 2026 at 01:33:47PM -0400, Joshua Milas 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>
> ---
>  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;

Adding all the necessary aliases here.

> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&osc {
> +	clock-frequency = <25000000>;
> +};
> +

pinctrl is needed, ses sashiko's reply.

> +&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] 35+ messages in thread

* Re: [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
@ 2026-05-30 22:00     ` Inochi Amaoto
  0 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-05-30 22:00 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker

On Sat, May 30, 2026 at 01:33:47PM -0400, Joshua Milas 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>
> ---
>  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;

Adding all the necessary aliases here.

> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +};
> +
> +&osc {
> +	clock-frequency = <25000000>;
> +};
> +

pinctrl is needed, ses sashiko's reply.

> +&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
> 

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33   ` Joshua Milas
@ 2026-05-30 22:01     ` Inochi Amaoto
  -1 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-05-30 22:01 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker

On Sat, May 30, 2026 at 01:33:44PM -0400, 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    | 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;

Apply the same change for the reply on v5.

Regards,
Inochi

> +	};
> +
> +	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
> 

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support
@ 2026-05-30 22:01     ` Inochi Amaoto
  0 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-05-30 22:01 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker

On Sat, May 30, 2026 at 01:33:44PM -0400, 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    | 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;

Apply the same change for the reply on v5.

Regards,
Inochi

> +	};
> +
> +	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] 35+ messages in thread

* Re: [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
  2026-05-30 17:33 ` Joshua Milas
@ 2026-05-30 22:02   ` Inochi Amaoto
  -1 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-05-30 22:02 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker

On Sat, May 30, 2026 at 01:33:42PM -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.
> 
> ---
> 
> 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
> 

You resend drop all the tags, always send a new version with
all tags applied in this case.

Regards,
Inochi

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
@ 2026-05-30 22:02   ` Inochi Amaoto
  0 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-05-30 22:02 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker

On Sat, May 30, 2026 at 01:33:42PM -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.
> 
> ---
> 
> 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
> 

You resend drop all the tags, always send a new version with
all tags applied in this case.

Regards,
Inochi

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
  2026-05-30 17:33   ` Joshua Milas
@ 2026-05-31 12:29     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-31 12:29 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 Sat, May 30, 2026 at 01:33:43PM -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>
> ---
>  Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml | 4 ++++
>  1 file changed, 4 insertions(+)

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
@ 2026-05-31 12:29     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-31 12:29 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 Sat, May 30, 2026 at 01:33:43PM -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>
> ---
>  Documentation/devicetree/bindings/soc/sophgo/sophgo.yaml | 4 ++++
>  1 file changed, 4 insertions(+)

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

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] 35+ messages in thread

* Re: [PATCH v5 RESEND 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
  2026-05-30 17:33   ` Joshua Milas
@ 2026-05-31 12:30     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-31 12:30 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 Sat, May 30, 2026 at 01:33:45PM -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] 35+ messages in thread

* Re: [PATCH v5 RESEND 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
@ 2026-05-31 12:30     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-31 12:30 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 Sat, May 30, 2026 at 01:33:45PM -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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: (subset) [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
  2026-05-30 17:33 ` Joshua Milas
@ 2026-06-02  8:19   ` Inochi Amaoto
  -1 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-06-02  8:19 UTC (permalink / raw)
  To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
	palmer, aou, alex, liujingqi, alexander.sverdlin, rabenda.cn,
	dlan, chao.wei, anup, Daniel Lezcano, Joshua Milas
  Cc: Inochi Amaoto, linux-kernel, devicetree, linux-riscv, sophgo,
	hanguidong02, michael.opdenacker

On Sat, 30 May 2026 13:33:42 -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.
> 
> [...]

Applied to for-next, thanks!

[1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
      https://github.com/sophgo/linux/commit/eeec80c3ce36ead24e2f53d88a24dac1e3de8041
[4/5] riscv64: dts: sophgo: add SG2000 dtsi
      https://github.com/sophgo/linux/commit/2145cd2f0082c11177b062e1ecbce121c3b50b43

Thanks,
Inochi


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: (subset) [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
@ 2026-06-02  8:19   ` Inochi Amaoto
  0 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-06-02  8:19 UTC (permalink / raw)
  To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
	palmer, aou, alex, liujingqi, alexander.sverdlin, rabenda.cn,
	dlan, chao.wei, anup, Daniel Lezcano, Joshua Milas
  Cc: Inochi Amaoto, linux-kernel, devicetree, linux-riscv, sophgo,
	hanguidong02, michael.opdenacker

On Sat, 30 May 2026 13:33:42 -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.
> 
> [...]

Applied to for-next, thanks!

[1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
      https://github.com/sophgo/linux/commit/eeec80c3ce36ead24e2f53d88a24dac1e3de8041
[4/5] riscv64: dts: sophgo: add SG2000 dtsi
      https://github.com/sophgo/linux/commit/2145cd2f0082c11177b062e1ecbce121c3b50b43

Thanks,
Inochi


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: (subset) [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
  2026-06-02  8:19   ` Inochi Amaoto
@ 2026-06-02  8:22     ` Inochi Amaoto
  -1 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-06-02  8:22 UTC (permalink / raw)
  To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
	palmer, aou, alex, liujingqi, alexander.sverdlin, rabenda.cn,
	dlan, chao.wei, anup, Daniel Lezcano, Joshua Milas
  Cc: Inochi Amaoto, linux-kernel, devicetree, linux-riscv, sophgo,
	hanguidong02, michael.opdenacker

On Tue, Jun 02, 2026 at 04:19:05PM +0800, Inochi Amaoto wrote:
> On Sat, 30 May 2026 13:33:42 -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.
> > 
> > [...]
> 
> Applied to for-next, thanks!
> 
> [1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
>       https://github.com/sophgo/linux/commit/eeec80c3ce36ead24e2f53d88a24dac1e3de8041
> [4/5] riscv64: dts: sophgo: add SG2000 dtsi
>       https://github.com/sophgo/linux/commit/2145cd2f0082c11177b062e1ecbce121c3b50b43
> 
> Thanks,
> Inochi
> 

Please ignore this, I apply the wrong patch, A new thanks will be sent 
after I fix this. Sorry for the noise.

Regards,
Inochi

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: (subset) [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
@ 2026-06-02  8:22     ` Inochi Amaoto
  0 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-06-02  8:22 UTC (permalink / raw)
  To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
	palmer, aou, alex, liujingqi, alexander.sverdlin, rabenda.cn,
	dlan, chao.wei, anup, Daniel Lezcano, Joshua Milas
  Cc: Inochi Amaoto, linux-kernel, devicetree, linux-riscv, sophgo,
	hanguidong02, michael.opdenacker

On Tue, Jun 02, 2026 at 04:19:05PM +0800, Inochi Amaoto wrote:
> On Sat, 30 May 2026 13:33:42 -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.
> > 
> > [...]
> 
> Applied to for-next, thanks!
> 
> [1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
>       https://github.com/sophgo/linux/commit/eeec80c3ce36ead24e2f53d88a24dac1e3de8041
> [4/5] riscv64: dts: sophgo: add SG2000 dtsi
>       https://github.com/sophgo/linux/commit/2145cd2f0082c11177b062e1ecbce121c3b50b43
> 
> Thanks,
> Inochi
> 

Please ignore this, I apply the wrong patch, A new thanks will be sent 
after I fix this. Sorry for the noise.

Regards,
Inochi

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: (subset) [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
  2026-05-30 17:33 ` Joshua Milas
@ 2026-06-02  8:26   ` Inochi Amaoto
  -1 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-06-02  8:26 UTC (permalink / raw)
  To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
	palmer, aou, alex, liujingqi, alexander.sverdlin, rabenda.cn,
	dlan, chao.wei, anup, Daniel Lezcano, Joshua Milas
  Cc: Inochi Amaoto, linux-kernel, devicetree, linux-riscv, sophgo,
	hanguidong02, michael.opdenacker

On Sat, 30 May 2026 13:33:42 -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.
> 
> [...]

Applied to for-next, thanks!

[1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
      https://github.com/sophgo/linux/commit/efe66eed43ef507a5b3784d988842d2e621806e1
[3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
      https://github.com/sophgo/linux/commit/972e8823d93866bc39cf6270bd5ec26d055b9d6f

Thanks,
Inochi


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: (subset) [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support
@ 2026-06-02  8:26   ` Inochi Amaoto
  0 siblings, 0 replies; 35+ messages in thread
From: Inochi Amaoto @ 2026-06-02  8:26 UTC (permalink / raw)
  To: tglx, robh, krzk+dt, conor+dt, pjw, samuel.holland, unicorn_wang,
	palmer, aou, alex, liujingqi, alexander.sverdlin, rabenda.cn,
	dlan, chao.wei, anup, Daniel Lezcano, Joshua Milas
  Cc: Inochi Amaoto, linux-kernel, devicetree, linux-riscv, sophgo,
	hanguidong02, michael.opdenacker

On Sat, 30 May 2026 13:33:42 -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.
> 
> [...]

Applied to for-next, thanks!

[1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles
      https://github.com/sophgo/linux/commit/efe66eed43ef507a5b3784d988842d2e621806e1
[3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation
      https://github.com/sophgo/linux/commit/972e8823d93866bc39cf6270bd5ec26d055b9d6f

Thanks,
Inochi


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
  2026-05-30 17:33   ` Joshua Milas
@ 2026-06-05  9:09     ` Shuwei Wu
  -1 siblings, 0 replies; 35+ messages in thread
From: Shuwei Wu @ 2026-06-05  9:09 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker, linux-riscv

Hi Joshua,

On Sun May 31, 2026 at 1:33 AM CST, Joshua Milas 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>
> ---
>  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";
> +};
> +

I tested this series on a Milk-V Duo S board with a RISC-V mainline kernel.

The board boots successfully with sg2000-milkv-duo-s.dtb. UART works, the SD
card is detected and readable, Ethernet works after enabling the MDIO mux
options, and the DMA, USB host, I2C4, SPI3 and SARADC nodes all probe
successfully.

One thing I noticed is that the Wi-Fi SDIO device is not enumerated with the
mainline DT. The sdhci1 host itself probes:

  mmc1: SDHCI controller on 4320000.mmc [4320000.mmc] using ADMA 64-bit
  mmc1: Failed to initialize a non-removable card

and /sys/bus/sdio/devices remains empty.

With the vendor image on the same board, the Wi-Fi SDIO device is detected on
the corresponding controller:

  mmc1: SDHCI controller on 4320000.wifi-sd [4320000.wifi-sd] using ADMA 64-bit
  sdio vendor ID: 0xc8a1
  sdio device ID: 0x0082
  aicwf_sdio_chipmatch USE AIC8800D80
  sdio ready

So it looks like the SDHCI host comes up, but the SDIO device behind it is not
discovered. I may still be missing some config option.

Have you seen this issue on your side? If not, could you please share the
relevant kernel config used for your testing?

-- 
Best regards,
Shuwei Wu

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support
@ 2026-06-05  9:09     ` Shuwei Wu
  0 siblings, 0 replies; 35+ messages in thread
From: Shuwei Wu @ 2026-06-05  9:09 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker, linux-riscv

Hi Joshua,

On Sun May 31, 2026 at 1:33 AM CST, Joshua Milas 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>
> ---
>  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";
> +};
> +

I tested this series on a Milk-V Duo S board with a RISC-V mainline kernel.

The board boots successfully with sg2000-milkv-duo-s.dtb. UART works, the SD
card is detected and readable, Ethernet works after enabling the MDIO mux
options, and the DMA, USB host, I2C4, SPI3 and SARADC nodes all probe
successfully.

One thing I noticed is that the Wi-Fi SDIO device is not enumerated with the
mainline DT. The sdhci1 host itself probes:

  mmc1: SDHCI controller on 4320000.mmc [4320000.mmc] using ADMA 64-bit
  mmc1: Failed to initialize a non-removable card

and /sys/bus/sdio/devices remains empty.

With the vendor image on the same board, the Wi-Fi SDIO device is detected on
the corresponding controller:

  mmc1: SDHCI controller on 4320000.wifi-sd [4320000.wifi-sd] using ADMA 64-bit
  sdio vendor ID: 0xc8a1
  sdio device ID: 0x0082
  aicwf_sdio_chipmatch USE AIC8800D80
  sdio ready

So it looks like the SDHCI host comes up, but the SDIO device behind it is not
discovered. I may still be missing some config option.

Have you seen this issue on your side? If not, could you please share the
relevant kernel config used for your testing?

-- 
Best regards,
Shuwei Wu

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 4/5] riscv64: dts: sophgo: add SG2000 dtsi
  2026-05-30 17:33   ` Joshua Milas
@ 2026-06-05  9:33     ` Shuwei Wu
  -1 siblings, 0 replies; 35+ messages in thread
From: Shuwei Wu @ 2026-06-05  9:33 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker, linux-riscv

Hi Joshua,

On Sun May 31, 2026 at 1:33 AM CST, Joshua Milas wrote:
> 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>;
> +	};

I noticed that this describes 256 MiB of RAM. The Milk-V Duo documentation lists
the SG2000-based Duo boards as having 512 MB of DRAM [1].
Is the 256 MiB size intentional here, or should the Duo S board DTS override it
with the documented 512 MB DRAM size?
[1] https://milkv.io/docs/duo/overview

> +
> +	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>;
> +		};
> +	};
> +};

-- 
Best regards,
Shuwei Wu


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH v5 RESEND 4/5] riscv64: dts: sophgo: add SG2000 dtsi
@ 2026-06-05  9:33     ` Shuwei Wu
  0 siblings, 0 replies; 35+ messages in thread
From: Shuwei Wu @ 2026-06-05  9:33 UTC (permalink / raw)
  To: Joshua Milas, 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: linux-kernel, devicetree, linux-riscv, sophgo, hanguidong02,
	michael.opdenacker, linux-riscv

Hi Joshua,

On Sun May 31, 2026 at 1:33 AM CST, Joshua Milas wrote:
> 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>;
> +	};

I noticed that this describes 256 MiB of RAM. The Milk-V Duo documentation lists
the SG2000-based Duo boards as having 512 MB of DRAM [1].
Is the 256 MiB size intentional here, or should the Duo S board DTS override it
with the documented 512 MB DRAM size?
[1] https://milkv.io/docs/duo/overview

> +
> +	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>;
> +		};
> +	};
> +};

-- 
Best regards,
Shuwei Wu


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2026-06-05  9:33 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-30 17:33 [PATCH v5 RESEND 0/5] Add initial Milk-V Duo S board support Joshua Milas
2026-05-30 17:33 ` Joshua Milas
2026-05-30 17:33 ` [PATCH v5 RESEND 1/5] dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles Joshua Milas
2026-05-30 17:33   ` Joshua Milas
2026-05-31 12:29   ` Krzysztof Kozlowski
2026-05-31 12:29     ` Krzysztof Kozlowski
2026-05-30 17:33 ` [PATCH v5 RESEND 2/5] arm64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2026-05-30 17:33   ` Joshua Milas
2026-05-30 17:46   ` sashiko-bot
2026-05-30 22:01   ` Inochi Amaoto
2026-05-30 22:01     ` Inochi Amaoto
2026-05-30 17:33 ` [PATCH v5 RESEND 3/5] dt-bindings: soc: sophgo: add sg2000 plic and clint documentation Joshua Milas
2026-05-30 17:33   ` Joshua Milas
2026-05-31 12:30   ` Krzysztof Kozlowski
2026-05-31 12:30     ` Krzysztof Kozlowski
2026-05-30 17:33 ` [PATCH v5 RESEND 4/5] riscv64: dts: sophgo: add SG2000 dtsi Joshua Milas
2026-05-30 17:33   ` Joshua Milas
2026-05-30 17:56   ` sashiko-bot
2026-06-05  9:33   ` Shuwei Wu
2026-06-05  9:33     ` Shuwei Wu
2026-05-30 17:33 ` [PATCH v5 RESEND 5/5] riscv64: dts: sophgo: add initial Milk-V Duo S board support Joshua Milas
2026-05-30 17:33   ` Joshua Milas
2026-05-30 18:02   ` sashiko-bot
2026-05-30 22:00   ` Inochi Amaoto
2026-05-30 22:00     ` Inochi Amaoto
2026-06-05  9:09   ` Shuwei Wu
2026-06-05  9:09     ` Shuwei Wu
2026-05-30 22:02 ` [PATCH v5 RESEND 0/5] Add " Inochi Amaoto
2026-05-30 22:02   ` Inochi Amaoto
2026-06-02  8:19 ` (subset) " Inochi Amaoto
2026-06-02  8:19   ` Inochi Amaoto
2026-06-02  8:22   ` Inochi Amaoto
2026-06-02  8:22     ` Inochi Amaoto
2026-06-02  8:26 ` Inochi Amaoto
2026-06-02  8:26   ` Inochi Amaoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.