From: E Shattow <e@freeshell.de>
To: Conor Dooley <conor@kernel.org>,
Emil Renner Berthing <kernel@esmil.dk>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-riscv@lists.infradead.org, E Shattow <e@freeshell.de>
Subject: Re: [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM system-on-module
Date: Thu, 24 Jul 2025 02:59:40 -0700 [thread overview]
Message-ID: <d12350a6-bd8c-416d-8c57-2d96e47bacbd@freeshell.de> (raw)
In-Reply-To: <20250724094912.253723-3-e@freeshell.de>
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
next prev parent reply other threads:[~2025-07-24 9:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d12350a6-bd8c-416d-8c57-2d96e47bacbd@freeshell.de \
--to=e@freeshell.de \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@esmil.dk \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).