devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).