I'm studying ov5640_mipi camera driver in 3.14 kernel and trying to add a driver for a custom MIPI-CSI camera.
I see ov5640_mipi has two drivers in linux-fslc/drivers/media/platform/mxc/capture at 3.14-1.0.x-mx6 · Freescale/linux-fslc · GitHub and also in linux-fslc/drivers/media/platform/mxc/subdev at 3.14-1.0.x-mx6 · Freescale/linux-fslc · GitHub .
It seems to me that the subdev driver is newly added in 3.14 and does not exist in 3.10, but thethe two share the same kernel config macro.
Question: if I want to add driver to support a custom MIPI-CSI camera, which one shall I use as a template?
also CSI2IPU (MIPI CSI to IPU Gasket) is present only
for parts with IPU, so seems "subdev" camera (used with parts
without ipu) is useless for MIPI camera.
Any idea how long will the capture driver be supported?
Mainline kernel has dropped v4l2 internal API in 3.14.
BTW isn't it insane to decide use it in the first place?
To put it in a simple way, the capture driver is meant for platforms having/using the IPU (i.MX6Q, i.MX6QP, i.MX6DL etc...). Whereas the subdev is targeting the other platforms (i.MX6SL, i.MX6SX, i.MX7 etc...).
So depending on the platform you use, you have to pick one or the other driver.
Hope this helps.