riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM
Subsystems (3)
cover riscv: dts: starfive: Add Milk-V Mars CM (Lite) SoM
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
Signature · 1 line
2.50.0
PATCH 1/4 dt-bindings: riscv: starfive: add milkv,marscm-emmc
Add "milkv,marscm-emmc" as a StarFive JH7110 SoC-based system-on-module.
--- Documentation/devicetree/bindings/riscv/starfive.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/riscv/starfive.yaml +1 -0
@@ -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
Signature · 1 line
2.50.0
PATCH 2/4 riscv: dts: starfive: add Milk-V Mars CM system-on-module
In reply to E ShattowMilk-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.
--- 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
arch/riscv/boot/dts/starfive/Makefile +1 -0
@@ -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
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts new file +163 -0
163 lines not on this page · raw message
Signature · 1 line
2.50.0
PATCH 3/4 dt-bindings: riscv: starfive: add milkv,marscm-lite
In reply to E ShattowAdd "milkv,marscm-lite" as a StarFive JH7110 SoC-based system-on-module.
--- Documentation/devicetree/bindings/riscv/starfive.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/riscv/starfive.yaml +1 -0
@@ -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
Signature · 1 line
2.50.0
PATCH 4/4 riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
In reply to E ShattowMilk-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.
--- 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
arch/riscv/boot/dts/starfive/Makefile +1 -0
@@ -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
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +176 -0
176 lines not on this page · raw message
Signature · 1 line
2.50.0
Re: [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module
In reply to E ShattowOops... wrong S-o-by email address on this patch.
Quoted 39 lines · E Shattow
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 / decoderAdditional 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
- I2SLink 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
Quoted 6 lines
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 <[email protected]>
Should be @freeshell.de
Quoted 177 lines
--- 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.dtsarch/riscv/boot/dts/starfive/Makefile +1
-0@@ -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.dtbarch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts new file +153
-0@@ -0,0 +1,163 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2025 E Shattow <[email protected]> + */ + +/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>;
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts line 163
Quoted 10 lines
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts new file +10
-0+ pinctrl-names = "default"; + status = "okay"; +}; + +&usb0 { + dr_mode = "host"; + pinctrl-names = "default"; + pinctrl-0 = <&usb0_pins>; + status = "okay"; +};
-E
Re: [PATCH v1 1/4] dt-bindings: riscv: starfive: add milkv,marscm-emmc
In reply to E ShattowQuoted 7 lines · E Shattow
Add "milkv,marscm-emmc" as a StarFive JH7110 SoC-based system-on-module.
Signed-off-by E Shattow <[email protected]>--- Documentation/devicetree/bindings/riscv/starfive.yaml | 1 + 1 file changed, 1 insertion(+)
Re: [PATCH v1 3/4] dt-bindings: riscv: starfive: add milkv,marscm-lite
In reply to E ShattowQuoted 7 lines · E Shattow
Add "milkv,marscm-lite" as a StarFive JH7110 SoC-based system-on-module.
Signed-off-by E Shattow <[email protected]>--- Documentation/devicetree/bindings/riscv/starfive.yaml | 1 + 1 file changed, 1 insertion(+)
Conor Dooley
maintainerEmil,
Could you take a look at this please?
Cheers,
Conor.
Quoted 53 lines · E Shattow
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_GPIO17Tested 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 8GBE 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.dtsbase-commit:
28fa0dcb571ab8f3be4d919f0e20e01d4e44bcb1Signature · 1 line
2.50.0
Re: [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
In reply to E ShattowQuoted 38 lines · E Shattow
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.pdfAdd 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 <[email protected]>--- 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.dtsarch/riscv/boot/dts/starfive/Makefile +1
-0@@ -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.dtbarch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +0
-0
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts line 9
Quoted 9 lines
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +9
-0@@ -0,0 +1,176 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2025 E Shattow <[email protected]> + */ + +/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
...
Quoted 13 lines
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +13
-0+&mmc0 { + bus-width = <4>; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; +}; + +&mmc0_pins { + pwren-pins { + pinmux = <GPIOMUX(22, GPOUT_HIGH, + GPOEN_ENABLE, + GPI_NONE)>; + }; +}; +
...
Re: [PATCH v1 4/4] riscv: dts: starfive: add Milk-V Mars CM Lite system-on-module
Quoted 73 lines · Hal Feng
Quoted 38 lines · E Shattow
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.pdfAdd 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 <[email protected]>--- 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.dtsarch/riscv/boot/dts/starfive/Makefile +1
-0@@ -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.dtbarch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +0
-0arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts line 9
Quoted 9 lines
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +9
-0@@ -0,0 +1,176 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2025 E Shattow <[email protected]> + */ + +/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...
Quoted 13 lines
arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts new file +13
-0+&mmc0 { + bus-width = <4>; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; +}; + +&mmc0_pins { + pwren-pins { + pinmux = <GPIOMUX(22, GPOUT_HIGH, + GPOEN_ENABLE, + GPI_NONE)>; + }; +}; +...
Quoted 4 lines
_______________________________________________
linux-riscv mailing list
[email protected]
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