devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM
@ 2025-07-24  9:48 E Shattow
  2025-07-24  9:48 ` [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: E Shattow @ 2025-07-24  9:48 UTC (permalink / raw)
  To: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti
  Cc: devicetree, linux-kernel, E Shattow, linux-riscv

Milk-V Mars CM and Mars CM Lite System-on-Module both are based on the
StarFive JH7110 SoC and compatible with the Raspberry Pi CM4IO Classic IO
Board carrier. Mars CM Lite is Mars CM without the eMMC storage component
on mmc0 and the mmc0 interface configured instead for SD Card use. The
optional WiFi+BT chipset is connected via SDIO on the mmc1 interface that
would otherwise be connected to an SD Card slot on the StarFive
VisionFive2 reference design.

Add the related devicetree files for both Milk-V Mars CM and Milk-V Mars
CM Lite describing the currently supported features, namely PMIC, UART,
I2C, GPIO, eMMC or SD Card, WiFi+BT, QSPI Flash, and Ethernet.

Caveat with vendor AP6256 firmware files present the firmware loading is
successful but subsequently fails IRQ wake initialization. Common GPIO
conflicts for "WiFi" optioned boards having this module:

pwmdac_pins:
 - AP6256: WL_REG_ON>>WIFI_REG_ON_H_GPIO33
 - AP6256: WL_HOST_WAKE>>WIFI_WAKE_HOST_H_GPIO34

i2c2_pins:
 - AP6256: UART_CTS_N<<UART1_RTSn_GPIO2
 - AP6256: UART_RTS_N>>UART1_CTSn_GPIO3

i2c6_pins:
 - AP6256: UART_RXD<<UART_TX_GPIO16
 - AP6256: UART_TXD>>UART_RX_GPIO17

Tested successfully for basic mmc0 storage, USB, and network functionality on:
- Milk-V Mars CM 8GB
- Milk-V Mars CM Lite 4GB
- Milk-V Mars CM Lite WiFi 8GB

E Shattow (4):
  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

 .../devicetree/bindings/riscv/starfive.yaml   |   2 +
 arch/riscv/boot/dts/starfive/Makefile         |   2 +
 .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 163 ++++++++++++++++
 .../dts/starfive/jh7110-milkv-marscm-lite.dts | 176 ++++++++++++++++++
 4 files changed, 343 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts


base-commit: 28fa0dcb571ab8f3be4d919f0e20e01d4e44bcb1
-- 
2.50.0


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

* [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc
  2025-07-24  9:48 [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM E Shattow
@ 2025-07-24  9:48 ` E Shattow
  2025-07-25 23:13   ` Rob Herring (Arm)
  2025-07-24  9:48 ` [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: E Shattow @ 2025-07-24  9:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Michael Zhu,
	Drew Fustini
  Cc: devicetree, linux-kernel, E Shattow, linux-riscv

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

Signed-off-by: E Shattow <e@freeshell.de>
---
 Documentation/devicetree/bindings/riscv/starfive.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
index 7ef85174353d..0713edb687fe 100644
--- a/Documentation/devicetree/bindings/riscv/starfive.yaml
+++ b/Documentation/devicetree/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 v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module
  2025-07-24  9:48 [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM E Shattow
  2025-07-24  9:48 ` [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
@ 2025-07-24  9:48 ` E Shattow
  2025-07-24  9:59   ` E Shattow
  2025-07-24  9:48 ` [PATCH v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: E Shattow @ 2025-07-24  9:48 UTC (permalink / raw)
  To: Conor Dooley, Emil Renner Berthing, Rob Herring,
	Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti
  Cc: devicetree, linux-kernel, E Shattow, E Shattow, linux-riscv

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, PWM DAC, QSPI Flash,
PWM, and Ethernet. Also configure the common SD Card interface mmc1 for
onboard SDIO BT+WiFi.

Signed-off-by: E Shattow <e@freenode.de>
---
 arch/riscv/boot/dts/starfive/Makefile         |   1 +
 .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 163 ++++++++++++++++++
 2 files changed, 164 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts

diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index b3bb12f78e7d..79742617ddab 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
 
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
+dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-emmc.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
new file mode 100644
index 000000000000..59766cdb912b
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
@@ -0,0 +1,163 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 E Shattow <e@freeshell.de>
+ */
+
+/dts-v1/;
+#include <dt-bindings/pinctrl/starfive,jh7110-pinctrl.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "jh7110-common.dtsi"
+
+/ {
+	model = "Milk-V Mars CM";
+	compatible = "milkv,marscm-emmc", "starfive,jh7110";
+
+	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 {
+		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 v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite
  2025-07-24  9:48 [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM E Shattow
  2025-07-24  9:48 ` [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
  2025-07-24  9:48 ` [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
@ 2025-07-24  9:48 ` E Shattow
  2025-07-25 23:13   ` Rob Herring (Arm)
  2025-07-24  9:48 ` [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow
  2025-08-12 18:05 ` [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM Conor Dooley
  4 siblings, 1 reply; 11+ messages in thread
From: E Shattow @ 2025-07-24  9:48 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Michael Zhu,
	Drew Fustini
  Cc: devicetree, linux-kernel, E Shattow, linux-riscv

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

Signed-off-by: E Shattow <e@freeshell.de>
---
 Documentation/devicetree/bindings/riscv/starfive.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
index 0713edb687fe..04510341a71e 100644
--- a/Documentation/devicetree/bindings/riscv/starfive.yaml
+++ b/Documentation/devicetree/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 v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
  2025-07-24  9:48 [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM E Shattow
                   ` (2 preceding siblings ...)
  2025-07-24  9:48 ` [PATCH v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
@ 2025-07-24  9:48 ` E Shattow
  2025-08-21  2:40   ` Hal Feng
  2025-08-12 18:05 ` [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM Conor Dooley
  4 siblings, 1 reply; 11+ messages in thread
From: E Shattow @ 2025-07-24  9:48 UTC (permalink / raw)
  To: Emil Renner Berthing, Conor Dooley, Rob Herring,
	Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti
  Cc: devicetree, linux-kernel, E Shattow, linux-riscv

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>
---
 arch/riscv/boot/dts/starfive/Makefile         |   1 +
 .../dts/starfive/jh7110-milkv-marscm-lite.dts | 176 ++++++++++++++++++
 2 files changed, 177 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts

diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index 79742617ddab..62b659f89ba7 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-emmc.dtb
+dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-lite.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
new file mode 100644
index 000000000000..e110146f0b76
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
@@ -0,0 +1,176 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 E Shattow <e@freeshell.de>
+ */
+
+/dts-v1/;
+#include <dt-bindings/pinctrl/starfive,jh7110-pinctrl.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "jh7110-common.dtsi"
+
+/ {
+	model = "Milk-V Mars CM Lite";
+	compatible = "milkv,marscm-lite", "starfive,jh7110";
+
+	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";
+};
+
+&mmc0 {
+	bus-width = <4>;
+	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+};
+
+&mmc0_pins {
+	pwren-pins {
+		pinmux = <GPIOMUX(22, GPOUT_HIGH,
+				      GPOEN_ENABLE,
+				      GPI_NONE)>;
+	};
+};
+
+&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 {
+		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

* Re: [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module
  2025-07-24  9:48 ` [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
@ 2025-07-24  9:59   ` E Shattow
  0 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-07-24  9:59 UTC (permalink / raw)
  To: Conor Dooley, Emil Renner Berthing, Rob Herring,
	Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti
  Cc: devicetree, linux-kernel, linux-riscv, E Shattow

Oops... wrong S-o-by email address on this patch.

On 7/24/25 02:48, E Shattow wrote:
> 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, PWM DAC, QSPI Flash,
> PWM, and Ethernet. Also configure the common SD Card interface mmc1 for
> onboard SDIO BT+WiFi.
> 
> Signed-off-by: E Shattow <e@freenode.de>

Should be @freeshell.de

> ---
>  arch/riscv/boot/dts/starfive/Makefile         |   1 +
>  .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 163 ++++++++++++++++++
>  2 files changed, 164 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> 
> diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
> index b3bb12f78e7d..79742617ddab 100644
> --- a/arch/riscv/boot/dts/starfive/Makefile
> +++ b/arch/riscv/boot/dts/starfive/Makefile
> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
>  
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-emmc.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> new file mode 100644
> index 000000000000..59766cdb912b
> --- /dev/null
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> @@ -0,0 +1,163 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2025 E Shattow <e@freeshell.de>
> + */
> +
> +/dts-v1/;
> +#include <dt-bindings/pinctrl/starfive,jh7110-pinctrl.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include "jh7110-common.dtsi"
> +
> +/ {
> +	model = "Milk-V Mars CM";
> +	compatible = "milkv,marscm-emmc", "starfive,jh7110";
> +
> +	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 {
> +		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";
> +};

-E

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

* Re: [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc
  2025-07-24  9:48 ` [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
@ 2025-07-25 23:13   ` Rob Herring (Arm)
  0 siblings, 0 replies; 11+ messages in thread
From: Rob Herring (Arm) @ 2025-07-25 23:13 UTC (permalink / raw)
  To: E Shattow
  Cc: devicetree, Krzysztof Kozlowski, Palmer Dabbelt, linux-riscv,
	Drew Fustini, linux-kernel, Conor Dooley, Michael Zhu,
	Paul Walmsley, Alexandre Ghiti, Albert Ou


On Thu, 24 Jul 2025 02:48:44 -0700, E Shattow wrote:
> Add "milkv,marscm-emmc" as a StarFive JH7110 SoC-based system-on-module.
> 
> Signed-off-by: E Shattow <e@freeshell.de>
> ---
>  Documentation/devicetree/bindings/riscv/starfive.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


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

* Re: [PATCH v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite
  2025-07-24  9:48 ` [PATCH v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
@ 2025-07-25 23:13   ` Rob Herring (Arm)
  0 siblings, 0 replies; 11+ messages in thread
From: Rob Herring (Arm) @ 2025-07-25 23:13 UTC (permalink / raw)
  To: E Shattow
  Cc: Palmer Dabbelt, devicetree, linux-riscv, linux-kernel,
	Krzysztof Kozlowski, Paul Walmsley, Conor Dooley, Michael Zhu,
	Albert Ou, Drew Fustini, Alexandre Ghiti


On Thu, 24 Jul 2025 02:48:46 -0700, E Shattow wrote:
> Add "milkv,marscm-lite" as a StarFive JH7110 SoC-based system-on-module.
> 
> Signed-off-by: E Shattow <e@freeshell.de>
> ---
>  Documentation/devicetree/bindings/riscv/starfive.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


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

* Re: [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM
  2025-07-24  9:48 [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM E Shattow
                   ` (3 preceding siblings ...)
  2025-07-24  9:48 ` [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow
@ 2025-08-12 18:05 ` Conor Dooley
  4 siblings, 0 replies; 11+ messages in thread
From: Conor Dooley @ 2025-08-12 18:05 UTC (permalink / raw)
  To: E Shattow
  Cc: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	devicetree, linux-kernel, linux-riscv

[-- Attachment #1: Type: text/plain, Size: 2360 bytes --]

Emil,

Could you take a look at this please?

Cheers,
Conor.

On Thu, Jul 24, 2025 at 02:48:43AM -0700, E Shattow wrote:
> Milk-V Mars CM and Mars CM Lite System-on-Module both are based on the
> StarFive JH7110 SoC and compatible with the Raspberry Pi CM4IO Classic IO
> Board carrier. Mars CM Lite is Mars CM without the eMMC storage component
> on mmc0 and the mmc0 interface configured instead for SD Card use. The
> optional WiFi+BT chipset is connected via SDIO on the mmc1 interface that
> would otherwise be connected to an SD Card slot on the StarFive
> VisionFive2 reference design.
> 
> Add the related devicetree files for both Milk-V Mars CM and Milk-V Mars
> CM Lite describing the currently supported features, namely PMIC, UART,
> I2C, GPIO, eMMC or SD Card, WiFi+BT, QSPI Flash, and Ethernet.
> 
> Caveat with vendor AP6256 firmware files present the firmware loading is
> successful but subsequently fails IRQ wake initialization. Common GPIO
> conflicts for "WiFi" optioned boards having this module:
> 
> pwmdac_pins:
>  - AP6256: WL_REG_ON>>WIFI_REG_ON_H_GPIO33
>  - AP6256: WL_HOST_WAKE>>WIFI_WAKE_HOST_H_GPIO34
> 
> i2c2_pins:
>  - AP6256: UART_CTS_N<<UART1_RTSn_GPIO2
>  - AP6256: UART_RTS_N>>UART1_CTSn_GPIO3
> 
> i2c6_pins:
>  - AP6256: UART_RXD<<UART_TX_GPIO16
>  - AP6256: UART_TXD>>UART_RX_GPIO17
> 
> Tested successfully for basic mmc0 storage, USB, and network functionality on:
> - Milk-V Mars CM 8GB
> - Milk-V Mars CM Lite 4GB
> - Milk-V Mars CM Lite WiFi 8GB
> 
> E Shattow (4):
>   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
> 
>  .../devicetree/bindings/riscv/starfive.yaml   |   2 +
>  arch/riscv/boot/dts/starfive/Makefile         |   2 +
>  .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 163 ++++++++++++++++
>  .../dts/starfive/jh7110-milkv-marscm-lite.dts | 176 ++++++++++++++++++
>  4 files changed, 343 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> 
> 
> base-commit: 28fa0dcb571ab8f3be4d919f0e20e01d4e44bcb1
> -- 
> 2.50.0
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

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

* Re: [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
  2025-07-24  9:48 ` [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow
@ 2025-08-21  2:40   ` Hal Feng
  2025-08-31 22:46     ` E Shattow
  0 siblings, 1 reply; 11+ messages in thread
From: Hal Feng @ 2025-08-21  2:40 UTC (permalink / raw)
  To: E Shattow, Emil Renner Berthing, Conor Dooley, Rob Herring,
	Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti
  Cc: devicetree, linux-kernel, linux-riscv

On 7/24/2025 5:48 PM, E Shattow wrote:
> 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>
> ---
>  arch/riscv/boot/dts/starfive/Makefile         |   1 +
>  .../dts/starfive/jh7110-milkv-marscm-lite.dts | 176 ++++++++++++++++++
>  2 files changed, 177 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> 
> diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
> index 79742617ddab..62b659f89ba7 100644
> --- a/arch/riscv/boot/dts/starfive/Makefile
> +++ b/arch/riscv/boot/dts/starfive/Makefile
> @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-emmc.dtb
> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-lite.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> new file mode 100644
> index 000000000000..e110146f0b76
> --- /dev/null
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> @@ -0,0 +1,176 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2025 E Shattow <e@freeshell.de>
> + */
> +
> +/dts-v1/;
> +#include <dt-bindings/pinctrl/starfive,jh7110-pinctrl.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include "jh7110-common.dtsi"

You can just include "jh7110-milkv-marscm-emmc.dts" instead of "jh7110-common.dtsi".
And then adding mmc0 changes will be enough.

Best regards,
Hal

...

> +&mmc0 {
> +	bus-width = <4>;
> +	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> +};
> +
> +&mmc0_pins {
> +	pwren-pins {
> +		pinmux = <GPIOMUX(22, GPOUT_HIGH,
> +				      GPOEN_ENABLE,
> +				      GPI_NONE)>;
> +	};
> +};
> +
...


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

* Re: [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
  2025-08-21  2:40   ` Hal Feng
@ 2025-08-31 22:46     ` E Shattow
  0 siblings, 0 replies; 11+ messages in thread
From: E Shattow @ 2025-08-31 22:46 UTC (permalink / raw)
  To: Hal Feng, Emil Renner Berthing, Conor Dooley, Rob Herring,
	Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti
  Cc: devicetree, linux-kernel, linux-riscv

On 8/20/25 19:40, Hal Feng wrote:
> On 7/24/2025 5:48 PM, E Shattow wrote:
>> 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>
>> ---
>>  arch/riscv/boot/dts/starfive/Makefile         |   1 +
>>  .../dts/starfive/jh7110-milkv-marscm-lite.dts | 176 ++++++++++++++++++
>>  2 files changed, 177 insertions(+)
>>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>>
>> diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
>> index 79742617ddab..62b659f89ba7 100644
>> --- a/arch/riscv/boot/dts/starfive/Makefile
>> +++ b/arch/riscv/boot/dts/starfive/Makefile
>> @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-emmc.dtb
>> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-lite.dtb
>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>> new file mode 100644
>> index 000000000000..e110146f0b76
>> --- /dev/null
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>> @@ -0,0 +1,176 @@
>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
>> +/*
>> + * Copyright (C) 2025 E Shattow <e@freeshell.de>
>> + */
>> +
>> +/dts-v1/;
>> +#include <dt-bindings/pinctrl/starfive,jh7110-pinctrl.h>
>> +#include <dt-bindings/interrupt-controller/irq.h>
>> +#include "jh7110-common.dtsi"
> 
> You can just include "jh7110-milkv-marscm-emmc.dts" instead of "jh7110-common.dtsi".
> And then adding mmc0 changes will be enough.
> 
> Best regards,
> Hal
> 
> ...
> 
>> +&mmc0 {
>> +	bus-width = <4>;
>> +	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
>> +};
>> +
>> +&mmc0_pins {
>> +	pwren-pins {
>> +		pinmux = <GPIOMUX(22, GPOUT_HIGH,
>> +				      GPOEN_ENABLE,
>> +				      GPI_NONE)>;
>> +	};
>> +};
>> +
> ...
> 
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv

Okay. I will refactor the series to create and use
"jh7110-milkv-marscm.dtsi" common board include.

-E

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

end of thread, other threads:[~2025-08-31 22:46 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-24  9:48 [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM E Shattow
2025-07-24  9:48 ` [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc E Shattow
2025-07-25 23:13   ` Rob Herring (Arm)
2025-07-24  9:48 ` [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module E Shattow
2025-07-24  9:59   ` E Shattow
2025-07-24  9:48 ` [PATCH v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite E Shattow
2025-07-25 23:13   ` Rob Herring (Arm)
2025-07-24  9:48 ` [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module E Shattow
2025-08-21  2:40   ` Hal Feng
2025-08-31 22:46     ` E Shattow
2025-08-12 18:05 ` [PATCH v1 0/4] riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM Conor Dooley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).