The i.MX93 processor includes an LVDS Display Bridge (LDB) that connects to an external LVDS Display Interface. The LDB supports the flow of RGB data to an external display through the LVDS interface. LDB supports two mapping standards:

  • SPWG mapping

  • JEIDA mapping

The LVDS interface is provided on the ConnectCore 93 Development Kit at J31 connector. A device tree overlay must be loaded to enable that interface in the kernel.

Kernel configuration

You can manage the LVDS support through the following kernel configuration options:

  • Generic LVDS panel driver (CONFIG_DRM_PANEL_LVDS)

  • Support for i.MX93 LVDS displays (CONFIG_DRM_IMX93_LDB)

These options are enabled as built-in on the default ConnectCore 93 kernel configuration file.

Kernel driver

The driver is located at:

drivers/gpu/drm/panel/panel-lvds.c Generic LVDS panel driver

drivers/gpu/drm/imx/imx93-ldb.c

Support for i.MX93 LVDS displays

Device tree bindings and customization

Definition of the LVDS bus

ConnectCore 93 device tree
ldb: ldb@4ac10020 {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "fsl,imx93-ldb";
	clocks = <&clk IMX93_CLK_LVDS_GATE>;
	clock-names = "ldb";
	assigned-clocks = <&clk IMX93_CLK_MEDIA_LDB>;
	assigned-clock-parents = <&clk IMX93_CLK_VIDEO_PLL>;
	gpr = <&media_blk_ctrl>;
	power-domains = <&mediamix>;
	status = "disabled";

	lvds-channel@0 {
		#address-cells = <1>;
		#size-cells = <0>;The LVDS interface is provided in the ConnectCore 93 DVK board at J31 connector. Note that a devicetree overlay have to be loaded to enable that interface in the kernel.


		reg = <0>;
		phys = <&ldb_phy1>;
		phy-names = "ldb_phy";
		status = "disabled";

		port@0 {
			reg = <0>;

			ldb_ch0: endpoint {
				remote-endpoint = <&lcdif_to_ldb>;
			};
		};
	};
};

ldb_phy: phy@4ac10024 {
	compatible = "fsl,imx93-lvds-phy";
	#address-cells = <1>;
	#size-cells = <0>;
	gpr = <&media_blk_ctrl>;
	clocks = <&clk IMX93_CLK_MEDIA_APB>;
	clock-names = "apb";
	power-domains = <&mediamix>;
	status = "disabled";

	ldb_phy1: port@0 {
		reg = <0>;
		#phy-cells = <0>;
	};
};

Digi provides a pre-compiled device tree overlay, so that you can test the LVDS interface without needing to recompile a device tree. One LCD display is defined within it:

  • AUO 10.1" (G101EVN01.0)

The overlay provides a reference implementation about how to:

  • Enable the LDB interface.

  • Configure the interface for a specific display model.

  • Enable the multi-touch interface.

  • Configure the IOMUX.

  • To enable the LVDS with the AUO 10" LCD display:

    => setenv overlays _ov_board_lvds_ccimx93-dvk.dtbo,${overlays}

See Device tree files and overlays for more information.