VAR-SOM-MX6 LVDS: Difference between revisions

From Variscite Wiki
(Created page with "{{PageHeader|VAR-SOM-MX6 - LVDS}} {{DocImage|category1=VAR-SOM-MX6|category2=Yocto}} __toc__")
 
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{PageHeader|VAR-SOM-MX6 - LVDS}} {{DocImage|category1=VAR-SOM-MX6|category2=Yocto}} __toc__
{{PageHeader|VAR-SOM-MX6 - LVDS}} {{DocImage|category1=VAR-SOM-MX6|category2=Yocto}} __toc__
= LVDS on Variscite's EVKs =
On VAR-SOLOCUSTOMBOARD:
* LVDS1 is the primary default display, used as 18bit LVDS
* LVDS0 is the the secondary display.
<span style="color:red">Note:</span> LVDS0 and LVDS1 headers are not pin-2-pin compatible. Variscite's provided display can not be connected to LVDS0 header.
<br><br>
On VAR-MX6CUSTOMBOARD:
* LVDS0 is the primary default display, used as 24bit LVDS, and connected to an RGB display, using LVDS->RGB converter.
* LVDS1 is the the secondary display.
= LVDS boot arguments =
== Resistive/Capacitive alternate screen ==
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>
U-Boot # printenv mmcargs
mmcargs=setenv bootargs console=${console},${baudrate} ${smp} video=mxcfb1:off root=${mmcroot}
screen_alternate=yes
</pre>
The developer can prevent the modification of u-boot by settings var_auto_fdt_file=N.
<pre>
U-Boot # setenv var_auto_fdt_file=N
</pre>
== Switching between LVDS0 and LVDS1 as main display ==
Switching between the  LVDS channels requires changing the "primary" of the LVDS section flag in the device tree.
Example:<br>
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
:lvds-channel@1 {<br>
::fsl,data-mapping = "spwg";<br>
::fsl,data-width = <18>;<br>
::crtc = "ipu1-di1";<br>
::primary;<br>
:status = "okay";<br>
::display-timings {<br>
:::native-mode = <&timing1>;<br>
:::timing1: hsd100pxn1 {<br>
::::clock-frequency = <35714000>;<br>
::::hactive = <800>;<br>
::::vactive = <480>;<br>
::::hback-porch = <28>;<br>
::::hfront-porch = <17>;<br>
::::vback-porch = <13>;<br>
::::vfront-porch = <20>;<br>
::::hsync-len = <20>;<br>
::::vsync-len = <13>;<br>
:::};<br>
::};<br>
:};<br>
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 16:38, 25 June 2016

VAR-SOM-MX6 - LVDS

LVDS on Variscite's EVKs

On VAR-SOLOCUSTOMBOARD:

  • LVDS1 is the primary default display, used as 18bit LVDS
  • LVDS0 is the the secondary display.

Note: LVDS0 and LVDS1 headers are not pin-2-pin compatible. Variscite's provided display can not be connected to LVDS0 header.

On VAR-MX6CUSTOMBOARD:

  • LVDS0 is the primary default display, used as 24bit LVDS, and connected to an RGB display, using LVDS->RGB converter.
  • LVDS1 is the the secondary display.

LVDS boot arguments

Resistive/Capacitive alternate screen

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).
For example:

U-Boot # printenv mmcargs
mmcargs=setenv bootargs console=${console},${baudrate} ${smp} video=mxcfb1:off root=${mmcroot} 
screen_alternate=yes

The developer can prevent the modification of u-boot by settings var_auto_fdt_file=N.

U-Boot # setenv var_auto_fdt_file=N

Switching between LVDS0 and LVDS1 as main display

Switching between the LVDS channels requires changing the "primary" of the LVDS section flag in the device tree. Example:
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

lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
crtc = "ipu1-di1";
primary;
status = "okay";
display-timings {
native-mode = <&timing1>;
timing1: hsd100pxn1 {
clock-frequency = <35714000>;
hactive = <800>;
vactive = <480>;
hback-porch = <28>;
hfront-porch = <17>;
vback-porch = <13>;
vfront-porch = <20>;
hsync-len = <20>;
vsync-len = <13>;
};
};
};

Please take a look on the wiki section for kernel out of tree to see how to compile the device tree.