I am developping the driver of two camers which work at the sametime ,referring to the ov23850's dev...

I am developping the driver of two camers which work at the sametime ,referring to the ov23850’s device tree. Every camera outputs 4 lanes yuv422.In the /dev,I can find video0,video1,video2,video3.Video0 works well,but video1 blink.The image size of video1 is only half of the right size.I attached the image.I doubt the mipi lane that I set is not right,especially the device tree about mipi lane!

tegra210-jetson-cv-camera-e3323-a00(double max9286).txt (3.06 KB)

tegra210-camera-e3323-a00(double max9286).txt (13.5 KB)

tegra210-jetson-cv-camera-modules(double max9286).txt (5.22 KB)

I attched the dtsi files about the camera and I changed the dtsi’extension!

I printed the parsed dtb,the information of mipi csi lane is:
s_data->csi_port=0, s_data->numlanes=4
s_data->csi_port=2, s_data->numlanes=4

  1. How do you get the preview? gstreamer?
  2. Seem you are’t modify the device tree as the Max9286 like the pixel_t still show bayer_bggr and the active_w …
  3. Maybe the source was output half frame data as output. Or the buffer was allocate twice time size.

1,yes,gstreamer,I used the commond:
gst-launch-1.0 -v v4l2src device="/dev/video0" ! “video/x-raw, width=1280, height=720, format=(string)I420, framerate=(fraction)30/1” ! nvvidconv ! nvoverlaysink

2,bayer_bggr and the active_w … do not affect the right probing of the camera driver.I can attach the driver file.

3,When I use only one max9286, the 4 lanes work well and image is right
ov23850.c (23.1 KB)
VID_20170117_170406.avi (4.96 MB)

Did you mean the video1 can get normal frame if the video0 not running?

I mean the mipi csi C and D can get right image when csi A and B not runnig.

So the csi C and D will get abnormal frame when running together with csi A and CSI B ?

  1. Could you verify the v4l2-ctrl to get the YUV data. And using YUV tools to check the frame.
  2. If it still have problem could you wired jump the source C/D to A/B and A/B to C/D

OK, I use YUV tools to check the image!

I tried some tools and commond,but could not solve my problem.In the /dev dir,I found video0,video1,video2,video3,but I only used two pieces of max9286.Is this correct?

You can use the v4l2-ctl --list-devices to check it. Possibly it’s the v4l2_focuser.

I run the command v4l2-ctl --list-devices and the information is as follows.I think there is something wrong with vi:2,but I can not locate the fault!

root@tegra-ubuntu:~# v4l2-ctl --list-devices
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device
vi-output-0, ov23850 6-0048 (platform:vi:0):
/dev/video0

vi-output-2, ov23850 0-0048 (platform:vi:2):
/dev/video1
/dev/video2

vi-output-3 (platform:vi:3):
/dev/video3
/dev/v4l-subdev1
/dev/v4l-subdev0

root@tegra-ubuntu:~#

Would you try to remove the v4l-subdevx(focusor) from the device tree than list the devices again.
And don’t know why it shows video1/video2 for the second ov23850!

I removed the device tree about focuser.The image of the video1 looks like normal!