DART-6UL/VAR-SOM-MX7 Display: Difference between revisions

From Variscite Wiki
(Created page with "{{PageHeader|DART-6UL- LVDS}} {{DocImage|category1=DART-6UL|category2=Yocto}} __toc__ = LVDS boot arguments = == Resistive/Capacitive alternate screen == Variscite expand th...")
 
(Reorder categories)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{PageHeader|DART-6UL- LVDS}} {{DocImage|category1=DART-6UL|category2=Yocto}} __toc__
{{PageHeader|DART-6UL/VAR-SOM-MX7- Display}} {{DocImage|category1=Yocto|category2=Debian}}[[Category:DART-6UL]][[Category:VAR-SOM-MX7]] __toc__
= LVDS boot arguments =
= Introduction =
The i.MX6UL & i.MX7 have an RGB controller. We added SN75LVDS83B RGB to LVDS bridge on our custom boards.<br>
So, you can use either an LVDS or RGB display.


== Resistive/Capacitive alternate screen ==
= Configuring your display in the Device Tree =
To add support for your own display, edit the following section in the Device Tree.<br>
You can use the instructions on the "Build the Linux kernel from source code" Wiki section, to compile the Device Tree.


Variscite expand the default display settings to support alternate display without any requirement to change the device tree. During the boot sequence Variscite u-boot will add screen_alternate=yes option to enable selection of the second display settings (capacitive display).<br>
For example:
<pre>
<pre>
U-Boot # printenv mmcargs
&lcdif {
mmcargs=setenv bootargs console=${console},${baudrate} ${smp} video=mxcfb1:off root=${mmcroot}
pinctrl-names = "default";
screen_alternate=yes
pinctrl-0 = <&pinctrl_lcdif_dat
</pre>
    &pinctrl_lcdif_ctrl>;
The developer can prevent the modification of u-boot by settings var_auto_fdt_file=N.
display = <&display0>;
<pre>
status = "okay";
U-Boot # setenv var_auto_fdt_file=N
</pre>


== Switching to LVDS1 as main display ==
        display0: display0 {
Switching to LVDS1 display requires changing the "primary" of the lvds section flag in the device tree.
bits-per-pixel = <32>;
Setting display to be LVDS1 by default: edit arch/arm/boot/dts/imx6qdl-var-som.dtsi and set section of the lvds1. When you set the "primary" property to the LVDS1 struct, make sure you remove it from the LVDS0 struct
bus-width = <24>;


:lvds-channel@1 {<br>
        display-timings {
::fsl,data-mapping = "spwg";<br>
native-mode = <&timingr0>;
::fsl,data-width = <18>;<br>
timingr0: hsd100pxn1 {
::crtc = "ipu1-di1";<br>
clock-frequency = <29232000>;
::primary;<br>
hactive = <800>;
:status = "okay";<br>
vactive = <480>;
::display-timings {<br>
hfront-porch = <40>;
:::native-mode = <&timing1>;<br>
hback-porch = <40>;
:::timing1: hsd100pxn1 {<br>
vsync-len = <48>;
::::clock-frequency = <35714000>;<br>
vback-porch = <29>;
::::hactive = <800>;<br>
vfront-porch = <13>;
::::vactive = <480>;<br>
hsync-len = <3>;
::::hback-porch = <28>;<br>
hsync-active = <0>;
::::hfront-porch = <17>;<br>
vsync-active = <0>;
::::vback-porch = <13>;<br>
de-active = <1>;
::::vfront-porch = <20>;<br>
pixelclk-active = <0>;
::::hsync-len = <20>;<br>
};
::::vsync-len = <13>;<br>
};
:::};<br>
};
::};<br>
};
:};<br>
</pre>
Please take a look on the wiki section for kernel out of tree to see how to compile the device tree.

Latest revision as of 18:51, 6 June 2023

DART-6UL/VAR-SOM-MX7- Display

Introduction

The i.MX6UL & i.MX7 have an RGB controller. We added SN75LVDS83B RGB to LVDS bridge on our custom boards.
So, you can use either an LVDS or RGB display.

Configuring your display in the Device Tree

To add support for your own display, edit the following section in the Device Tree.
You can use the instructions on the "Build the Linux kernel from source code" Wiki section, to compile the Device Tree.

&lcdif {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcdif_dat
		     &pinctrl_lcdif_ctrl>;
	display = <&display0>;
	status = "okay";

        display0: display0 {
		bits-per-pixel = <32>;
		bus-width = <24>;

	        display-timings {
			native-mode = <&timingr0>;
			timingr0: hsd100pxn1 {
				clock-frequency = <29232000>;
				hactive = <800>;
				vactive = <480>;
				hfront-porch = <40>;
				hback-porch = <40>;
				vsync-len = <48>;
				vback-porch = <29>;
				vfront-porch = <13>;
				hsync-len = <3>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};
};