public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts
@ 2025-10-15 10:22 E Shattow
  2025-10-15 10:22 ` [PATCH v2 01/10] riscv: dts: starfive: jh7110-common: drop no-sdio property from mmc1 E Shattow
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow

Prepare for Milk-V Mars CM support re-add and for drop of duplicate
overrides in U-Boot jh7110.dtsi by taking upstream updates from v6.18-rc1.

This series supersedes "Merge cherry-pick tag 'riscv-dt-for-v6.18' of
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt":

https://lore.kernel.org/u-boot/f9931130-96cb-41bf-9be2-6a390085bcad@freeshell.de

That (above) patch is for a merge commit and touched more platforms than I
am able to test for. It is better to just take the JH-7110 commits here.

E Shattow (10):
  riscv: dts: starfive: jh7110-common: drop no-sdio property from mmc1
  riscv: dts: starfive: jh7110: add DMC memory controller
  riscv: dts: starfive: jh7110: bootph-pre-ram hinting needed by boot
    loader
  riscv: dts: starfive: jh7110-common: drop no-mmc property from mmc1
  riscv: dts: starfive: jh7110-common: drop mmc post-power-on-delay-ms
  riscv: dts: starfive: add common board dtsi for Milk-V Mars CM
    variants
  dt-bindings: riscv: starfive: add milkv,marscm-emmc
  riscv: dts: starfive: add Milk-V Mars CM system-on-module
  dt-bindings: riscv: starfive: add milkv,marscm-lite
  riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module

 dts/upstream/Bindings/riscv/starfive.yaml     |   2 +
 .../src/riscv/starfive/jh7110-common.dtsi     |   4 -
 .../starfive/jh7110-milkv-marscm-emmc.dts     |  12 ++
 .../starfive/jh7110-milkv-marscm-lite.dts     |  25 +++
 .../riscv/starfive/jh7110-milkv-marscm.dtsi   | 159 ++++++++++++++++++
 dts/upstream/src/riscv/starfive/jh7110.dtsi   |  24 +++
 6 files changed, 222 insertions(+), 4 deletions(-)
 create mode 100644 dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-emmc.dts
 create mode 100644 dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-lite.dts
 create mode 100644 dts/upstream/src/riscv/starfive/jh7110-milkv-marscm.dtsi


base-commit: b1cc9a53d7ba8b85e77980417242420889273e86
-- 
2.50.0


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

* [PATCH v2 01/10] riscv: dts: starfive: jh7110-common: drop no-sdio property from mmc1
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 02/10] riscv: dts: starfive: jh7110: add DMC memory controller E Shattow
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Conor Dooley

Relax no-sdio restriction on mmc1 for jh7110 boards. Property was
introduced for StarFive VisionFive2 dts to configure mmc1 for SD Card
but this is not necessary, the restriction is only needed to block use of
commands that would cause a device to malfunction.

Signed-off-by: E Shattow <e@freeshell.de>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 481ee0fcbb9a0f0706d6d29de9570d1048aff631 ]

(cherry picked from commit b4e73596622f791e3c2a2449022671e4e579fbd0)
---
 dts/upstream/src/riscv/starfive/jh7110-common.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dts/upstream/src/riscv/starfive/jh7110-common.dtsi b/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
index 2eaf01775ef..a315113840e 100644
--- a/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
+++ b/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
@@ -299,7 +299,6 @@
 	assigned-clock-rates = <50000000>;
 	bus-width = <4>;
 	bootph-pre-ram;
-	no-sdio;
 	no-mmc;
 	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
 	disable-wp;
-- 
2.50.0


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

* [PATCH v2 02/10] riscv: dts: starfive: jh7110: add DMC memory controller
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
  2025-10-15 10:22 ` [PATCH v2 01/10] riscv: dts: starfive: jh7110-common: drop no-sdio property from mmc1 E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 03/10] riscv: dts: starfive: jh7110: bootph-pre-ram hinting needed by boot loader E Shattow
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Hal Feng, Emil Renner Berthing, Conor Dooley

