Jetson orin nano mipi-csi2 capture failed

系统信息:
1.SOM : Jetson Orin Nano
2.Carrier Board : Custom Board
3.JetPack Version : JetPack 6.2
4.Camera:imx226+fpga
Camera 控制端口通过i2c接入Orin Nano,数据由fpga通过mipi接入Orin Nano。
之前已经在TX2平台能正常出图,移植到Orin Nano后控制链路正常,数据链路没有响应,也没有错误提示。
fpga mipi 通过CSI2和CSI3接入Orin Nano:

设备树如下:
tegra234-camera-imx226.dtsi.txt (9.5 KB)

media-ctl -p -d /dev/media0

替换JP6.2_r36.4.3_rce-fw后,采集一帧数据,打印如下:
(采集命令:v4l2-ctl --set-fmt-video=width=4000,height=3000,pixelformat=RG12 --stream-mmap --set-ctrl=sensor_mode=0,override_capture_timeout_ms=-1 --stream-count=1 -d /dev/video0)

root@localhost:/home/ubuntu/imx226# modprobe rtcpu_debug
echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/v4l2/enable
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace

# tracer: nop
#
# entries-in-buffer/entries-written: 0/0   #P:6
#
#                                _-------=> irqs-off
#                               / _------=> need-resched
#                              | / _-----=> need-resched-lazy
#                              || / _----=> hardirq/softirq
#                              ||| / _---=> preempt-depth
#                              |||| / _--=> preempt-lazy-depth
#                              ||||| / _-=> migrate-disable
#                              |||||| /     delay
#           TASK-PID     CPU#  |||||||  TIMESTAMP  FUNCTION
#              | |         |   |||||||      |         |
root@localhost:/home/ubuntu/imx226# cat /sys/kernel/debug/tracing/trace_pipe
     kworker/2:1-46      [002] .......   654.525715: rtcpu_string: tstamp:21288337943 id:0x04010000 str:"VM0 deactivating."
           <...>-1629    [000] .......   688.164096: tegra_channel_open: vi-output, imx226 2-0055
       user_v4l2-1629    [000] .......   688.204391: v4l2_qbuf: minor = 0, index = 0, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
       user_v4l2-1629    [000] .......   688.205318: v4l2_qbuf: minor = 0, index = 1, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
       user_v4l2-1629    [000] .......   688.206355: v4l2_qbuf: minor = 0, index = 2, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
       user_v4l2-1629    [000] .......   688.207229: v4l2_qbuf: minor = 0, index = 3, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
       user_v4l2-1629    [003] .......   689.696311: tegra_channel_set_power: imx226 2-0055 : 0x1
       user_v4l2-1629    [003] .......   689.696432: camera_common_s_power: status : 0x1
       user_v4l2-1629    [003] .......   689.696445: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x1
       user_v4l2-1629    [003] .......   689.696448: csi_s_power: enable : 0x1
       user_v4l2-1629    [003] .......   689.697067: tegra_channel_capture_setup: vnc_id 0 W 4000 H 3000 fmt c4
 vi-output, imx2-1636    [003] .......   689.705202: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:0 pid:1636 tid:1636
 vi-output, imx2-1636    [003] .......   689.705212: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:0 pid:1636 tid:1636
 vi-output, imx2-1636    [003] .......   689.705213: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:0 pid:1636 tid:1636
 vi-output, imx2-1636    [003] .......   689.705218: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:0 pid:1636 tid:1636
       user_v4l2-1629    [001] .......   689.705259: tegra_channel_set_stream: enable : 0x1
       user_v4l2-1629    [001] .......   689.708325: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x1
       user_v4l2-1629    [001] .......   689.708331: csi_s_stream: enable : 0x1
       user_v4l2-1629    [005] .......   689.709381: tegra_channel_set_stream: imx226 2-0055 : 0x1
     kworker/2:1-46      [002] .......   689.736549: rtcpu_string: tstamp:22388654062 id:0x04010000 str:"VM0 activating."
     kworker/2:1-46      [002] .......   689.736557: rtcpu_string: tstamp:22388729291 id:0x04010000 str:"nvcsi_calibrate_idac:++ Line(1078)
