Verdin iMX8MP + Dahlia V1.1 + DSI Adapter + RVT70HSDNWCA0 - White Screen / Link Status Error

Hi Toradex Support,

I am using the following supported hardware combination:

  • Verdin iMX8M Plus
  • Dahlia Carrier Board V1.1
  • Toradex DSI Display Adapter V1.0
  • Riverdi RVT70HSDNWCA0 (Capacitive Touch Display 7" DSI)
  • Torizon OS 7.5.0 (build 30)

I enabled the pre-built overlay verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo and removed the HDMI overlays. The display shows white then goes black. Touch controller (0x41) and bridge (0x2c) are both detected on I2C.The sn65dsi83 bridge reports persistent link errors:

  • dmesg: sn65dsi83 1-002c: Unexpected link status 0x08
  • Register 0xE5 = 0x0C (CRC + SOT errors)

I have tried:

  • Cold power cycling
  • Both FFC cable types (A and D)
  • Reseating cables
  • Both weston:4 and weston-imx8:4 containers
  • rmmod/modprobe of ti_sn65dsi83
  • Verifying bridge registers (configuration looks correct for 1024x600)

The display is detected as LVDS-1 at 1024x600@59.1Hz and Weston launches successfully, but noimage appears on screen.

Could you please advise what might be causing the DSI link failure in this supported configuration?

Thank you

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


DSI Link Issues with Verdin iMX8MP and DSI Display Configuration

Based on your configuration with the Verdin iMX8M Plus, Dahlia carrier board, and DSI display adapter, the persistent link status errors you’re experiencing suggest a configuration mismatch between the DSI bridge and your specific display panel.

Troubleshooting Steps

1. Verify Overlay Application

First, confirm that your device tree overlay is being applied correctly (1). You can check if overlays are applied successfully by examining:

ls /proc/device-tree/chosen/overlays/
cat /proc/device-tree/chosen/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo

(1)

If the output shows 0, the overlay was applied successfully (1).

2. Display Configuration Analysis

The error β€œUnexpected link status 0x08” and register 0xE5 showing CRC + SOT errors indicate communication issues between the DSI controller and the display panel. This typically occurs when:

  • Timing parameters don’t match the panel specifications
  • Clock frequencies are incorrect
  • Signal integrity issues exist

3. Custom Overlay Creation

Since you’re using a specific Riverdi panel (RVT70HSDNWCA0), you may need to create a custom device tree overlay tailored to your panel’s exact specifications (2). The process involves:

  1. Writing a Device Tree Overlay - Start with a similar overlay and adapt it to your panel’s requirements (2)
  2. Building the overlay - Compile your custom .dts file to .dtbo format (2)
  3. Deploying the overlay - Apply it using TorizonCore Builder or direct deployment methods (1)

4. Panel-Specific Parameters

Review your panel’s datasheet for the exact timing parameters, including:

  • Pixel clock frequency
  • Horizontal/vertical sync timings
  • Display resolution and refresh rate
  • DSI lane configuration

Recommended Next Steps

  1. Create a custom overlay based on your Riverdi panel’s specifications rather than using the generic 7-inch overlay
  2. Verify cable connections - Ensure the DSI cable is properly seated and the correct type for your panel
  3. Check power sequencing - Verify that display power-up timing meets your panel’s requirements

The generic verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo may not have the correct timing parameters for your specific Riverdi panel, which would explain the DSI link errors you’re seeing.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the β€œSolution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

alsotoday i installed Linux Reference Multimedia Image and :the sn65dsi83 bridge error register (0xE5) consistently shows 0x0C (CRC + SOT errors) is present on both kernel 5.15 and 6.6.until now and the screen is white no signal .

(cable 34 pins, 0.5 mm pitch,RVT70HSDNWCA0 display to use with: - Toradex Verdin iMX8M Plus - Toradex Dahlia Carrier Board V1.1 - Toradex DSI Display Adapter V1.0,- Tested on both Torizon OS 7.5.0 (kernel 6.6) and Linux Reference Multimedia Image (kernel 5.15))

All other components work correctly:

  • Bridge detected at I2C 0x2c

  • Touch controller detected at 0x41

  • Backlight is on (all 3 power LEDs green on adapter)

  • Display detected as LVDS-1 at 1024x600

  • Weston compositor starts successfully and this the dtsi file :// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
    /*

  • Copyright 2024 Toradex
    */

// RVT70HSLNWCA0 DSI display (7 inch) with a resolution of 1024x600 pixel.

&{/} {
panel_rvt70hslnwca0: panel-rvt70hslnwca0 {
compatible = β€œpanel-lvds”;
backlight = <&backlight>;
data-mapping = β€œvesa-24”;
height-mm = <86>;
width-mm = <154>;
status = β€œokay”;

	
	 * on iMX8* platforms.
	 */
	panel-timing {
		clock-frequency = <40800000 51200000 67200000>;
		de-active = <1>;
		hactive = <1024>;
		hback-porch = <100 100 100>;
		hfront-porch = <16 160 216>;
		hsync-active = <0>;
		hsync-len = <50 60 140>;
		pixelclk-active = <1>;
		vactive = <600>;
		vback-porch = <23 23 23>;
		vfront-porch = <1 12 126>;
		vsync-active = <0>;
		vsync-len = <1 10 20>;
	};
};

};

DSI Bridge Configuration Issues with RVT70HSLNWCA0 Display

Based on your detailed analysis, the persistent CRC + SOT errors (0x0C in register 0xE5) across both kernel versions indicate a fundamental timing or configuration mismatch between your custom panel and the DSI bridge (1).

Key Configuration Problems Identified

Your device tree overlay shows several potential issues:

1. Data Mapping Configuration

Your overlay specifies data-mapping = "vesa-24" for the LVDS panel, but according to the documentation, the valid combinations for LVDS configuration are (1):

  • spwg + 18 β†’ jeida-18
  • spwg + 24 β†’ vesa-24
  • jeida + 24 β†’ jeida-24

The bridge configuration in fsl,data-mapping and fsl,data-width must match your panel’s requirements (1).

2. Clock Frequency Range Issues

Your timing specification shows a very wide clock frequency range (40.8MHz to 67.2MHz). The documentation indicates that for Verdin iMX8M Plus LVDS, there are known frequency limitations (1):

The current LVDS driver implementation only supports 74.25 MHz single channel and 148.5 MHz dual channel LVDS by default (1). Your target frequencies may require driver modifications.

Recommended Solutions

1. Verify Bridge Configuration

Check that your DSI-to-LVDS bridge configuration matches the required format from the documentation (1):

&ldb2 {
 status = "okay";
 fsl,dual-channel;
 
 lvds-channel@0 {
 fsl,data-mapping = "spwg";
 fsl,data-width = <18>;
 status = "okay";
 
 port@1 {
 reg = <1>;
  
 lvds1_out: endpoint {
 remote-endpoint = <&panel_lvds1_in>;
 };
 };
 };
};

(1)

2. Use Proper DSI Display Configuration

Since you’re using a DSI display, ensure you’re following the DSI-specific configuration requirements. For Verdin family DSI displays, you must disable the DSI-to-HDMI overlay when using the carrier board’s native DSI interface (2)(3).

3. Verify Overlay Application

Confirm your custom overlay is being applied correctly by checking:

ls /proc/device-tree/chosen/overlays/

The system should show your custom overlay file, and the content should return 0 if applied successfully (2).

Next Steps

  1. Correct the data mapping - Ensure your fsl,data-mapping and fsl,data-width parameters align with your panel’s specifications (1)
  2. Simplify timing parameters - Use single values instead of ranges for initial testing
  3. Verify cable compatibility - Ensure your 34-pin 0.5mm pitch cable matches the DSI Display Adapter requirements

The persistent errors across both kernel versions suggest a hardware configuration mismatch rather than a software bug, particularly in the timing or data mapping parameters.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the β€œSolution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi Malak,

Here I have tested the display with the same configuration as you have, and below is the procedure to make the display work.

1). Install the Toradex DSI display adapter to Dahlia carrier and following below guide to connect the adapter with the display via FFC cable.
https://developer.toradex.com/hardware/hardware-resources/peripherals/displays/first-steps-with-capacitive-touch-display-7-inch-dsi

