The i.MX95 Display Controller can simultaneously drive a 4-lane MIPI DSI and two 4-lane LVDS interfaces.
On the ConnectCore 95 SMT SOM:
-
MIPI DSI is available at the castellated pads and the LGA pads
-
LVDS0 and LVDS1 are available at the LGA pads
On the ConnectCore 95 SMARC SOM:
-
MIPI DSI lines are available at the SMARC connector pads (some lines at the SMARC HDMI interface, some at the SMARC CSI0 interface)
-
LVDS0 is available at SMARC LVDS0 interface
-
LVDS1 is available at SMARC LVDS1 interface
On the ConnectCore 95 Development Kit:
-
MIPI DSI interface is connected to a MIPI bridge to provide an HDMI interface.
-
LVDS0 and LVDS1 are directly connected to LVDS connectors. They are available by using the corresponding device tree overlays.
Kernel configuration
You can manage the video support through the following kernel configuration options:
-
Freescale i.MX8MP LVDS PHY (
CONFIG_PHY_FSL_IMX8MP_LVDS) -
Freescale i.MX95 LVDS display bridge (
CONFIG_DRM_IMX95_LDB) -
DRM support for NXP i.MX95 DPU Graphics (
CONFIG_DRM_IMX95_DPU) -
NXP i.MX95 specific extensions for Synopsys DW MIPI DSI (
CONFIG_DRM_IMX95_MIPI_DSI) -
NXP i.MX95 pixel interleaver (
CONFIG_DRM_IMX95_PIXEL_INTERLEAVER) -
NXP i.MX95 display pixel link (
CONFIG_DRM_IMX95_PIXEL_LINK)
These options are enabled as built-in on the default ConnectCore 95 kernel configuration file.
Kernel driver
The driver for the video interface is located at:
| File | Description |
|---|---|
Freescale i.MX8MP LVDS PHY driver |
|
Freescale i.MX95 LVDS display bridge driver |
|
NXP i.MX95 DPU driver |
|
NXP i.MX95 driver for synopsys DW MIPI DSI |
|
NXP i.MX95 pixel interleaver driver |
|
NXP i.MX95 display pixel link driver |
Device tree bindings and customization
The video interfaces are defined on the i.MX95 SoC device tree include file:
mipi_dsi: dsi@4acf0000 {
compatible = "nxp,imx95-mipi-dsi";
[...]
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mipi_dsi_to_display_pixel_link0: endpoint@0 {
reg = <0>;
remote-endpoint = <&display_pixel_link0_to_mipi_dsi>;
};
mipi_dsi_to_display_pixel_link1: endpoint@1 {
reg = <1>;
remote-endpoint = <&display_pixel_link1_to_mipi_dsi>;
};
};
port@1 {
reg = <1>;
};
};
};
dpu: display-controller@4b400000 {
compatible = "nxp,imx95-dpu";
[...]
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dpu_disp0_to_pixel_interleaver_disp0: endpoint {
remote-endpoint = <&pixel_interleaver_disp0_to_dpu_disp0>;
};
};
port@1 {
reg = <1>;
dpu_disp1_to_pixel_interleaver_disp1: endpoint {
remote-endpoint = <&pixel_interleaver_disp1_to_dpu_disp1>;
};
};
};
};
ldb: ldb@4 {
compatible = "fsl,imx95-ldb";
[...]
channel@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
phys = <&ldb0_phy1>;
phy-names = "lvds_phy";
status = "disabled";
port@0 {
reg = <0>;
ldb_ch0_to_display_pixel_link0: endpoint {
remote-endpoint = <&display_pixel_link0_to_ldb_ch0>;
};
};
port@1 {
reg = <1>;
};
};
channel@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
phys = <&ldb1_phy1>;
phy-names = "lvds_phy";
status = "disabled";
port@0 {
reg = <0>;
ldb_ch1_to_display_pixel_link1: endpoint {
remote-endpoint = <&display_pixel_link1_to_ldb_ch1>;
};
};
port@1 {
reg = <1>;
};
};
};
ldb0_phy: phy@8 {
compatible = "fsl,imx95-lvds0-phy";
[...]
ldb0_phy1: port@0 {
reg = <0>;
#phy-cells = <0>;
};
};
ldb1_phy: phy@c {
compatible = "fsl,imx95-lvds1-phy";
[...]
ldb1_phy1: port@0 {
reg = <0>;
#phy-cells = <0>;
};
};
Display options
You need additional kernel and device tree configurations depending on the video display that you want to use. Find more information on the following sub-topics:
Use the video interface
When the video interface is available, a bootup logo displays on the screen. For XWayland images, a Weston desktop launches after Linux starts.
For information on configuring the boot logos see Customize boot logos.
Play a video
To play a video using Gstreamer:
# gst-launch-1.0 playbin uri=file:///run/media/sda1/big_buck_bunny_480p_h264.mp4
# gst-play-1.0 /run/media/sda1/big_buck_bunny_480p_h264.mp4
| The default image does not include a video file. |