Hello NVIDIA community.
We are working with an NVIDIA Jetson Orin Nano receiving a video stream where the CSI lanes are incorrectly mapped. Incoming data lanes are not correctly mapped to the data lanes in CAM1 port in the Orin Nano. To solve this issue we used the lane swizzle register to make the Orin software stack interpret them differently.
NVCSI_PHY_0_NVCSI_CIL_LANE_SWIZZLE_CTRL_#
On csi5_fops driver we modified the brick_config’s lane swizzle attribute to modify the mapping when on NVCSI_PORT_C. We changed this value to NVCSI_LANE_SWIZZLE_B0B1A0A1. This seems to have worked since v4l2-ctl is now getting a video stream and we were able to get some frames that make sense. The issue is that there are still some buffers being dropped:
v4l2-ctl -d /dev/video0 --set-fmt-video=width=620,height=512,pixelformat=0 --stream-mmap
<<<<<< 30.10 fps, dropped buffers: 27
<<<<< 30.10 fps, dropped buffers: 25
<<<<<< 30.10 fps, dropped buffers: 25
<<<<<< 30.10 fps, dropped buffers: 24
<<<<<< 30.10 fps, dropped buffers: 26
<<<<<<< 30.10 fps, dropped buffers: 19
<<<<< 30.10 fps, dropped buffers: 36
<<< 30.10 fps, dropped buffers: 4
The main question is:
Does lane swizzling introduce any interference into the stream? Could it affect the stream in any way, such as video timing or signal integrity?
Best regards,
Cristian Hidalgo
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com