Thread (7 messages) 7 messages, 3 authors, 2026-08-26

Re: [PATCH v5 2/3] ARM: dts: imx7d: add Variscite VAR-SOM-MX7 support

flat view

From: sashiko-bot@kernel.org
Date: 2026-08-26 08:31:34
Also in: imx

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Contradictory microphone routing disables analog capture on WM8904.
- [Medium] Contradictory `no-1-8-v` property in usdhc1 disables UHS SD card speeds despite hardware support.
--

commit 5821f4e873dc44e1cfd4f21d2d7e03f1e0298edd
Author: Stefano Radaelli [off-list ref]

ARM: dts: imx7d: add Variscite VAR-SOM-MX7 support

Add device tree support for the Variscite VAR-SOM-MX7 system on module.
The module is based on the NXP i.MX7Dual SoC and is available in
multiple configurations and hardware revisions.

Link: https://variscite.com/system-on-module-som/i-mx-7/var-som-mx7/
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/boot/dts/nxp/imx/imx7d-var-som-mx7customboard.dtsi b/arch/arm/boot/dts/nxp/imx/imx7d-var-som-mx7customboard.dtsi
index 0000000000000..aecc8c747f041
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/imx/imx7d-var-som-mx7customboard.dtsi
[ ... ]
quoted hunk ↗ jump to hunk
+&usdhc1 {
+	pinctrl-names = "default", "state_100mhz", "state_200mhz";
+	pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
+	pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>;
+	pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>;
+	cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+	no-1-8-v;
[Severity: Medium]
Does including the no-1-8-v property here needlessly cap SD card performance
by explicitly disabling all 1.8V capabilities and preventing UHS-I
negotiation?

The pinctrl configurations below for SD1_VSELECT prove the hardware supports
1.8V switching:
quoted hunk ↗ jump to hunk
+	pinctrl_usdhc1_gpio: usdhc1-gpiogrp {
+		fsl,pins = <
+			MX7D_PAD_SD1_CD_B__GPIO5_IO0		0x59
+			MX7D_PAD_GPIO1_IO08__SD1_VSELECT	0x59
+		>;
+	};
With no-1-8-v present, the MMC subsystem will never switch to 1.8V, rendering
the UHS-I pinctrl states dead code and capping speeds at 50MHz.
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/boot/dts/nxp/imx/imx7d-var-som.dtsi b/arch/arm/boot/dts/nxp/imx/imx7d-var-som.dtsi
index 0000000000000..158158afc3391
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/imx/imx7d-var-som.dtsi
[ ... ]
quoted hunk ↗ jump to hunk
+	codec_wm8904: sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,bitclock-master = <&dailink_master>;
+		simple-audio-card,format = "i2s";
+		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,name = "wm8904-audio";
+		simple-audio-card,routing =
+			"Headphone Jack", "HPOUTL",
+			"Headphone Jack", "HPOUTR",
+			"IN2L", "Line In Jack",
+			"IN2R", "Line In Jack",
+			"IN1L", "Microphone Jack",
+			"IN1R", "Microphone Jack",
+			"Microphone Jack", "MICBIAS";
[Severity: Medium]
Does this routing contradict the configuration of IN1L as a digital input?

The routing maps the analog Microphone Jack to IN1L. However, the wm8904
node configures IN1L as a digital microphone input via wlf,in1l-as-dmicdat1:
quoted hunk ↗ jump to hunk
+	wm8904: audio-codec@1a {
+		compatible = "wlf,wm8904";
+		reg = <0x1a>;
[ ... ]
quoted hunk ↗ jump to hunk
+		/* DMIC is connected to IN1L */
+		wlf,in1l-as-dmicdat1;
+	};
Because IN1L is placed in digital mode, does this cause the analog signal
from the Microphone Jack to be ignored and break analog audio capture?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1787674237.git.stefano.r@variscite.com?part=2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help