[PATCH v3 0/4] drm: mxsfb: Support LCDIF interface bus width
Francesco Dolcini <[email protected]>
| Newsgroups | dev.linux.lists.imx,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Francesco Dolcini <[email protected]> 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. v3: use video-interfaces.yaml v2: https://lore.kernel.org/all/[email protected]/ - use the common bus-width property instead of the legacy interface-pix-fmt v1: https://lore.kernel.org/all/[email protected]/ 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