imx6q mutliple displays ipu error

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

imx6q mutliple displays ipu error

855 Views
sonijcp
Contributor II

Hi,

I'm attempting to use the variscite IM6q som board to drive 3 displays independently using directfb. There are two 800x480 LVDS and one 1280x720 HDMI. I had to make some modifications to the variscite device tree as they put one of the LVDS and the HDMI on the same IPU (which did not support different resolutions). So now both LDS are on IPU1 and the HDMI is on IPU 0

MY uboot arguments are

video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24,bpp=32 video=mxcfb1:dev=ldb,800x480M@66,if=RGB666,bpp=24 video=mxcfb2:dev=ldb,800x480M@66,if=RGB666,bpp=24 ldb=sep0 fbmem=28M,10M,10M

This boots correctly with the HDMI as the main display and the two LVDS detected but blanked as soon as I unblank one of them I get:

IPU WARNING IPU_INT_STAT_10 = 0x00100000

strangely the directfb applications run nearly ok in all three displays (the lvds are both fine but hdmi has a line of corruption)

running dump-clocks.sh after initialising the lVDS gives a strange error:

./dump-clocks.sh: line 16: cd: /sys/kernel/debug/clk/osc/pll2_bus/pll2_ppfd2_396m/step/pll1_sw: No such file or directory. Any ideas?

0 Kudos
3 Replies

546 Views
igorpadykov
NXP Employee
NXP Employee

Hi james

according to the i.MX6Q Reference Manual :

IPU_INT_STAT_10 = 0x00100000 means synchronous display error interrupt, as a

result of an error during access to a synchronous display.

  Next, from section 38.4.12.3 (Interrupt Generator) of the Reference Manual :

The table below describes the error interrupts. The panic column indicates if

this signal is part of the logic generating the ipu_panic signal. The ipu_panic

signal can be used for indicating about errors that are result of data rate

problems. Such problems may be a result of the IPU running in slower clock then

required by the use case. This signal can be used in order to indicate the

system that the IPU can't handle the desired data rate. In that case the system

may need to increase the clock to the IPU or simplify the use case.

   So, looks like here performance problem. One can try to decrease screen

resolution and / or frame rate. Also, other system resource consuming processes,

such as USB / SD / SATA transfer, may affect. As result a general performance

issue may take place in the case.

"No such file or directory" may be caused by usage of images not built for

variscite board, for example images from freescale.com are for Sabre boards

and may not work correctly on other boards.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

546 Views
sonijcp
Contributor II

Hi Igor,

Thanks for that I'd already realised what the clock issue was after running it before the IPU warning occurred but I'm a bit confused as I've set the HDMI to be on the first IPU and the LVDS on the second but as soon as I initialise one of the LVDS displays I get the warning from the first IPU?

Does this make sense that the warning should be from the first IPu and not the second?

Running either the HDMI or both LVDS displays on their own works fine. 

0 Kudos

546 Views
sonijcp
Contributor II

Hi,

I still think that my HDMI and LVDS0 are running on IPU1 even though LVDS0 is set to IPU2 in dts file by crtc=ipu2_di0.

As I can run all three displays with no errors but only if I drop the HDMi resolution to 640x480 surely that can't be right if the HDMi is the only device on IPU1?

Any ideas how this is possible?

0 Kudos