Hello community,
I have several questions regarding capturing a single picture using CSI interface. I have set up parallel sensor and csi driver (mx6s_capture.c). Driver for camera was ported to use subdev and succesfully shows as subdev of csi.
When I try to use
./mx6s_v4l2_capture.out -d /dev/video0
It calls functions from sensor driver but throws the following error:
VIDIOC ENUM FMT failed
Comparing my /include/media/v4l2-subdev.h against an older copy, the .enum_mbus_fmt in v4l2_subdev_video_ops is gone so I'm thinking maybe mx6s_v4l2_capture.out it's outdated. Do you have a newer version for this tool and also some documentation on how to use it?
Also, I've noticed csi_enable function in mx6s_capture.c never gets called and hence peripheral is never enabled. How could I call this function from user space?
In a nutshell all I'm pursuing is to take a picture (no video), no matter if from user space or programatically, do you have any documentation or thread on how to accomplish this?
Thanks in advance,
Regards
Hi Eddie
one can try with latest csi unit tests
mxc_v4l2_test\test - imx-test - i.MX Driver Test Application Software
and Linux 4.19.35_1.1.0 Documentation
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks Igor, I checked the source for mx6s_v4l2_capture.out on the link you provided and it still uses .enum_mbus_fmt
Do you know if mxc_v4l2_capture.c is compatible with imx7d CSI and can be used instead?
Thanks
yes it is compatible and can be debugged as on link
About preview function in i.MX6SL.
Best regards
igor