2). TorizonOS 7.6.0 is installed on Verdin iMX8MP SoM. Then modify the default device tree overlay according to below article to enable corresponding overlay - verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo.
https://developer.toradex.com/torizon/os-customization/use-cases/device-tree-overlays-on-torizon/#approach-2-applying-device-tree-overlays-to-an-image-directly-on-the-device

torizon@verdin-imx8mp-06849028:~$ cd /sysroot/boot/ostree/torizon-c9c37e6f354a4e61c2c68f7
f4e1a3958574b2766e10a11eb88964c0f37318d3f/dtb/
torizon@verdin-imx8mp-06849028:/sysroot/boot/ostree/torizon-c9c37e6f354a4e61c2c68f7f4e1a3
958574b2766e10a11eb88964c0f37318d3f/dtb$ sudo vi overlays.txt

958574b2766e10a11eb88964c0f37318d3f/dtb$ cat overlays.txt
fdt_overlays=verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo verdin-imx8mp_spidev_ov
erlay.dtbo

3). After rebooting, you should see TorizonOS logo on the screen, and keep back screen after booted. Then you can follow below article to start the weston docker image to show the weston desktop.
https://developer.toradex.com/torizon/application-development/use-cases/gui/working-with-weston-on-torizoncore/#debian-with-weston-wayland-compositor

