Hi,
As I inspected, It seems we have two capture subsystems in NXP Linux kernel, one in drivers/media/platform/mxc/capture (fsl,imx6q-v4l2-capture) and another one in drivers/staging/media/imx (fsl,imx-capture-subsystem).
Question1: What is the difference between these two capture subsystems for imx6?
Question2: How to use the staging one? is that reliable?
Thanks in advance
what imx6 processor do you use? refer to the source code, what detailed c file do you mean?
Hi,
I use imx6q.
I mean These files: old and new
By old, I mean using "v4l2_int_device_register" in slave to introduce itself to bridge driver which is implemented in old file
By new, I mean using "v4l2_async_register_subdev" in slave to introduce itself to bridge driver via v4l2 async subsystem.
As I inspected, ov5640 driver introduces itself in two way:
*** The ov5640 driver in drivers/media/platform/mxc/capture uses "v4l2_int_device_register" way
*** The ov5640 driver in drivers/media/i2c uses the "v4l2_async_register_subdev" way
Question: Is my guess right that the new file intends to implement the bridge driver using Linux async subsystem? hence, can I use the ov5640 driver available in drivers/media/i2c?
Thanks for your help
the old and new files you mentioned are different driver files, if you use imx6q, you just use mxc_v4l2_capture.c as v4l2 capture driver for ov5640, ov5640.c under drivers/media/i2c is for ov5640 camera driver, ov5640.c under drivers/media/platform/mxc/capture is CSI V4L2 driver, you can focus this one
for more detailed driver information, you also can refer to the linux reference manual