Hi, we are trying to use i.MX 8M chipset to receive MIPI signal from the deserializer chipset that is DS90UB960-Q1 by TI. (Naturally, there's a camera with the serialized signal output connected to the desrializer.)
The problem is, since the i.MX 8M does not seem to recognize the deserilizer device properly on the kernel level, we kind of tweaked the Omni Vision Camera V4L2 Plugin with the same interface and that actually seemed to have solved the problem meaning that we could detect the signal physically with an oscilloscope.
But then, V4L2 Capture command with ioctl started to be not working at all with any combination of the commands we tried. So, here's the problems that we perceived that are happening and the questions following those.
1. Since i.MX 8M does not support virtual channel at all, we can not utilize the MIPI-CSI2 capture interface driver at all. (Refer to drivers/platform/imx8/mipi-csi2.c with the function
static int mipi_csi2_probe(struct platform_device *pdev) and static int mipi_csi2_link_setup(struct media_entity *entity, const struct media_pad *local, const struct media_pad *remote, u32 flags)
-> Is there any other code/driver/workaround to overcome the problem that the device can not work with all the pre defined MXC_MIPI_CSI2_VC0_PAD_SINK value related codes?
2. If tweaking the OV camera driver to receive the MIPI signal was a right way to go, which ioctl combination should we try to get the video capture signal via V4L2?
3. Is there any known case of successful utilization of i.MX8M Plus with said deserializer chipset? (DS90UB960-Q1 by TI)
Waiting for your reply,
Sincerely, Sejin Kang