All of lore.kernel.org
 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 v4 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay
Date: Fri, 23 Oct 2026 20:06:57 +0000	[thread overview]
Message-ID: <sashiko-outbox-183160@kernel.org> (raw)
In-Reply-To: <20261023-dxl_lcdif-v4-7-4ae8395a4b23@nxp.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] arm64: dts: imx8dxl-evk: invalid and ignored bus-width in adma_lcdif endpoint
- [Medium] arm64: dts: imx8dxl-evk: lcdif overlay leaves broken audio consumers enabled
--

commit 19a4bb9fef78514466afe51bb1b962f7fabf9e20
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 imx8dxl-evk boards, enabling adma_lcdif and disabling conflicting
peripherals that share pins with the 18-bit 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]
Is bus-width valid or handled in the adma_lcdif endpoint node here?

In Documentation/devicetree/bindings/display/fsl,lcdif.yaml, the port node is
defined purely via /schemas/graph.yaml#/properties/port:

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

Because /schemas/graph.yaml#/properties/port enforces unevaluatedProperties:
false on endpoint and does not reference video-interfaces.yaml, adding
bus-width = <18> causes dtbs_check validation to fail on
imx8dxl-evk-lcdif-101wx001-wct.dtb.

Furthermore, at runtime, adma_lcdif (fsl,imx8dxl-lcdif / fsl,imx6sx-lcdif) is
driven by mxsfb, and neither mxsfb, drm_panel_bridge, nor panel-simple parses
bus-width from the endpoint node. Instead, the call chain:

  mxsfb_crtc_atomic_enable()
    -> mxsfb_crtc_mode_set_nofb()
      -> mxsfb_set_formats()

selects CTRL_BUS_WIDTH_* solely from the panel's media bus format. Since
waiken_101wx001_wct_panel in drivers/gpu/drm/panel/panel-simple.c specifies:

  .bus_format = MEDIA_BUS_FMT_RGB888_1X24,

mxsfb_set_formats() programs LCDC_CTRL with CTRL_BUS_WIDTH_24 instead of
CTRL_BUS_WIDTH_18, causing the controller to output 24-bit RGB888 when 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 this overlay also disable asrc0, sai2, sai3, and the root sound card
nodes from arch/arm64/boot/dts/freescale/imx8dxl-evk.dts?

Disabling acm, sai0, sai1, and wm8960_1..3 while leaving their consumers
enabled in the base DTB causes several probe failures and permanently deferred
devices at boot:

1. asrc0 remains enabled in imx8dxl-evk.dts and references <&acm
IMX_ADMA_ACM_AUD_CLK0_SEL> and <&acm IMX_ADMA_ACM_AUD_CLK1_SEL>. With acm
disabled, of_clk_get_hw_from_clkspec() returns ERR_PTR(-ENOENT), causing
fsl_asrc_probe() in sound/soc/fsl/fsl_asrc.c to fail with -ENOENT.

2. sai2 and sai3 remain enabled in imx8dxl-evk.dts even though their codecs
(wm8960_2 and wm8960_3) are disabled here. Their clock controllers (sai2_lpcg
and sai3_lpcg in imx8-ss-audio.dtsi) take parent clocks from acm; with acm
disabled, of_clk_parent_fill() in imx_lpcg_parse_clks_from_dt() fails to
resolve the parent clock, causing LPCG probe to fail with -ENODEV and leaving
sai2 and sai3 stuck in -EPROBE_DEFER.

3. The root sound card nodes in imx8dxl-evk.dts (sound-bt-sco, sound-wm8960-1,
sound-wm8960-2, and sound-wm8960-3) remain enabled while referencing the
disabled CPU, codec, and ASRC nodes, leaving all four sound card devices
permanently in -EPROBE_DEFER.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261023-dxl_lcdif-v4-0-4ae8395a4b23@nxp.com?part=7

      reply	other threads:[~2026-10-23 20:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-23 19:45 [PATCH v4 0/7] display: lcdif: imx: add display support for imx8dxl and imx8qxp Frank.Li
2026-10-23 19:45 ` [PATCH v4 1/7] dt-bindings: lcdif: add compatible string for i.MX8QXP and i.MX8DXL Frank.Li
2026-10-23 19:45 ` [PATCH v4 2/7] dt-bindings: display: simple: Add waiken,101wx001-wct Frank.Li
2026-10-23 19:45 ` [PATCH v4 3/7] drm/panel: simple: Add Waiken WKS101WX001-WCT panel support Frank.Li
2026-10-26  3:15   ` Liu Ying
2026-10-23 19:45 ` [PATCH v4 4/7] arm64: dts: imx8-ss-dma: Add lcdif support for i.MX8QXP and i.MX8DXL Frank.Li
2026-10-23 19:45 ` [PATCH v4 5/7] arm64: dts: imx8dxl-evk: Add onboard GPIO mux controller Frank.Li
2026-10-23 19:45 ` [PATCH v4 6/7] arm64: dts: imx8dxl-evk: Move ACM MCLK pin to ACM pinctrl Frank.Li
2026-10-23 19:45 ` [PATCH v4 7/7] arm64: dts: imx8dxl-evk: add lcdif overlay Frank.Li
2026-10-23 20:06   ` 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-183160@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 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.