Hello everyone, I want to rotate the screen through PXP. Therefore, when I read the LCD register, I saw the sixth bit of the LCDIFx_CTRLn register in the manual IMX7DRM P4259. There is a description of this: ENABLE_PXP_HANDSHAKE If this bit is set and LCDIF_MASTER bit is set, the eLCDIF will act as bus master and the eLCDIF and PXP will be turned on. If LCDIF_MASTER bit is not set, this bit becomes a don't care.
For this paragraph of information, my understanding is: If ENABLE_PXP_HANDSHAKE and MASTER are set, then the handshake mechanism between LCD and PXP will be enabled. What I want to ask is: What is the role of the handshake mechanism between LCD and PXP? After the handshake, is the LCD data transferred to PXP for processing?The handshake between LCD and PXP, can I use PXP to rotate the screen?
Looking forward to anyone's answer.
Hi 其东 刘
>What is the role of the handshake mechanism between LCD and PXP?
it is used for synchronization as described in Figure 37-1. PXP Architecture i.MX6SL
Reference Manual, sect.13.7.3.1 Processing Details, Figure 13-110. Detailed Block Diagram
i.MX7D Reference Manual
"A handshake will be created between each stage and a pipeline controller to handle the
advance of the pipeline and generation of the iteration counters. The pipeline controller
will also maintain the interlocks with the LCD interface for the case where the LCD
display and pixel processing pipeline use the SRAM to maintain the double buffer block
intermediate buffer."
https://www.nxp.com/docs/en/reference-manual/IMX6SLRM.pdf
http://cache.nxp.com/files/32bit/doc/ref_manual/IMX7DRM.pdf
>After the handshake, is the LCD data transferred to PXP for processing?
yes
>The handshake between LCD and PXP, can I use PXP to rotate the screen?
yes
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov:
I read the IMX7D manual and have a description on page 4603. The PXP consists of several pipelined blocks that perform the video source frame scaling, color space conversion, alpha-blending/color key algorithm, secondary CSC, pixel correction, input and/or output rotation, dithering and waveform processing.
What I want to ask is: If the image I display is not the video source, can I use this hardware resource for this image? If so, how can I configure it?
look forward to your reply
> If the image I display is not the video source, can I use this hardware resource for this image?
yes
Best regards
igor
Hi, igorpadykov
After I enabled the ENABLE_PXP_HANDSHAKE bit, my LCD did not show up. I guess it is sending data to PXP. But how should I operate PXP and let it rotate the LCD data 90 degrees and display it on the LCD?
I looked at the pxp_dma_v3.c file. When reading this code:
Pxp->dispatch = kthread_run(pxp_dispatch_thread, pxp, "pxp_dispatch");
I found the thread pxp_dispatch_thread inside, it will wait_event_freezable. How can I satisfy the conditions for the pxp_dispatch_thread thread to execute? Let it continue.
look forward to your reply!