A13 LCD - screen flickers / can't set it up correctly...

Started by eurosat, March 18, 2014, 08:24:47 PM

Previous topic - Next topic

eurosat

Hello,

I just got the OlinuXino A13 and tried to change the Display settings in order to use the 7 inch Touchscreen Display from Olimex. It now has a really weird behaviour: if the cursor is in the lower left or upper right corner, the Debian desktop is displayed normally. but when the cursor is anywhere else, the screen flickers... I uploaded a video where you can see this problem:

http://www.youtube.com/watch?v=28yhpPyVoE8

I tried to customize the script.bin, ran the change_display script on the board but it doesn't work.

Maybe anyone can give me some hints what I'm doing wrong?
Thanks in advance,

Chris

LubOlimex

#1
Hello Chris,

Thanks for the report. This is a bug in the shell script that changes the resolution and will be fixed in the next release of the board.

There are few extra characters that were copy-pasted and are causing the behavior. I will post more details when we compile a solution.

We missed it initially since some of the displays we use for testing work with the same image without flickering.

For sure it will be fixed in the next Debian release.

Best regards,
Lub/OLIMEX
Technical support and documentation manager at Olimex

mikenycz

I am seeing the same issue, is there a file that can be modified locally that would fix the issue or does it require something within Linux to be compiled to fix the issue? If it is a file modification could you provide details on how to do that?

Thank you,
Mike Nycz

martinayotte

I've received a new order with some LCD 7in, I've tested those on my A20 board and it seems that all of them are producing the sames flickerings.
What are the changes needed to fix that in the "change_display.sh" script ?

dudo

I also have A20 board with 7" LCD and X-windows started on Debian wheezy. There are some sporadical flickerings like display is fast moving up and then down. script.bin is from original image adopted to LCD display.

Edit:
Forgot to say that same display works fine with A13 board.

diracsbracket

Hi,
Although I don't have the same flickering problem (using the 3.4.79+) image,
I have the TS calibration problem.
Even when I accurately press the cross-wires with a stylus, the final result
is that the point of the mouse cursor has an offset to the TS location pressed,
which is somewhat annoying.

vik

Hello LubOlimex,

Would you be so kind to post the technical details of the problem. Just releasing a new image is not a real solution. We have spent lots of time to get the boards to work the way we want them to and definitely I wouldn't want to start all over by loading a new image.

Could you specify which script needs to be fixed and what is the exact change, so we can fix our existing installations, please!

While I am not experiencing the problem, but I have downloaded the image in early April and you have posted your message in late March. And you have not posted any more messages since. So it is not clear if I have the fixed version or the version with a potential problem. I do see some minor artifacts on the screen, but these are not as severe as the others describe.

Please advice!

Thank you,

Vik

MBR

How long is the 40-wire ribbon cable? I use my old IDE cables and while a short 15cm one works fine, the longer 50cm one makes some strange picture artefacts, especially when I fold it over itself.

dave-at-axon

I've just made a change to the FEX file for my display. It has been stable for some time until the other day I spotted a lot of tearing on the video when viewing a text file of any display with a lot of closely spaced text.

I'm not using the Olimex display but the timing was the same apart from this small tearing issue.

I changed the lcd-hspw setting from 30 to 20 and now I have a very stable display.

Just wondering if it's worth trying the same thing under Debian use?

mikenycz

Hi Dave,
    I tried changing from 30 to 20 on my Debian image. This made the tearing worse. I then tried to go to 40 and it seemed to improve somewhat. I still have some jittering when I open the LXDE menu. I am not sure were this is coming from. I was going to try to take a video and post it. I will try to do that tomorrow.

Mike Nycz

dave-at-axon

This still sound very much like a timing issue and settings for the LCD driver.

mikenycz

Here is a video of what is happening. The window is solid when by itself. The menu is solid. But when the menu overlaps the window it causes the window to jitter.

http://youtu.be/PVF2mfTBg-8

dave-at-axon

That looks very much like a display timing issue and similar to what I was seeing. Not sure how you can sort this though.

mikenycz

I have found the solution to my flicker problem. I have been making changes to my script.bin file to customize the setup for my specific needs. I started to go through the fex file and noticed the following line in the lcd section....
...
lcd_cpu_if = 0
lcd_frm = 1
line_lcd_io_cfg0 = 268435456   <------------This line has line_ at the front.
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
...

This is the fex file from the original script.bin that was in the Debian release (I made a copy of the original fex and kept it on the side in case I needed to regress). I never looked in this section before and never noticed it until I started going through the lcd section line by line. I changed the above to...

...
lcd_cpu_if = 0
lcd_frm = 1
lcd_io_cfg0 = 268435456   <--------------- removed line_
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
...

Now the display is solid.

I'm not sure how that typo made it into the file but if you are having flicker issues please check it out. Can someone explain what the code 268435456 does? I would like to know since it does have an effect on how the display performs.

Thanks,
Mike Nycz

dave-at-axon

#14
In the FEX file at ths link, this is a hex number, 0x10000000 and is bit 28 set.

http://linux-sunxi.org/Fex_Guide#lcd[0/1] configuration

It's also present in my FEX file for Android configuration but also as a decimal number. Hex is so much easier to read. :)

Looking through the A20 datasheet and the A20 docs I found that it sets the following register.

TCON0_IO_POL_REG and this is the DCLK_Sel bit. 01 would set this as 1/3 phase offset and your 0 would set it to normal phase offset.

Good to know where it is used but no idea what it does as the A20 docs are very limited. :(