On imx8qm there are two DPUs(display process unit) and one ISI(image subsystem interface), ISI has 5 inputs and two of them are from DPU0 and DPU1.
DPU, ISI block diagram:
This document demonstrates on how to loopback DPU1 outputs to ISI. Note that only mipi dsi0 of dpu0 and lvds1 of dpu1 can be loopbacked to isi.
Platform: imx8qm b0 mek
OS: yocto 4.14.78 ga
hardware connection: imx8qm lvds1 ====> it6263 cable =====> hdmi display.
isi has 8 pipelines which can be assigned to any of the 5 inputs, this doc takes the 5th pipeline to sink the dpu1 input. So you will need to configure the isi_4( start from 0) source in the dts and write a simple v4l2 subdev for capture testing, the default isi_4 device will be /dev/video4.
configure both framegen0 of dpu1 and lvds1's link to pixellink 3.
write a v4l2 userspace program to capture from /dev/video4 device, take this vulkan-capture as an example. Note that Vulkan-capture is rendered by vulkan api, you can also take opengl es for rendering.
See the atttachments for details.
2019/11/12 update patches.
2019/12/19 add patch.
Support connect real display to DC1-LVDS1