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 <[email protected]> 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/[email protected]?part=7
