Display¶
Selecting display type¶
VAR-SOM-MX8 and SPEAR-MX8 support DP, HDMI and LVDS displays. To use DP and HDMI on VAR-SOM-MX8 carrier board one should attach Variscite extension boards VAR-EXT-DP and VAR-EXT-HDMI respectively.
Selecting display configuration is a matter of selecting an appropriate dtb file.
On VAR-SOM-MX8 /boot/imx8qm-var-som-symphony.dtb is a symbolic link to the active dtb file. By default it points to LVDS dtb.
To select HDMI display, run the following commands:
# cd /boot
# ln -fs imx8qm-var-som-symphony-hdmi.dtb imx8qm-var-som-symphony.dtb
# ln -fs imx8qp-var-som-symphony-hdmi.dtb imx8qp-var-som-symphony.dtb (For i.MX8QP SoC)
To select DP display, run the following commands:
# cd /boot
# ln -fs imx8qm-var-som-symphony-dp.dtb imx8qm-var-som-symphony.dtb
# ln -fs imx8qp-var-som-symphony-dp.dtb imx8qp-var-som-symphony.dtb (For i.MX8QP SoC)
On SPEAR-MX8 /boot/imx8qm-var-spear-sp8customboard.dtb is a symbolic link to the active dtb file. By default it points to LVDS dtb.
To select HDMI display, run the following commands:
# cd /boot
# ln -fs imx8qm-var-spear-sp8customboard-hdmi.dtb imx8qm-var-spear-sp8customboard.dtb
# ln -fs imx8qp-var-spear-sp8customboard-hdmi.dtb imx8qp-var-spear-sp8customboard.dtb (For i.MX8QP SoC)
To select DP display, run the following commands:
# cd /boot
# ln -fs imx8qm-var-spear-sp8customboard-dp.dtb imx8qm-var-spear-sp8customboard.dtb
# ln -fs imx8qp-var-spear-sp8customboard-dp.dtb imx8qp-var-spear-sp8customboard.dtb (For i.MX8QP SoC)
The change will be effective after reboot.
Loading HDMI and DP firmware¶
HDMI and DP displays require appropriate firmware to be loaded by U-Boot. The firmware files are installed under /boot.
The HDMI display firmware blob is hdmitxfw.bin, the DP firmware blob is dpfw.bin. U-Boot environment variable hdp_file selects the blob.
By default HDMI firmware is being loaded. To switch to DP firmware, run the following command:
The change will be effective after reboot.
Both firmware blob and dtb file should be set before rebooting the system, otherwise the boot process will get stuck.
Setting HDMI and DP resolution¶
By default the maximum resolution supported by HDMI/DP display is being used.
To check the current resolution, run fbset command.
# fbset
mode "3840x2160"
geometry 3840 2160 3840 2160 16
timings 0 0 0 0 0 0 0
accel true
rgba 5/11,6/5,5/0,0/0
endmode
To configure specific resolution use fw_setenv command to set video= kernel command line argument.
For example, to set 1080P@60fps resolution on HDMI display, run the following command:
To set 1080P@60fps resolution on DP display, run the following command:
The settings will be effective after reboot.
LVDS¶
VAR-SOM-MX8 supports one dual-channel LVDS interface.
VAR-SOM-MX8 evaluation kit comes with two LVDS connectors, one connector per LVDS channel.
By default Variscite panel is attached to LVDS#A connector.
Adding custom LVDS panel¶
VAR-SOM-MX8 evaluation kit comes with 800x480 LVDS panel.
VAR-SOM-MX8 DTS file was created with this panel in mind.
To support different LVDS panel, several modifications may be required.
On VAR-SOM-MX8 LVDS panel is configured in arch/arm64/boot/dts/freescale/imx8qm-var-som-symphony-lvds.dtsi
On SPEAR-MX8 LVDS panel is configured in arch/arm64/boot/dts/freescale/imx8qm-var-spear-sp8customboard-lvds.dtsi
&ldb1_phy {
status = "okay";
};
&ldb1 {
status = "okay";
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
lvds {
clock-frequency = <35714000>;
hactive = <800>;
vactive = <480>;
hback-porch = <39>;
hfront-porch = <39>;
vback-porch = <29>;
vfront-porch = <13>;
hsync-len = <47>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
You may need to modify "fsl,data-mapping", "fsl,data-width" and "display-timings" properties to match your panel specification.
For more information see Documentation/devicetree/bindings/display/imx/ldb.txt in the kernel source tree.
Setting Weston Desktop Resolution¶
The default Weston uses maximum resolution supported by display.
To modify Weston resolution, edit /etc/xdg/weston/weston.ini and set size parameter in shell section.
For example:
For new settings to take effect restart weston by running
Rotating the Weston display¶
To rotate the Weston display, edit /etc/xdg/weston/weston.ini.
For example, rotate the display 90 degrees:
[output]