Add JH7110 SoC DDR external memory controller.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 7114969021ec5c4c0f3df1da3a8790f75dda92e2 ]

(cherry picked from commit 8d5c520b73b7c29b714f75e99ed48baa55fc5fa1)
---
 dts/upstream/src/riscv/starfive/jh7110.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dts/upstream/src/riscv/starfive/jh7110.dtsi b/dts/upstream/src/riscv/starfive/jh7110.dtsi
index 0ba74ef0467..f3876660c07 100644
--- a/dts/upstream/src/riscv/starfive/jh7110.dtsi
+++ b/dts/upstream/src/riscv/starfive/jh7110.dtsi
@@ -931,6 +931,18 @@
 				 <&syscrg JH7110_SYSRST_WDT_CORE>;
 		};
 
+		memory-controller@15700000 {
+			compatible = "starfive,jh7110-dmc";
+			reg = <0x0 0x15700000 0x0 0x10000>,
+			      <0x0 0x13000000 0x0 0x10000>;
+			clocks = <&syscrg JH7110_PLLCLK_PLL1_OUT>;
+			clock-names = "pll";
+			resets = <&syscrg JH7110_SYSRST_DDR_AXI>,
+				 <&syscrg JH7110_SYSRST_DDR_OSC>,
+				 <&syscrg JH7110_SYSRST_DDR_APB>;
+			reset-names = "axi", "osc", "apb";
+		};
+
 		crypto: crypto@16000000 {
 			compatible = "starfive,jh7110-crypto";
 			reg = <0x0 0x16000000 0x0 0x4000>;
-- 
2.50.0


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

* [PATCH v2 03/10] riscv: dts: starfive: jh7110: bootph-pre-ram hinting needed by boot loader
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
  2025-10-15 10:22 ` [PATCH v2 01/10] riscv: dts: starfive: jh7110-common: drop no-sdio property from mmc1 E Shattow
  2025-10-15 10:22 ` [PATCH v2 02/10] riscv: dts: starfive: jh7110: add DMC memory controller E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 04/10] riscv: dts: starfive: jh7110-common: drop no-mmc property from mmc1 E Shattow
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Hal Feng, Emil Renner Berthing, Conor Dooley

Add bootph-pre-ram hinting to jh7110.dtsi:
  - CPU interrupt controller(s)
  - gmac1_rgmii_rxin fixed-clock (dependency of syscrg)
  - gmac1_rmii_refin fixed-clock (dependency of syscrg)
  - oscillator
  - core local interrupt timer
  - syscrg clock-controller
  - pllclk clock-controller (dependency of syscrg)
  - DDR memory controller

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 8181cc2f3f21657392da912eb20ee17514c87828 ]

(cherry picked from commit a31c1c85876bf9f15f3df14959354ab9a200ffa0)
---
 dts/upstream/src/riscv/starfive/jh7110.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dts/upstream/src/riscv/starfive/jh7110.dtsi b/dts/upstream/src/riscv/starfive/jh7110.dtsi
index f3876660c07..6e56e9d20bb 100644
--- a/dts/upstream/src/riscv/starfive/jh7110.dtsi
+++ b/dts/upstream/src/riscv/starfive/jh7110.dtsi
@@ -35,6 +35,7 @@
 
 			cpu0_intc: interrupt-controller {
 				compatible = "riscv,cpu-intc";
+				bootph-pre-ram;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 			};
@@ -68,6 +69,7 @@
 
 			cpu1_intc: interrupt-controller {
 				compatible = "riscv,cpu-intc";
+				bootph-pre-ram;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 			};
@@ -101,6 +103,7 @@
 
 			cpu2_intc: interrupt-controller {
 				compatible = "riscv,cpu-intc";
+				bootph-pre-ram;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 			};
@@ -134,6 +137,7 @@
 
 			cpu3_intc: interrupt-controller {
 				compatible = "riscv,cpu-intc";
+				bootph-pre-ram;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 			};
@@ -167,6 +171,7 @@
 
 			cpu4_intc: interrupt-controller {
 				compatible = "riscv,cpu-intc";
+				bootph-pre-ram;
 				interrupt-controller;
 				#interrupt-cells = <1>;
 			};
