Can't understand the Sensor programming doc

Hi all,
maybe it’s me, but I cannot understand the relations between the tegra_sinterface/port-index in CSI, sensor definition and VI.
There is a drawing about port-index that it’s clearly incomplete, and also the other explanations are not really helpful.
Can I get some clarification please?
Sensor Programming

hello albert.burbea,

please see-also forum topic for the mappings of the NVCSI and VI port-index, Topic 69753.

Hi, yes, I found that document but it wasn’t much better. I’ve also asked for help to the vendor, but definitely we need something clearer. Thanks.

hello albert.burbea,

may I know which part you did not understand?
or.. could you please give an example of board schematic, let’s review your port bindings.

HI Jerry,
In our design we are connected to CSI0, no I2CMUX.
I am getting all the time this message when I boot the system

zedx 0-0020: Driver Version : v1.3.0
zedx 0-0020: Probing v4l2 sensor.
zedx 0-0020: tegracam sensor driver:video1_v2.0.6
zedx 0-0020: Enable gmsl for channel 0 and id 0
r8169 0008:01:00.0 eth0: Link is Up - 1Gbps/Full - flow control rx/tx
tegra-camrtc-capture-vi tegra-capture-vi: subdev zedx 0-0020 bound
zedx 0-0020: Detected ZED-X sensor
zedx 0-0020: zedx_probe: Serial Number : 48321271
zedx 0-0020: zedx_probe: CHANNEL: 0 ID: 0
Video device name is video0
Video device ID is 0
t194-nvcsi 13e00000.host1x:nvcsi@15a00000: Failed to create device link ( 13e00000.host1x:nvcsi@15a00000: Failed to create device link (0x180) with 0-00200x180) with 0-0020

Same for camera 0-0038
The cameras addresses are actually correct (Bus I2C0, addresses 0x20 and 0x38)
Attaching full dmesg and device tree from /proc/device-tree

dmesg.txt (84.4 KB)
proc_device-tree.txt (392.0 KB)
Then, running

v4l2-ctl -d /dev/video0 --stream-mmap 

I get only timeout and resetting of sensors.

Thanks for your help!!

hello albert.burbea,

am I understand your camera connections as below correctly?

ZED-X → max9295 → max9296 → CSI0?

if yes.. please revise the port-index to 0x0
you may see-also Jetson Virtual Channel with GMSL Camera Framework since you’re going to have two camera for sharing the CSI port.

HI,
yes, you are correct. I moved the port-index to 0x0 and the tegra_sinterface to serial_a.
Now I am facing this issue:
in dmesg:

....
tegra-ivc-bus bc00000.rtcpu:ivc-bus:echo@0: ivc channel driver missing
tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@1: ivc channel driver missing
tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@2: ivc channel driver missing
tegra-ivc-bus bc00000.rtcpu:ivc-bus:ivccontrol@3: ivc channel driver missing
tegra-ivc-bus bc00000.rtcpu:ivc-bus:ivccapture@4: ivc channel driver missing
tegra-ivc-bus bc00000.rtcpu:ivc-bus:diag@5: ivc channel driver missing

The message is not really clear. What can this “ivc channel driver” be?
Interestingly, it looks that is not related directly to the camera, since also the dbg and diag channels are complaining about it.
Thanks

hello albert.burbea,

sorry for late reply, I’ve losing your status update.
could you please check To verify the port binding result? there should be video node created if you’ve correct port bindings.

Hi,
the video devices are created, but - still - no frame is grabbed.
I saw that also in R36.3 produces the “ivc channel driver missing”
I am a bit at loss.
Thanks

hello albert.burbea,

it’s IVC devices to communicate with rce-fw.
please check whether you’re able to parse the camera device capability. i.e. $ v4l2-ctl -d /dev/video0 --list-formats-ext
please also assign the sensor supported formats into v4l pipeline for testing the stream.
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

is it possible to arrange hardware resources to probe the MIPI signaling?
you may check whether sensor is outputting the frames to CSI channel.

besides,
let’s follow the steps to enable VI tracing logs for more details.

modprobe rtcpu_debug    #for JP-6.1 or later.
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
cat /sys/kernel/debug/tracing/trace

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.