Test Display #
Trucrux IMX8MM provides a MIPI display interface,
To test the display, first check the display node. To check the display node run
root@imx8mm-trux-q01:~# fbset mode "720x1280" geometry 720 1280 720 1280 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode
Graphics are 2D. To test graphics
root@imx8mm-trux-q01: cd /opt/imx-gpu-sdk/GLES2 root@imx8mm-trux-q01: ./GLES<2D graphic file>
Below are the 2D graphics files.
NOTE: The MIPI-DSI Panel used by Trucrux is a Formike “KWH101KQ14-C01” 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/input2
If the above log is available run
root@imx8mm-trux-q01:~# evtest /dev/input/event2
Now touch on the screen you should see the events generated by the touch screen.
Adding Custom MIPI Panel #
NOTE: Trucrux imx8mm provides a MIPI port 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/imx8mm-trux-8MDVP.dts and navigate to &mipi_dsi node and change the compatible of panel@0 as per custom driver.