From: Francesco Dolcini <francesco.dolcini@toradex.com>
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.
v2: 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 | 9 +++++++
.../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, 49 insertions(+)
--
2.47.3