TC358743 'no reply from camera processor'

I have created a camera driver for the TC358743 (the driver works fine on the nano) and its correctly wired it in the dts. When I

launch v4l2-ctl -d /dev/video0 -w --verbose --set-fmt-video=width=1280,height=720,pixelformat=UYVY --stream-mmap --stream-count=1 --set-ctrl bypass_mode=0 --stream-to=tc358743.raw

I get the following:

[   96.167646] tc358743 2-000f: Calling tc358743_s_stream
[  210.362205] tc358743 2-000f: Calling tc358743_s_stream
[  212.931901] tegra194-vi5 15c10000.vi: no reply from camera processor
[  212.932064] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[  212.932241] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[  212.939265] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[  215.491893] tegra194-vi5 15c10000.vi: no reply from camera processor
[  215.492047] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[  215.492188] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[  215.494280] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel

Tracing reveals:

 kworker/0:0-4     [000] ....   920.363155: rtcpu_string: tstamp:29147743521 id:0x04010000 str:"vi5_hwinit: firmware CL2018101701 protocol versi"
 kworker/0:0-4     [000] ....   920.363156: rtcpu_string: tstamp:29147743993 id:0x04010000 str:"on 2.2^M
"
 kworker/0:0-4     [000] ....   920.363162: rtos_queue_send_from_isr_failed: tstamp:29147802346 queue:0x0bcb41f8
 kworker/0:0-4     [000] ....   920.363163: rtos_queue_send_from_isr_failed: tstamp:29147802964 queue:0x0bcb8a60
 kworker/0:0-4     [000] ....   920.363164: rtos_queue_send_from_isr_failed: tstamp:29147803488 queue:0x0bcba5e0
 kworker/0:0-4     [000] ....   920.363164: rtos_queue_send_from_isr_failed: tstamp:29147803982 queue:0x0bcbb3a0
 kworker/0:0-4     [000] ....   920.363165: rtos_queue_send_from_isr_failed: tstamp:29147804476 queue:0x0bcbc160
 kworker/0:0-4     [000] ....   920.363166: rtcpu_string: tstamp:29147806918 id:0x04010000 str:"VI GOS[#0] set to VM GOS[4] base 0xc2104000
"
 kworker/0:0-4     [000] ....   920.363172: rtos_queue_send_from_isr_failed: tstamp:29148008500 queue:0x0bcb41f8
 kworker/0:0-4     [000] ....   920.363173: rtos_queue_send_from_isr_failed: tstamp:29148008649 queue:0x0bcb8a60
 kworker/0:0-4     [000] ....   920.363174: rtos_queue_send_from_isr_failed: tstamp:29148008801 queue:0x0bcba5e0
 kworker/0:0-4     [000] ....   920.363174: rtos_queue_send_from_isr_failed: tstamp:29148008947 queue:0x0bcbb3a0
 kworker/0:0-4     [000] ....   920.363175: rtos_queue_send_from_isr_failed: tstamp:29148009091 queue:0x0bcbc160
 kworker/0:0-4     [000] ....   920.363178: rtcpu_vinotify_event: tstamp:29148206283 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:30786774016 data:0x10000000
 kworker/0:0-4     [000] ....   920.363179: rtcpu_vinotify_event: tstamp:29148206446 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:30786782336 data:0x31000001
 kworker/0:0-4     [000] ....   920.363180: rtcpu_vinotify_event: tstamp:29148206608 tag:RESERVED_19 channel:0x23 frame:0 vi_tstamp:30786784480 data:0x07020001
 kworker/0:0-4     [000] ....   920.363182: rtcpu_vinotify_event: tstamp:29148206901 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:30786913376 data:0x31000002
 kworker/0:0-4     [000] ....   920.531074: rtos_queue_peek_from_isr_failed: tstamp:29152578466 queue:0x0bcbcf78
 kworker/0:0-4     [000] ....   920.699088: rtos_queue_peek_from_isr_failed: tstamp:29157578465 queue:0x0bcbcf78
 kworker/0:0-4     [000] ....   920.811068: rtos_queue_peek_from_isr_failed: tstamp:29162578467 queue:0x0bcbcf78
 kworker/0:0-4     [000] ....   920.979061: rtos_queue_peek_from_isr_failed: tstamp:29167578466 queue:0x0bcbcf78

I have verified the TC358743 is provding output on the CSI lines with a scope.

v4l2-ctl --log-status

