Hi NXP Team,
Greetings to All,
Product: i.MX8QXP
Platform: Custom board based on i.MX8QXP / i.MX8QXP MEK reference
OS: Yocto Linux
Boot flow: U-Boot → Linux kernel → user-space middleware
OTA: A/B partition-based MPU software update
Display interface: TFT display with touch controller
Issue type: BSP architecture clarification / display driver selection,FOTA handling
We need your recommendation on a BSP architecture concern related to display variant detection and driver selection on an i.MX8QXP-based platform.
We are planning to support two TFT display variants in the same MPU software image due to EOL of the existing display/touch controller IC.
Current display:
New alternate display:
The change impacts:
Display driver parameters
Touch driver
Power ON/OFF sequence timing
Possibly display initialization sequence
Currently, display presence/type is detected using a hardware signal named DISP_LOOP_DIAG.
The logic is:
DISP_LOOP_DIAG LOW → current display H40109-V4
DISP_LOOP_DIAG HIGH → new display H40170
However, this DISP_LOOP_DIAG signal is connected to the VIC/microcontroller side, not directly to the i.MX8QXP MPU.
The VIC communicates with the MPU through our UART-based middleware protocol called TVSMIPC. But TVSMIPC is a user-space middleware service. It becomes available only after the MPU Linux boot is completed and after the UART handshake between VIC and MPU starts.
Because of this, the display type information is not available during early boot, whereas display driver selection, panel timing, bridge configuration, touch driver probing, and display power sequencing are normally handled during U-Boot/kernel/device-tree initialization.
Since the display variant is available only after Linux user-space TVSMIPC starts, what is NXP’s recommended method on i.MX8QXP Yocto BSP to select the correct display DTB/driver during early boot, especially for A/B OTA/FOTA where the first boot after update must be validated successfully?