"
     kworker/2:1-46      [002] .......   689.736564: rtcpu_string: tstamp:22388729888 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal++ Line(1081"
     kworker/2:1-46      [002] .......   689.736565: rtcpu_string: tstamp:22388730055 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736568: rtcpu_string: tstamp:22388730837 id:0x04010000 str:"nvcsi_setup_idac_calibration: phy=0, IDAC_CAL_SE"
     kworker/2:1-46      [002] .......   689.736588: rtcpu_string: tstamp:22388731004 id:0x04010000 str:"TTLE_TIME=2, Line(1033)
"
     kworker/2:1-46      [002] .......   689.736592: rtcpu_string: tstamp:22388731581 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal-- Line(1083"
     kworker/2:1-46      [002] .......   689.736593: rtcpu_string: tstamp:22388731741 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736595: rtcpu_string: tstamp:22388732617 id:0x04010000 str:"wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_"
     kworker/2:1-46      [002] .......   689.736596: rtcpu_string: tstamp:22388732777 id:0x04010000 str:"STATUS_COMPLETE Line(992)
"
     kworker/2:1-46      [002] .......   689.736598: rtcpu_string: tstamp:22388733469 id:0x04010000 str:"calibration status1 2507c213 status2 25284a72
"
     kworker/2:1-46      [002] .......   689.736601: rtcpu_string: tstamp:22388734038 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
"
     kworker/2:1-46      [002] .......   689.736603: rtcpu_string: tstamp:22388734528 id:0x04010000 str:"nvcsi_calibrate_idac:++ Line(1078)
"
     kworker/2:1-46      [002] .......   689.736605: rtcpu_string: tstamp:22388735100 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal++ Line(1081"
     kworker/2:1-46      [002] .......   689.736606: rtcpu_string: tstamp:22388735262 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736608: rtcpu_string: tstamp:22388736037 id:0x04010000 str:"nvcsi_setup_idac_calibration: phy=1, IDAC_CAL_SE"
     kworker/2:1-46      [002] .......   689.736609: rtcpu_string: tstamp:22388736221 id:0x04010000 str:"TTLE_TIME=2, Line(1033)
"
     kworker/2:1-46      [002] .......   689.736611: rtcpu_string: tstamp:22388736800 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal-- Line(1083"
     kworker/2:1-46      [002] .......   689.736612: rtcpu_string: tstamp:22388736961 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736614: rtcpu_string: tstamp:22388737836 id:0x04010000 str:"wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_"
     kworker/2:1-46      [002] .......   689.736615: rtcpu_string: tstamp:22388737997 id:0x04010000 str:"STATUS_COMPLETE Line(992)
"
     kworker/2:1-46      [002] .......   689.736617: rtcpu_string: tstamp:22388738675 id:0x04010000 str:"calibration status1 1f295653 status2 1f47ca52
"
     kworker/2:1-46      [002] .......   689.736619: rtcpu_string: tstamp:22388739243 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
"
     kworker/2:1-46      [002] .......   689.736622: rtcpu_string: tstamp:22388739733 id:0x04010000 str:"nvcsi_calibrate_idac:++ Line(1078)
"
     kworker/2:1-46      [002] .......   689.736624: rtcpu_string: tstamp:22388740310 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal++ Line(1081"
     kworker/2:1-46      [002] .......   689.736625: rtcpu_string: tstamp:22388740471 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736627: rtcpu_string: tstamp:22388741245 id:0x04010000 str:"nvcsi_setup_idac_calibration: phy=2, IDAC_CAL_SE"
     kworker/2:1-46      [002] .......   689.736627: rtcpu_string: tstamp:22388741407 id:0x04010000 str:"TTLE_TIME=2, Line(1033)
"
     kworker/2:1-46      [002] .......   689.736630: rtcpu_string: tstamp:22388741984 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal-- Line(1083"
     kworker/2:1-46      [002] .......   689.736631: rtcpu_string: tstamp:22388742145 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736633: rtcpu_string: tstamp:22388743015 id:0x04010000 str:"wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_"
     kworker/2:1-46      [002] .......   689.736634: rtcpu_string: tstamp:22388743177 id:0x04010000 str:"STATUS_COMPLETE Line(992)
"
     kworker/2:1-46      [002] .......   689.736636: rtcpu_string: tstamp:22388743855 id:0x04010000 str:"calibration status1 2349ce13 status2 25495673
"
     kworker/2:1-46      [002] .......   689.736639: rtcpu_string: tstamp:22388744422 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
"
     kworker/2:1-46      [002] .......   689.736641: rtcpu_string: tstamp:22388744908 id:0x04010000 str:"nvcsi_calibrate_idac:++ Line(1078)
"
     kworker/2:1-46      [002] .......   689.736643: rtcpu_string: tstamp:22388745478 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal++ Line(1081"
     kworker/2:1-46      [002] .......   689.736644: rtcpu_string: tstamp:22388745638 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736646: rtcpu_string: tstamp:22388746410 id:0x04010000 str:"nvcsi_setup_idac_calibration: phy=3, IDAC_CAL_SE"
     kworker/2:1-46      [002] .......   689.736647: rtcpu_string: tstamp:22388746572 id:0x04010000 str:"TTLE_TIME=2, Line(1033)
"
     kworker/2:1-46      [002] .......   689.736649: rtcpu_string: tstamp:22388747146 id:0x04010000 str:"nvcsi_calibrate_idac: setup_idac_cal-- Line(1083"
     kworker/2:1-46      [002] .......   689.736650: rtcpu_string: tstamp:22388747312 id:0x04010000 str:")
"
     kworker/2:1-46      [002] .......   689.736652: rtcpu_string: tstamp:22388748183 id:0x04010000 str:"wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_"
     kworker/2:1-46      [002] .......   689.736653: rtcpu_string: tstamp:22388748343 id:0x04010000 str:"STATUS_COMPLETE Line(992)
"
     kworker/2:1-46      [002] .......   689.736656: rtcpu_string: tstamp:22388749020 id:0x04010000 str:"calibration status1 217ad2b4 status2 20ea3615
"
     kworker/2:1-46      [002] .......   689.736658: rtcpu_string: tstamp:22388749654 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
"
     kworker/2:1-46      [002] .......   689.736660: rtcpu_string: tstamp:22388760829 id:0x04010000 str:"NVCSILP clock rate = 204000000 Hz.
"
     kworker/2:1-46      [002] .......   689.736663: rtcpu_string: tstamp:22388920506 id:0x04010000 str:"tegra_nvcsi_stream_set_config(vm0, stream=2, csi"
     kworker/2:1-46      [002] .......   689.736664: rtcpu_string: tstamp:22388920672 id:0x04010000 str:"=2)
"
     kworker/2:1-46      [002] .......   689.736667: rtcpu_string: tstamp:22388921542 id:0x04010000 str:"MIPI clock = 1080000 kHz, tHS-SETTLE = 0, tCLK-S"
     kworker/2:1-46      [002] .......   689.736668: rtcpu_string: tstamp:22388921706 id:0x04010000 str:"ETTLE = 0
"
     kworker/2:1-46      [002] .......   689.736670: rtcpu_string: tstamp:22388922146 id:0x04010000 str:"===== NVCSI Stream Configuration =====
"
     kworker/2:1-46      [002] .......   689.736672: rtcpu_string: tstamp:22388922663 id:0x04010000 str:"stream_id: PP 2, csi_port: PORT C
"
     kworker/2:1-46      [002] .......   689.736675: rtcpu_string: tstamp:22388923157 id:0x04010000 str:"Brick: PHY 1, Mode: D-PHY
"
     kworker/2:1-46      [002] .......   689.736677: rtcpu_string: tstamp:22388923758 id:0x04010000 str:"Partition: CIL A, LP bypass: Enabled, Lanes: 4
"
     kworker/2:1-46      [002] .......   689.736680: rtcpu_string: tstamp:22388924093 id:0x04010000 str:"Clock information:
"
     kworker/2:1-46      [002] .......   689.736682: rtcpu_string: tstamp:22388924759 id:0x04010000 str:"MIPI clock rate: 1080.00 MHz
"
     kworker/2:1-46      [002] .......   689.736684: rtcpu_string: tstamp:22388925262 id:0x04010000 str:"T_HS settle: 0, T_CLK settle: 0
"
     kworker/2:1-46      [002] .......   689.736687: rtcpu_string: tstamp:22388925715 id:0x04010000 str:"======================================
"
     kworker/2:1-46      [002] .......   689.736689: rtcpu_string: tstamp:22388928700 id:0x04010000 str:"tegra_nvcsi_stream_open(vm0, stream=2, csi=2)
"
     kworker/2:1-46      [002] .......   689.736691: rtcpu_string: tstamp:22388929903 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_"
     kworker/2:1-46      [002] .......   689.736692: rtcpu_string: tstamp:22388930065 id:0x04010000 str:"SW_RESET_0 = 00000003
"
     kworker/2:1-46      [002] .......   689.736694: rtcpu_string: tstamp:22388930833 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_"
     kworker/2:1-46      [002] .......   689.736695: rtcpu_string: tstamp:22388930996 id:0x04010000 str:"SW_RESET_0 = 00000003
"
     kworker/2:1-46      [002] .......   689.736697: rtcpu_string: tstamp:22388932082 id:0x04010000 str:"nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET"
     kworker/2:1-46      [002] .......   689.736698: rtcpu_string: tstamp:22388932241 id:0x04010000 str:"_0 = 00000001
"
     kworker/2:1-46      [002] .......   689.736700: rtcpu_string: tstamp:22388938463 id:0x04010000 str:"nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE++
"
     kworker/2:1-46      [002] .......   689.736702: rtcpu_string: tstamp:22388939002 id:0x04010000 str:"nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE--
"
     kworker/2:1-46      [002] .......   689.736705: rtcpu_string: tstamp:22388940077 id:0x04010000 str:"nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET"
     kworker/2:1-46      [002] .......   689.736705: rtcpu_string: tstamp:22388940239 id:0x04010000 str:"_0 = 00000000
"
     kworker/2:1-46      [002] .......   689.736708: rtcpu_string: tstamp:22388941152 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 23
"
     kworker/2:1-46      [002] .......   689.736710: rtcpu_string: tstamp:22388941708 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 23
"
     kworker/2:1-46      [002] .......   689.736712: rtcpu_string: tstamp:22388942250 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 23
"
     kworker/2:1-46      [002] .......   689.736714: rtcpu_string: tstamp:22388942787 id:0x04010000 str:"nvcsi_calc_tclk_settle tclk_settle 35
"
     kworker/2:1-46      [002] .......   689.736716: rtcpu_string: tstamp:22388943665 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_"
     kworker/2:1-46      [002] .......   689.736717: rtcpu_string: tstamp:22388943824 id:0x04010000 str:"SW_RESET_0 = 00000000
"
     kworker/2:1-46      [002] .......   689.736719: rtcpu_string: tstamp:22388944593 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_"
     kworker/2:1-46      [002] .......   689.736720: rtcpu_string: tstamp:22388944751 id:0x04010000 str:"SW_RESET_0 = 00000000
"
     kworker/2:1-46      [002] .......   689.736722: rtcpu_string: tstamp:22388945405 id:0x04010000 str:"nvcsi_task_function: NVCSI_DPHY_SETUP_MSG++
"
     kworker/2:1-46      [002] .......   689.736724: rtcpu_string: tstamp:22388945891 id:0x04010000 str:"nvcsi_task_function: NVCSI_DPHY_SETUP_MSG--
"
     kworker/2:1-46      [002] .......   689.736726: rtcpu_string: tstamp:22388946747 id:0x04010000 str:"Deskew setup message sent for port 2 num_lane 4
"
     kworker/2:1-46      [002] .......   689.736728: rtcpu_string: tstamp:22388947211 id:0x04010000 str:"nvcsi_enable_deskew: Line(3256)
"
     kworker/2:1-46      [002] .......   689.736730: rtcpu_string: tstamp:22388947734 id:0x04010000 str:"nvcsi_enable_deskew: Line(3286)
"
     kworker/2:1-46      [002] .......   689.736733: rtcpu_string: tstamp:22388948251 id:0x04010000 str:"nvcsi_enable_deskew: Line(3317)
"
     kworker/2:1-46      [002] .......   689.736735: rtcpu_string: tstamp:22388948845 id:0x04010000 str:"nvcsi_stream_enable: enable pixel parser++ Line("
     kworker/2:1-46      [002] .......   689.736736: rtcpu_string: tstamp:22388949003 id:0x04010000 str:"3554)
"
     kworker/2:1-46      [002] .......   689.736738: rtcpu_string: tstamp:22388949588 id:0x04010000 str:"nvcsi_stream_enable: enable pixel parser-- Line("
     kworker/2:1-46      [002] .......   689.736738: rtcpu_string: tstamp:22388949746 id:0x04010000 str:"3591)
"
     kworker/2:1-46      [002] .......   689.736742: rtcpu_vinotify_event: tstamp:22389324274 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:716442388576 data:0x799e300010000000
     kworker/2:1-46      [002] .......   689.736742: rtcpu_vinotify_event: tstamp:22389324501 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:716442398240 data:0x0000000031000001
     kworker/2:1-46      [002] .......   689.736743: rtcpu_vinotify_event: tstamp:22389324746 cch:0 vi:1 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:716442402816 data:0x0000000007020001
     kworker/2:1-46      [002] .......   689.736743: rtcpu_vinotify_event: tstamp:22389324962 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:716442496192 data:0x799e2d0010000000
     kworker/2:1-46      [002] .......   689.736743: rtcpu_vinotify_event: tstamp:22389325205 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:716442505984 data:0x0000000031000002

==============
通过回读fpga寄存器,和示波器测量(带宽不够,只和TX2波形做对比),mipi链路已经有数据。

dmesg:
[ 18.522853] zram0: detected capacity change from 0 to 1298560
[ 18.532739] Adding 649276k swap on /dev/zram0. Priority:5 extents:1 across:649276k SS
[ 18.535008] zram1: detected capacity change from 0 to 1298560
[ 18.543879] Adding 649276k swap on /dev/zram1. Priority:5 extents:1 across:649276k SS
[ 18.545870] zram2: detected capacity change from 0 to 1298560
[ 18.555238] Adding 649276k swap on /dev/zram2. Priority:5 extents:1 across:649276k SS
[ 18.557298] zram3: detected capacity change from 0 to 1298560
[ 18.566350] Adding 649276k swap on /dev/zram3. Priority:5 extents:1 across:649276k SS
[ 18.568502] zram4: detected capacity change from 0 to 1298560
[ 18.577367] Adding 649276k swap on /dev/zram4. Priority:5 extents:1 across:649276k SS
[ 18.579455] zram5: detected capacity change from 0 to 1298560
[ 18.588642] Adding 649276k swap on /dev/zram5. Priority:5 extents:1 across:649276k SS
[ 21.105499] r8168: enP8p1s0: link up
[ 21.105701] IPv6: ADDRCONF(NETDEV_CHANGE): enP8p1s0: link becomes ready
[ 649.409863] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 649.409904] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 649.409907] [RCE] nvcsi_setup_idac_calibration: phy=0, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 649.409909] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 649.409911] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 649.409913] [RCE] calibration status1 2507c213 status2 25394a70
[ 649.409915] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 649.409916] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 649.409918] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 649.409919] [RCE] nvcsi_setup_idac_calibration: phy=1, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 649.409921] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 649.409923] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 649.409924] [RCE] calibration status1 1f295653 status2 1f47ca52
[ 649.409927] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 649.409930] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 649.409934] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 649.409935] [RCE] nvcsi_setup_idac_calibration: phy=2, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 649.409937] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 649.409939] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 649.409940] [RCE] calibration status1 2149ce13 status2 25495653
[ 649.409942] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 649.409943] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 649.409945] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 649.409948] [RCE] nvcsi_setup_idac_calibration: phy=3, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 649.409949] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 649.409951] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 649.409953] [RCE] calibration status1 1f7ad2b4 status2 20fa3a14
[ 649.409954] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 649.465856] [RCE] NVCSILP clock rate = 204000000 Hz.
[ 689.709877] imx226 2-0055: imx226_start_streaming continue
[ 689.736557] [RCE] VM0 deactivating.VM0 activating.nvcsi_calibrate_idac:++ Line(1078)
[ 689.736566] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 689.736589] [RCE] nvcsi_setup_idac_calibration: phy=0, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 689.736593] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 689.736596] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 689.736599] [RCE] calibration status1 2507c213 status2 25284a72
[ 689.736601] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 689.736603] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 689.736606] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 689.736609] [RCE] nvcsi_setup_idac_calibration: phy=1, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 689.736612] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 689.736615] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 689.736617] [RCE] calibration status1 1f295653 status2 1f47ca52
[ 689.736620] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 689.736622] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 689.736625] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 689.736628] [RCE] nvcsi_setup_idac_calibration: phy=2, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 689.736631] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 689.736634] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 689.736637] [RCE] calibration status1 2349ce13 status2 25495673
[ 689.736639] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 689.736641] [RCE] nvcsi_calibrate_idac:++ Line(1078)
[ 689.736644] [RCE] nvcsi_calibrate_idac: setup_idac_cal++ Line(1081)
[ 689.736647] [RCE] nvcsi_setup_idac_calibration: phy=3, IDAC_CAL_SETTLE_TIME=2, Line(1033)
[ 689.736650] [RCE] nvcsi_calibrate_idac: setup_idac_cal-- Line(1083)
[ 689.736653] [RCE] wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_STATUS_COMPLETE Line(992)
[ 689.736656] [RCE] calibration status1 217ad2b4 status2 20ea3615
[ 689.736658] [RCE] nvcsi_calibrate_idac:-- Line(1137)
[ 689.736660] [RCE] NVCSILP clock rate = 204000000 Hz.
[ 689.736665] [RCE] tegra_nvcsi_stream_set_config(vm0, stream=2, csi=2)
[ 689.736668] [RCE] MIPI clock = 1080000 kHz, tHS-SETTLE = 0, tCLK-SETTLE = 0
[ 689.736670] [RCE] ===== NVCSI Stream Configuration =====
[ 689.736673] [RCE] stream_id: PP 2, csi_port: PORT C
[ 689.736675] [RCE] Brick: PHY 1, Mode: D-PHY
[ 689.736678] [RCE] Partition: CIL A, LP bypass: Enabled, Lanes: 4
[ 689.736680] [RCE] Clock information:
[ 689.736683] [RCE] MIPI clock rate: 1080.00 MHz
[ 689.736685] [RCE] T_HS settle: 0, T_CLK settle: 0
[ 689.736687] [RCE] ======================================
[ 689.736689] [RCE] tegra_nvcsi_stream_open(vm0, stream=2, csi=2)
[ 689.736692] [RCE] nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_SW_RESET_0 = 00000003
[ 689.736695] [RCE] nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_SW_RESET_0 = 00000003
[ 689.736698] [RCE] nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET_0 = 00000001
[ 689.736701] [RCE] nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE++
[ 689.736703] [RCE] nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE–
[ 689.736706] [RCE] nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET_0 = 00000000
[ 689.736708] [RCE] nvcsi_calc_ths_settle ths_settle 23
[ 689.736710] [RCE] nvcsi_calc_ths_settle ths_settle 23
[ 689.736712] [RCE] nvcsi_calc_ths_settle ths_settle 23
[ 689.736714] [RCE] nvcsi_calc_tclk_settle tclk_settle 35
[ 689.736717] [RCE] nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_SW_RESET_0 = 00000000
[ 689.736720] [RCE] nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_SW_RESET_0 = 00000000
[ 689.736722] [RCE] nvcsi_task_function: NVCSI_DPHY_SETUP_MSG++
[ 689.736724] [RCE] nvcsi_task_function: NVCSI_DPHY_SETUP_MSG–
[ 689.736727] [RCE] Deskew setup message sent for port 2 num_lane 4
[ 689.736729] [RCE] nvcsi_enable_deskew: Line(3256)
[ 689.736731] [RCE] nvcsi_enable_deskew: Line(3286)
[ 689.736733] [RCE] nvcsi_enable_deskew: Line(3317)
[ 689.736736] [RCE] nvcsi_stream_enable: enable pixel parser++ Line(3554)
[ 689.736739] [RCE] nvcsi_stream_enable: enable pixel parser-- Line(3591)

Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.
An initiation deskew signal should be sent by sensor or deserializer to perform the skew calibration. If the deskew signals is not sent, the receiver will stall, and the capture will time out.
You can calculate the output data rate with the following equation:

Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)

