Hello
I am trying to configure the IPU of the imx6q.
I want to be able to switch the framebuffer interface /dev/fb0, normally connected to the LCD display (IPU0 DI0) to send data to a viewfinder (IPU0 DI1) from time to time.
Is it possible to reconfigure the IPU flow to dynamically change the display interface during normal video flows in the system?
I have managed to change the display interface in ipu-common.c by changing the line _ipu_dc_init(....) in MEM_BG_SYNC case to point directly to display interface 1, and i get the screen there during boot!!
But can i do something similiar from userspace during normal execution?
/Bo
Solved! Go to Solution.
Hmm, in the kernel i've got, it seems that swap_channels pretty much does the job, So with som modifications i am now able to swap the display interface on the IPU.
I can switch from DI0 to DI1 and back to DI0
However, now the display on DI1 starts to blink and complains on IRQ error "timeout when waiting for alpha flip irq\n" and
"MXCFB_WAIT_FOR_VSYNC: timeout %d\n", |
But i am able to switch once :smileywink:
Now, which bit is causing the error on IPU0 DI1?
/Bo
HI bo
I am afraid this is not possible without ipu driver
modifications. In general one can look for LCD frame buffer
structure at sect.18.3 Modifying Boot Kernel Parameters to Support a New LCD
MX53UG MX53SUG.book
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hmm, in the kernel i've got, it seems that swap_channels pretty much does the job, So with som modifications i am now able to swap the display interface on the IPU.
I can switch from DI0 to DI1 and back to DI0
However, now the display on DI1 starts to blink and complains on IRQ error "timeout when waiting for alpha flip irq\n" and
"MXCFB_WAIT_FOR_VSYNC: timeout %d\n", |
But i am able to switch once :smileywink:
Now, which bit is causing the error on IPU0 DI1?
/Bo