4). And below is some system log for your refernence.
torizon@verdin-imx8mp-06849028:~$ dmesg |grep sn65
[1.736674] sn65dsi83 1-002c: supply vcc not found, using dummy regulator
[1.737665] Kernel module loaded from ramdisk: ti_sn65dsi83 - result: 0
torizon@verdin-imx8mp-06849028:~$ dmesg |grep display
[1.698230] Kernel module loaded from ramdisk: display_connector - result: 0
[1.703762] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[1.739608] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[1.739953] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [
sec_mipi_dsim_imx])
[1.740266] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0
[1.742003] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device
torizon@verdin-imx8mp-06849028:~$ ls -al /sys/class/drm/
total 0
drwxr-xr-x 2 root root 0 Apr 14 03:28 .
drwxr-xr-x 81 root root 0 Apr 14 03:28 ..
lrwxrwxrwx 1 root root 0 Apr 14 03:09 card0 -> ../../devices/platform/display-subsyst
em/drm/card0
lrwxrwxrwx 1 root root 0 Apr 14 03:09 card0-LVDS-1 -> ../../devices/platform/display-
subsystem/drm/card0/card0-LVDS-1
lrwxrwxrwx 1 root root 0 Apr 14 03:09 card1 -> ../../devices/platform/40000000.mix_gp
u_ml/drm/card1
lrwxrwxrwx 1 root root 0 Apr 14 03:09 renderD128 -> ../../devices/platform/40000000.m
ix_gpu_ml/drm/renderD128
-r--r--r-- 1 root root 4096 Apr 14 03:28 version

5). And for your error code, per checking, Both errors point to DSI signal integrity problems between the iMX8MP and the SN65DSI83 on the display adapter. So below is still some suggestion for checking.

  • Check FFC Cable Connection (Most Common Cause) according to the former first step article.
  • Verify No Conflicting Overlays, only the dsi display overlay is activated in the overlays.txt file, no other HDMI/LVDS display.
  • Check for Mini PCIe / NVMe Conflict, if you have any PCIe device connected via X13 on Dahlia, the SMCLK/SMDAT lines clash with the I2C bus used by the DSI adapter, causing I2C failures and bridge initialization errors. Remove any PCIe device for testing.

Hai Qin
Toradex

Hi Malak,

Here I have tested the display with the same configuration as you have, and below is the procedure to make the display work.

1). Install the Toradex DSI display adapter to Dahlia carrier and following below guide to connect the adapter with the display via FFC cable.
https://developer.toradex.com/hardware/hardware-resources/peripherals/displays/first-steps-with-capacitive-touch-display-7-inch-dsi

2). TorizonOS 7.6.0 is installed on Verdin iMX8MP SoM. Then modify the default device tree overlay according to below article to enable corresponding overlay - verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo.
https://developer.toradex.com/torizon/os-customization/use-cases/device-tree-overlays-on-torizon/#approach-2-applying-device-tree-overlays-to-an-image-directly-on-the-device

torizon@verdin-imx8mp-06849028:~$ cd /sysroot/boot/ostree/torizon-c9c37e6f354a4e61c2c68f7
f4e1a3958574b2766e10a11eb88964c0f37318d3f/dtb/
torizon@verdin-imx8mp-06849028:/sysroot/boot/ostree/torizon-c9c37e6f354a4e61c2c68f7f4e1a3
958574b2766e10a11eb88964c0f37318d3f/dtb$ sudo vi overlays.txt

958574b2766e10a11eb88964c0f37318d3f/dtb$ cat overlays.txt
fdt_overlays=verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dtbo verdin-imx8mp_spidev_ov
erlay.dtbo

3). After rebooting, you should see TorizonOS logo on the screen, and keep back screen after booted. Then you can follow below article to start the weston docker image to show the weston desktop.
https://developer.toradex.com/torizon/application-development/use-cases/gui/working-with-weston-on-torizoncore/#debian-with-weston-wayland-compositor

