Devicetree
 help / color / mirror / Atom feed
From: Frank Li <Frank.li@oss.nxp.com>
To: sashiko-reviews@lists.linux.dev
Cc: Marek Vasut <marex@nabladev.com>,
	Frank.Li@kernel.org, imx@lists.linux.dev, robh@kernel.org,
	devicetree@vger.kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v4 6/6] arm64: dts: imx8mm: imx8mp: Add FIO1-Audio DTOs for Data Modul i.MX8M Mini and Plus eDM SBC
Date: Mon, 13 Jul 2026 10:49:54 -0500	[thread overview]
Message-ID: <alUJIlUUo98_x0Lm@SMW015318> (raw)
In-Reply-To: <20260705202221.E99291F000E9@smtp.kernel.org>

On Sun, Jul 05, 2026 at 08:22:21PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
> - [High] The SAI2 interface is incorrectly configured with `fsl,sai-asynchronous` and an invalid `fsl,sai-bit-clock-swap` property, leading to audio capture and playback failure.
> - [Medium] The overlays instantiate new `clock-controller` nodes at the exact same unit addresses as the existing `sai5` nodes, causing DTC warnings and resource conflicts.
> - [Medium] Missing interrupt override for the PCA9554 GPIO expander in the i.MX8MP overlay causes the device to listen on a dead interrupt line.
> - [Medium] The commit message claims features that are not implemented in the patch.
> --
>
> commit 1e6ee57031100e82b436dac299b0eed194860d5b
> Author: Marek Vasut <marex@nabladev.com>
>
> arm64: dts: imx8mm: imx8mp: Add FIO1-Audio DTOs for Data Modul i.MX8M Mini and Plus eDM SBC
>
> This commit adds device tree overlays for the eDM-MOD-iMX8Mm-FIO1-Audio
> feature connector expansion module. It provides support for the SGTL5000
> codec, CAN, I2C, SPI, and other peripherals on the i.MX8M Mini and Plus
> boards.
>
> > Add DT overlay for feature connector expansion module eDM-MOD-iMX8Mm-FIO1-Audio
> > providing additional UARTs, CAN, PWM Beeper, I2C, SPI, GPIO breakout and
> > SGTL5000 codec. This adapter can be optionally populated onto the eDM SBC.
>
> [Severity: Medium]
> Is the commit message accurate regarding the features provided?
>
> The FIO1-Audio overlay only seems to enable a single UART (uart2, while uart4
> is disabled) and doesn't contain a pwm-beeper node or PWM pin configuration.
>
> Could the commit message be updated to reflect only the features actually
> implemented in this variant?
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtsi
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtsi
> [ ... ]
> > +	gpio_feature: io-expander@20 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x20>;
> > +		#gpio-cells = <2>;
> > +		gpio-controller;
> > +		#interrupt-cells = <2>;
> > +		interrupt-controller;
> > +		interrupt-parent = <&gpio5>;
> > +		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
>
> [Severity: Medium]
> Since this file is shared between i.MX8MM and i.MX8MP overlays, does the
> interrupt configuration need to be overridden for i.MX8MP?
>
> On the i.MX8MP baseboard, this feature connector signal seems to be physically
> routed to GPIO1_IO08 instead of GPIO5_IO04. The i.MX8MP overlay doesn't
> currently override these properties for gpio_feature, which might cause the
> expander to listen on a dead interrupt line.

please check this

>
> [ ... ]
> > +&sai2 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_sai2>;
> > +	assigned-clock-rates = <24576000>;
> > +	fsl,sai-asynchronous;
>
> [Severity: High]
> Does disabling internal synchronization between the TX and RX halves of the
> SAI block break audio?
>
> The SGTL5000 codec only has a single set of I2S clocks, and the pinmux
> settings only route one clock pair. This leaves the other half of the SAI
> physically disconnected from any clock source.
>
> [ ... ]
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtso b/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtso
> [ ... ]
> > +&sai2 {
> > +	assigned-clocks = <&clk IMX8MM_CLK_SAI2>;
> > +	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
> > +	fsl,sai-bit-clock-swap;
>
> [Severity: High]
> Is fsl,sai-bit-clock-swap intended to fix the asynchronous clocking issue?
>
> This property is a downstream vendor leftover that does not exist in
> mainline device tree bindings and is ignored by the upstream fsl_sai.c
> driver. Should fsl,sai-asynchronous be removed from the shared .dtsi
> instead so the SAI can operate in synchronous mode?

Please check this ?

>
> [ ... ]
> > +&spba2 {
> > +	#address-cells = <1>;
> > +	#size-cells = <1>;
> > +
> > +	sai5clk: clock-controller@30050000 {	/* SAI5 */
>
> [Severity: Medium]
> Does declaring a new node here cause a duplicate unit-address warning and
> potential resource conflicts?
>
> The base SoC .dtsi files already define sai5: sai@30050000 at this exact
> address. Because the node names differ (clock-controller vs sai), DTC will
> create two distinct sibling nodes rather than merging them.
>
> If the baseboard enables the existing &sai5 node, both drivers could attempt
> to map the identical physical MMIO region using devm_platform_ioremap_resource,
> causing a -EBUSY error. Should this overlay reference the existing &sai5 node
> by label instead?

Make sense, please check it.

Frank
>
> [ ... ]
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtso b/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc-overlay-edm-mod-imx8mm-fio1-audio.dtso
> [ ... ]
> > +&spba5 {
> > +	#address-cells = <1>;
> > +	#size-cells = <1>;
> > +
> > +	sai5clk: clock-controller@30c50000 {
>
> [Severity: Medium]
> Similarly, does this cause a duplicate unit-address warning on i.MX8MP?
>
> The base SoC defines sai5: sai@30c50000. It seems the overlay should
> reference the existing &sai5 node by label here as well.
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260705200534.151803-1-marex@nabladev.com?part=6

  reply	other threads:[~2026-07-13 15:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-05 20:05 [PATCH v4 1/6] arm64: dts: imx8mm: imx8mp: Add LVDS DTOs for Data Modul i.MX8M Mini and Plus eDM SBC Marek Vasut
2026-07-05 20:05 ` [PATCH v4 2/6] arm64: dts: imx8mm: imx8mp: Add legacy board " Marek Vasut
2026-07-05 20:05 ` [PATCH v4 3/6] arm64: dts: imx8mm: imx8mp: Add HDMI " Marek Vasut
2026-07-05 20:05 ` [PATCH v4 4/6] arm64: dts: imx8mm: imx8mp: Add CM " Marek Vasut
2026-07-05 20:24   ` sashiko-bot
2026-07-13 15:45     ` Frank Li
2026-07-13 16:33       ` Marek Vasut
2026-07-14  1:33         ` Frank Li
2026-07-05 20:05 ` [PATCH v4 5/6] arm64: dts: imx8mm: imx8mp: Add FIO1 " Marek Vasut
2026-07-05 20:20   ` sashiko-bot
2026-07-05 20:05 ` [PATCH v4 6/6] arm64: dts: imx8mm: imx8mp: Add FIO1-Audio " Marek Vasut
2026-07-05 20:22   ` sashiko-bot
2026-07-13 15:49     ` Frank Li [this message]
2026-07-13 16:41       ` Marek Vasut
2026-07-05 20:22 ` [PATCH v4 1/6] arm64: dts: imx8mm: imx8mp: Add LVDS " sashiko-bot

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=alUJIlUUo98_x0Lm@SMW015318 \
    --to=frank.li@oss.nxp.com \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=marex@nabladev.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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