@@ -273,12 +278,14 @@
 
 	gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
 		compatible = "fixed-clock";
+		bootph-pre-ram;
 		clock-output-names = "gmac1_rgmii_rxin";
 		#clock-cells = <0>;
 	};
 
 	gmac1_rmii_refin: gmac1-rmii-refin-clock {
 		compatible = "fixed-clock";
+		bootph-pre-ram;
 		clock-output-names = "gmac1_rmii_refin";
 		#clock-cells = <0>;
 	};
@@ -321,6 +328,7 @@
 
 	osc: oscillator {
 		compatible = "fixed-clock";
+		bootph-pre-ram;
 		clock-output-names = "osc";
 		#clock-cells = <0>;
 	};
@@ -354,6 +362,7 @@
 		clint: timer@2000000 {
 			compatible = "starfive,jh7110-clint", "sifive,clint0";
 			reg = <0x0 0x2000000 0x0 0x10000>;
+			bootph-pre-ram;
 			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
 					      <&cpu1_intc 3>, <&cpu1_intc 7>,
 					      <&cpu2_intc 3>, <&cpu2_intc 7>,
@@ -880,6 +889,7 @@
 		syscrg: clock-controller@13020000 {
 			compatible = "starfive,jh7110-syscrg";
 			reg = <0x0 0x13020000 0x0 0x10000>;
+			bootph-pre-ram;
 			clocks = <&osc>, <&gmac1_rmii_refin>,
 				 <&gmac1_rgmii_rxin>,
 				 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
@@ -904,6 +914,7 @@
 
 			pllclk: clock-controller {
 				compatible = "starfive,jh7110-pll";
+				bootph-pre-ram;
 				clocks = <&osc>;
 				#clock-cells = <1>;
 			};
@@ -935,6 +946,7 @@
 			compatible = "starfive,jh7110-dmc";
 			reg = <0x0 0x15700000 0x0 0x10000>,
 			      <0x0 0x13000000 0x0 0x10000>;
+			bootph-pre-ram;
 			clocks = <&syscrg JH7110_PLLCLK_PLL1_OUT>;
 			clock-names = "pll";
 			resets = <&syscrg JH7110_SYSRST_DDR_AXI>,
-- 
2.50.0


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

* [PATCH v2 04/10] riscv: dts: starfive: jh7110-common: drop no-mmc property from mmc1
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (2 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 03/10] riscv: dts: starfive: jh7110: bootph-pre-ram hinting needed by boot loader E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 05/10] riscv: dts: starfive: jh7110-common: drop mmc post-power-on-delay-ms E Shattow
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Hal Feng, Conor Dooley

Relax no-mmc restriction on mmc1 for jh7110 boards. The restriction is
only needed to block use of commands that would cause a device to
malfunction, which by testing and observation [1] is not any problem.

1: https://lore.kernel.org/lkml/NT0PR01MB1312E0D9EE9F158A57B77700E63D2@NT0PR01MB1312.CHNPR01.prod.partner.outlook.cn/

Signed-off-by: E Shattow <e@freeshell.de>
Tested-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 08128670a931a4117f7b93c703d0186c67c9e1e2 ]

(cherry picked from commit cd5d4277d9515be5c10752fd8140f03c3dfec541)
---
 dts/upstream/src/riscv/starfive/jh7110-common.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dts/upstream/src/riscv/starfive/jh7110-common.dtsi b/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
index a315113840e..4fa77ffd54e 100644
--- a/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
+++ b/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
@@ -299,7 +299,6 @@
 	assigned-clock-rates = <50000000>;
 	bus-width = <4>;
 	bootph-pre-ram;
-	no-mmc;
 	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	cap-sd-highspeed;
-- 
2.50.0


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

* [PATCH v2 05/10] riscv: dts: starfive: jh7110-common: drop mmc post-power-on-delay-ms
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (3 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 04/10] riscv: dts: starfive: jh7110-common: drop no-mmc property from mmc1 E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 06/10] riscv: dts: starfive: add common board dtsi for Milk-V Mars CM variants E Shattow
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Hal Feng, Conor Dooley