4). And below is some system log for your refernence.
torizon@verdin-imx8mp-06849028:~$ dmesg |grep sn65
[1.736674] sn65dsi83 1-002c: supply vcc not found, using dummy regulator
[1.737665] Kernel module loaded from ramdisk: ti_sn65dsi83 - result: 0
torizon@verdin-imx8mp-06849028:~$ dmesg |grep display
[1.698230] Kernel module loaded from ramdisk: display_connector - result: 0
[1.703762] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[1.739608] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[1.739953] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [
sec_mipi_dsim_imx])
[1.740266] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0
[1.742003] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device
torizon@verdin-imx8mp-06849028:~$ ls -al /sys/class/drm/
total 0
drwxr-xr-x 2 root root 0 Apr 14 03:28 .
drwxr-xr-x 81 root root 0 Apr 14 03:28 ..
lrwxrwxrwx 1 root root 0 Apr 14 03:09 card0 -> ../../devices/platform/display-subsyst
em/drm/card0
lrwxrwxrwx 1 root root 0 Apr 14 03:09 card0-LVDS-1 -> ../../devices/platform/display-
subsystem/drm/card0/card0-LVDS-1
lrwxrwxrwx 1 root root 0 Apr 14 03:09 card1 -> ../../devices/platform/40000000.mix_gp
u_ml/drm/card1
lrwxrwxrwx 1 root root 0 Apr 14 03:09 renderD128 -> ../../devices/platform/40000000.m
ix_gpu_ml/drm/renderD128
-r--r--r-- 1 root root 4096 Apr 14 03:28 version

5). And for your error code, per checking, Both errors point to DSI signal integrity problems between the iMX8MP and the SN65DSI83 on the display adapter. So below is still some suggestion for checking.

Check FFC Cable Connection (Most Common Cause) according to the former first step article.
Verify No Conflicting Overlays, only the dsi display overlay is activated in the overlays.txt file, no other HDMI/LVDS display.
Check for Mini PCIe / NVMe Conflict, if you have any PCIe device connected via X13 on Dahlia, the SMCLK/SMDAT lines clash with the I2C bus used by the DSI adapter, causing I2C failures and bridge initialization errors. Remove any PCIe device for testing.

Hai Qin
Toradex

1 Like

hi , thank you so much for answering , i try many new cable and follow your recommendation , but until now the screen is black sorry about this news :blush: i know it is weird this type of problem

torizon@verdin-imx8mp-15722144:~$ dmesg |grep display
[ 1.729309] Kernel module loaded from ramdisk: display_connector - result: 0
[ 1.735065] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[ 1.771437] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[ 1.771964] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops [sec_mipi_dsim_imx])
[ 1.772262] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0
[ 1.773932] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device
torizon@verdin-imx8mp-15722144:~$ dmesg |grep sn65
[ 1.768045] sn65dsi83 1-002c: supply vcc not found, using dummy regulator
[ 1.769144] Kernel module loaded from ramdisk: ti_sn65dsi83 - result: 0
[ 1.863041] sn65dsi83 1-002c: Unexpected link status 0x08
[ 19.895654] sn65dsi83 1-002c: Unexpected link status 0x08
torizon@verdin-imx8mp-15722144:~$ ls -al /sys/class/drm/
total 0
drwxr-xr-x 2 root root 0 Apr 25 02:08 .
drwxr-xr-x 81 root root 0 Apr 25 02:07 ..
lrwxrwxrwx 1 root root 0 Apr 25 02:07 card0 β†’ ../../devices/platform/display-subsystem/drm/card0
lrwxrwxrwx 1 root root 0 Apr 25 02:07 card0-LVDS-1 β†’ ../../devices/platform/display-subsystem/drm/card0/card0-LVDS-1
lrwxrwxrwx 1 root root 0 Apr 25 02:07 card1 β†’ ../../devices/platform/40000000.mix_gpu_ml/drm/card1
lrwxrwxrwx 1 root root 0 Apr 25 02:07 renderD128 β†’ ../../devices/platform/40000000.mix_gpu_ml/drm/renderD128
-r–r–r-- 1 root root 4096 Apr 25 02:08 version
torizon@verdin-imx8mp-15722144:~$ sudo i2cdetect -y 3
Password:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – UU – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: UU – – – – – – – – – – – – – – UU
50: – – – – – – – UU – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –

Hi , now it is working perfectly after order and trying new DSI and new board and new screen , so maybe the problem was in old hardware specially board becouse aslo i have a wifi connection problem and aslo i can not solve it , thank you so much for your supporting .

best regards and wishes

Hi Malak,

Thanks for the updating, seems it is a panel HW issue. And please let us know if you have any other issues.

Hai Qin
Toradex

1 Like

Thank you so so much for your help

Best wishes