ET035009DH6 lcd display config

Copy post from stackoverflow.

The display (ET035009DH6) stays dark with the following configuration. The backlight is on. Touch is working. ETM035009EDH6 Spec
X34 (Unified TFT Interface) → 40/50 pin adapter board → ET035009DH6

Device Tree

lcdif@021c8000 {
    compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
    reg = <0x021c8000 0x00004000>;
    interrupts = <0x00000000 0x00000005 0x00000004>;
    clocks = <0x00000001 0x000000a2 0x00000001 0x000000a1 0x00000001 0x00000000>;
    clock-names = "pix", "axi", "disp_axi";
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <0x0000003f 0x00000040>;
    display = <0x00000041>;
    lcd-display {
        bits-per-pixel = <0x00000010>;
        bus-width = <0x00000012>;
        linux,phandle = <0x00000041>;
        phandle = <0x00000041>;
        display-timings {
            native-mode = <0x00000042>;
            320x240 {
                phandle = <0x00000042>;
                linux,phandle = <0x00000042>;
                clock-frequency = <0x00632ea0>;
                hactive = <0x00000140>;
                vactive = <0x000000f0>;
                hback-porch = <0x00000044>;
                hsync-len = <0x00000058>;
                hfront-porch = <0x00000014>;
                vback-porch = <0x00000012>;
                vsync-len = <0x00000016>;
                vfront-porch = <0x00000004>;
                hsync-active = <0x00000000>;
                vsync-active = <0x00000000>;
                de-active = <0x00000001>;
                pixelclk-active = <0x00000000>;
            };
            640x480 {
                clock-frequency = <0x018023d8>;
                hactive = <0x00000280>;
                vactive = <0x000001e0>;
                hback-porch = <0x00000028>;
                hfront-porch = <0x00000018>;
                vback-porch = <0x00000020>;
                vfront-porch = <0x0000000b>;
                hsync-len = <0x00000060>;
                vsync-len = <0x00000002>;
                de-active = <0x00000001>;
                hsync-active = <0x00000000>;
                vsync-active = <0x00000000>;
                pixelclk-active = <0x00000000>;
            };
            800x480 {
            };
            800x480pixclkact {
            };
            800x600 {
            };
            1024x600 {
            };
            1024x768 {
            };
    };

u-boot

setenv vidargs video=mxsfb:320x240M-18@60

When connecting a screen via VGA to the Eval Board (Toradex Colibri Evaluation Board Rev3.2) and leave the default lcd timings to 640x480 (phandle and linux,phandle in 640x480) the screen shows the lxde desktop.

Hi @codeshredder726b,

What version of our software are you using? I assume it’s 2.8 based since you mention the LXDE desktop but I just want to be sure. Next could you provide the full boot log/dmesg. Finally when you have only your display connected what does fbset on the device report?

Also have you taken a look at our article about display resolutions/timings and such here: Display Output, Resolution and Timings (Linux) | Toradex Developer Center

Reason I ask is cause your device tree snippet here seems unusual for how we usually recommend customers to customize for displays.

Best Regards,
Jeremias

Hello @jeremias.tx

Thanks for the inputs. @codeshredder726b and me now tried following:

  • Boot TEZI from SD card with only ET035 connected. Result: blank screen
  • setting uboot variable vidargs to video=mxsfb:320x240M-16@60,pixclockpol=0 and …pixclockpol=1. Result: blank screen

Infos you asked for:

  • Angstrom v2017.12 - Kernel 4.9.220-2.8.7+g5722926
  • fbset:
    mode “320x240-46”
    # D: 6.500 MHz, H: 13.105 kHz, V: 46.144 Hz
    geometry 320 240 320 240 16
    timings 153846 68 20 18 4 88 22
    rgba 5/11,6/5,5/0,0/0
    endmode
  • dmesg: dmesg.txt
  • We use the Unified Display Interface connector with an adapter board, schematic rgb-adapter-glyn_SCH.pdf, designed according to your tianma adapter board
  • Display datasheet: ET035009DH6.pdf

Thanks

Any suggestions on the provided dmesg output? What seems off regarding the device tree setup?

Ok let’s take a step back and go to the device tree since looking at the datasheet your display has particular timings that probably should be set via device tree.

Could you provide a diff of the changes you made to the device tree? The original post has your changes but it looks odd, unless this is how your device tree looks after modification?

Also was the dmesg log you provided from your attempts with the device tree change or without?

Finally another thing you may try is using xrandr utility to force a resolution/timing

Best Regards,
Jeremias

Hi

We prevented the system from using device tree config by setting vidargs, as found in your documentation mentioned above.

Therefore we deleted vidargs to use native-mode from device tree. And after changing pixelclock to active-high, data-enable to active-low and adjustment to correct clock frequency, the display worked.

Gals your problem is solved. Thank you for update.