Hi,
We have got imx6Q custom designed board based on the reference design (Wandboard). Cmaera connector is also customized.
the differences between custom board reference board wrt to camera connector are:
camera connector is 33 pin connector in reference board where as custom board we are using 15 pin connector for connecting raspi camera. the same thing has been implemented in another reference design humming board. we have followed humming board connection for camera.
We have got ov5647_mipi.c camera driver, which we have included in kernel source code (wandboard kernel source code) . Now when we have build the kernel and booting with SD card, we could able to to boot successfully to ubuntu.
when we are running i2cdetect, our camera is being detected (0x36) which is correct.
We could able to see 25MHz clock from the sensor (camera board), and also we could able see
CSI_D0M, CSI_D0P, CSI_D1M and CSI_D1P successfully.
But we are not getting CSI_CLK0M and CSI_CLK0P. Why is this so. Please find attached humming board schematics, ov5647_mipi.c (driver file).
And also, when we are running following command in our board terminal:
$ sudo avconv -f video4linux2 -r 30 -s 640x480 -i /dev/video0 out.avi
then we are getting fiollowing error messages in the serial console:
mipi csi2 can not receive data correctly! | |
mipi csi2 can not receive data correctly! |
mxc_v4l2_s_param: vidioc_int_s_parm returned an error -1
Hi,
When I am running the command for capturing image or video using avconv or gst-launch-1.0 then, image is not being captured.
When iam running the command as :
$ sudo avconv -f video4linux2 -r 30 -s 640x480 -i /dev/video0 out.avi
then it is giving following error on the serial console (ttymxc0)
mipi csi2 can not receive sensor clk! 200
mxc_v4l2_s_param: vidioc_int_s_parm returned an error -1
Since ov5647 has on board crystal which generates 25 MHz clock, we are using mipi_dphy_clk = <0x28> is this correct or not?? in some cases, it is been given that mipi_dphy_clk = <0x14>??? which one we should use ????
When we are running this command, we are getting CSI_D0M,CSI_D0P, CSI_D1M, CSI_D1P correctly and laos getting 25 MHz clock from the crystal.
But we are not observing CSI_CLK0M (CN), CSI_CLK0P (CP) are not coming???? what could be the reason.
$ sudo avconv -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 test.jpg
then it is giving error as ioctl VIDIOC_REQBUFs
and "/dev/video0: No buffer space available"
when iam running the following command:
$gst-launch-1.0 v4l2src device="/dev/video0" num-buffers=1 ! video/x-bayer,width=640,height=480,framerate=1/1 ! bayer2rgb ! videoconvert ! jpegenc ! filesink location=sample_640_480.jpeg
then it is forming sample_640_480.jpeg file but it is not opening.
in all the above commands, when we are entering/running then led on the camera board is glowing and not when terminating the command, then led is going off.
Following are the findings:
1. camera sensor is being detecting in i2c by using i2c-tools (i2cdetect)
root@ubuntu:~# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
2.
root@ubuntu:~# lsmod
Module Size Used by
mxc_v4l2_capture 28532 1
ipu_bg_overlay_sdc 5401 1 mxc_v4l2_capture
ipu_still 2528 1 mxc_v4l2_capture
ipu_prp_enc 5943 1 mxc_v4l2_capture
ipu_csi_enc 3863 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 6217 1 mxc_v4l2_capture
ov5647_camera_mipi 30906 0
why the mipi csi camera is different different errors????
which one we should use mipi_dphy_clock = <0x28> or mipi_dphy_clock = <0x14> if our camera sensor's clock is 25 MHz.
How resolve the issues????
Hello Srinivasa,
According to what I know, There is no ISP module in ov5647 sensor module, but i.MX6 requires there should be ISP in camera module, because there is no ISP IP module in i.MX SoC, processor can only receive RAW data by General Mode, but don't do any subsequent handling.
Hope above explanations can help you !
Regards,
weidong