Devicetree
 help / color / mirror / Atom feed
From: Marek Vasut <marex@nabladev.com>
To: Frank Li <Frank.li@oss.nxp.com>, sashiko-reviews@lists.linux.dev
Cc: 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 18:41:02 +0200	[thread overview]
Message-ID: <aa134d00-df3d-4f0a-a598-4aea512d3cd0@nabladev.com> (raw)
In-Reply-To: <alUJIlUUo98_x0Lm@SMW015318>

On 7/13/26 5:49 PM, Frank Li wrote:
> 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

Its GPIO5_IO04 on both MX8MM and MX8MP.

>> [ ... ]
>>> +&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 ?

dc06cf4268a4 ("ASoC: fsl_sai: Add RX/TX BCLK swap support") implements 
"fsl,sai-bit-clock-swap" so this is AI being confused.

>> [ ... ]
>>> +&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.
No, it won't, the other node is sai@... so this is a non-issue too.

  reply	other threads:[~2026-07-13 23:27 UTC|newest]

Thread overview: 16+ 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-14 22:51           ` Marek Vasut
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
2026-07-13 16:41       ` Marek Vasut [this message]
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=aa134d00-df3d-4f0a-a598-4aea512d3cd0@nabladev.com \
    --to=marex@nabladev.com \
    --cc=Frank.Li@kernel.org \
    --cc=Frank.li@oss.nxp.com \
    --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 \
    /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