HDMI distorted video output

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HDMI distorted video output

1,248 Views
davisilva
Contributor I

Hello,

I'm working on an android projected that makes use of the i.MX6DL in which we need to display the system on the board LCD(480x272p) and a video on a HDMI(720p) display. Its already implemented ad supported by android, but I'm facing an issue with the video output. I can only make both displays work properly if I set on the bootargs using the HDMI on fb0, but this results on the LCD getting a really small resolution. Otherwise if I set the LCD display to be the fb0, the HDMI output is distorted, loses color depth and resolution.

Today my bootargs is the following:

setenv bootargs_hdmi 'setenv bootargs console=ttymxc0,115200 init=/init  video=mxcfb0:dev=lcd,CLAA-WVGA@60,if=RGB24 di0_primary video=mxcfb2:dev=hdmi,1280x720M@60,if=RGB24 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale ldo_active=on rootwait'

Wich results on the HDMI output being distorted.

Attached follows two pictures of both cases, hdmi as first display and LCD as a first display.

The reason that I cant just make the HDMI as primary, is that I the android framework somehow recognized the LCD display as the Presentation Display, displaying in it the video.

Can someone give a light on whats is going on?

Labels (3)
3 Replies

831 Views
igorpadykov
NXP Employee
NXP Employee

Hi Davi

hdmi distortions may be caused by incorrect clocks,

please check attached Linux Guide for dual LCD settings,

one can try with 3.14.28 Linux on below link

SABRE Board Reference Design|Freescale

Best regards

igor

831 Views
davisilva
Contributor I

Hello Igor

I investigated about the pixel clock and it seemed to be correct. Investigating a little bit furter, I discovered that tha bits_per_pixel of the external HDMI were the double of the board LCD, wich wast 16 bits/pixel. I forced the External display to have the same amount of the lcd by using

      echo 16 > fb2/bits_per_pixel

After that the screen is displayed on the right resolution and with no distotion, but some "flashing black" keeps appearing on the screen. But if I force set the resolution this flickering stops.

      echo S:1280x720p-60 > mode

This solved my issue, but now the log keeps printing this message:

     imx6.gralloc( 2360): FBIOPAN_DISPLAY failed: Invalid argument.

You have any idea why the bits per pixel is wrong? I'm now using those commands on init.rc to force the bits_per_pixel to 16. Is there a better solution?

Thanks in advance.

0 Kudos