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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.