LVDS dual channel configuration using device tree overlay on Torizoncore (Apalis iMX6/ Apalis eval board)

Hello,
I’m trying to enable dual channel on LVDS interface connected with display with resolution of 1920*760 with a 2-port interface type. I’m using torizoncore builder tool for making changes and I’m enabling LVDS related overlays in tcbuild.yaml.
But I can only see half of the display showing picture and other half is showing red colour.
I think this issue is because of channel not enabled. I’m using two displays one connected to RGB port and other one to LVDS. RGB’s picture is properly displayed. I’m also sharing some pictures for reference.

So I need some help in bringing up LVDS display.

Thanks,
Gaurav


Hi @gaurav,

Thanks for contacting Toradex Community.

Please share device tree changes you have done and display part number ? You may need to add timming for 1920*760 resolution.

Additionally provide Torizon Version you are running.

Also have you tested display individually are they working in single display configuration?

Best Regards
Ritesh Kumar

Thanks for replying @ritesh.tx ,
Torizon os version is torizon_5.4.y
Display part number is TFT1920720-22-E from Truly.

And I’ve also tested individually as you asked but there is no change.
previously I was using below overlays -
# - device-trees/overlays/display-lt170410_overlay.dts
# - device-trees/overlays/apalis-imx6_lvds_overlay.dts
but later decided to make changes in device-tree imx6q-apalis-eval.dts to try something new.
So I’ve also activated this device tree in build file.

I’ve configured below changes in device tree-
panel_lvds: panel-lvds {
compatible = “panel-lvds”;

	backlight = <&backlight>;

	width-mm = <292>;
	height-mm = <109>;

	data-mapping = "vesa-24";
	status = "okay";

	panel-timing {
		clock-frequency = <45000000>;
		hactive = <960>;
		vactive = <720>;
		hback-porch = <16>;
		hfront-porch = <16>;
		vback-porch = <5>;
		vfront-porch = <31>;
		hsync-len = <8>;
		vsync-len = <2>;
		hsync-active = <0>;
		vsync-active = <0>;
		pixelclk-active = <0>;
	};

	port {
		lvds_panel_in: endpoint {
			remote-endpoint = <&lvds_out>;
		};
	};
};

&ldb {
status = “okay”;

lvds-channel@0 {
	status = "okay";
	primary;

	port@4 {
		reg = <4>;

		lvds_out: endpoint {
			remote-endpoint = <&lvds_panel_in>;
		};
	};
};

lvds-channel@1 {
	status = "okay";
	port@4 {
		reg = <4>;
	};
};

};

but can’t understand what changes do I need to make in lvds-channel@1, port parameter (ldb node).

Thanks

You most likely need to specify the fsl,dual-channel property in the ldb node. Please see the kernel documentation here for more details on this property: https://www.kernel.org/doc/Documentation/devicetree/bindings/display/imx/ldb.txt

As a further reference you can see what we did in the ldb1 node for the Colibri i.MX8QXP here: imx8qxp-colibri-lvds-dual-channel.dts « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

Best Regards,
Jeremias

Thank you @jeremias.tx it works.
I read ldb.txt file many times but still miss that parameter.
But thanks a lot.

Regards,
Gaurav

Glad I could help out!