Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: Frank.Li@oss.nxp.com
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	imx@lists.linux.dev, robh@kernel.org, conor+dt@kernel.org,
	Frank.Li@kernel.org
Subject: Re: [PATCH v5 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay
Date: Tue, 27 Oct 2026 15:18:14 +0000	[thread overview]
Message-ID: <sashiko-outbox-186823@kernel.org> (raw)
In-Reply-To: <20261027-dxl_lcdif-v5-7-3a974e4b94b2@nxp.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] arm64: dts: imx8dxl-evk: invalid and unparsed lcdif endpoint bus-width
- [Medium] arm64: dts: imx8dxl-evk: disabling acm and codecs breaks audio consumers
--

commit cfee436980bc9bed627f94a41d5e90946202
Author: Frank Li <Frank.Li@nxp.com>

arm64: dts: imx8dxl-evk: add lcdif overlay

This commit adds a device tree overlay to support the waiken,101wx001-wct
LCD panel on the i.MX8DXL EVK board, enabling adma_lcdif and disabling
peripherals that share pins with the LCDIF interface.

> diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk-lcdif-101wx001-wct.dtso b/arch/arm64/boot/dts/freescale/imx8dxl-evk-lcdif-101wx001-wct.dtso
> new file mode 100644
> index 0000000000000..39abf9b3884ea
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk-lcdif-101wx001-wct.dtso
[ ... ]
> +&acm {
> +	status = "disabled";
> +};
> +
> +&adma_lcdif {
> +	pinctrl-0 = <&pinctrl_lcdif>, <&lcd_0_fun>, <&lcd_1_fun>, <&lcd_2_fun>, <&lcd_3_fun>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	port {
> +		lcdif_out: endpoint {
> +			bus-width = <18>;
> +			remote-endpoint = <&panel_in>;
> +		};
> +	};
> +};

[Severity: Medium]
Does setting bus-width = <18> on the lcdif_out endpoint work with the
fsl,lcdif binding and the mxsfb driver?

In Documentation/devicetree/bindings/display/fsl,lcdif.yaml, the port
property is defined as:

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description: The LCDIF output port

Because it references /schemas/graph.yaml#/properties/port directly without
referencing video-interfaces.yaml on the endpoint, endpoint sets
additionalProperties: false and only allows reg, remote-endpoint, and
phandle. Adding bus-width = <18> causes dtbs_check schema validation to fail.

Furthermore, at runtime neither mxsfb, drm_panel_bridge, nor panel-simple
parses bus-width from the endpoint node. When mxsfb_crtc_atomic_enable()
calls mxsfb_set_formats() in drivers/gpu/drm/mxsfb/mxsfb_kms.c, it selects
the bus width strictly from bus_format:

  switch (bus_format) {
  case MEDIA_BUS_FMT_RGB565_1X16:
          ctrl |= CTRL_BUS_WIDTH_16;
          break;
  case MEDIA_BUS_FMT_RGB666_1X18:
          ctrl |= CTRL_BUS_WIDTH_18;
          break;
  case MEDIA_BUS_FMT_RGB888_1X24:
          ctrl |= CTRL_BUS_WIDTH_24;
          break;

Since waiken_101wx001_wct_panel in drivers/gpu/drm/panel/panel-simple.c
advertises MEDIA_BUS_FMT_RGB888_1X24, mxsfb programs CTRL_BUS_WIDTH_24
even though only 18 data lines (ADMA_LCDIF_D00 through ADMA_LCDIF_D17) are
routed on the board.

[ ... ]
> +&sai0 {
> +	status = "disabled";
> +};
> +
> +&sai1 {
> +	status = "disabled";
> +};
> +
> +&wm8960_1 {
> +	status = "disabled";
> +};
> +
> +&wm8960_2 {
> +	status = "disabled";
> +};
> +
> +&wm8960_3 {
> +	status = "disabled";
> +};

[Severity: Medium]
Should the remaining audio nodes and sound cards in imx8dxl-evk.dts and
imx8-ss-audio.dtsi also be disabled when &acm, &sai0, &sai1, and
&wm8960_1..3 are disabled?

In the base device tree, several enabled nodes depend on &acm and the
disabled codecs/SAIs:

1. The audio LPCG clock nodes (sai0_lpcg through sai3_lpcg, spdif0_lpcg,
mclkout0_lpcg, mclkout1_lpcg, and mqs0_lpcg) take parent clocks from &acm.
With &acm disabled, imx8qxp_lpcg_clk_probe() ->
imx_lpcg_parse_clks_from_dt() in drivers/clk/imx/clk-imx8qxp-lpcg.c fails to
resolve parent clock names via of_clk_parent_fill():

  ret = of_clk_parent_fill(np, parent_names, count);
  if (ret != count) {
          dev_err(&pdev->dev, "failed to get clock parent names\n");
          return count;
  }

2. &asrc0 remains enabled in imx8dxl-evk.dts and directly consumes clocks
from &acm, causing fsl_asrc_probe() to fail with -ENOENT.

3. &sai2 and &sai3 remain enabled in imx8dxl-evk.dts and consume clocks from
sai2_lpcg and sai3_lpcg, causing fsl_sai_probe() to fail clock acquisition
and defer probe indefinitely.

4. The root sound card nodes (sound-bt-sco, sound-wm8960-1, sound-wm8960-2,
and sound-wm8960-3) remain enabled in imx8dxl-evk.dts while referencing the
disabled &sai0, &sai1, &wm8960_1..3, and failing &asrc0/&sai2/&sai3 nodes,
leaving their drivers in permanent probe deferral.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261027-dxl_lcdif-v5-0-3a974e4b94b2@nxp.com?part=7

      reply	other threads:[~2026-10-27 15:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-27 15:00 [PATCH v5 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
2026-10-27 15:00 ` [PATCH v5 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
2026-10-27 15:00 ` [PATCH v5 2/7] dt-bindings: display: simple: Add waiken,101wx001-wct Frank.Li
2026-10-27 15:00 ` [PATCH v5 3/7] drm/panel: simple: Add Waiken WKS101WX001-WCT panel support Frank.Li
2026-10-27 15:00 ` [PATCH v5 4/7] arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL Frank.Li
2026-10-28  8:37   ` Laurentiu Palcu
2026-10-27 15:00 ` [PATCH v5 5/7] arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller Frank.Li
2026-10-28  8:49   ` Laurentiu Palcu
2026-10-27 15:00 ` [PATCH v5 6/7] arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl Frank.Li
2026-10-27 15:00 ` [PATCH v5 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay Frank.Li
2026-10-27 15:18   ` sashiko-bot [this message]

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=sashiko-outbox-186823@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=Frank.Li@oss.nxp.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.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