DART-MX8M Android Display

From Variscite Wiki
Revision as of 14:57, 5 September 2023 by Harshesh (talk | contribs) (→‎Setting HDMI and DP resolution)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
VAR-SOM-MX6 - Android Nougat N7.1.1 - Display

Setup

  • VAR-SOM-MX6 supports The VAR-SOM-MX8/SPEAR-MX8 supports HDMI/DP/eDP, MIPI DSI and LVDS display interfaces.
  1. LVDS
  2. HDMI - Up to 4K@60fps
  3. Display Port - Up to 4K@60fps
  4. DSI - Only available at skew

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 dtbo file.

Setting HDMI and DP resolution

By default the maximum resolution supported by HDMI/DP display is being used.

To configure specific resolution use u-boot prompt setenv command to set video= kernel command line argument.
For example, to set 1080p60 resolution on HDMI display, run the following command:

=>setenv bootargs 'init=/init firmware_class.path=/vendor/firmware loop.max_part=7 bootconfig androidboot.hardware=nxp androidboot.vendor.sysrq=1 transparent_hugepage=never video=HDMI-A-1:1920x1080-32@60 androidboot.gui_resolution=1080p
=>saveenv

To set 1080p60 resolution on DP display, run the following command:

=>setenv hdp_file dpfw.bin
=>setenv bootargs 'init=/init firmware_class.path=/vendor/firmware loop.max_part=7 bootconfig androidboot.hardware=nxp androidboot.vendor.sysrq=1 transparent_hugepage=never video=HDMI-A-1:1920x1080-32@60 androidboot.gui_resolution=1080p
=>saveenv

The settings will be effective after reboot. }}

LVDS

VAR-SOM-MX6 supports one dual-channel LVDS interface.
VAR-SOM-MX6 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-MX6 evaluation kit comes with 800x480 LVDS panel.
VAR-SOM-MX6 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/-lvds.dtsi
On SPEAR-MX8 LVDS panel is configured in arch/arm64/boot/dts/freescale/-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.