DART-MX8M-MINI Display: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- Set release according to "release" parameter in URL and use RELEASE_MORTY_V1.0_DART-MX8M as default
<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V1.0_DART-MX8M-MINI as default
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!--
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release|RELEASE_SUMO_V1.0_DART-MX8M-MINI}}}} <!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_MORTY_V1.0_DART-MX8M}}}} <!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|DART-MX8M-MINI Display}} {{DocImage|category1=Yocto|category2=DART-MX8M-MINI}}__toc__
--> {{#lst:B2QT_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} Display}} {{DocImage|category1=Yocto|category2={{#var:HARDWARE_NAME}}}}[[Category:Debian]]__toc__
= Introduction =
= Introduction =
== MIPI-DSI and LVDS  ==
== MIPI-DSI and LVDS  ==
i.MX8M Mini SoC supports MIPI-DSI interface. DART-MX8M-MINI can be optionally equipped with SN65DSI84 MIPI-DSI to LVDS bridge.<br>
{{#var:HARDWARE_NAME}} SoC supports MIPI-DSI interface. {{#var:HARDWARE_NAME}} can be optionally equipped with SN65DSI84 MIPI-DSI to LVDS bridge.<br>
DART-MX8M-MINI carrier board comes with LVDS connectors, so you can easily connect LVDS display.<br>
{{#var:HARDWARE_NAME}} carrier board comes with LVDS connectors, so you can easily connect LVDS display.<br>
Connecting MIPI-DSI display to DART-MX8M-MINI carrier board requires designing a custom connector.<br>
Connecting MIPI-DSI display to {{#var:HARDWARE_NAME}} carrier board requires designing a custom connector.<br>


= Adding custom LVDS panel =
= 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.
{{#var:HARDWARE_NAME}} evaluation kit comes with 800x480 LCD panel. {{#var:HARDWARE_NAME}} DTS file was created with this panel in mind.
To support your custom LVDS panel, you should make several modifications
To support your custom LVDS panel, you should make several modifications


== Referencing custom panel in the DTS file ==
== Referencing custom panel in the DTS file ==
The following code references Variscite panel in arch/arm64/boot/dts/freescale/fsl-imx8mm-var-dart.dts under kernel source tree
The following code references Variscite panel in arch/arm64/boot/dts/freescale/{{#var:DEFAULT_DTB}} under kernel source tree


<pre>
<pre>
Line 51: Line 52:
</pre>
</pre>


You should modify "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.
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.<br>
To support a dual channel LVDS panel, please add "ti,lvds-channels = <2>".

Revision as of 02:53, 2 March 2021

Display

Introduction

MIPI-DSI and LVDS

SoC supports MIPI-DSI interface.  can be optionally equipped with SN65DSI84 MIPI-DSI to LVDS bridge.
carrier board comes with LVDS connectors, so you can easily connect LVDS display.

Connecting MIPI-DSI display to carrier board requires designing a custom connector.

Adding custom LVDS panel

evaluation kit comes with 800x480 LCD panel.  DTS file was created with this panel in mind.

To support your custom LVDS panel, you should make several modifications

Referencing custom panel in the DTS file

The following code references Variscite panel in arch/arm64/boot/dts/freescale/ 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>".