How to get VI and CSI traces in Jetson Nano

Hi all.

I am currently working on a sensor driver for Jetson Nano, facing some capturing issues.
I tried to enable the VI debug as we usually enable it in TX2 and Xavier:

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 > /sys/kernel/debug/tracing/trace

But I realized that there is no /sys/kernel/debug/camrtc/log-level in Jetson Nano.
So, I was looking for a solution or a different approach in the forums and found this topic, where it is suggested to enable the dev_dbg() in order to get the csi and vi status from the csi2_fops.c and vi2_fops.c files.

I enabled the dev_dbg() as suggested and got information about 4 main registers:

  • TEGRA_VI_CSI_ERROR_STATUS.
  • TEGRA_CSI_PIXEL_PARSER_STATUS.
  • TEGRA_CSI_CIL_STATUS.
  • TEGRA_CSI_CILX_STATUS.

I also researched about what all those registers mean, and found a related question in this topic, where it is recommended to check the TRM of TX1 (downloaded from the Jetson Download Center) in order to get information about the aforementioned registers.

I’m trying to capture by using v4l2-ctl:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1

As part of the debug output I’ve got the following values for the registers:

  • TEGRA_VI_CSI_ERROR_STATUS: always 0x00000000.
  • TEGRA_CSI_PIXEL_PARSER_STATUS: always 0x00000000.
  • TEGRA_CSI_CIL_STATUS: 0x00000002, 0x00000012, 0x00000003, and 0x00000013.
  • TEGRA_CSI_CILX_STATUS: 0x00060060, and 0x00020020.

From the TRM of TX1 I could get a bit information about the values being written in the TEGRA_CSI_CIL_STATUS, but nothing is provided about the TEGRA_CSI_CILX_STATUS register. However, as I understand it doesn’t give me relevant hints about what could be wrong while trying to capture.

So the main question of this topic is:
What is the best way to get information about the VI and CSI behavior on Jetson Nano?

The VI traces in Xavier and TX2 have been very valuable for us as developers and we are looking for something similar in Jetson Nano.

I really would appreciate any suggestion on this.

Best regards,

-JC

TX1/Nano doesn’t have vi notify for the trace log like TX2/Xavier.
Only can check the CSI status for debugging. The error tell the SOT start of transmit error.