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 |
|---|---|
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
/ {
[...]
hdmi-connector {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi_hpd>;
hdmi-pwr-supply = <®_5v_dvk>;
hpd-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
port {
hdmi_connector_in: endpoint {
remote-endpoint = <<8912_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 = <<8912_1_in>;
};
};
};
};
IOMUX configuration
The following IOMUX entry configures the associated reset and hotplug-detection GPIO pins.
/* 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
>;
};