你好,我们开启skew calibration后,使用v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=1 --stream-to=frame.raw采集数据,并确保每次开流都会有 initial skew calibration,但是只能在设备重新上电后的前两次中收到正确数据,以后的采集数据都是err_data.

日志如下:

  1. cat /sys/kernel/debug/tracing/trace_pipe
    ==========
    kworker/4:2-142 [004] … 148.065915: rtcpu_string: tstamp:5257408722 id:0x04010000 str:“VM0 deactivating.”
    <…>-1617 [003] … 149.608583: tegra_channel_open: vi-output, imx226 2-0055
    <…>-1617 [003] … 149.632243: v4l2_qbuf: minor = 0, index = 0, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
    <…>-1617 [003] … 149.633066: v4l2_qbuf: minor = 0, index = 1, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
    <…>-1617 [003] … 149.633870: v4l2_qbuf: minor = 0, index = 2, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
    <…>-1617 [003] … 149.634681: v4l2_qbuf: minor = 0, index = 3, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = ANY, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
    user_v4l2-1617 [003] … 150.650026: tegra_channel_set_power: imx226 2-0055 : 0x1
    user_v4l2-1617 [003] … 150.650154: camera_common_s_power: status : 0x1
    user_v4l2-1617 [003] … 150.650167: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x1
    user_v4l2-1617 [003] … 150.650170: csi_s_power: enable : 0x1
    user_v4l2-1617 [003] … 150.651587: tegra_channel_capture_setup: vnc_id 0 W 4000 H 3000 fmt c4
    vi-output, imx2-1624 [002] … 150.660683: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:3 pid:1624 tid:1624
    vi-output, imx2-1624 [002] … 150.660694: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:3 pid:1624 tid:1624
    vi-output, imx2-1624 [002] … 150.660696: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:3 pid:1624 tid:1624
    vi-output, imx2-1624 [002] … 150.660697: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:3 pid:1624 tid:1624
    user_v4l2-1617 [001] … 150.660986: tegra_channel_set_stream: enable : 0x1
    user_v4l2-1617 [001] … 150.664421: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x1
    user_v4l2-1617 [001] … 150.664431: csi_s_stream: enable : 0x1
    user_v4l2-1617 [001] … 150.665459: tegra_channel_set_stream: imx226 2-0055 : 0x1
    kworker/4:2-142 [004] … 150.705898: rtcpu_string: tstamp:5339050593 id:0x04010000 str:“VM0 activating.”
    kworker/4:2-142 [004] … 150.705908: rtcpu_string: tstamp:5339131470 id:0x04010000 str:“nvcsi_calibrate_idac:++ Line(1078)
    "
    kworker/4:2-142 [004] … 150.705920: rtcpu_string: tstamp:5339132069 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal++ Line(1081”
    kworker/4:2-142 [004] … 150.705948: rtcpu_string: tstamp:5339132236 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.705953: rtcpu_string: tstamp:5339133009 id:0x04010000 str:“nvcsi_setup_idac_calibration: phy=0, IDAC_CAL_SE”
    kworker/4:2-142 [004] … 150.705955: rtcpu_string: tstamp:5339133175 id:0x04010000 str:“TTLE_TIME=2, Line(1033)
    "
    kworker/4:2-142 [004] … 150.705959: rtcpu_string: tstamp:5339133753 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal-- Line(1083”
    kworker/4:2-142 [004] … 150.705960: rtcpu_string: tstamp:5339133914 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.705963: rtcpu_string: tstamp:5339134780 id:0x04010000 str:“wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_”
    kworker/4:2-142 [004] … 150.705965: rtcpu_string: tstamp:5339134941 id:0x04010000 str:"STATUS_COMPLETE Line(992)
    "
    kworker/4:2-142 [004] … 150.705968: rtcpu_string: tstamp:5339135623 id:0x04010000 str:"calibration status1 2507c213 status2 25394a72
    "
    kworker/4:2-142 [004] … 150.705970: rtcpu_string: tstamp:5339136191 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
    "
    kworker/4:2-142 [004] … 150.705973: rtcpu_string: tstamp:5339136680 id:0x04010000 str:“nvcsi_calibrate_idac:++ Line(1078)
    "
    kworker/4:2-142 [004] … 150.705977: rtcpu_string: tstamp:5339137249 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal++ Line(1081”
    kworker/4:2-142 [004] … 150.705978: rtcpu_string: tstamp:5339137410 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.705981: rtcpu_string: tstamp:5339138176 id:0x04010000 str:“nvcsi_setup_idac_calibration: phy=1, IDAC_CAL_SE”
    kworker/4:2-142 [004] … 150.705982: rtcpu_string: tstamp:5339138337 id:0x04010000 str:“TTLE_TIME=2, Line(1033)
    "
    kworker/4:2-142 [004] … 150.705986: rtcpu_string: tstamp:5339138913 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal-- Line(1083”
    kworker/4:2-142 [004] … 150.705987: rtcpu_string: tstamp:5339139072 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.705990: rtcpu_string: tstamp:5339139937 id:0x04010000 str:“wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_”
    kworker/4:2-142 [004] … 150.705991: rtcpu_string: tstamp:5339140095 id:0x04010000 str:"STATUS_COMPLETE Line(992)
    "
    kworker/4:2-142 [004] … 150.705994: rtcpu_string: tstamp:5339140767 id:0x04010000 str:"calibration status1 1f295653 status2 1f47ca12
    "
    kworker/4:2-142 [004] … 150.705998: rtcpu_string: tstamp:5339141331 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
    "
    kworker/4:2-142 [004] … 150.706001: rtcpu_string: tstamp:5339141823 id:0x04010000 str:“nvcsi_calibrate_idac:++ Line(1078)
    "
    kworker/4:2-142 [004] … 150.706004: rtcpu_string: tstamp:5339142393 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal++ Line(1081”
    kworker/4:2-142 [004] … 150.706005: rtcpu_string: tstamp:5339142555 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.706008: rtcpu_string: tstamp:5339143320 id:0x04010000 str:“nvcsi_setup_idac_calibration: phy=2, IDAC_CAL_SE”
    kworker/4:2-142 [004] … 150.706009: rtcpu_string: tstamp:5339143482 id:0x04010000 str:“TTLE_TIME=2, Line(1033)
    "
    kworker/4:2-142 [004] … 150.706012: rtcpu_string: tstamp:5339144059 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal-- Line(1083”
    kworker/4:2-142 [004] … 150.706013: rtcpu_string: tstamp:5339144220 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.706016: rtcpu_string: tstamp:5339145090 id:0x04010000 str:“wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_”
    kworker/4:2-142 [004] … 150.706017: rtcpu_string: tstamp:5339145256 id:0x04010000 str:"STATUS_COMPLETE Line(992)
    "
    kworker/4:2-142 [004] … 150.706020: rtcpu_string: tstamp:5339145927 id:0x04010000 str:"calibration status1 2349ce13 status2 25495653
    "
    kworker/4:2-142 [004] … 150.706023: rtcpu_string: tstamp:5339146496 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
    "
    kworker/4:2-142 [004] … 150.706026: rtcpu_string: tstamp:5339146987 id:0x04010000 str:“nvcsi_calibrate_idac:++ Line(1078)
    "
    kworker/4:2-142 [004] … 150.706029: rtcpu_string: tstamp:5339147558 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal++ Line(1081”
    kworker/4:2-142 [004] … 150.706030: rtcpu_string: tstamp:5339147721 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.706033: rtcpu_string: tstamp:5339148486 id:0x04010000 str:“nvcsi_setup_idac_calibration: phy=3, IDAC_CAL_SE”
    kworker/4:2-142 [004] … 150.706034: rtcpu_string: tstamp:5339148650 id:0x04010000 str:“TTLE_TIME=2, Line(1033)
    "
    kworker/4:2-142 [004] … 150.706037: rtcpu_string: tstamp:5339149232 id:0x04010000 str:“nvcsi_calibrate_idac: setup_idac_cal-- Line(1083”
    kworker/4:2-142 [004] … 150.706038: rtcpu_string: tstamp:5339149394 id:0x04010000 str:”)
    "
    kworker/4:2-142 [004] … 150.706041: rtcpu_string: tstamp:5339150260 id:0x04010000 str:“wait_for_idac_calibration: NVCSI_CIL_IDAC_CALIB_”
    kworker/4:2-142 [004] … 150.706042: rtcpu_string: tstamp:5339150421 id:0x04010000 str:"STATUS_COMPLETE Line(992)
    "
    kworker/4:2-142 [004] … 150.706050: rtcpu_string: tstamp:5339151093 id:0x04010000 str:"calibration status1 217ad2b4 status2 20ea3a15
    "
    kworker/4:2-142 [004] … 150.706053: rtcpu_string: tstamp:5339151659 id:0x04010000 str:"nvcsi_calibrate_idac:-- Line(1137)
    "
    kworker/4:2-142 [004] … 150.706056: rtcpu_string: tstamp:5339164789 id:0x04010000 str:“NVCSILP clock rate = 204000000 Hz.
    "
    kworker/4:2-142 [004] … 150.706059: rtcpu_string: tstamp:5339363779 id:0x04010000 str:“tegra_nvcsi_stream_set_config(vm0, stream=2, csi”
    kworker/4:2-142 [004] … 150.706062: rtcpu_string: tstamp:5339363944 id:0x04010000 str:”=2)
    "
    kworker/4:2-142 [004] … 150.706065: rtcpu_string: tstamp:5339364814 id:0x04010000 str:“MIPI clock = 1080000 kHz, tHS-SETTLE = 0, tCLK-S”
    kworker/4:2-142 [004] … 150.706066: rtcpu_string: tstamp:5339364976 id:0x04010000 str:“ETTLE = 0
    "
    kworker/4:2-142 [004] … 150.706069: rtcpu_string: tstamp:5339365416 id:0x04010000 str:”===== NVCSI Stream Configuration =====
    "
    kworker/4:2-142 [004] … 150.706072: rtcpu_string: tstamp:5339365933 id:0x04010000 str:"stream_id: PP 2, csi_port: PORT C
    "
    kworker/4:2-142 [004] … 150.706074: rtcpu_string: tstamp:5339366427 id:0x04010000 str:"Brick: PHY 1, Mode: D-PHY
    "
    kworker/4:2-142 [004] … 150.706077: rtcpu_string: tstamp:5339367025 id:0x04010000 str:"Partition: CIL A, LP bypass: Enabled, Lanes: 4
    "
    kworker/4:2-142 [004] … 150.706080: rtcpu_string: tstamp:5339367361 id:0x04010000 str:"Clock information:
    "
    kworker/4:2-142 [004] … 150.706082: rtcpu_string: tstamp:5339368027 id:0x04010000 str:"MIPI clock rate: 1080.00 MHz
    "
    kworker/4:2-142 [004] … 150.706085: rtcpu_string: tstamp:5339368529 id:0x04010000 str:“T_HS settle: 0, T_CLK settle: 0
    "
    kworker/4:2-142 [004] … 150.706088: rtcpu_string: tstamp:5339368980 id:0x04010000 str:”======================================
    "
    kworker/4:2-142 [004] … 150.706091: rtcpu_string: tstamp:5339371863 id:0x04010000 str:"tegra_nvcsi_stream_open(vm0, stream=2, csi=2)
    "
    kworker/4:2-142 [004] … 150.706094: rtcpu_string: tstamp:5339373066 id:0x04010000 str:“nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_”
    kworker/4:2-142 [004] … 150.706095: rtcpu_string: tstamp:5339373227 id:0x04010000 str:"SW_RESET_0 = 00000003
    "
    kworker/4:2-142 [004] … 150.706098: rtcpu_string: tstamp:5339373991 id:0x04010000 str:“nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_”
    kworker/4:2-142 [004] … 150.706099: rtcpu_string: tstamp:5339374153 id:0x04010000 str:"SW_RESET_0 = 00000003
    "
    kworker/4:2-142 [004] … 150.706102: rtcpu_string: tstamp:5339375305 id:0x04010000 str:“nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET”
    kworker/4:2-142 [004] … 150.706102: rtcpu_string: tstamp:5339375465 id:0x04010000 str:“0 = 00000001
    "
    kworker/4:2-142 [004] … 150.706105: rtcpu_string: tstamp:5339381693 id:0x04010000 str:"nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE++
    "
    kworker/4:2-142 [004] … 150.706108: rtcpu_string: tstamp:5339382232 id:0x04010000 str:"nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE–
    "
    kworker/4:2-142 [004] … 150.706110: rtcpu_string: tstamp:5339383311 id:0x04010000 str:“nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET”
    kworker/4:2-142 [004] … 150.706111: rtcpu_string: tstamp:5339383476 id:0x04010000 str:“0 = 00000000
    "
    kworker/4:2-142 [004] … 150.706114: rtcpu_string: tstamp:5339384390 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 23
    "
    kworker/4:2-142 [004] … 150.706116: rtcpu_string: tstamp:5339384950 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 23
    "
    kworker/4:2-142 [004] … 150.706119: rtcpu_string: tstamp:5339385496 id:0x04010000 str:"nvcsi_calc_ths_settle ths_settle 23
    "
    kworker/4:2-142 [004] … 150.706122: rtcpu_string: tstamp:5339386034 id:0x04010000 str:"nvcsi_calc_tclk_settle tclk_settle 35
    "
    kworker/4:2-142 [004] … 150.706125: rtcpu_string: tstamp:5339386913 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A

    kworker/4:2-142 [004] … 150.706125: rtcpu_string: tstamp:5339387074 id:0x04010000 str:"SW_RESET_0 = 00000000
    "
    kworker/4:2-142 [004] … 150.706129: rtcpu_string: tstamp:5339387848 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B

    kworker/4:2-142 [004] … 150.706129: rtcpu_string: tstamp:5339388014 id:0x04010000 str:"SW_RESET_0 = 00000000
    "
    kworker/4:2-142 [004] … 150.706132: rtcpu_string: tstamp:5339388670 id:0x04010000 str:"nvcsi_task_function: NVCSI_DPHY_SETUP_MSG++
    "
    kworker/4:2-142 [004] … 150.706135: rtcpu_string: tstamp:5339389157 id:0x04010000 str:"nvcsi_task_function: NVCSI_DPHY_SETUP_MSG–
    "
    kworker/4:2-142 [004] … 150.706138: rtcpu_string: tstamp:5339390023 id:0x04010000 str:"Deskew setup message sent for port 2 num_lane 4
    "
    kworker/4:2-142 [004] … 150.706141: rtcpu_string: tstamp:5339390488 id:0x04010000 str:"nvcsi_enable_deskew: Line(3256)
    "
    kworker/4:2-142 [004] … 150.706144: rtcpu_string: tstamp:5339391008 id:0x04010000 str:"nvcsi_enable_deskew: Line(3286)
    "
    kworker/4:2-142 [004] … 150.706146: rtcpu_string: tstamp:5339391524 id:0x04010000 str:"nvcsi_enable_deskew: Line(3317)
    "
    kworker/4:2-142 [004] … 150.706149: rtcpu_string: tstamp:5339392118 id:0x04010000 str:“nvcsi_stream_enable: enable pixel parser++ Line(”
    kworker/4:2-142 [004] … 150.706150: rtcpu_string: tstamp:5339392278 id:0x04010000 str:"3554)
    "
    kworker/4:2-142 [004] … 150.706153: rtcpu_string: tstamp:5339392863 id:0x04010000 str:“nvcsi_stream_enable: enable pixel parser-- Line(”
    kworker/4:2-142 [004] … 150.706154: rtcpu_string: tstamp:5339393021 id:0x04010000 str:"3591)
    "
    kworker/4:2-142 [004] … 150.706158: rtcpu_vinotify_event: tstamp:5339784478 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:170856039136 data:0x799e300010000000
    kworker/4:2-142 [004] … 150.706159: rtcpu_vinotify_event: tstamp:5339784703 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:170856126720 data:0x0000000031000001
    kworker/4:2-142 [004] … 150.706159: rtcpu_vinotify_event: tstamp:5339784950 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:170856144832 data:0x799e2d0010000000
    kworker/4:2-142 [004] … 150.706160: rtcpu_vinotify_event: tstamp:5339785164 cch:0 vi:1 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:170856165120 data:0x0000000007020001
    kworker/4:2-142 [004] … 150.706160: rtcpu_vinotify_event: tstamp:5339785401 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:170856207488 data:0x0000000031000002
    kworker/4:2-142 [004] … 151.209907: rtcpu_string: tstamp:5355113587 id:0x04010000 str:"ISR PHY 1 CIL_A 0x1
    "
    kworker/4:2-142 [004] … 151.209939: rtcpu_nvcsi_intr: tstamp:5355113121 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x00000001
    kworker/4:2-142 [004] … 151.714076: rtcpu_string: tstamp:5370823801 id:0x04010000 str:"ISR PHY 1 CIL_A 0x1c00000
    "
    kworker/4:2-142 [004] … 151.714095: rtcpu_nvcsi_intr: tstamp:5370823244 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x01c00000
    kworker/4:2-142 [004] … 151.714097: rtcpu_string: tstamp:5370824508 id:0x04010000 str:"ISR PHY 1 CIL_B 0xc00000
    "
    kworker/4:2-142 [004] … 151.714100: rtcpu_nvcsi_intr: tstamp:5370823244 class:GLOBAL type:PHY_INTR0 phy:1 cil:1 st:0 vc:0 status:0x00c00000
    kworker/4:2-142 [004] … 151.714101: rtcpu_string: tstamp:5370825420 id:0x04010000 str:"nvcsi_task_function: NVCSI_DPHY_ISR_MSG++
    "
    kworker/4:2-142 [004] … 151.714127: rtcpu_string: tstamp:5370825969 id:0x04010000 str:"deskew: num_lanes:4
    "
    kworker/4:2-142 [004] … 151.714131: rtcpu_string: tstamp:5370826358 id:0x04010000 str:"deskew: csi_port:2
    "
    kworker/4:2-142 [004] … 151.714135: rtcpu_string: tstamp:5370826985 id:0x04010000 str:"deskew: clk_status_bits=0x800000000001ffff
    "
    kworker/4:2-142 [004] … 151.714138: rtcpu_string: tstamp:5370827416 id:0x04010000 str:"deskew: x=17, w=0
    "
    kworker/4:2-142 [004] … 151.714141: rtcpu_string: tstamp:5370827996 id:0x04010000 str:"deskew: data_status_bits=0x3fffff
    "
    kworker/4:2-142 [004] … 151.714144: rtcpu_string: tstamp:5370828416 id:0x04010000 str:"deskew: y=22, z=0
    "
    kworker/4:2-142 [004] … 151.714147: rtcpu_string: tstamp:5370828874 id:0x04010000 str:"deskew: clk edge within data eye opening
    "
    kworker/4:2-142 [004] … 151.714150: rtcpu_string: tstamp:5370829482 id:0x04010000 str:"deskew: clk_status_bits=0xe00000000000ffff
    "
    kworker/4:2-142 [004] … 151.714153: rtcpu_string: tstamp:5370829898 id:0x04010000 str:"deskew: x=16, w=0
    "
    kworker/4:2-142 [004] … 151.714156: rtcpu_string: tstamp:5370830484 id:0x04010000 str:"deskew: data_status_bits=0xffffff
    "
    kworker/4:2-142 [004] … 151.714159: rtcpu_string: tstamp:5370830899 id:0x04010000 str:"deskew: y=24, z=0
    "
    kworker/4:2-142 [004] … 151.714161: rtcpu_string: tstamp:5370831357 id:0x04010000 str:"deskew: clk edge within data eye opening
    "
    kworker/4:2-142 [004] … 151.714164: rtcpu_string: tstamp:5370831941 id:0x04010000 str:"deskew: clk_status_bits=0xfff800000000003f
    "
    kworker/4:2-142 [004] … 151.714167: rtcpu_string: tstamp:5370832350 id:0x04010000 str:"deskew: x=6, w=0
    "
    kworker/4:2-142 [004] … 151.714171: rtcpu_string: tstamp:5370832975 id:0x04010000 str:"deskew: data_status_bits=0x3ffffffff
    "
    kworker/4:2-142 [004] … 151.714174: rtcpu_string: tstamp:5370833390 id:0x04010000 str:"deskew: y=34, z=0
    "
    kworker/4:2-142 [004] … 151.714177: rtcpu_string: tstamp:5370833849 id:0x04010000 str:"deskew: clk edge within data eye opening
    "
    kworker/4:2-142 [004] … 151.714180: rtcpu_string: tstamp:5370834432 id:0x04010000 str:"deskew: clk_status_bits=0xfffc00000000001f
    "
    kworker/4:2-142 [004] … 151.714183: rtcpu_string: tstamp:5370834841 id:0x04010000 str:"deskew: x=5, w=0
    "
    kworker/4:2-142 [004] … 151.714186: rtcpu_string: tstamp:5370835477 id:0x04010000 str:"deskew: data_status_bits=0x3ffffffff
    "
    kworker/4:2-142 [004] … 151.714189: rtcpu_string: tstamp:5370835894 id:0x04010000 str:"deskew: y=34, z=0
    "
    kworker/4:2-142 [004] … 151.714192: rtcpu_string: tstamp:5370836353 id:0x04010000 str:"deskew: clk edge within data eye opening
    "
    kworker/4:2-142 [004] … 151.714194: rtcpu_string: tstamp:5370836734 id:0x04010000 str:"deskew: clk_trim:0
    "
    kworker/4:2-142 [004] … 151.714197: rtcpu_string: tstamp:5370837135 id:0x04010000 str:"deskew: data_trim0:2
    "
    kworker/4:2-142 [004] … 151.714200: rtcpu_string: tstamp:5370837536 id:0x04010000 str:"deskew: data_trim1:4
    "
    kworker/4:2-142 [004] … 151.714203: rtcpu_string: tstamp:5370837942 id:0x04010000 str:"deskew: data_trim2:14
    "
    kworker/4:2-142 [004] … 151.714205: rtcpu_string: tstamp:5370838341 id:0x04010000 str:"deskew: data_trim3:14
    "
    kworker/4:2-142 [004] … 151.714208: rtcpu_string: tstamp:5370838973 id:0x04010000 str:“nvcsi_reset_port_pp_enable entry: stream_id=2 ci”
    kworker/4:2-142 [004] … 151.714210: rtcpu_string: tstamp:5370839137 id:0x04010000 str:"l=0
    "
    kworker/4:2-142 [004] … 151.714213: rtcpu_string: tstamp:5370840005 id:0x04010000 str:“nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_”
    kworker/4:2-142 [004] … 151.714214: rtcpu_string: tstamp:5370840167 id:0x04010000 str:"SW_RESET_0 = 00000003
    "
    kworker/4:2-142 [004] … 151.714217: rtcpu_string: tstamp:5370840934 id:0x04010000 str:“nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_”
    kworker/4:2-142 [004] … 151.714219: rtcpu_string: tstamp:5370841099 id:0x04010000 str:"SW_RESET_0 = 00000003
    "
    kworker/4:2-142 [004] … 151.714222: rtcpu_string: tstamp:5370841854 id:0x04010000 str:“nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET”
    kworker/4:2-142 [004] … 151.714222: rtcpu_string: tstamp:5370842013 id:0x04010000 str:“0 = 00000001
    "
    kworker/4:2-142 [004] … 151.714225: rtcpu_string: tstamp:5370842918 id:0x04010000 str:“nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET”
    kworker/4:2-142 [004] … 151.714227: rtcpu_string: tstamp:5370843076 id:0x04010000 str:“0 = 00000000
    "
    kworker/4:2-142 [004] … 151.714230: rtcpu_string: tstamp:5370843991 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A

    kworker/4:2-142 [004] … 151.714231: rtcpu_string: tstamp:5370844154 id:0x04010000 str:"SW_RESET_0 = 00000000
    "
    kworker/4:2-142 [004] … 151.714234: rtcpu_string: tstamp:5370844902 id:0x04010000 str:"nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B

    kworker/4:2-142 [004] … 151.714235: rtcpu_string: tstamp:5370845072 id:0x04010000 str:“SW_RESET_0 = 00000000
    "
    kworker/4:2-142 [004] … 151.714238: rtcpu_string: tstamp:5370845676 id:0x04010000 str:“nvcsi_reset_port_pp_enable done: stream_id=2 cil”
    kworker/4:2-142 [004] … 151.714239: rtcpu_string: tstamp:5370845836 id:0x04010000 str:”=0
    "
    kworker/4:2-142 [004] … 151.714242: rtcpu_string: tstamp:5370846370 id:0x04010000 str:"nvcsi_task_function: NVCSI_DPHY_ISR_MSG–
    "
    kworker/4:2-142 [004] … 152.221910: rtcpu_vinotify_event: tstamp:5387528534 cch:0 vi:1 tag:FS channel:0x00 frame:1 vi_tstamp:172396063712 data:0x0000000100000012
    kworker/4:2-142 [004] … 152.221968: rtcpu_vinotify_event: tstamp:5387528788 cch:0 vi:1 tag:ATOMP_FS channel:0x00 frame:1 vi_tstamp:172396063808 data:0x0000000800000000
    vi-output, imx2-1625 [001] … 152.229310: tegra_channel_capture_frame: sof:0.0
    vi-output, imx2-1625 [001] … 152.229337: tegra_channel_capture_frame: eof:172.424176032
    user_v4l2-1617 [000] … 152.229484: v4l2_dqbuf: minor = 0, index = 0, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|ERROR|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = NONE, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
    kworker/4:2-142 [004] … 152.277904: rtcpu_vinotify_event: tstamp:5388613449 cch:0 vi:1 tag:FE channel:0x00 frame:1 vi_tstamp:172424113152 data:0x0000000100000022
    kworker/4:2-142 [004] … 152.277913: rtcpu_vinotify_event: tstamp:5388613698 cch:0 vi:1 tag:CHANSEL_SHORT_FRAME channel:0x04 frame:1 vi_tstamp:172424113152 data:0x0000200001000000
    kworker/4:2-142 [004] … 152.277915: rtcpu_vinotify_event: tstamp:5388613923 cch:0 vi:1 tag:VIFALC_ACTIONLST channel:0x23 frame:1 vi_tstamp:172424177824 data:0x0000000001020001
    kworker/4:2-142 [004] … 152.277916: rtcpu_vinotify_event: tstamp:5388614177 cch:0 vi:1 tag:ATOMP_FE channel:0x00 frame:1 vi_tstamp:172424113248 data:0x0000000800000000
    kworker/4:2-142 [004] … 152.277916: rtcpu_vinotify_event: tstamp:5388614395 cch:0 vi:1 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:172424259360 data:0x0000000007020002
    kworker/4:2-142 [004] … 152.277917: rtcpu_vinotify_event: tstamp:5388614634 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:172424500832 data:0x799e300010000000
    kworker/4:2-142 [004] … 152.277918: rtcpu_vinotify_event: tstamp:5388614848 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:172424543616 data:0x0000000031000003
    user_v4l2-1617 [000] … 152.363815: v4l2_qbuf: minor = 0, index = 0, type = VIDEO_CAPTURE, bytesused = 24000000, flags = MAPPED|QUEUED|TIMESTAMP_UNKNOWN|TIMESTAMP_MONOTONIC, field = NONE, timestamp = 0, timecode = { type = 0x0, flags = , frames = 0, seconds = 0, minutes = 0, hours = 0, userbits = { 0 0 0 0 } }, sequence = 0
    vi-output, imx2-1624 [001] … 152.363825: vi_task_submit: class_id:48 ch:0 syncpt_id:6 syncpt_thresh:3 pid:1624 tid:1624
    user_v4l2-1617 [002] … 152.364070: tegra_channel_set_stream: enable : 0x0
    user_v4l2-1617 [002] … 152.364082: tegra_channel_set_stream: imx226 2-0055 : 0x0
    user_v4l2-1617 [002] … 152.364111: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x0
    user_v4l2-1617 [002] … 152.364118: csi_s_stream: enable : 0x0
    user_v4l2-1617 [001] … 152.367967: tegra_channel_set_power: imx226 2-0055 : 0x0
    user_v4l2-1617 [001] … 152.367982: camera_common_s_power: status : 0x0
    user_v4l2-1617 [001] … 152.367993: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x0
    user_v4l2-1617 [001] … 152.367995: csi_s_power: enable : 0x0
    user_v4l2-1617 [001] … 152.372730: tegra_channel_close: vi-output, imx226 2-0055
    kworker/4:2-142 [004] … 152.393899: rtcpu_string: tstamp:5392479089 id:0x04010000 str:"tegra_nvcsi_stream_close(vm0, stream=2, csi=2)
    "
    kworker/4:2-142 [004] … 152.393923: rtcpu_string: tstamp:5392480265 id:0x04010000 str:“nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_A_”
    kworker/4:2-142 [004] … 152.393950: rtcpu_string: tstamp:5392480427 id:0x04010000 str:"SW_RESET_0 = 00000003
    "
    kworker/4:2-142 [004] … 152.393956: rtcpu_string: tstamp:5392481195 id:0x04010000 str:“nvcsi_reset_data_lanes: NVCSI_PHY_1_NVCSI_CIL_B_”
    kworker/4:2-142 [004] … 152.393957: rtcpu_string: tstamp:5392481357 id:0x04010000 str:“SW_RESET_0 = 00000003
    "
    kworker/4:2-142 [004] … 152.393961: rtcpu_string: tstamp:5392482442 id:0x04010000 str:“nvcsi_reset_lane_merger: NVCSI_PHY_1_LM_SW_RESET”
    kworker/4:2-142 [004] … 152.393962: rtcpu_string: tstamp:5392482601 id:0x04010000 str:”_0 = 00000001
    "
    kworker/4:2-142 [004] … 152.393966: rtcpu_string: tstamp:5392483939 id:0x04010000 str:"nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE++
    "
    kworker/4:2-142 [004] … 152.393970: rtcpu_string: tstamp:5392484478 id:0x04010000 str:"nvcsi_task_function: NVCSI_REINIT_SETUP_TYPE–
    "
    kworker/4:2-142 [004] … 158.337911: rtcpu_string: tstamp:5578784106 id:0x04010000 str:“VM0 deactivating.”

2.dmesg

[ 152.229292] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072

1.请问可能是什么原因导致这个问题?
2.请问哪里可以找到对以上日志详细的解析文档?

The log shows CHANSEL_SHORT_FRAME that tell the output size less than expected.

你好,现在orin nano可以正常接收imx226 4000x3000分辨率的视频流,但是通过fpga实现binning功能,输出2000x1500分辨率的视频流时,发现第一行数据末尾的16个像素,填充的是第二行数据的前16个像素,第二行整体整体往前偏移了16个像素,末尾16个像素全部填充0;后续行重复第一行和第二行的情况。

  1. 交叉验证
    同样的程序,在tx2上可以正常出图。
  2. 设备树
  3. 对齐
    使用默认值
  4. orin nano raw图

    5.debug log
    csi_log.txt (47.0 KB)
    6.matlab 分析截图
    nano:

    tx2:

    =================
    请问这可能是什么原因导致的问题,应该如何排查。

Looks like receive a frame from the trace log.

BTW, the memory layout is different with TX2

你好,不是数据存储变化导致的问题,在上面的截图中,我们对内存中的数据按照无符号16bit数据进行了解析,参考matlab截图。(bit0~bit11,数值范围是0~4095)
另外,我们还使用fpga模拟了其他分辨率,比如4400x3000也会出现上述问题,nano对图像宽度有32对齐的要求吗?

What’s the problem?

是,数据在2000x1500下会错位的问题。

Did you try set the preferred_stride=2048?

1.没有变化

a.preferred_stride=2048


b.实际图像,ImageJ 2000x1500 16bit unsigned
(放大,截图最右侧)

preferred_stride=4096,问题解决。

1 Like

Looks like need to take 4000 to calculate the alignment.

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