The Lontium LT8912 MIPI-to-HDMI bridge converts the i.MX93 MIPI DSI signal to one suitable for HDMI displays.
To use this bridge, ensure jumper J28 is open (default configuration). Closing the jumper routes the MIPI DSI video signals to the J29 display connector.
Kernel configuration
You can manage the LT8912 support through the following kernel configuration option:
-
Lontium LT8912 MIPI-DSI to LVDS and HDMI/MHL bridge (
CONFIG_DRM_LONTIUM_LT8912
)
This option is enabled as built-in on the default ConnectCore 93 kernel configuration file.
Kernel driver
The driver for the LT8912 bridge is located at:
File | Description |
---|---|
LT8912 MIPI-to-HDMI bridge driver |
Device tree bindings and customization
The LT8912 bridge is documented at
Documentation/devicetree/bindings/display/bridge/lontium,lt8912.txt
.
The LT8912 bridge is defined in the ConnectCore 93 Development Kit device tree file.
Definition of the LT8912
&lpi2c4 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&pinctrl_lpi2c4>;
pinctrl-1 = <&pinctrl_lpi2c4>;
status = "okay";
[...]
lt_bridge: lt8912@48 {
compatible = "lontium,lt8912";
reg = <0x48>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lt8912>;
reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
hpd-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
digi,dsi-lanes = <4>;
vdd1-supply = <®_5v_board>;
no-edid;
status = "okay";
port {
lt8912_1_in: endpoint {
remote-endpoint = <&mipi_dsi_hdmi_out>;
};
};
display-timings {
native-mode = <&timing1>;
/* High Definition */
timing0: timing0 {
clock-frequency = <74250000>;
hactive = <1280>;
vactive = <720>;
hfront-porch = <110>;
hsync-len = <40>;
hback-porch = <220>;
vfront-porch = <5>;
vsync-len = <5>;
vback-porch = <20>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
/* Full HD */
timing1: timing1 {
clock-frequency = <148500000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <88>;
hsync-len = <44>;
hback-porch = <148>;
vfront-porch = <36>;
vsync-len = <5>;
vback-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};
[...]
&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.
pinctrl_lt8912: lt8912grp {
fsl,pins = <
/* Reset */
MX93_PAD_I2C2_SDA__GPIO1_IO03 0x31e
/* Interrupt */
MX93_PAD_CCM_CLKO2__GPIO3_IO27 0x31e
>;
};