MIPI CSI2 camera not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MIPI CSI2 camera not working

1,994 Views
srinivasaporam
Contributor II

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  

0 Kudos
2 Replies

1,013 Views
srinivasaporam
Contributor II

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????

0 Kudos

1,014 Views
weidong_sun
NXP TechSupport
NXP TechSupport

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

0 Kudos