DART-MX8M-MINI Display

From Variscite Wiki
DART-MX8M-MINI Display

1 Introduction

1.1 MIPI-DSI and LVDS

DART-MX8M-MINI SoC supports MIPI-DSI interface. DART-MX8M-MINI can be optionally equipped with SN65DSI84 MIPI-DSI to LVDS bridge.
DART-MX8M-MINI carrier board comes with LVDS connectors, so you can easily connect LVDS display.
Connecting MIPI-DSI display to DART-MX8M-MINI carrier board requires designing a custom connector.

2 Adding custom LVDS panel

DART-MX8M-MINI evaluation kit comes with 800x480 LCD panel. DART-MX8M-MINI DTS file was created with this panel in mind. To support your custom LVDS panel, you should make several modifications

2.1 Referencing custom panel in the DTS file

The following code references Variscite panel in arch/arm64/boot/dts/freescale/imx8mm-var-dart.dtb under kernel source tree

	dsi_lvds_bridge: sn65dsi84@2c {
		compatible = "ti,sn65dsi83";
		reg = <0x2c>;
		ti,dsi-lanes = <1>;
		ti,lvds-format = <1>;
		ti,lvds-bpp = <24>;
		ti,width-mm = <154>;
		ti,height-mm = <87>;
		enable-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_lvds>;
		status = "okay";

		display-timings {
			lvds {
				clock-frequency = <33000000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <40>;
				hfront-porch = <40>;
				vback-porch = <29>;
				vfront-porch = <13>;
				hsync-len = <48>;
				vsync-len = <3>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
        ...
        };

You should modify the "ti,dsi-lanes", "ti,lvds-format", "ti,lvds-bpp", "ti,width-mm", "ti,height-mm" and "display-timings" properties to match your panel specification and rebuild the DTB file.
To support a dual channel LVDS panel, please add "ti,lvds-channels = <2>".