Dual-Channel LVDS DTS Overlay and Display Power-On Sequence Configuration

Hi Toradex team!

I hope you’re doing well.

I’m working on a dual-channel LVDS display setup using a Verdin-AM62 SoM on the Mallow Carrier Board, with a custom image built using Yocto.

I’ve attached the DTS overlay file (dual_channel_lvds.txt) and the display datasheet (Touchscreen TFT datasheet 1.pdf) for reference. Could you kindly review the overlay and confirm if it is correctly configured for this setup?

Additionally, as per the datasheet (screenshot included), the display requires a specific power-on sequence involving control signals such as RESET_N, DISPLAY_ON, and FCS. At the moment, I have left these pins unconnected.

Do I need to configure these pins as GPIOs in the device tree and toggle them during boot according to the required timing? Could the absence of this sequence be the reason the display isn’t turning on?

Any guidance would be greatly appreciated.

Best regards,
Uday

Display_datasheet :
Touchscreen TFT datasheet 1.pdf (1.8 MB)

Dts file :
dual_channel_lvds.txt (3.7 KB)

Power_on_sequence :

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 Uday,

Thank you for your detailed message and for sharing the relevant files and information.

Review of Power-On Sequence & Control Signals

Based on your description and the display datasheet screenshot, displays requiring strict power/reset sequencing (like toggling RESET_N, DISPLAY_ON, FCS) must have those signals properly controlled from the SoM. If you left these pins unconnected, this could certainly prevent the display from turning on.

Why Control Signals Matter

  • If the display expects a proper reset or enable signal sequence and these are floating or permanently held inactive, it may not initialize or power on correctly.
  • Proper control via GPIOs allows you to sequence power, reset, and enable lines per the timing specified in the display’s datasheet.

How to Configure Control Signals in the Device Tree

Yes, you should:

  • Allocate and configure these SoM pins (RESET_N, DISPLAY_ON, FCS, etc.) as GPIO outputs via your device tree overlay.
  • Initialize them to the required default state on boot (often RESET_N low, then high after the supply is stable).
  • If more precise timing is needed, you may have to write a simple kernel driver or user-space script to toggle the pins in sequence.

Here’s a reference for how to configure these pins as GPIOs in a device tree overlay:

&iomuxc {
    pinctrl_lvds_ctrl: lvdsctrlgrp {
        fsl,pins = <
            /* Example: MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x104 */
            /* Replace with the correct SoC pin macros for AM62 */
        >;
    };
};

&{/} {
    lvds_ctrls {
        compatible = "gpio-leds";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lvds_ctrl>;

        reset-n {
            label = "lvds-reset";
            gpios = <&gpioX Y GPIO_ACTIVE_LOW>;
            default-state = "off";
        };
        display-on {
            label = "lvds-display-on";
            gpios = <&gpioX Y GPIO_ACTIVE_HIGH>;
            default-state = "off";
        };
        fcs {
            label = "lvds-fcs";
            gpios = <&gpioX Y GPIO_ACTIVE_HIGH>;
            default-state = "off";
        };
    };
};

Replace <&gpioX Y ...> with the correct GPIO controller and line number for your Verdin AM62 setup.

How to Find the Right Pin Mapping

  • Check the Verdin AM62 + Mallow documentation for which physical headers/pins to use (1).

Next Steps

  1. Allocate physical pins for RESET_N, DISPLAY_ON, and FCS between the Verdin AM62 and your display.
  2. Configure them as GPIOs in your device tree overlay as shown above.
  3. Ensure your boot sequence (or a userspace service/udev rule) toggles the lines according to the display’s timing requirements.
  4. Rebuild the device tree overlay and deploy to your image.

You can also refer to the Toradex device tree customization guides for further details:

Conclusion

Yes, the absence of proper signal control is likely why your display is not powering up. Please wire and configure those control signals using your device tree, and ensure your system (via overlay and possible scripts) performs the needed power-on sequence.

If you would like, you can paste the relevant parts of your DTS overlay here (as text) and I can review the GPIO/control signal portions for correctness.

Best regards,
Toradex AI Assistant.

Hi @Uday10122!

I saw you used the links I sent here, but I saw some differences and I would like to understand them.

In your overlay, the node &dds_ports has two child nodes (port@0 and port@1), each with one child node called dpi0_outX, but in both of the examples, there is only one child node (port@0) with two child nodes called dpi0_outX.

Another difference is that in the example, the nodes oldi0 and oldi1 don’t have the argument called dual-channel, and you wrote it in yours.

I noticed that some of the nodes that have the variables address-cells and size-cells don’t have them in yours.

Besides that, in your overlay, the arguments dual-lvds-odd-pixels and dual-lvds-even-pixels are not present either.

Is there a particular reason why you made these changes?

About the power sequence, I’m pretty sure the driver takes care of it. You don’t need to do it manually.

Best regards.