I have trouble with the LVDS output of my i.MX6. Sometimes one bit of the LVDS Datastream is shifted, which leads to a flickering behaviour on the display side.
I can reproduce this error by stopping and starting the framebuffer:
echo 1 > /sys/class/graphics/fb0/blank echo 0 > /sys/class/graphics/fb0/blank
If I do this ~15 times the error occurs and stays, until I repeat the commands above. What happens is attached in the two pictures in the attachement. Green and Yellow are my LVDS-Lines. ENABLE, HSYNC, VSYNC and DOTCLK are the output of my de-multiplexer.
I would be happy about any hint where to look for the problem.
kind regards,
Christian
Hi Christian,
We also observe similar issue with IMX6Q and LVDS display. Kindly let me know if you have found the solution?
Hello Bhamy,
bhamynarasimhashenoy tomkuestersteffen
I did not find a solution :smileysad:
We were using an i.MX6 with a pre-compiled linux where these errors occured. So there were no way for me to debug this linux whithout having the sources. Also, I'm an FPGA-programmer and not a linux guy.
We then decided to write our own kernel using Yocto Linux. Although we used the same parameters in the new Yocto Kernel as in the old Kernel, the Display-Flicker-Error went away.
Some more information which might help you:
kind regards,
Christian
Christian,
We are seeing the same thing on a product using i.MX6Q and an LVDS display - did you ever find an explanation or resolution to this issue?
Hi Christian
one can try to narrow down issue, if this is caused by i.MX
or "de-multiplexer" subsystem (deserializer) by checking with oscilloscope
lvds stream described in sect.6.3 Bit Mapping & Interface Definition
HannStar datasheet, found on
In general deserializer shifting may be caused by lvds signal noise, caused by long
lcd cable, lvds impedance mismatch or overall board noise.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
thank you for your input. I am certain that this behaviour is caused by the i.MX6. I can rule out the LVDS-traces. Why? Because the boot process decides if the error occurs.
This reproducable behaviour is not one I would expect from a mismatched LVDS-Line.
kind regards,
Christian
Hi Christian
one can check with oscilloscope lvds stream if syncs are shifted or not.
This will point source of misbehaviour.
Best regards
igor
Hi Igor,
In the following picture, the No-Error-Case, you can see two traces in the upper half. This is my LVDS-Signal coming from the i.MX. Green is the CLOCK. Yellow is DATA2. In DATA2 are the sync pulses (VS, HS, DE) multiplexed. In the lower half of the picture are the outputs of my LVDS De-Multiplexer. HSYNC and VSYNC are happening at the same time.
On the LVDS there is one state transition:
This is reflected in my De-Multiplexer Output.
In the following picture, the Error-Case, the edges of HSYNC and VSYNC are happening at different times. And there are two transitions:
This is reflected in the De-Multiplexed Output as well and causes my display to flicker.
As a reminder here the Bit-Mapping of the i.MX6
Kind regards,
Christian
Hi Christian
if you think that this is i.MX issue, standrad procedure to submit it as
silicon bug, is that this should be reproduced on Sabre SD board
Best regards
igor