lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d12350a6-bd8c-416d-8c57-2d96e47bacbd@freeshell.de>
Date: Thu, 24 Jul 2025 02:59:40 -0700
From: E Shattow <e@...eshell.de>
To: Conor Dooley <conor@...nel.org>, Emil Renner Berthing <kernel@...il.dk>,
 Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
 Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
 <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
 Alexandre Ghiti <alex@...ti.fr>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-riscv@...ts.infradead.org, E Shattow <e@...eshell.de>
Subject: Re: [PATCH v1 2/4] riscv: dts: starfive: add Milk-V Mars CM
 system-on-module

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@...ps Decoding
>   - H.265 1080p@...ps 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@...enode.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@...eshell.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