Drop post-power-on-delay-ms from mmc0 mmc1 interfaces. There is no
known reason for these properties to continue, testing appears to be fine
without them [1].

1: https://lore.kernel.org/lkml/NT0PR01MB1312E0D9EE9F158A57B77700E63D2@NT0PR01MB1312.CHNPR01.prod.partner.outlook.cn/

Signed-off-by: E Shattow <e@freeshell.de>
Tested-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: b5a861a438d1a456952665cf6167969f01209479 ]

(cherry picked from commit 9c18e97b9be437c97789c9687148f3dd3f25b809)
---
 dts/upstream/src/riscv/starfive/jh7110-common.dtsi | 2 --
 1 file changed, 2 deletions(-)

diff --git a/dts/upstream/src/riscv/starfive/jh7110-common.dtsi b/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
index 4fa77ffd54e..5dc15e48b74 100644
--- a/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
+++ b/dts/upstream/src/riscv/starfive/jh7110-common.dtsi
@@ -285,7 +285,6 @@
 	mmc-ddr-1_8v;
 	mmc-hs200-1_8v;
 	cap-mmc-hw-reset;
-	post-power-on-delay-ms = <200>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
 	vmmc-supply = <&vcc_3v3>;
@@ -302,7 +301,6 @@
 	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	cap-sd-highspeed;
-	post-power-on-delay-ms = <200>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins>;
 	status = "okay";
-- 
2.50.0


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

* [PATCH v2 06/10] riscv: dts: starfive: add common board dtsi for Milk-V Mars CM variants
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (4 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 05/10] riscv: dts: starfive: jh7110-common: drop mmc post-power-on-delay-ms E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 07/10] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Conor Dooley

Add a common board dtsi for use by Milk-V Mars CM and Milk-V Mars CM Lite.

Signed-off-by: E Shattow <e@freeshell.de>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 651b30c58775e334c79aa3ecd44a3d98ac201db2 ]

(cherry picked from commit 034af14dcd1e6dbfa4f41a340b6d92b054604858)
---
 .../riscv/starfive/jh7110-milkv-marscm.dtsi   | 159 ++++++++++++++++++
 1 file changed, 159 insertions(+)
 create mode 100644 dts/upstream/src/riscv/starfive/jh7110-milkv-marscm.dtsi

