dri-devel Archive on 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: 9+ 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-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox