Thanks, Jerry. Here’s the output from port binding. It looks pretty similar to the example output in the webpage you referred to:
> media-ctl -p -v -d /dev/media0
Opening media device /dev/media0
Enumerating entities
Found 3 entities
Enumerating pads and links
Media controller API version 5.10.104
Media device information
------------------------
driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.104
Device topology
- entity 1: 13e10000.host1x:nvcsi@15a00000- (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
<- "fury_video 2-0054":0 [ENABLED]
pad1: Source
-> "vi-output, fury_video 2-0054":0 [ENABLED]
- entity 4: fury_video 2-0054 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev1
pad0: Source
[fmt:UYVY8_1X16/3840x2160 field:none colorspace:srgb]
-> "13e10000.host1x:nvcsi@15a00000-":0 [ENABLED]
- entity 6: vi-output, fury_video 2-0054 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "13e10000.host1x:nvcsi@15a00000-":1 [ENABLED]
Here is the output with the stream starting info:
> v4l2-ctl --set-fmt-video=width=3840,height=2160 --stream-mmap --stream-count=100 -d /dev/video0
[ 73.382792] video4linux video0: Entering vb2_ioctl_reqbufs(count = 4, type = 1, memory = 1, capabilities = ffff)
[ 73.403863] video4linux video0: Returning 0 from vb2_ioctl_reqbufs()
[ 73.425208] fury_video 2-0054: fury_video_set_mode() (empty function)
[ 73.425385] fury_video 2-0054: Entering fury_video_start_streaming()
[ 73.425858] fury_video 2-0054: Successfully turned on MIPI CSI-2 data streaming
[ 76.000506] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 76.000845] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 76.002068] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 76.002356] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 76.002583] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 76.002758] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 76.003656] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 78.560429] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 78.560671] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 78.561714] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 78.561905] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 78.562144] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 78.562308] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 78.562929] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 81.120442] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 81.120730] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 81.121704] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 81.121882] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 81.122106] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 81.122285] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 81.122876] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
^C
[ 83.648465] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 83.648744] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 83.649670] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 83.649832] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 83.650060] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 83.650220] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 83.650843] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 83.651255] fury_video 2-0054: Entering fury_video_stop_streaming()
[ 83.651700] fury_video 2-0054: Successfully turned off MIPI CSI-2 data streaming
Again, I can tell by an LED on our camera board that streaming has started.
Another post suggested enabling some kernel debug tracing which yielded:
# tracer: nop
#
# entries-in-buffer/entries-written: 41/41 #P:4
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
v4l2-ctl-2462 [002] .... 212.107267: tegra_channel_open: vi-output, fury_video 2-0054
v4l2-ctl-2462 [002] .... 212.128303: tegra_channel_set_power: fury_video 2-0054 : 0x1
v4l2-ctl-2462 [002] .... 212.128327: camera_common_s_power: status : 0x1
v4l2-ctl-2462 [002] .... 212.128340: tegra_channel_set_power: 13e10000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2462 [002] .... 212.128342: csi_s_power: enable : 0x1
v4l2-ctl-2462 [002] .... 212.128794: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
v4l2-ctl-2462 [003] .... 212.129697: tegra_channel_set_stream: enable : 0x1
v4l2-ctl-2462 [003] .... 212.133243: tegra_channel_set_stream: 13e10000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2462 [003] .... 212.133246: csi_s_stream: enable : 0x1
v4l2-ctl-2462 [003] .... 212.133712: tegra_channel_set_stream: fury_video 2-0054 : 0x1
kworker/1:5-170 [001] .... 212.151321: rtcpu_vinotify_event: tstamp:7289586537 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:233250903936 data:0xcd9ce50010000000
kworker/1:5-170 [001] .... 212.151324: rtcpu_vinotify_event: tstamp:7289586725 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:233250909440 data:0x0000000031000001
kworker/1:5-170 [001] .... 212.151325: rtcpu_vinotify_event: tstamp:7289586916 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:233250967904 data:0xcd9ce20010000000
kworker/1:5-170 [001] .... 212.151325: rtcpu_vinotify_event: tstamp:7289587079 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:233250973504 data:0x0000000031000002
vi-output, fury-2464 [001] .... 214.757707: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
kworker/1:5-170 [001] .... 214.783321: rtcpu_vinotify_event: tstamp:7371509391 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:235879571840 data:0xcd9ce50010000000
kworker/1:5-170 [001] .... 214.783324: rtcpu_vinotify_event: tstamp:7371509560 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:235879614656 data:0x0000000031000001
kworker/1:5-170 [001] .... 214.783325: rtcpu_vinotify_event: tstamp:7371509750 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:235879633248 data:0xcd9ce20010000000
kworker/1:5-170 [001] .... 214.783326: rtcpu_vinotify_event: tstamp:7371509914 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:235879693664 data:0x0000000031000002
vi-output, fury-2464 [001] .... 217.317544: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
kworker/1:5-170 [001] .... 217.359348: rtcpu_vinotify_event: tstamp:7451263088 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:238439224832 data:0xcd9ce50010000000
kworker/1:5-170 [001] .... 217.359352: rtcpu_vinotify_event: tstamp:7451263259 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:238439267648 data:0x0000000031000001
kworker/1:5-170 [001] .... 217.359354: rtcpu_vinotify_event: tstamp:7451263447 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:238439286240 data:0xcd9ce20010000000
kworker/1:5-170 [001] .... 217.359355: rtcpu_vinotify_event: tstamp:7451263609 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:238439346656 data:0x0000000031000002
vi-output, fury-2464 [000] .... 219.877712: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
kworker/1:5-170 [001] .... 219.879396: rtcpu_vinotify_event: tstamp:7531238735 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:240999379904 data:0xcd9ce50010000000
kworker/1:5-170 [001] .... 219.879400: rtcpu_vinotify_event: tstamp:7531238923 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:240999470976 data:0x0000000031000001
kworker/1:5-170 [001] .... 219.879401: rtcpu_vinotify_event: tstamp:7531239112 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:240999489504 data:0xcd9ce20010000000
kworker/1:5-170 [001] .... 219.879402: rtcpu_vinotify_event: tstamp:7531239276 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:240999549984 data:0x0000000031000002
v4l2-ctl-2462 [002] .... 222.310975: tegra_channel_close: vi-output, fury_video 2-0054
vi-output, fury-2464 [001] .... 222.381723: tegra_channel_capture_setup: vnc_id 0 W 3840 H 2160 fmt 13
v4l2-ctl-2462 [002] .... 222.382303: tegra_channel_set_stream: enable : 0x0
v4l2-ctl-2462 [002] .... 222.382306: tegra_channel_set_stream: fury_video 2-0054 : 0x0
v4l2-ctl-2462 [002] .... 222.382907: tegra_channel_set_stream: 13e10000.host1x:nvcsi@15a00000- : 0x0
v4l2-ctl-2462 [002] .... 222.382910: csi_s_stream: enable : 0x0
v4l2-ctl-2462 [003] .... 222.393910: tegra_channel_set_power: fury_video 2-0054 : 0x0
v4l2-ctl-2462 [003] .... 222.393993: camera_common_s_power: status : 0x0
v4l2-ctl-2462 [003] .... 222.394012: tegra_channel_set_power: 13e10000.host1x:nvcsi@15a00000- : 0x0
v4l2-ctl-2462 [003] .... 222.394016: csi_s_power: enable : 0x0
kworker/1:5-170 [001] .... 222.399476: rtcpu_nvcsi_intr: tstamp:7609592245 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000001
kworker/1:6-171 [001] .... 228.055482: rtcpu_string: tstamp:7786771595 id:0x04010000 str:"VM0 deactivating."
…in case that’s helpful. I’m also including an image of the the MIPI signal routing to the DevKit.
Are there registers or files I can check to confirm that the MIPI DPHY signals are reaching the Xavier on all the differential pairs?