From: sashiko-bot@kernel.org
To: "Stefano Radaelli" <stefano.radaelli21@gmail.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org, Frank.Li@kernel.org,
conor+dt@kernel.org, imx@lists.linux.dev
Subject: Re: [PATCH v1 04/11] ARM: dts: imx6ul: Add Variscite audio codec files
Date: Sat, 26 Sep 2026 14:13:32 +0000 [thread overview]
Message-ID: <20260926141332.74A4F1F00893@smtp.kernel.org> (raw)
In-Reply-To: <ef56f98137eb9d1e0af3aa1b801186d829dba521.1790344389.git.stefano.r@variscite.com>
Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [High] ASoC: dt-bindings: missing DAPM routing for Microphone Jack on SOM WM8904
- [High] ASoC: simple-audio-card: fixed 12.288MHz clock on WM8731 breaks 44.1kHz playback
- [High] dt-bindings: wm8904: DCVDD and CPVDD supplies incorrectly set to 3.3V
- [Low] dt-bindings: wm8731: 100% file duplication between DART and SOM variants
--
commit 85c31b80442521c0f29d03e856f06165c8f204fc
Author: Stefano Radaelli <stefano.r@variscite.com>
ARM: dts: imx6ul: Add Variscite audio codec files
Add separate DTSI files for the WM8904 and WM8731 audio options on
VAR-SOM-6UL and DART-6UL modules. Put each codec node, the SAI2 setup and
its pinctrl in the selected audio DTSI.
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-dart-wm8731.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-dart-wm8731.dtsi
> new file mode 100644
> index 0000000000000..7d74fc3b7014c
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-dart-wm8731.dtsi
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2026 Variscite Ltd. - https://www.variscite.com
> + */
[ ... ]
> + sound_master: simple-audio-card,cpu {
> + sound-dai = <&sai2>;
> + };
> +
> + simple-audio-card,codec {
> + sound-dai = <&codec>;
> + system-clock-frequency = <12288000>;
[Severity: High]
Does this fixed clock frequency break 44.1kHz audio playback?
Using a static 12.288MHz system-clock-frequency without
simple-audio-card,mclk-fs prevents dynamic ALSA reclocking. The wm8731 driver
needs 11.2896MHz for 44.1kHz playback, so setting a fixed 12.288MHz might
cause 44.1kHz streams to be rejected.
> + };
> + };
> +};
[ ... ]
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-dart-wm8904.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-dart-wm8904.dtsi
> new file mode 100644
> index 0000000000000..1e1ff8c6d7b56
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-dart-wm8904.dtsi
> @@ -0,0 +1,88 @@
[ ... ]
> +&i2c2 {
> + codec: audio-codec@1a {
> + compatible = "wlf,wm8904";
> + reg = <0x1a>;
> + #sound-dai-cells = <0>;
> + clocks = <&clks IMX6UL_CLK_SAI2>;
> + clock-names = "mclk";
> + AVDD-supply = <®_3p3v>;
> + CPVDD-supply = <®_3p3v>;
> + DBVDD-supply = <®_3p3v>;
> + DCVDD-supply = <®_3p3v>;
[Severity: High]
Is it safe to assign a 3.3V supply to CPVDD and DCVDD?
These pins on the WM8904 have a 2.0V absolute maximum rating. Assigning
reg_3p3v to CPVDD-supply and DCVDD-supply misrepresents the hardware and
could be dangerous if the regulator is dynamically controllable or used as
a reference.
> + MICVDD-supply = <®_3p3v>;
[ ... ]
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-som-wm8731.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-som-wm8731.dtsi
> new file mode 100644
> index 0000000000000..7d74fc3b7014c
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-som-wm8731.dtsi
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2026 Variscite Ltd. - https://www.variscite.com
> + */
[Severity: Low]
Could this file be consolidated with the DART variant?
This entire file appears to be a 100% byte-for-byte duplicate of
imx6ul-imx6ull-var-dart-wm8731.dtsi, which might create a maintenance burden
when making future updates.
[ ... ]
> + sound_master: simple-audio-card,cpu {
> + sound-dai = <&sai2>;
> + };
> +
> + simple-audio-card,codec {
> + sound-dai = <&codec>;
> + system-clock-frequency = <12288000>;
[Severity: High]
Does this fixed clock frequency break 44.1kHz audio playback?
Using a static 12.288MHz system-clock-frequency without
simple-audio-card,mclk-fs prevents dynamic ALSA reclocking. The wm8731 driver
needs 11.2896MHz for 44.1kHz playback, so setting a fixed 12.288MHz might
cause 44.1kHz streams to be rejected.
> + };
> + };
> +};
[ ... ]
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-som-wm8904.dtsi b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-som-wm8904.dtsi
> new file mode 100644
> index 0000000000000..72a73011af6f7
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/imx/imx6ul-imx6ull-var-som-wm8904.dtsi
> @@ -0,0 +1,85 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2026 Variscite Ltd. - https://www.variscite.com
> + */
> +
> +/ {
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,bitclock-master = <&sound_master>;
> + simple-audio-card,format = "i2s";
> + simple-audio-card,frame-master = <&sound_master>;
> + simple-audio-card,name = "wm8904audio";
> + simple-audio-card,routing =
> + "Headphone Jack", "HPOUTL",
> + "Headphone Jack", "HPOUTR",
> + "IN1L", "Line In Jack",
> + "IN1R", "Line In Jack";
> + simple-audio-card,widgets =
> + "Microphone", "Microphone Jack",
[Severity: High]
Is the microphone input path broken here due to missing DAPM routing?
The Microphone Jack widget is declared in simple-audio-card,widgets but
it is completely omitted from the simple-audio-card,routing map. Without this
routing, the DAPM framework will consider the microphone path inactive and
won't power on the mic bias or ADC paths when recording.
> + "Headphone", "Headphone Jack",
> + "Line", "Line In Jack";
[ ... ]
> +&i2c2 {
> + codec: audio-codec@1a {
> + compatible = "wlf,wm8904";
> + reg = <0x1a>;
> + #sound-dai-cells = <0>;
> + clocks = <&clks IMX6UL_CLK_SAI2>;
> + clock-names = "mclk";
> + AVDD-supply = <®_3p3v>;
> + CPVDD-supply = <®_3p3v>;
> + DBVDD-supply = <®_3p3v>;
> + DCVDD-supply = <®_3p3v>;
[Severity: High]
Is it safe to assign a 3.3V supply to CPVDD and DCVDD?
These pins on the WM8904 have a 2.0V absolute maximum rating. Assigning
reg_3p3v to CPVDD-supply and DCVDD-supply misrepresents the hardware and
could be dangerous if the regulator is dynamically controllable or used as
a reference.
> + MICVDD-supply = <®_3p3v>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1790344389.git.stefano.r@variscite.com?part=4
next prev parent reply other threads:[~2026-09-26 14:13 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-25 14:02 [PATCH v1 00/11] ARM: dts: imx6ul: Add Variscite VAR-SOM-6UL and DART-6UL Stefano Radaelli
2026-09-25 14:02 ` [PATCH v1 01/11] dt-bindings: arm: fsl: Document Variscite i.MX6UL boards Stefano Radaelli
2026-09-25 14:02 ` [PATCH v1 02/11] dt-bindings: net: micrel: Fix RMII clock select property type Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot
2026-09-25 14:02 ` [PATCH v1 03/11] ARM: dts: imx6ul: Add Variscite SoM and DART base files Stefano Radaelli
2026-09-25 14:02 ` [PATCH v1 04/11] ARM: dts: imx6ul: Add Variscite audio codec files Stefano Radaelli
2026-09-25 14:58 ` Frank Li
2026-09-25 15:57 ` Stefano Radaelli
2026-09-25 16:42 ` Frank Li
2026-09-26 8:40 ` Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot [this message]
2026-09-25 14:02 ` [PATCH v1 05/11] ARM: dts: imx6ul: Add Variscite storage and wireless files Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot
2026-09-25 14:02 ` [PATCH v1 06/11] ARM: dts: imx6ul: Add Variscite carrier board files Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot
2026-09-25 14:02 ` [PATCH v1 07/11] ARM: dts: imx6ul: Reuse Variscite DTSI files for Concerto Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot
2026-09-25 14:02 ` [PATCH v1 08/11] ARM: dts: imx6ul: Add Variscite i.MX6UL board variants Stefano Radaelli
2026-09-25 14:02 ` [PATCH v1 09/11] ARM: dts: imx6ull: Add Variscite i.MX6ULL " Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot
2026-09-25 14:02 ` [PATCH v1 10/11] ARM: dts: imx6ulz: Add Variscite i.MX6ULZ " Stefano Radaelli
2026-09-26 14:13 ` sashiko-bot
2026-09-25 14:02 ` [PATCH v1 11/11] ARM: dts: imx6ul: Enable Variscite i.MX6UL board DTBs Stefano Radaelli
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=20260926141332.74A4F1F00893@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=imx@lists.linux.dev \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=stefano.radaelli21@gmail.com \
/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