Brief System Description
- JetPack 5.1.4 L4T 35.6.0
- NVidia Jetson AGX Orin Module 64GB - Non Industrial Version
- Orin is connected to 3 MAX96712 deserializers
- Each deserializer is connected to Orin via CSI 4 lanes
- All cameras are identical
- Cameras 0-7 work fine
- Cameras 8-11 DO NOT WORK
To simplify this problem we have:
- disabled deserializers 1 and 2
- disabled all cameras except camera 8
The camera/csi/vi/module related portion of the device tree used is here
camDevTree.txt (5.6 KB)
Dmesg output on boot is here
dmesgBoot.txt (71.9 KB)
We enabled debug trace with the following command
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate
echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
cat /sys/kernel/debug/tracing/trace
We used the following command to attempt to acquire an image:
gst-launch-1.0 v4l2src device=/dev/gmsl/cam0 num-buffers=1 ! jpegenc ! filesink location=/home/root/cam0.jpg
Dmesg output after image acquire attempt is here:
debugDmesg.txt (886 Bytes)
We captured debug trace information with the following command
cat /sys/kernel/debug/tracing/trace
Debug trace output after image acquire attempt is here:
debugTrace.txt (1.0 MB)
All of our MIPI clock and data pairs are matched length for each of the 3 deserializers.
The table below shows the length differences as well as the corresponding time delay for the length difference.
One can see that the delay is less than 1 picosecond for any of the buses .
So unless delay added in the Orin module, the signals should be arriving virtualy simultaneously.
Note that the buses for the derserializers that work are MIPI-0 and MIPI-1the bus for the deserializer that does not work is MIPI-2.
Could you suggest a next step in debugging what is wrong.