diff --git a/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm.dtsi b/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm.dtsi
new file mode 100644
index 00000000000..25b70af564e
--- /dev/null
+++ b/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm.dtsi
@@ -0,0 +1,159 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 E Shattow <e@freeshell.de>
+ */
+
+/dts-v1/;
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "jh7110-common.dtsi"
+
+/ {
+	aliases {
+		i2c1 = &i2c1;
+		i2c3 = &i2c3;
+		i2c4 = &i2c4;
+		serial3 = &uart3;
+	};
+
+	sdio_pwrseq: sdio-pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		reset-gpios = <&sysgpio 33 GPIO_ACTIVE_LOW>;
+	};
+};
+
+&gmac0 {
+	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
+	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
+	starfive,tx-use-rgmii-clk;
+	status = "okay";
+};
+
+&i2c0 {
+	status = "okay";
+};
+
+&i2c2 {
+	status = "disabled";
+};
+
+&i2c6 {
+	status = "disabled";
+};
+
+&mmc1 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	mmc-pwrseq = <&sdio_pwrseq>;
+	non-removable;
+	status = "okay";
+
+	ap6256: wifi@1 {
+		compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
+		reg = <1>;
+		interrupt-parent = <&sysgpio>;
+		interrupts = <34 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "host-wake";
+		pinctrl-0 = <&wifi_host_wake_irq>;
+		pinctrl-names = "default";
+	};
+};
+
+&pcie0 {
+	status = "okay";
+};
+
+&phy0 {
+	rx-internal-delay-ps = <1500>;
+	tx-internal-delay-ps = <1500>;
+	motorcomm,rx-clk-drv-microamp = <3970>;
+	motorcomm,rx-data-drv-microamp = <2910>;
+	motorcomm,tx-clk-10-inverted;
+	motorcomm,tx-clk-100-inverted;
+	motorcomm,tx-clk-1000-inverted;
+	motorcomm,tx-clk-adj-enabled;
+};
+
+&pwm {
+	status = "okay";
+};
+
+&spi0 {
+	status = "okay";
+};
+
+&sysgpio {
+	uart1_pins: uart1-0 {
+		tx-pins {
+			pinmux = <GPIOMUX(16, GPOUT_SYS_UART1_TX,
+					      GPOEN_ENABLE,
+					      GPI_NONE)>;
+			bias-disable;
+			drive-strength = <12>;
+			input-disable;
+			input-schmitt-disable;
+		};
+
+		rx-pins {
+			pinmux = <GPIOMUX(17, GPOUT_LOW,
+					      GPOEN_DISABLE,
+					      GPI_SYS_UART1_RX)>;
+			bias-pull-up;
+			input-enable;
+			input-schmitt-enable;
+		};
+
+		cts-pins {
+			pinmux = <GPIOMUX(3, GPOUT_LOW,
+					     GPOEN_DISABLE,
+					     GPI_SYS_UART1_CTS)>;
+			bias-disable;
+			input-enable;
+			input-schmitt-enable;
+		};
+
+		rts-pins {
+			pinmux = <GPIOMUX(2, GPOUT_SYS_UART1_RTS,
+					     GPOEN_ENABLE,
+					     GPI_NONE)>;
+			bias-disable;
+			input-disable;
+			input-schmitt-disable;
+		};
+	};
+
+	usb0_pins: usb0-0 {
+		vbus-pins {
+			pinmux = <GPIOMUX(25, GPOUT_SYS_USB_DRIVE_VBUS,
+					      GPOEN_ENABLE,
+					      GPI_NONE)>;
+			bias-disable;
+			input-disable;
+			input-schmitt-disable;
+			slew-rate = <0>;
+		};
+	};
+
+	wifi_host_wake_irq: wifi-host-wake-irq-0 {
+		wake-pins {
+			pinmux = <GPIOMUX(34, GPOUT_LOW,
+					      GPOEN_DISABLE,
+					      GPI_NONE)>;
+			input-enable;
+		};
+	};
+};
+
+&uart1 {
+	uart-has-rtscts;
+	pinctrl-0 = <&uart1_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&usb0 {
+	dr_mode = "host";
+	pinctrl-names = "default";
+	pinctrl-0 = <&usb0_pins>;
+	status = "okay";
+};
-- 
2.50.0


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

* [PATCH v2 07/10] dt-bindings: riscv: starfive: add milkv,marscm-emmc
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (5 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 06/10] riscv: dts: starfive: add common board dtsi for Milk-V Mars CM variants E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 08/10] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Rob Herring (Arm), Conor Dooley

Add "milkv,marscm-emmc" as a StarFive JH7110 SoC-based system-on-module.

Signed-off-by: E Shattow <e@freeshell.de>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: d1829e0b2f0619c39b0ce0b84fcbf67569108376 ]

(cherry picked from commit 4df5d2ff67fa10ad1ba5760dedf1b3cbc2037739)
---
 dts/upstream/Bindings/riscv/starfive.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dts/upstream/Bindings/riscv/starfive.yaml b/dts/upstream/Bindings/riscv/starfive.yaml
index 7ef85174353..0713edb687f 100644
--- a/dts/upstream/Bindings/riscv/starfive.yaml
+++ b/dts/upstream/Bindings/riscv/starfive.yaml
@@ -28,6 +28,7 @@ properties:
           - enum:
               - deepcomputing,fml13v01
               - milkv,mars
+              - milkv,marscm-emmc
               - pine64,star64
               - starfive,visionfive-2-v1.2a
               - starfive,visionfive-2-v1.3b
-- 
2.50.0


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

