10.1 Cap Touch Display Driver IC

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

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


Hello! Thank you for sharing such detailed information. I understand you’re integrating a new LVDS panel (with FIT EK79202B driver IC) into your Verdin iMX8M Plus on the Dahlia Carrier Board and are having vertical sync issues, while your LT170410-2WHC panel is functioning correctly.

Let’s break down the best approach for stable LVDS integration and necessary DTSI (device tree) adjustments:


1. Understand the Critical Device Tree Parameters

LVDS panel timing parameters in the device tree must precisely match those specified by your new panel’s datasheet. Key fields for a typical LVDS panel are:

  • clock-frequency (in Hz)
  • hactive, vactive (horizontal/vertical resolution)
  • hsync-len, hfront-porch, hback-porch
  • vsync-len, vfront-porch, vback-porch
  • Color mapping/data mapping (fsl,data-mapping, data-mapping)

You’ll configure these within the display-timings node of your overlay.


2. Map Datasheet Parameters to Device Tree Fields

Referencing your tables, you’ll want to extract timing fields for the NEW display:

LCD Timing Device Tree Field Value (typical or mid-range based on your table)
Pixel Clock Frequency clock-frequency 72,400,000 (for 72.4 MHz for new display)
Horizontal active (pixels) hactive 1280
Horizontal total (tH) hactive + hfront + hback + hsync 1440
Vertical active (lines) vactive 800
Vertical total (tV) vactive + vfront + vback + vsync 838

For porch and sync calculation:

  • hblank = total - active
  • vblank = total - active
  • Assign values to hsync-len, hfront-porch, and hback-porch based on proportions in datasheet or, if given, direct values.
  • Assign values to vsync-len, vfront-porch, and vback-porch similarly.

Example Calculation (if values are given as in your table):

Suppose for hfront-porch = 70, hback-porch = 88, hsync-len = 2
Then: 70 (front) + 88 (back) + 2 (sync) = 160 (hblank)


3. Device Tree Example Snippet

Here’s an example display-timings node for your NEW panel (please verify the porch/sync lengths as needed):

panel_lvds: panel-lvds {
    compatible = "panel-lvds";
    data-mapping = "jeida-24";           /* Or "vesa-24", depends on your panel */
    width-mm = <217>;
    height-mm = <136>;
    status = "okay";

    display-timings {
        native-mode = <&timing0>;
        timing0: timing0 {
            clock-frequency = <72400000>;        /* 72.4 MHz */
            hactive = <1280>;
            vactive = <800>;
            hfront-porch = <70>;
            hback-porch = <88>;
            hsync-len = <2>;
            vfront-porch = <13>;
            vback-porch = <23>;
            vsync-len = <2>;
            /* Optional: polarity flags */
            hsync-active = <0>;
            vsync-active = <0>;
            de-active = <1>;
            pixelclk-active = <0>;
        };
    };
};

If color is incorrect or image is unstable, try swapping jeida-24 for vesa-24 or adjusting with fsl,data-mapping properties as per this discussion:

More overlay examples:


4. Color Mapping & Data Mapping

  • If the image colors are swapped/tinted, try both "jeida-24" and "vesa-24" settings.
  • Set both fsl,data-mapping and data-mapping properties in your overlay node for completeness.
  • See LVDS color mapping notes here:
    Verdin iMX8M Plus | Toradex Developer Center

5. Troubleshooting Tips

  • Make sure your device tree overlay is being applied (check /proc/device-tree/).
  • If timings seem correct but image is unstable, tweak the sync and porch settings by small increments, as LVDS panels can be sensitive to these margins.
  • Confirm clock-frequency matches within the datasheet’s allowed range.
  • If the TI MIPI-LVDS bridge works but direct mode does not, it’s likely timing or color mapping, not hardware.
  • Ensure the LVDS interface is in 4-channel mode if your panel requires this.

Summary of Integration Steps

  1. Align the device tree timings (including sync and porch) to the new panel datasheet.
  2. Set the appropriate color/data mapping (jeida-24, vesa-24, or as per your panel).
  3. Test and fine-tune: Start with datasheet mid-values; adjust porch/sync if you see jitter, tearing, or sync loss.

Let me know if you want a ready-to-use overlay based on the exact datasheet specs, or if you have the direct register/timing details for the new panel!

Best regards,
Toradex AI Assistant.