[meta-freescale] [meta-fsl-arm] Sabre* and HDMI

Nikolay Dimitrov picmaster at mail.bg
Wed Apr 8 05:33:12 PDT 2015


Hi Gary,

On 04/08/2015 03:08 PM, Gary Thomas wrote:
> Disclaimer - this question is not 100% BSP, but I'm hoping someone
> reading it might have some insights.
>
> I have multiple i.MX6 boards which I support using Poky/Yocto plus
> meta-fsl-arm*.  The problem I'm looking at is on some of them, HDMI
> works correctly where on others the screen is clipped (overscan).
>
> On the SabreLite, using linux-boundary_3.10.53, HDMI works correctly
> (on all the monitors I have tried).  An image of the upper left of
> the screen is in HDMI-OK.png
>
> On SabreSD, using linux-imx_3.10.53, HDMI on a 720p monitor, the
> image is clipped with upwards of 5% of the pixels missing. This is
> shown in HDMI-BAD.png
>
> I've not yet tried the linux-boundary kernel on the SabreSD, but I
> expect the same result as I have seen this problem on other boards
> (internal) that use the linux-boundary kernel.
>
> Any insights on what might cause this?  About the only thing we can
> think of is the SabreSD sends its HDMI signals through a
> level-shifting ESD device whereas the SabreLite manages these signals
> more directly using FETs and discrete circuitry.
>
> Thanks for any ideas

The actual HDMI video signal is not level-shifted by the ESD chip, it's
only clamped when subjected to voltages outside SOAR. The ESD chip
doesn't even buffer the video signal. So technically speaking, the video
signal is 1:1 the same on both boards, both as signal levels, protocols,
everything (except for the ability to protect against ESD damage, of
course).

There could be a difference in the way how well the I2C (DDC)
level-shifting works, in some cases this could allow or prevent the
display to properly communicate settings with the board, and the kernel
could or couldn't fetch EDID data. You can check with read-edid tool
whether the monitor gives any/meaningful information:

# read-edid | parse-edid

...just to be sure it works.

The different boards can use different timings on the same monitor,
depending on what they "see" attached. Which is also a reminder for you
to make sure that both boards's kernels have the same video bootargs, so
you can make a meaningful comparison.

I hope that you're comparing kernels built from the same source tree, so 
the display timing definitions are exactly the same.

Hope this helps for now. Regards,
Nikolay


More information about the meta-freescale mailing list