Platform / hardware
- Jetson AGX Orin Developer Kit, JetPack 7.2 (L4T R39.2.0), kernel `6.8.12-1021-rt-tegra`
- Classic V4L2 (`tegra-capture-vi`/NVCSI) via `v4l2-ctl`
- Leopard IMX568 (MAX9295 serializer on-module) → Forecr GMSL2 4CH board (MAX96712 deserializer) → J509
- Driver ported from Leopard’s reference package, which targets **L4T R36.5.0/JetPack 6.x** (our board/connector differs, so the device tree is our own adaptation)
Symptom
Every capture attempt fails identically:
tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
Full streaming attempt (module load → `STREAMON` → 3x timeout):
imx568 8-001b: imx568_power_on: power on
tegra194-vi5 13e00000.host1x:vi0@15c00000: \[PIPELINE 0\] VI capture setup complete (channel_id=0, csi_stream=0, vc=0)
imx568 8-001b: imx568_set_mode: mode index is :0
\[RCE\] ERROR: camera-ip/vi5/vi5.c:4067 \[vi5_update_channel_match_data\] "match configuration is already in use by by channel 35 cannot set channel match configuration"
imx568 8-001b: imx568_start_streaming: start
li_max929x 8-0029: max929x_read_reg_Dser: addr = 0x8a2, val = 0x4
max929x_write_reg_Dser slave:0x52, addr:0x8a2, val:0x34
imx568 8-001b: cam_index is 01
tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
MAX96712 `MIPI_TX2` status, all 4 pipes, read mid-timeout (our active pipe = ctrl0/Pipe0/LinkA):
MIPI_TX2 ctrl0/Pipe0/LinkA(0x0902) raw=0x00 sync_en=0 video_sync=0 sync_lost=0 hdr_crc_correctable=0 hdr_crc_uncorrectable=0 data_crc_err=0 dphy2cphy_crc_err=0
MIPI_TX2 ctrl1/Pipe1/LinkB(0x0942) raw=0x00 sync_en=0 video_sync=0 sync_lost=0 hdr_crc_correctable=0 hdr_crc_uncorrectable=0 data_crc_err=0 dphy2cphy_crc_err=0
MIPI_TX2 ctrl2/Pipe2/LinkC(0x0982) raw=0x00 sync_en=0 video_sync=0 sync_lost=0 hdr_crc_correctable=0 hdr_crc_uncorrectable=0 data_crc_err=0 dphy2cphy_crc_err=0
MIPI_TX2 ctrl3/Pipe3/LinkD(0x09C2) raw=0x00 sync_en=0 video_sync=0 sync_lost=0 hdr_crc_correctable=0 hdr_crc_uncorrectable=0 data_crc_err=0 dphy2cphy_crc_err=0
MAX96712 PHY / lock registers, read mid-timeout:
MIPI_PHY0(0x08A0) raw=0xa4 force_csi_out_en=1 force_clk0_en=1 phy_2x4=1
MIPI_PHY2(0x08A2) raw=0x34 PHY0_en=1 PHY1_en=1 PHY2_en=0 PHY3_en=0
MIPI_PHY3(0x08A3) raw=0xe4 phy1_lane_map=0xe phy0_lane_map=0x4
CTRL3(0x001A) raw=0xda LOCKED_A=1 ERROR=0 CMU_LOCKED=1 LOCK_PIN=0
MAX96712 `VPRBS` Video Lock Check, all 4 pipes, read mid-timeout (real, live-active pipe = Pipe0):
VPRBS/Pipe0(0x01DC)=0x81 VIDEO_LOCK=1
VPRBS/Pipe1(0x01FC)=0x80 VIDEO_LOCK=0
VPRBS/Pipe2(0x021C)=0x80 VIDEO_LOCK=0
VPRBS/Pipe3(0x023C)=0x80 VIDEO_LOCK=0
v4l2-compliance
v4l2-compliance 1.26.1, 64 bits, 64-bit time_t
Compliance test for tegra-video device /dev/video0:
Driver Info:
Driver name : tegra-video
Card type : vi-output, imx568 8-001b
Bus info : platform:tegra-capture-vi:0
Driver version : 6.8.12
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : tegra-camrtc-ca
Model : NVIDIA Tegra Video Input Device
Serial :
Bus info : platform:tegra-capture-vi
Media version : 6.8.12
Hardware revision: 0x00000003 (3)
Driver version : 6.8.12
Interface Info:
ID : 0x03000016
Type : V4L Video
Entity Info:
ID : 0x00000014 (20)
Name : vi-output, imx568 8-001b
Function : V4L2 I/O
Pad 0x01000015 : 0: Sink
Link 0x0200001a: from remote pad 0x1000003 of entity '13e00000.host1x:nvcsi@15a00000--1' (FAIL: Unknown sub-device (0002000a)): Data, Enabled
Required ioctls:
test MC information (see 'Media Driver Info' above): FAIL
warn: v4l2-compliance.cpp(670): media bus_info 'platform:tegra-capture-vi' differs from V4L2 bus_info 'platform:tegra-capture-vi:0'
test VIDIOC_QUERYCAP: OK
test invalid ioctls: OK
Allow for multiple opens:
test second /dev/video0 open: OK
warn: v4l2-compliance.cpp(670): media bus_info 'platform:tegra-capture-vi' differs from V4L2 bus_info 'platform:tegra-capture-vi:0'
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
test VIDIOC_LOG_STATUS: OK
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
fail: v4l2-test-controls.cpp(552): could not set valid menu item 1
test VIDIOC_G/S_CTRL: FAIL
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 1 Private Controls: 14
Standard Compound Controls: 0 Private Compound Controls: 7
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK
test VIDIOC_G_FBUF: OK (Not Supported)
fail: v4l2-test-formats.cpp(470): pixelformat 56595559 (YUYV) for buftype 1 not reported by ENUM_FMT
test VIDIOC_G_FMT: FAIL
fail: v4l2-test-formats.cpp(470): pixelformat 56595559 (YUYV) for buftype 1 not reported by ENUM_FMT
test VIDIOC_TRY_FMT: FAIL
fail: v4l2-test-formats.cpp(462): expected EINVAL, but got 16 when getting format for buftype 1
test VIDIOC_S_FMT: FAIL
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
fail: v4l2-test-formats.cpp(1824): doioctl(node, VIDIOC_S_FMT, &fmt)
fail: v4l2-test-formats.cpp(1972): testBasicScaling(node, fmt)
test Scaling: FAIL
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
fail: v4l2-test-buffers.cpp(573): ret && ret != EINVAL (got 16)
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
fail: v4l2-test-buffers.cpp(780): q.create_bufs(node, q.g_max_num_buffers())
test CREATE_BUFS maximum buffers: FAIL
fail: v4l2-test-buffers.cpp(814): VIDIOC_EXPBUF is supported, but the V4L2_MEMORY_MMAP support is missing or malfunctioning.
fail: v4l2-test-buffers.cpp(815): VIDIOC_EXPBUF is supported, but the V4L2_MEMORY_MMAP support is missing, probably due to earlier failing format tests.
test VIDIOC_EXPBUF: OK (Not Supported)
test Requests: OK (Not Supported)
Total for tegra-video device /dev/video0: 47, Succeeded: 39, Failed: 8, Warnings: 2