We have some GMSL chips (MAX96705/MAX9286) working with Omnivision cameras (OV490) as described in our wiki [1].
Now that we can capture through GMSL I am thinking that it would be nice to extend the V4L2 driver to support Virtual Channel IDs, i.e, multiple cameras in one single physical port. I know this should be possible on TX2 only [2].
My idea is to extend the main V4L2 driver to capture and tag every frame captured with the Virtual Channel ID of the camera that produced the frame, in this way a framework like GStreamer and specifically v4l2src could push the frames for each camera on different pads according to the ID and source multiple pipelines.
The problem is that I am not sure what registers of Video Input (VI) I should change to enable the VCID and how the feature on TX2 actually works. Could someone at NVIDIA provide some guidance or documentation?
@David Which JetPack Version can support Virtual Channel ID?
What do you mean you porting driving for our customers?
Can we do this part of working by ourselves?
I porting our drivers to jetpack 4.2. I have some problem, Can you help me?
I need the virtual channel, my gmsl ic is 9286/96705.
I write some drivers to support 9286/96705 and my cmos.
The result as below:
If I insert one camera, the output image is ok, the frame rate is 30.
If i insert two camera, the first camera(virtual channel 0) output image is ok, the frame rate is 30, the second camera(virtual channel 1) output image, but frame rate is 3.66 or 4.65 or others.
The two cameras are exactly the same. and the two cameras are ok.
Due some other tasks we had to put the task on hold but we will resume the task next week, I will let you know if we see the same problem and get back to you.