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.