Screen Support for NXP and Toradex i.MX8MP: Release Notes
This document lists the details, updates, and issues associated with this screen board support release.
Date of this edition: March 21, 2024
A screen support package contains the display and GPU libraries and drivers needed to extend the general base screen package for a particular board support package (BSP). For compatibility, all three support packages: board, base screen, and extended screen support, should be based on the QNX Software Development Platform 8.0 (SDP 8.0).
QNX SDP is a cross-compiling and debugging environment, including an IDE and command-line tools, for building binary images and programs for ARM v8 and x86_64 targets running the QNX OS 8.0.
Throughout this document, you may see reference numbers associated with particular issues or changes. When corresponding with our Technical Support staff about an issue, use the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.
To access the most up-to-date version of these release notes, go to the QNX Software Center, right-click on the Screen Board Support for Screen Support for NXP and Toradex i.MX8MP package, choose Properties, and use the link provided.
Package version
This package contains the display and GPU libraries and drivers to support the SDP 8.0 base screen package when used with board support package (BSP): QNX SDP 8.0 BSP for NXP i.MX 8M Plus.
This screen board support package, and the base screen package it has been validated with are:
Name | Package ID | Build Link version |
---|---|---|
Screen Support for NXP and Toradex i.MX8MP | com.qnx.qnx800.target.screen.board.imx8mp | 113 |
Screen base support for SDP 8.0 | com.qnx.qnx800.target.screen.base | 106 |
To see the exact contents of the package, right-click it in the QNX Software Center, choose Properties, then click Package Contents in the Properties window.
Board support
The following platform is supported in this update:
Platform Type | Configuration | Configuration |
---|---|---|
Board Supplier | NXP | Toradex |
Board Name | i.MX8M Plus | Verdin i.MX8MP |
CPU |
|
|
GPU | GC7000UL | GC7000UL |
GPU Stack | Vivante-6.x | Vivante-6.x |
Display Controller | LCDIF | LCDIF |
Display Interface |
|
on-board HDMI |
Number of Displays |
|
1 HDMI |
Display Resolution |
|
|
Monitor Name | Lilliput | Lilliput |
Touch | HID via Lilliput | HID via Lilliput |
Video Capture Interface |
|
TBD |
Video Decoder |
|
TBD |
i.MX8 SoC variants
Screen Board Support i.MX8 can be used on the i.MX8 Toradex Verdin board. If you want to use a Toradex Verdin board, make the modifications below to your graphics.conf file.
-
Switch the WFD port1 and port2, to disabled:
#Setting for WFD port 1 (LCDIF1/MIPI0) wfd-port-lcdif1-mipi = disabled #Setting for WFD port 2 (LCDIF2/LVDS0,LVDS1,DUAL) wfd-port-lcdif2-lvds = disabled
- Comment out or remove the
begin display 1
andbegin display 2
sections. - Comment out or remove the
For display #1
andFor display #2
sections.
Known issues
- Verdin only - Screen crashes when attempting to use the HDMI port. (Ref. J2953676)
Workaround: Perform the following changes in the BSP:
- In the startup/boards/imx8mp/verdin/init_pads.c BSP file, add the following
lines to the imx_init_display_pads() function:
/* Configure HDMI pins */ /* DDC_SCL */ out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_MUX_CTL_PADx(IMX_IOMUXC_SW_MUX_CTL_PAD_HDMI_DDC_SCL), IMX_MUX_CTL_MUX_MODE_ALT0); out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_PAD_CTL_PADx(IMX_IOMUXC_SW_PAD_CTL_PAD_HDMI_DDC_SCL), IMX8MP_PAD_SETTINGS_I2C); /* DDC_SDA */ out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_MUX_CTL_PADx(IMX_IOMUXC_SW_MUX_CTL_PAD_HDMI_DDC_SDA), IMX_MUX_CTL_MUX_MODE_ALT0); out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_PAD_CTL_PADx(IMX_IOMUXC_SW_PAD_CTL_PAD_HDMI_DDC_SDA), IMX8MP_PAD_SETTINGS_I2C); /* CEC */ out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_MUX_CTL_PADx(IMX_IOMUXC_SW_MUX_CTL_PAD_HDMI_CEC), IMX_MUX_CTL_MUX_MODE_ALT0); out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_PAD_CTL_PADx(IMX_IOMUXC_SW_PAD_CTL_PAD_HDMI_CEC), IMX_PAD_CTL_SRE_FAST); /* HPD */ out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_MUX_CTL_PADx(IMX_IOMUXC_SW_MUX_CTL_PAD_HDMI_HPD), IMX_MUX_CTL_MUX_MODE_ALT0); out32(IMX_IOMUXC_BASE + IMX_IOMUXC_SW_PAD_CTL_PADx(IMX_IOMUXC_SW_PAD_CTL_PAD_HDMI_HPD), IMX_PAD_CTL_SRE_FAST);
- In the startup/boards/imx8mp/verdin/init_clock.c BSP file, add the following
lines to the imx_init_dc_clock() function:
/* Enable power domain for HDMI */ { /* Enable HDMIMIX power domain */ (void)imx_sec_firmware_psci(IMX_FSL_SIP_GPC, IMX_FSL_SIP_CONFIG_GPC_PM_DOMAIN, ATF_PU_HDMIMIX, 0x01, 0x00); /* Enable HDMI_PHY power domain */ (void)imx_sec_firmware_psci(IMX_FSL_SIP_GPC, IMX_FSL_SIP_CONFIG_GPC_PM_DOMAIN, ATF_PU_HDMI_PHY, 0x01, 0x00); }
- In the startup/boards/imx8mp/verdin/init_pads.c BSP file, add the following
lines to the imx_init_display_pads() function:
Technical support
To obtain technical support for any QNX product, visit the Support area on our website: https://blackberry.qnx.com/en/support. You'll find a range of support options.
For product experience and roadmap information, please contact QNX Product Management.