* [PATCH v2 08/10] riscv: dts: starfive: add Milk-V Mars CM system-on-module
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (6 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 07/10] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 09/10] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
  2025-10-15 10:22 ` [PATCH v2 10/10] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Conor Dooley

Milk-V Mars CM is a System-on-Module based on the StarFive VisionFive 2
board and Radxa CM3 System-on-Module compatible with the Raspberry Pi
CM4IO Classic IO Board.

Mars CM SoM features:

- StarFive JH7110 System on Chip with RV64GC up to 1.5GHz
- AXP15060 Power Management Unit
- LPDDR4 2GB / 4GB / 8GB DRAM memory
- BL24C04F 4K bits (512 x 8) EEPROM
- GigaDevice 25LQ128EWIG QSPI NOR Flash 16M or SoC ROM UART loader for
  boot (selectable by GPIO)
- eMMC5.0 8GB / 16GB / 32GB flash storage onboard
- AP6256 via SDIO 2.0 onboard wireless connectivity WiFi 5 + Bluetooth
  5.2 (optional, present in models with WiFi feature)
- 1x Motorcomm YT8531C Gigabit Ethernet PHY
- IMG BXE-4-32 Integrated GPU with 3D Acceleration:
  - H.264 & H.265 4K@60fps Decoding
  - H.265 1080p@30fps Encoding
  - JPEG encoder / decoder

Additional features available via 2x 100-pin connectors for CM4IO Board:
- 1x HDMI 2.0
- 1x MIPI DSI (4-lanes)
- 1x 2CH Audio out (via GPIO)
- 1x MIPI CSI (2x2-lanes or 1x4-lanes)
- 1x USB 2.0
- 1x PCIe 1-lane Host, Gen 2 (5Gbps)
- Up to 28x GPIO, supporting 3.3V
- UART x6
- PWM x8
- I2C x7
- SPI
- I2S

Link to Milk-V Mars CM schematics: https://github.com/milkv-mars/mars-files/tree/main/Mars-CM_Hardware_Schematices
Link to StarFive JH7110 Technical Reference Manual: https://doc-en.rvspace.org/JH7110/TRM/index.html
Link to Raspberry Pi CM4IO datasheet: https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf

Add the devicetree file to make use of StarFive JH7110 common supported
features PMIC, EEPROM, UART, I2C, GPIO, eMMC, PCIe, QSPI Flash, PWM, and
Ethernet. Also configure the common SD Card interface mmc1 for onboard
SDIO BT+WiFi.

Signed-off-by: E Shattow <e@freeshell.de>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 8d193bc0aa2e802be30de331317639482735d738 ]

(cherry picked from commit 8e935d097e975e6322b63fdc8ef9894c8582bef0)
---
 .../src/riscv/starfive/jh7110-milkv-marscm-emmc.dts  | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-emmc.dts

diff --git a/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-emmc.dts b/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-emmc.dts
new file mode 100644
index 00000000000..e568537af2c
--- /dev/null
+++ b/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-emmc.dts
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 E Shattow <e@freeshell.de>
+ */
+
+/dts-v1/;
+#include "jh7110-milkv-marscm.dtsi"
+
+/ {
+	model = "Milk-V Mars CM";
+	compatible = "milkv,marscm-emmc", "starfive,jh7110";
+};
-- 
2.50.0


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

* [PATCH v2 09/10] dt-bindings: riscv: starfive: add milkv,marscm-lite
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (7 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 08/10] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
@ 2025-10-15 10:22 ` E Shattow
  2025-10-15 10:22 ` [PATCH v2 10/10] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Rob Herring (Arm), Conor Dooley

Add "milkv,marscm-lite" as a StarFive JH7110 SoC-based system-on-module.

Signed-off-by: E Shattow <e@freeshell.de>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 12a29108384cfe073a4de778d5207d53b492f85e ]

(cherry picked from commit ae7213970a0c80e90fac9ff0d2aa2966655983f5)
---
 dts/upstream/Bindings/riscv/starfive.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dts/upstream/Bindings/riscv/starfive.yaml b/dts/upstream/Bindings/riscv/starfive.yaml
index 0713edb687f..04510341a71 100644
--- a/dts/upstream/Bindings/riscv/starfive.yaml
+++ b/dts/upstream/Bindings/riscv/starfive.yaml
@@ -29,6 +29,7 @@ properties:
               - deepcomputing,fml13v01
               - milkv,mars
               - milkv,marscm-emmc
+              - milkv,marscm-lite
               - pine64,star64
               - starfive,visionfive-2-v1.2a
               - starfive,visionfive-2-v1.3b
-- 
2.50.0


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

* [PATCH v2 10/10] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
  2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
                   ` (8 preceding siblings ...)
  2025-10-15 10:22 ` [PATCH v2 09/10] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
@ 2025-10-15 10:22 ` E Shattow
  9 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-10-15 10:22 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot, E Shattow, Conor Dooley

