The Lontium LT8912B MIPI-to-HDMI bridge converts the i.MX95 MIPI DSI signal to one suitable for HDMI displays.

HDMI is the default configuration for ConnectCore 95 Development Kit.

Kernel configuration

You can manage the LT8912B support through the following kernel configuration option:

  • Lontium LT8912B DSI/HDMI bridge (CONFIG_DRM_LONTIUM_LT8912B)

This option is enabled as built-in on the default ConnectCore 95 kernel configuration file.

Kernel driver

The driver for the LT8912B bridge is located at:

File Description

drivers/gpu/drm/bridge/lontium-lt8912b.c

Lontium LT8912B DSI/HDMI bridge driver

Device tree bindings and customization

The LT8912B bridge is documented at Documentation/devicetree/bindings/display/bridge/lontium,lt8912b.yaml. The LT8912B bridge is defined in the ConnectCore 95 Development Kit device tree file.

Definition of the LT8912B

ConnectCore 95 Development Kit device tree
/ {
[...]
	hdmi-connector {
		compatible = "hdmi-connector";
		label = "hdmi";
		type = "a";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hdmi_hpd>;
		hdmi-pwr-supply = <&reg_5v_dvk>;
		hpd-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;

		port {
			hdmi_connector_in: endpoint {
				remote-endpoint = <&lt8912_out>;
			};
		};
	};
[...]

&lpi2c4 {
	#address-cells = <1>;
	#size-cells = <0>;
	clock-frequency = <100000>;
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&pinctrl_lpi2c4>;
	pinctrl-1 = <&pinctrl_lpi2c4>;
	status = "okay";

	[...]

	lt_bridge: lt8912@48 {
		compatible = "lontium,lt8912b";
		reg = <0x48>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_lt8912>;
		reset-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
		status = "okay";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				lt8912_1_in: endpoint {
					data-lanes = <1 2 3 4>;
					remote-endpoint = <&mipi_dsi_hdmi_out>;
				};
			};

			port@1 {
				reg = <1>;
				lt8912_out: endpoint {
					remote-endpoint = <&hdmi_connector_in>;
				};
			};
		};



		};
	};
};
[...]

&mipi_dsi {
	status = "okay";

	ports {
		port@1 {
			reg = <1>;

			mipi_dsi_hdmi_out: endpoint {
				remote-endpoint = <&lt8912_1_in>;
			};
		};
	};
};

IOMUX configuration

The following IOMUX entry configures the associated reset and hotplug-detection GPIO pins.

ConnectCore 95 Development Kit device tree
	/* HDMI bridge IOs */
	pinctrl_lt8912: lt8912grp {
		fsl,pins = <
			/* Reset */
			IMX95_PAD_CCM_CLKO1__GPIO3_IO_BIT26		0x31e
			/* Interrupt */
			IMX95_PAD_CCM_CLKO2__GPIO3_IO_BIT27		0x31e
		>;
	};

	/* HDMI HPD */
	pinctrl_hdmi_hpd: hdmi_hpd_grp {
		fsl,pins = <
			IMX95_PAD_CCM_CLKO3__GPIO4_IO_BIT28		0x31e
		>;
	};