LCD-OLinuXino-4.3TS Rev.D - white screen problem

Started by olinuxino_fun, February 01, 2022, 07:23:08 PM

Previous topic - Next topic

olinuxino_fun

Hello,

I have a problem with LCD-OLinuXino-4.3TS Rev.D.
The board is A20-Olinuxino-Lime with latest Debian 11 minimal image from olimage ftp (2021-12-23).
The display was set up with olinuxino-display script.
After OS booting the display shows a white screen. But when I run same set with other LCD (Rev. C) screen is working.
Interestingly, when I reconnect LCD connector after os running, screen (Rev. D) starts working.
I tried few LCD Rev. D pieces. Effect is same.

Can you suggest me how to solve the issue, please?
Thank you in advance

LubOlimex

1. So revision D screens don't start on boot? Every time you reboot the Lime board, the revision D screen refuses to start and ends up with white screen?

2. Only when you reconnect it manually by disconnecting and re-connecting it starts working?
Technical support and documentation manager at Olimex

olinuxino_fun

1. Yes, every single time.
2. Yes. I tried second LCD connector - the same result.

I set u-boot screen from 'olinuxino monitor set' command and screen shows bootloader logs correctly. But after bootloader finish LCD ends up with white screen.

LubOlimex

I remember there was some bug with white screen, it occurred because of the order things get enabled in the software at start. It wasn't happening with older displays because they had tighter power circuit tolerance but new displays can get parasitic power supply from the lcd that would keep the backlight from starting. My recommendation is to try to first turn on the backlight, then turn on the lcd.

Technical support and documentation manager at Olimex

olinuxino_fun


LubOlimex

#5
Yes. Either change the device tree of the Linux image to always keep the backlight on or manually perform the proper order of activation. There is a way to directly trigger that via the registers. I tested it on A20-OLinuXino-MICRO and will need some time to check if it is the same for the Lime (mainly if backlight pin is the same). The procedure is described below copy paste and execute each line:

wget https://raw.githubusercontent.com/hackndev/tools/master/devmem2.c

gcc -o devmem2 devmem2.c && rm -f devmem2.c

bl_mux_gpio_out() { ./devmem2 0x01C20824 w 0x122 &>/dev/null; }

bl_mux_gpio_out

function bl_on() { ./devmem2 0x01C20834 w 0x2C200 &>/dev/null; }

function bl_off() { ./devmem2 0x01C20834 w 0x2C204 &>/dev/null; }

function pe_on() { ./devmem2 0x01C2090C w 0x56C &>/dev/null; }

function pe_off() { ./devmem2 0x01C2090C w 0x46C &>/dev/null; }

function lcd_off() { bl_off; pe_off; }

function lcd_on() { bl_on; pe_on; }

lcd_off;

lcd_on;

If the above works maybe put it in rc.local or use other way to perform it automatically on board start.

Edit: Looking at the power enable and backlight pins are the same for MICRO and LIME, so the above should work.

The reason that I give you these instructions is that I am not sure how easy and how correct is that to be implemented in the Linux images, and even if it is easy it would take some time before it appears in the images.
Technical support and documentation manager at Olimex

olinuxino_fun

Thank you very much for you solution. I used the busybox devmem command. Script starts with systemd unit on boot. It's working.

kolevs

Hi,

I'm sorry to intervene, but I have the same problem with LCD-OLinuXino-4.3TS Rev.D
connected to T2-OLinuXino-LIME2-e8Gs16M-IND.
Script not work. Screen switch off and on lcd_on return to white.
When detach and attach ribbon cable it works.

LubOlimex

Technical support and documentation manager at Olimex

kolevs

Not work for me. After exec lcd_on screen is white again.