Status Log:

   [ 1771.813497] tegra194-vi5 15c10000.vi: =================  START STATUS  =================
   [ 1771.814459] tc358743 2-000f: -----Chip status-----
   [ 1771.814720] tc358743 2-000f: Chip ID:0x00
   [ 1771.814949] tc358743 2-000f: Chip revision:0x00
   [ 1771.814956] tc358743 2-000f: Reset: IR: 1, CEC: 1, CSI TX: 0, HDMI: 0
   [ 1771.814961] tc358743 2-000f: Sleep mode: off
   [ 1771.814966] tc358743 2-000f: Cable detected (+5V power): yes
   [ 1771.815164] tc358743 2-000f: DDC lines enabled: yes
   [ 1771.815364] tc358743 2-000f: Hotplug enabled: yes
   [ 1771.815584] tc358743 2-000f: CEC enabled: no
   [ 1771.815590] tc358743 2-000f: -----Signal status-----
   [ 1771.815595] tc358743 2-000f: TMDS signal detected: yes
   [ 1771.815599] tc358743 2-000f: Stable sync signal: yes
   [ 1771.815603] tc358743 2-000f: PHY PLL locked: yes
   [ 1771.815607] tc358743 2-000f: PHY DE detected: yes
   [ 1771.820853] tc358743 2-000f: 495:tc358743_get_detected_timings: width 1280 heigh 720 interlaced 0
   [ 1771.820994] tc358743 2-000f: Detected format: 1280x720p50.0 (1980x750)
   [ 1771.821003] tc358743 2-000f: horizontal: fp = 0, -sync = 700, bp = 0
   [ 1771.821008] tc358743 2-000f: vertical: fp = 0, -sync = 30, bp = 0
   [ 1771.821035] tc358743 2-000f: pixelclock: 74250000
   [ 1771.821141] tc358743 2-000f: flags (0x0):
   [ 1771.821145] tc358743 2-000f: standards (0x0):
   [ 1771.821152] tc358743 2-000f: Configured format: 1280x720p50.0 (1980x750)
   [ 1771.821157] tc358743 2-000f: horizontal: fp = 0, -sync = 700, bp = 0
   [ 1771.821161] tc358743 2-000f: vertical: fp = 0, -sync = 30, bp = 0
   [ 1771.821165] tc358743 2-000f: pixelclock: 74250000
   [ 1771.821171] tc358743 2-000f: flags (0x0):
   [ 1771.821175] tc358743 2-000f: standards (0x0):
   [ 1771.821179] tc358743 2-000f: -----CSI-TX status-----
   [ 1771.821184] tc358743 2-000f: Lanes needed: 2
   [ 1771.821474] tc358743 2-000f: Lanes in use: 2
   [ 1771.821710] tc358743 2-000f: Waiting for particular sync signal: no
   [ 1771.821944] tc358743 2-000f: Transmit mode: yes
   [ 1771.822174] tc358743 2-000f: Receive mode: no
   [ 1771.822404] tc358743 2-000f: Stopped: no
   [ 1771.822411] tc358743 2-000f: Color space: YCbCr 422 16-bit
   [ 1771.822616] tc358743 2-000f: -----DVI-D status-----
   [ 1771.822621] tc358743 2-000f: HDCP encrypted content: no
   [ 1771.822630] tc358743 2-000f: Input color space: RGB full range
   [ 1771.822843] tegra194-vi5 15c10000.vi: ==================  END STATUS  ==================

I’m using JetPack 4.4.1, any clues to the problem or where to debug?

hello jas-mx,

the error message: no reply from camera processor, it means VI engine did not recognize the frame signal.
there’re device tree property settings for VI engine, you must have correct property settings to match sensor’s signaling.
according to your VI tracing logs, VI side did not receive frames, there should be CHANSEL_PXL_SOF and CHANSEL_PXL_EOF to indicate sensor start-of-frame and end-of-frame signaling.

is it possible to enable test-pattern-generator (i.e. TPG) on the bride driver? it may helps to narrow down the issue.
please also refer to Debug Tips session to examine your sensor driver.
thanks

Hi @JerryChang

Thanks for responding, to rule out the TC358743 driver, I ported across a ov5647 driver we have for the jetson nano. Surprisingly I get the same error messages, the ov5647 is initialised correctly and I’ve set it to generate a test pattern and I can see clock and data on the MIPI scope.

[   37.217228] tegra194-vi5 15c10000.vi: no reply from camera processor
[   37.217413] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[   37.217557] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[   37.225480] tegra-capture-ivc ivc-bc00000.rtcpu:ivccontrol@3: No callback found for msg id: 0x39
[   37.225671] tegra-capture-ivc ivc-bc00000.rtcpu:ivccontrol@3: No callback found for msg id: 0x41
[   37.225829] tegra-capture-ivc ivc-bc00000.rtcpu:ivccontrol@3: No callback found for msg id: 0x37
[   37.225997] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[   39.777107] tegra194-vi5 15c10000.vi: no reply from camera processor
[   39.777269] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[   39.777436] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[   39.780763] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[   42.337179] tegra194-vi5 15c10000.vi: no reply from camera processor

I looked through the imx-219 driver and dts files and can’t see any obvious differences between that and the ov5647 driver.

Just to verify I’m using JetPack_4.4.1 and ./source_sync.sh -t tegra-l4t-r32.4.4 as that should be the correct kernel?

hello jas-mx,

could you please also share VI tracing logs with below scenario for reference,
thanks