From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 415943385A1 for ; Thu, 13 Aug 2026 09:28:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.194.8.81 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786613329; cv=none; b=DufISbieS2q+KI25r0wIm/BYEpLIWRs0NHR1a/7sDbmqovriL2CVt4APzRsnG0UmZtzF3s8ga3hn9LaWPZGHH9oEVi/naQtgYlfspNOM3h1T7CE7EYxYOs/Gr62HGX+BvnS+cH9mdWRPLXFC/B3BBByLVsyi8+jbw1ANqiCoYbY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786613329; c=relaxed/simple; bh=+qi1zlRj7Ikdo/3mx2szDpc0e9Ae0hPP2fwJ6bzSfJI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=igbN2eA8qe9j8cuDZz3GcEaUEeaYJGC+V28dEzjvtxtnRkXwWQmCxoKPK1S+85i0cbFFI0EGWN0zUz6btWNuyKUZ3LkceCnDJh+nYX0PW/TWGzvUfnDmnBvd2JPK7ylqk/Pge1vEbIVQ2VgvHidMHgPech5dGC7XloLXD/MOBDQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dolcini.it; spf=pass smtp.mailfrom=dolcini.it; dkim=pass (2048-bit key) header.d=dolcini.it header.i=@dolcini.it header.b=BqFAE/+f; arc=none smtp.client-ip=217.194.8.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dolcini.it Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dolcini.it Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=dolcini.it header.i=@dolcini.it header.b="BqFAE/+f" Received: from francesco-nb.. (2-224-16-253.ip168.fastwebnet.it [2.224.16.253]) by mail11.truemail.it (Postfix) with ESMTPA id D154F22BAB; Thu, 13 Aug 2026 11:28:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dolcini.it; s=default; t=1786613325; bh=sz2GhH9CorHZJAm1J5Dom7Bt4omfMF6eFOTXBf/ebF8=; h=From:To:Subject; b=BqFAE/+fkKTb78o7jZ4tie+P3k7tEu1xQh07b86U7VnWI6/rXAu3EUlmZKlt7cWjl 2lyE3qSb3SvbvylX8ClXA08rMVEQGc84jZz4reJbXjCgD3bzd+A9BM0IoYuD+fVR1Z iowGGy+Mh/iBuVViO15kU74vFAtLAwZmbJrlHuiLjw0nWX4OFEZY6NU3cNAashGm8S 1M5FIXh/mERE3zGoLrG4yYLXlpBa+rmeQ0f+RU8lztIV03GPaU3HDLXd45HuukuDsZ 9Q8JTMbUXZiE4Y00mccoS/0orUXeeb/wrmO5WiM342vBXMG2C/46eSzcfKFosWz9Rm qTey1Lf7KcJJQ== From: Francesco Dolcini To: Marek Vasut , Stefan Agner , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Francesco Dolcini , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 0/4] drm: mxsfb: Support LCDIF interface bus width Date: Thu, 13 Aug 2026 11:28:30 +0200 Message-ID: <20260813092836.38367-1-francesco@dolcini.it> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Francesco Dolcini The width of the physical LCDIF output bus can differ from the input bus format advertised by the downstream panel or bridge. Such a distinction is required when the LCDIF bus width does not match the width of the downstream display interface. For example, an 18-bit or 16-bit LCDIF bus can drive a 24-bit display by wiring the available color bits to the appropriate display inputs. Configuring LCDIF solely from the display's 24-bit format in this case selects the wrong LCD_DATABUS_WIDTH mode, changing the color-bit assignment on the LCD_DATA pins and resulting in incorrect colors. Use the common OF graph endpoint bus-width property to describe the width of the physical LCDIF output bus. Make the mxsfb driver derive the corresponding media bus format from this property and use it in preference to the format reported by the downstream display. When the property is absent, the existing behavior is preserved. Set the endpoint bus width for the Colibri iMX6ULL and Colibri iMX7 boards, which route an 18-bit LCD interface. v4: - use /schemas/graph.yaml#/$defs/port-base - add r-b and t-b tags v3: https://lore.kernel.org/all/20260812132954.148571-1-francesco@dolcini.it/ - use video-interfaces.yaml v2: https://lore.kernel.org/all/20260723093813.180089-1-francesco@dolcini.it/ - use the common bus-width property instead of the legacy interface-pix-fmt v1: https://lore.kernel.org/all/20260717121847.488148-1-francesco@dolcini.it/ Francesco Dolcini (4): dt-bindings: lcdif: Add endpoint bus-width property drm: mxsfb: Add optional DPI output bus-width configuration ARM: dts: imx6ull-colibri: Set LCDIF bus-width ARM: dts: imx7-colibri: Set LCDIF bus-width .../bindings/display/fsl,lcdif.yaml | 12 +++++++++- .../arm/boot/dts/nxp/imx/imx6ull-colibri.dtsi | 1 + arch/arm/boot/dts/nxp/imx/imx7-colibri.dtsi | 1 + drivers/gpu/drm/mxsfb/mxsfb_drv.c | 24 +++++++++++++++++++ drivers/gpu/drm/mxsfb/mxsfb_drv.h | 2 ++ drivers/gpu/drm/mxsfb/mxsfb_kms.c | 12 ++++++++++ 6 files changed, 51 insertions(+), 1 deletion(-) -- 2.47.3