Milk-V Mars CM Lite is a System-on-Module based on the Milk-V Mars CM
without the onboard eMMC storage component populated and configured
instead for SD3.0 Card Slot on that interface via 100-pin connector.

Link to Milk-V Mars CM Lite schematics: https://github.com/milkv-mars/mars-files/tree/main/Mars-CM_Hardware_Schematices
Link to StarFive JH7110 Technical Reference Manual: https://doc-en.rvspace.org/JH7110/TRM/index.html
Link to Raspberry Pi CM4IO datasheet: https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf

Add the devicetree file to make use of StarFive JH7110 common supported
features PMIC, EEPROM, UART, I2C, GPIO, PCIe, QSPI Flash, PWM, and
Ethernet. Also configure the eMMC interface mmc0 for SD Card use and
configure the common SD Card interface mmc1 for onboard SDIO BT+WiFi.

Signed-off-by: E Shattow <e@freeshell.de>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

[ upstream commit: 4cce8b2503ab50f75a2dbc3eef2e55722836588e ]

(cherry picked from commit c7821d537e5a61e5d543588674b71fb43ec0665b)
---
 .../starfive/jh7110-milkv-marscm-lite.dts     | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-lite.dts

diff --git a/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-lite.dts b/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-lite.dts
new file mode 100644
index 00000000000..6c40d0ec401
--- /dev/null
+++ b/dts/upstream/src/riscv/starfive/jh7110-milkv-marscm-lite.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 E Shattow <e@freeshell.de>
+ */
+
+/dts-v1/;
+#include "jh7110-milkv-marscm.dtsi"
+
+/ {
+	model = "Milk-V Mars CM Lite";
+	compatible = "milkv,marscm-lite", "starfive,jh7110";
+};
+
+&mmc0 {
+	bus-width = <4>;
+	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+};
+
+&mmc0_pins {
+	pwren-pins {
+		pinmux = <GPIOMUX(22, GPOUT_HIGH,
+				      GPOEN_ENABLE,
+				      GPI_NONE)>;
+	};
+};
-- 
2.50.0


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

end of thread, other threads:[~2025-10-15 10:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15 10:22 [PATCH v2 00/10] dts: starfive: cherry-pick jh7110 updates from v6.18-rc1-dts E Shattow
2025-10-15 10:22 ` [PATCH v2 01/10] riscv: dts: starfive: jh7110-common: drop no-sdio property from mmc1 E Shattow
2025-10-15 10:22 ` [PATCH v2 02/10] riscv: dts: starfive: jh7110: add DMC memory controller E Shattow
2025-10-15 10:22 ` [PATCH v2 03/10] riscv: dts: starfive: jh7110: bootph-pre-ram hinting needed by boot loader E Shattow
2025-10-15 10:22 ` [PATCH v2 04/10] riscv: dts: starfive: jh7110-common: drop no-mmc property from mmc1 E Shattow
2025-10-15 10:22 ` [PATCH v2 05/10] riscv: dts: starfive: jh7110-common: drop mmc post-power-on-delay-ms E Shattow
2025-10-15 10:22 ` [PATCH v2 06/10] riscv: dts: starfive: add common board dtsi for Milk-V Mars CM variants E Shattow
2025-10-15 10:22 ` [PATCH v2 07/10] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
2025-10-15 10:22 ` [PATCH v2 08/10] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
2025-10-15 10:22 ` [PATCH v2 09/10] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
2025-10-15 10:22 ` [PATCH v2 10/10] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox