Trucrux Inc

Testing Display

Test Display #

To test the display, first check the display node. To check the display node run

root@imx8mq-trux-q01: fbset


mode "1920x1080"
    geometry 1920 1080 1920 1080 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

Graphics are 2D and 3D. To test graphics

root@imx8mq-trux-q01: cd /opt/imx-gpu-sdk/GLES<3 for 3D and 2 for 2D>/<3D/2D graphic file>
root@imx8mq-trux-q01: ./GLES<3D/2D graphic file>

Below are 3D graphic files.

Below are the 2D graphics files.

Trucrux provides 2 displays HDMI and MIPI-DSI, where HDMI is set as the default display.

Setting HDMI Display #

HDMI is the default display provided by Trucrux. Plug HDMI display to HDMI port of TRUX-iMX8M-DVP.

Changing Display #

Trucrux Provides different dtbs for different displays.

dtbs provided by Trucrux:

  • imx8mq-trux-8MDVP-sd-hdmi.dtb
  • imx8mq-trux-8MDVP-sd-mipi.dtb
  • imx8mq-trux-8MDVP-wifi-hdmi.dtb
  • imx8mq-trux-8MDVP-wifi-mipi.dtb

to set dtb run the below commands

root@imx8mq-trux-q01:cd /boot
root@imx8mq-trux-q01:/boot# unlink imx8mq-trux-8MDVP.dtb
root@imx8mq-trux-q01:/boot# ln -s <dtb for mipi/hdmi> imx8mq-trux-8MDVP.dtb
root@imx8mq-trux-q01: reboot

NOTE: The MIPI-DSI Panel used by Trucrux is a Formike “KWH101KQ14-C01” 10-inch panel with a custom-made driver card.

TouchScreen #

After reboot Search for the below log-in dmesg

input: Goodix Capacitive TouchScreen as /devices/platform/soc@0/soc@0:bus@30800000/30a40000.i2c/i2c-2/2-0014/input/input3

If the above log is available run

root@imx8mq-trux-q01:~# evtest /dev/input/event3

Now touch on the screen you should see the events generated by the touch screen.

Adding Custom MIPI Panel #

NOTE: Trucrux provides MIPI and HDMI ports to connect displays and panels

Adding Driver #

1) Add panel driver file in drivers/gpu/drm/panel/, e.g. panel-custom-lcd.c

2) Add the below command line in drivers/gpu/drm/panel/Makefile to add the driver file in the build process.

obj-$(CONFIG_DRM_PANEL_CUSTOM_LCD) += panel-custom-lcd.o

3) Add the below command line in drivers/gpu/drm/panel/Kconfig to enable and disable the driver from the virtual kernel.

config DRM_PANEL_CUSTOM_LCD
     tristate "Name of custom Panel”
     depends on OF
     depends on DRM_MIPI_DSI
     depends on BACKLIGHT_CLASS_DEVICE
     help
       Say Y if you want to enable support for panels based on the 
       custom panel controller.
Adding node in dtsi file #

1) Open arch/arm64/boot/dts/freescale/imx8mq-trux-8MDVP-dcss-mipi.dtsi and navigate to &mipi_dsi node and change the compatible of panel@0 as per custom driver.