Dual display LVDS in imx8mp not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Dual display LVDS in imx8mp not working

1,009 Views
ggpr
Contributor II

We are working with a custom board based in imx8mp. We are trying to connect two displays using LVDS. Our Linux image has been created using Yocto and the NXP layers. 

In the DTB we have defined the two channels for ldb:

&ldb {
	status = "okay";

	lvds_channel0: lvds-channel@0 {
		fsl,data-mapping = "spwg"; 
		fsl,data-width = <24>;
		status = "okay";
		port@1 {                  
			reg = <1>;
			lvds_out: endpoint {
				remote-endpoint = <&panel_lvds_in>;
			};
		};
	};
						
	lvds_channel1: lvds-channel@1 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		status = "okay";
		port@1 {
			reg = <1>;
			lvds_out1: endpoint {
				remote-endpoint = <&panel_lvds1_in>;
			};
		};
	};
	
};


After that we can detect both displays in Linux:

/sys/class/drm/card1-LVDS-1/status
/sys/class/drm/card1-LVDS-2/status


We can run weston with each display but we cannot use both at the same time.

For the main display the /etc/xdg/weston/weston.ini is:

[output]
name=LVDS-1
mode=current

[output]
name=LVDS-2
mode=off

For the second display we can change the previous file to:

[output]
name=LVDS-1
mode=off

[output]
name=LVDS-2
mode=current


But if we define both outputs in the same file we get the following error:

[04:43:51.275] launching '/usr/libexec/weston-desktop-shell'
[04:43:51.312] atomic: couldn't commit new state: Invalid argument
[04:43:51.313] repaint-flush failed: Invalid argument


If we try to set the environment variable WESTON_DISABLE_ATOMIC=Y, we get:

[04:44:40.264] launching '/usr/libexec/weston-desktop-shell'
[04:44:40.301] set mode failed: Invalid argument
[04:44:40.301] Couldn't apply state for output LVDS-2


We don't know if there is any limitation in ldb Linux driver or in Weston that doesn't allow us to use both displays at the same time.
Is our device-tree configuration for ldb correct? Can weston work with two LVDS cards?

 

1 Reply

997 Views
gary_bisson
Senior Contributor III

Hi,

I don't believe what you are trying to achieve is doable with the i.MX 8M Plus.

See TRM Figure 13-1, only 1 LCDIF IP is assigned to the LVDS connectors, so only one DRM device can be made out of it:

Figure 13-1 snippetFigure 13-1 snippet

Regards,

Gary

0 Kudos