From 71ec3fe84d04a2d8ab6c55ddf371f0e80ccaa348 Mon Sep 17 00:00:00 2001 From: Oleksandr Suvorov Date: Sat, 10 Apr 2021 19:19:37 +0300 Subject: overlays: colibri-imx8x: use mxsfb driver for LCD/VGA interfaces This driver correctly supports display flags and fixes the pixel shift issue on displays with the data latching on the rising edge. The DPU-enabled driver for LCDIF device (display_lcdif) doesn't support display special flags. It prevents the VGA port on the Colibri Evaluation board working correctly. The driver mxsfb (adma_lcdif) works well with display flags, so that it should be used as a default driver for LCD panels and VGA monitors. Note, the mxsfb driver DOESN'T support imx dpu unit. Signed-off-by: Oleksandr Suvorov --- overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts | 17 +++++++++++++++++ overlays/colibri-imx8x_parallel-rgb_overlay.dts | 20 ++++++++++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts b/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts index 3b03622..40a20c2 100644 --- a/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts +++ b/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts @@ -27,6 +27,17 @@ &display_lcdif { status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + display_lcdfif_out: endpoint { + remote-endpoint = <&lcd_panel_in>; + }; + }; }; /* Need to be disabled due to overlapped pins SODIMM_55, SODIMM_63 */ @@ -61,4 +72,10 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lvds_converter>; status = "okay"; + + port { + lcd_panel_in: endpoint { + remote-endpoint = <&display_lcdfif_out>; + }; + }; }; diff --git a/overlays/colibri-imx8x_parallel-rgb_overlay.dts b/overlays/colibri-imx8x_parallel-rgb_overlay.dts index ccea1c6..c173284 100644 --- a/overlays/colibri-imx8x_parallel-rgb_overlay.dts +++ b/overlays/colibri-imx8x_parallel-rgb_overlay.dts @@ -19,14 +19,30 @@ status = "okay"; }; -&backlight { +&adma_lcdif { status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + + adma_lcdif_out: endpoint { + remote-endpoint = <&lcd_panel_in>; + }; + }; }; -&display_lcdif { +&backlight { status = "okay"; }; &panel_dpi { status = "okay"; + + port { + lcd_panel_in: endpoint { + remote-endpoint = <&adma_lcdif_out>; + }; + }; }; -- cgit v1.2.3