I have developed a driver for the VD16GZ sensor and corresponding device tree. In order to stream images, I have to run these commands first:
# echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
# cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
What should I change so this workaround is no longer necessary? Here is my device tree (renamed with .txt suffixes for the forum):
tegra234-camera-vd16gz-devkit-PCB1706.dtsi (3.8 KB)
vd16gz-node.dtsi (6.3 KB)
The camera is sending 1124x1364 RAW10 frames over 2 D-PHY lanes at 1.022 Gbps (per lane), with no additional data (no embedded line or motion vectors). Line length is 1236 and pixel clock is 160.8 MHz. It’s an RGBIR sensor so the V4L2 ecosystem doesn’t have a defined bayer pattern for it, but I don’t think that’s relevant. Let me know if you need any more information about the data from the sensor.
After I run those commands, streaming works. If I don’t, then I get these logs and no frames:
[ 22.847267] vd16gz 9-0010: device_model_id: 0x5603, device_revision: 32,16, device_number: 0x0000000000000000e9021226459304c5
[ 22.858927] vd16gz 9-0010: rom_revision: 3.7.0, ui_revision: 3.14, optical_revision: 0x06, fwpatch_revision: 2.28, vtpatch_id: 0x80110011
[ 22.883027] bwmgr API not supported
[ 25.568997] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 25.581752] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 25.592295] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 25.600020] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=1, csi_port=1
[ 25.610676] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 25.618394] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 1 vc- 0
[ 25.629225] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
The first two lines are from my driver, and are as expected. I think the third line is expected on T234, based on looking at the code, also it shows up even with the workaround when streaming works.
I’m currently using an Orin Nano Developer Kit, a camera carrier board from ST, and a custom board to connect the two. I’m using Jetpack 5.1.1. I have this problem only one camera attached.